I am about to give up on using the new style AC_INIT in the form of
AC_INIT(m4_esyscmd([./version.sh packagename]),
m4_esyscmd([./version.sh packageversion]),
m4_esyscmd([./version.sh packagebugreport]),
m4_esyscmd([./version.sh packagetarname]),
m4_esyscmd([./version.sh packageurl]))
and the "new" single-argument form of AM_INIT_AUTOMAKE.
Although I have spent a couple of days trying to get this approach to
work, no combination of dependency declarations, stamp files, etc.,
has resulted in success.
Everyone has been very helpful, but the suggestions have not lead to
success.
The problem is continually that there is no way to deal with make's
use of timestamps along with the behavior of Automake's Makefiles and
Autoconf's self-maintenance. The terminal target produced is not the
one needed.
The cost of the new approach dwarfs the supposed benefits (the only
benefits appear to add some version-specific message strings to the
generated configure and to quench an Automake deprecation warning).
The benefits appear to be quite insignificant.
Regardless of what I do, there is this sort of behavior every time I
type 'make' if the timestamp of an input influencing the version has
been updated (either the files which are consulted when producing the
version, or a file produced based on the version), but the version
itself has not changed:
scooby:~/build/GM-16-static-debug-noopenmp% make
CDPATH="${ZSH_VERSION+.}:" && cd /home/bfriesen/src/graphics/GM &&
/bin/bash '/home/bfriesen/src/graphics/GM/config/missing' autoconf
make all-am
make[1]: Entering directory
'/scratch/bfriesen/build/GM-16-static-debug-noopenmp'
CDPATH="${ZSH_VERSION+.}:" && cd /home/bfriesen/src/graphics/GM &&
/bin/bash '/home/bfriesen/src/graphics/GM/config/missing' autoconf
make[1]: Leaving directory
'/scratch/bfriesen/build/GM-16-static-debug-noopenmp'
Given that while developing code I may execute make hundreds of times
per day, this behavior is not acceptable to me.
Perhaps it might work if version content was expressed as m4 macros in
order to force configure to be re-generated, but this sort of
exploration would take another day to try.
So I am likely switch back to the former shell include script method
which has worked flawlessly since 2003.
Hopefully the Automake project won't just pull the rug out from under
me. I was hoping to make the project more robust against existing
deprecation threats in case I don't survive, but it looks like I did
not succeed.
Bob
--
Bob Friesenhahn
bfriesen@xxxxxxxxxxxxxxxxxxx, http://www.simplesystems.org/users/bfriesen/
GraphicsMagick Maintainer, http://www.GraphicsMagick.org/
Public Key, http://www.simplesystems.org/users/bfriesen/public-key.txt