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

标签 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 版本?可能两者都有?

最佳答案

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

关于autotools - 在配置脚本中检查 automake/autoconf 版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2121587/

相关文章:

autotools - 使用 autotools 安装二进制共享对象

autotools - 在配置运行期间运行脚本

Homebrew 安装到主目录 - 如何链接到 autoconf 中的库?

openmp - 在 autoconf 和 automake 中启用 OpenMP 检查和标志

c - 在 C 编译时检测 --prefix 位置

linux - config/config.guess 被符号链接(symbolic link)到第三方包中的错误文件

c++ - 将应用程序与一个库(包括另一个库)链接起来

c++ - 将 Autotools 用于新的共享库

c - 将库添加到 autotools 文件不起作用(链接器忽略它)

git - 是否可以构建 `git`,使安装目录和部署前缀不相同?