Subject: bug#13349: [IMPORTANT] Could we just assuming support for make recursive variable expansion unconditionally?

From: Bob Friesenhahn <[email-masked]>
Date: Thu, 3 Jan 2013 13:14:00 -0600 (CST)

On Thu, 3 Jan 2013, Stefano Lattarini wrote:
>
> The known make implementations that does not support recursive variable
> expansion -- as in $(foo_$(bar)) -- should by today be either very old
> or very "fringe"; so it would be nice if, starting from Automake 1.14,
> we could begin assuming unconditionally that this feature is supported.

This would be nice.

> Users of those old-and-poor make implementations can still download
> and install GNU make (which, as we all know, doesn't require a
> pre-existing make installation to be bootstrappped).
>
> This change would simplify our codebase a little, would reduce the
> number of configure-time checks for the client packages (eventually,
> at first we should still check for our intended feature, and bail
> out loudly and with a clear error message if that is not working),
> and also reduce the differences between mainline Automake an
> Automake-NG.

How would you know the make program that the user will actually use? 
Some systems may have three or four 'make' type programs installed.

> So, here is the tentative roadmap:
>
> * Automake 1.13.2
>
>  - Add a 'spy-make-recurs-var.sh' test verifying that the make
>    implementation used in the testsuite truly support recursive
>    variable expansion..

I suspect that there is a configure check to find the most 'worthy' 
make program on the system (e.g. GNU make).  This search for, and use, 
of the most worthy make program may foil this approach to detect 
broken make programs.  Also, many/most people who install Automake 
from sources likely don't execute the test suite, especially on older 
slow systems (the ones most likely to have the problem) where the test 
suite would take over a day to execute.

If GNU make is installed on the system and called 'gmake' but the user 
types 'make' and 'make' does not support recursive variable expansion, 
what will happen?

Bob
-- 
Bob Friesenhahn
[email-masked], http://www.simplesystems.org/users/bfriesen/
GraphicsMagick Maintainer,    http://www.GraphicsMagick.org/