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 08:41:14 +0300

> From: Paul Smith <psmith@gnu.org>
> Date: Sat, 25 Jun 2022 17:47:47 -0400
> 
> I had a discussion about this with the Gnulib maintainers a while ago:
> 
> https://lists.gnu.org/archive/html/bug-gnulib/2019-09/msg00041.html
> 
> However the gnulib maintainers were disinclined to modify the practices
> of the gnulib modules.

It is sad that Gnulib maintainers aren't prepared to cater to a GNU
project, and an important one such as Make.  These are special
requirements that only a handful of GNU project could ever have, and
for good reasons, so supporting their needs should be a no-brainer.

> This leaves me with two options:
> 
>    1. Stop using gnulib, or at least sharply limit the modules we will
>       include to those with trivial-enough configurations.
>    2. Abandon the build.sh script and require an existing make program
>       in order to build a new version of GNU make.
> 
> #1 is what I followed for GNU make 4.3, which has a limited subset of
> carefully-chosen modules. However this becomes harder over time. For
> example any module that needs unistd.h requires a very complex automake
> rule.
> 
> If #2 is chosen, then a bootstrap process would involve first obtaining
> an older version of make, such as GNU make 4.3 or lower, and building
> that with its build.sh, then using the resulting make to build the
> newer version.
> 
> I'm interested in thoughts about these options.

#2 would require that we promise to have Make 4.3 available from here
to eternity.  Is that feasible?

Can you list the Gnulib functions we currently use?  I mean only those
which Make calls directly, not their Gnulib dependencies.  Perhaps we
could then prepare a fake-gnulib module with trivial implementations
of those functions, which could be used by build.sh instead of the
real Gnulib functions.  (Some Gnulib functions are replacements for
those found in every C library, and those could be simply ignored in
the build.sh build, relying on libc to do a reasonably good job.)  Of
course, this would mean the need to add such stubs every time another
Gnulib function is added to Make, so it is still a maintenance burden
of sorts.  But maybe it isn't too heavy?



reply via email to

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