I'm trying to edit a configure script that will execute this piece of code if it is above Automake version x.xx, and if it isn't, it executes a different piece of code.
So, I need the version to be 1.10 or above, then when it is the case I want to do this:
开发者_如何学运维m4_rename_force([glibcxx_PRECIOUS],[_AC_ARG_VAR_PRECIOUS])
And, otherwise:
m4_rename([glibcxx_PRECIOUS],[_AC_ARG_VAR_PRECIOUS])
So I would assume it would look something like this (in configure.in
):
if test GET_AUTOMAKE_VERSION >= 1.10; then
m4_rename_force([glibcxx_PRECIOUS],[_AC_ARG_VAR_PRECIOUS])
else
m4_rename([glibcxx_PRECIOUS],[_AC_ARG_VAR_PRECIOUS])
fi
Also, should I check for the autoconf or automake version? Possibly both?
It doesn't make any sense to check for the automake version at configure time. The configure script is run long after automake, and may be running on a box on which automake is not installed at all. Write your configure.ac (not configure.in) to use modern automake. The developer who runs autoconf to generate the configure script will need to have modern automake installed. The user who invokes the configure script will not need to have any of the autotools installed at all.
For testing the autoconf version I think something like this will work.
m4_version_prereq ( 1.10,
m4_rename_force([glibcxx_PRECIOUS],[_AC_ARG_VAR_PRECIOUS]),
m4_rename([glibcxx_PRECIOUS],[_AC_ARG_VAR_PRECIOUS])
)
I don't know how to do the same for automake.
精彩评论