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.