automake-ng
[Top][All Lists]
Advanced

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

Re: [Automake-NG] Can we require GNU make >= 3.81? (make memoization doe


From: Akim Demaille
Subject: Re: [Automake-NG] Can we require GNU make >= 3.81? (make memoization doesn't work with GNU make 3.80)
Date: Tue, 22 May 2012 11:07:52 +0200

Le 21 mai 2012 à 13:22, Stefano Lattarini a écrit :

> A use of .ONESHELL would impact several rules that rely on using different
> "subshells" to play nice with "make -n", or to avoid interferences from
> earlier environment modifications (mostly changes of directories).  It
> would be messy and impractical to try to support both presence and absence
> of .ONESHELL in one codebase; we should pick one setup, and stick with it.

I'm not sure that there are that many rules that ought
to be written really differently.  Actually, the very
touch rules can be written as a single command to avoid
such issues.

Yet if Automake-ng is not compatible with ONESHELL, it
prevents the user from using it.

> And since we still want to support GNU make 3.81, I say we stick to *not*
> using .ONESHELL for the moment.  This can be changed when (and if) requiring
> a more modern GNU make version is truly worth the price in lost portability
> (e.g., if 3.83 is going to introduce built-in variable memoization and
> support for a .TARGETS special variable -- akin to .VARIABLES -- we are
> definitely going to want to require 3.83 or later ;-)

But then, Makefile.am written by users would be broken
by such a move.

>> And I'd be quite happy to know what the impact one performances
>> are (including on Windows machines where fork is known to be
>> very expensive).
>> 
> I think we wouldn't gain much there; most Automake recipes are
> already written as single (backslash-continued) shell command
> lines anyway.

OK.




reply via email to

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