views:

231

answers:

2

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 think that version I want to check for 1.10.

If it's above this version, I want it to be this: m4_rename_force([glibcxx_PRECIOUS],[_AC_ARG_VAR_PRECIOUS])

otherwise, this:

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

Or something like that.

Also, should I check for the autoconf or automake version? Possibly both?

A: 

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.

mctylr
Does not seem to work. No syntax errors or anything, but it gives me the error that I would usually get if just using m4_rename.
Michael P.
+3  A: 

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.

William Pursell