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