检查configure脚本中的automake / autoconf版本

时间:2010-01-23 00:58:34

标签: autotools autoconf automake

我正在尝试编辑一个配置脚本,如果它在Automake版本x.xx之上,它将执行这段代码,如果不是,它会执行不同的代码。

所以,我需要版本为1.10或更高版本,那么在我想要这样做的时候:

m4_rename_force([glibcxx_PRECIOUS],[_AC_ARG_VAR_PRECIOUS])

而且,否则:

m4_rename([glibcxx_PRECIOUS],[_AC_ARG_VAR_PRECIOUS])

所以我认为它看起来像这样(在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

另外,我应该检查autoconf还是automake版本?可能两者都是?

2 个答案:

答案 0 :(得分:4)

在配置时检查automake版本没有任何意义。配置脚本在automake之后运行很长时间,并且可能在根本没有安装automake的盒子上运行。编写您的configure.ac(而不是configure.in)以使用现代automake。运行autoconf以生成配置脚本的开发人员需要安装现代automake。调用configure脚本的用户根本不需要安装任何自动工具。

答案 1 :(得分:1)

为了测试autoconf版本,我认为这样的东西会起作用。

m4_version_prereq ( 1.10, 
     m4_rename_force([glibcxx_PRECIOUS],[_AC_ARG_VAR_PRECIOUS]), 
     m4_rename([glibcxx_PRECIOUS],[_AC_ARG_VAR_PRECIOUS]) 
)

我不知道如何为automake做同样的事情。