automake
[Top][All Lists]
Advanced

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

Re: Could automake-generated Makefiles required GNU make? (was: Re: [gnu


From: Bob Friesenhahn
Subject: Re: Could automake-generated Makefiles required GNU make? (was: Re: [gnu-prog-discuss] portability)
Date: Tue, 22 Nov 2011 15:28:42 -0600 (CST)
User-agent: Alpine 2.01 (GSO 1266 2009-07-14)

On Tue, 22 Nov 2011, Stefano Lattarini wrote:

In order for this to work, Automake would need to become self-hosting
(not need other packages to be installed in advance) and written only
in a GNU-approved and FSF-copyrighted portable implementation
language.

Honestly, my idea was to follow the "lead" of Quagmire here, and use
GNU make's own "extensibility" ($(eval), $(call), self-reflection
features like $(.VARIABLES), etc.) as a leverage.  If we don't, we'd
better try to create a new-generation build system instead, as you've
proposed.

I would like to use a build system which maintains a formal record of input files used, as well as their signatures, so that the software is properly built even if a file is set back in time (e.g. replaced with an older version). I would also like to use a build system which intelligently avoids unnecessary re-linking of objects and libraries but always re-links when needed. I would like to use a build system which can intelligently distribute builds across multiple machines if necessary. Can pure GNU make syntax be used to accomplish all that?

That sounds like a too grand, over-reaching plan to me; and its very
concept seems to be somewhat at odds with the Unix philosophy.

How so? It is true that Kernighan & Pike recommend simplicity but they don't recommend inefficiency either. Today the GNU build system suffers from considerable inefficiency and a huge amount of complexity. If GNU is willing to require that a GNU build tool be installed in advance, then that build tool should be the best fit for the actual requirements as possible.

In autotools, great effort is made to try to write shell, sed, awk, and m4 code which works portably across many implementations and requires a great many fork/exec calls and opening, reading, writing, and closing of files. If GNU is to require installing a build tool then that build tool should entirely eliminate any need to worry about syntax portability so that scripts can be written to do exactly what is required.

Bob
--
Bob Friesenhahn
address@hidden, http://www.simplesystems.org/users/bfriesen/
GraphicsMagick Maintainer,    http://www.GraphicsMagick.org/



reply via email to

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