bug-gnulib
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Gnulib on Windows (native / mingw32) / VMS / etc.


From: Paul Smith
Subject: Re: Gnulib on Windows (native / mingw32) / VMS / etc.
Date: Wed, 16 May 2018 08:43:10 -0400

On Wed, 2018-05-16 at 11:29 +0200, Bruno Haible wrote:
> This approach with "build_w32.bat" is outdated. The modern approach is
> to use the Autoconf and Automake generated configure and Makefile.in
> files without modifications.

> More in detail: About ca. 10 years ago, Automake started to include
> wrapper scripts (shell scripts) that make the MSVC compiler and archiver
> ('cl' and 'lib') be usable with the usual command-line options of a
> 'cc' and 'ar' program. From this point on, compilation for MSVC could
> be done with just a Cygwin or MSYS build environment (that includes
> bash, coreutils, grep, sed, and make).

Unfortunately (perhaps only for me) this isn't sufficient.

GNU make is a foundational tool: you need it before you can build any
other package.  It is also widely used by itself in environments where
no other POSIX-like or GNU tools are used (so, no MSYS etc.)

One could argue that since an exe for GNU make already exists for
Windows it's OK to rely on it to extract yourself from a catch-22
situation, but I'm not willing to relax that requirement.

My position continues to be that the build of GNU make on Windows (or
other environments) needs to be possible with only native tools: on
Windows this means command.com and a C compiler.  No Cygwin, no MSYS,
no bash, no sed, no grep, and obviously no make (since that's what
we're trying to build).

> On such systems the essential step is to create the set of tools that
> are needed to be able to run configure scripts. This includes a
> POSIX-like shell, the coreutils, grep, sed, and maybe awk.

And how does one do this, without make itself?

>   - No more need to care about two different build systems
>     (automake on one side, nmake on the other side).

GNU make doesn't (or won't, in the next release) support nmake builds,
or any other variation of make.  They weren't used, so they have likely
been broken for a long time anyway.

> You really want to reduce the number of redundant Makefiles you have
> to maintain to 1, as soon as possible.

The only makefiles the GNU make distribution will support will be
standard make makefiles.  The model is:

If you have a configure-capable system, use autotools to compile GNU
make.

If you don't have a configure-capable system, use the provided
bootstrap script (or create your own) to build GNU make.

The build of GNU make is straightforward enough that using a script
isn't a big problem.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]