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 bfrie...@simple.dallas.tx.us, http://www.simplesystems.org/users/bfriesen/ GraphicsMagick Maintainer, http://www.GraphicsMagick.org/