Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Autotools 在配置脚本中检查automake/autoconf版本_Autotools_Autoconf_Automake - Fatal编程技术网

Autotools 在配置脚本中检查automake/autoconf版本

Autotools 在配置脚本中检查automake/autoconf版本,autotools,autoconf,automake,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中): 另外,我应该检查a

我试图编辑一个配置脚本,如果它高于Automake版本x.xx,它将执行这段代码,如果它不是,它将执行另一段代码

因此,我需要版本为1.10或更高版本,然后在这种情况下,我希望这样做:

m4_rename_force([glibcxx_PRECIOUS],[_AC_ARG_VAR_PRECIOUS])
否则:

m4_rename([glibcxx_PRECIOUS],[_AC_ARG_VAR_PRECIOUS])
所以我假设它看起来像这样(在
configure.in
中):


另外,我应该检查autoconf或automake版本吗?可能两者都有?

对于测试autoconf版本,我认为类似的东西会起作用

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

我不知道如何对automake执行相同的操作。

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

似乎不起作用。没有语法错误或任何东西,但它给我的错误,我通常会得到,如果只是使用m4_重命名。
m4_version_prereq ( 1.10, 
     m4_rename_force([glibcxx_PRECIOUS],[_AC_ARG_VAR_PRECIOUS]), 
     m4_rename([glibcxx_PRECIOUS],[_AC_ARG_VAR_PRECIOUS]) 
)