我正在尝试编辑一个配置脚本,如果它在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版本?可能两者都是?
答案 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做同样的事情。