bug-make
[Top][All Lists]
Advanced

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

Re: Goodbye to GNU make's "build.sh" ... ?


From: Eli Zaretskii
Subject: Re: Goodbye to GNU make's "build.sh" ... ?
Date: Sun, 26 Jun 2022 22:29:29 +0300

> From: Paul Smith <psmith@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?



reply via email to

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