On 9/18/2021 5:30 PM, Thomas Wolff wrote:
Am 18.09.2021 um 22:20 schrieb Ken Brown via Cygwin:
On 9/18/2021 4:01 PM, Denis Excoffier wrote:
It seems to me that the files Makefile.in, aclocal.m4, configure (and the like) are missing from the folder (and sub-folders of) newlib-cygwin/winsup found within the cygwin-3.3.0-0.1.9814cfd8f693.src/newlib-cygwin-3.3.0.tar.bz2 file stored in cygwin-3.3.0-0.1.9814cfd8f693-src.tar.xz.

The build now uses automake, and the missing files you refer to are all generated.  Start by running winsup/autogen.sh.
This is a very bad idea (as I had commented before). There are too many build system around already and now there's even a proprietary script to run as a first step for cygwin. If there's anything useful that this script accomplishes, why can't it just be invoked automatically from the makefile or configure script so everything works as expected? It's a gross violation of the principle of least surprise.

The standard way of building a Cygwin package from source is to download the source using Cygwin's setup program and then run cygport. That will work in this case too. (The cygport script runs autogen.sh.) If you choose instead to try to build from the source tarball without even looking at the cygport file, you get what you paid for.

In the case of the Cygwin package, there is an alternative: You can follow the instructions at

  https://cygwin.com/faq.html#faq.programming.building-cygwin

for building Cygwin from source. This explicitly mentions running autogen.sh. This only has to be done once, after first cloning Cygwin's git repo. After that, everything is updated as needed by the Makefile. Prior to running autogen.sh, there's no Makefile and no configure script. So I guess autogen.sh accomplishes something useful.

Finally, I'd like to mention that it's extremely common for autotools-based packages to have an autogen script like Cygwin's (sometimes called bootstrap or bootstrap.sh). There's nothing surprising about this.

Ken

--
Problem reports:      https://cygwin.com/problems.html
FAQ:                  https://cygwin.com/faq/
Documentation:        https://cygwin.com/docs.html
Unsubscribe info:     https://cygwin.com/ml/#unsubscribe-simple

Reply via email to