【问题标题】:check automake/autoconf version in configure script在配置脚本中检查 automake/autoconf 版本
【发布时间】:2010-01-23 00:58:33
【问题描述】:

我正在尝试编辑一个配置脚本,如果它高于 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 版本吗?可能两者兼而有之?

【问题讨论】:

    标签: autotools autoconf automake


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

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

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

      【讨论】:

      • 似乎不起作用。没有语法错误或任何东西,但它给了我如果只使用 m4_rename 通常会得到的错误。
      猜你喜欢
      • 1970-01-01
      • 2015-06-27
      • 2022-01-21
      • 2017-11-05
      • 1970-01-01
      • 1970-01-01
      • 2010-09-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多