> From: Paul Smith <psm...@gnu.org> > Cc: bug-make@gnu.org > Date: Sun, 26 Jun 2022 15:06:36 -0400 > > > No, I'm talking about not using Gnulib only for stage-1 build, the > > one that produces a Make binary capable of building the full > > version. I was not talking about avoiding to use Gnulib for the > > final build whose results are installed. > > This is sort of what Sven was suggesting. It could work, but configure > does a lot of things: not only does it generate a config.h but it also > finds compilers, figures out what options they accept, etc. Obviously > we don't need to do all that for a minimal build, but still the Windows > ecosystem is much simpler because it's so homogeneous; even then > build_w32.bat doesn't support building with Clang for Windows, for > example. Generating a config.h on any random system is much harder > than having one pre-defined for the Windows32 API.
But this part was already supported by the bootstrap process, right? So maybe we will need 2 configure scripts: one that only configures for build.sh (and doesn't configure Gnulib), and the other which does everything. > The goal of this "mini-make" must be to be able to compile automake- > generated makefiles (since that's what's needed in order to work with a > gnulib-enabled system). Or at least, the Makefile.am that GNU make and > its gnulib modules use. > > Since POSIX make does support wildcard syntax (e.g., "foo: *.c" is > legal) we would need glob/fnmatch of some sort, unless we can guarantee > that automake won't use it, for example. Using wildcards in Makefiles is pretty rare. Do we have that now? > There's some amount of disingenuity here since make is really just the > top of the iceberg when it comes to bootstrapping: you can't run > configure without a full libc, compiler, coreutils etc. and how can you > build those without a make? So either we're talking about cross- > compilation, or else this "minimake" would need to be sufficient to > build more than just make itself. How do people bootstrap systems nowadays? Is it only via cross-compilation?