GNU Autoconf 2.69b 可用于测试潜在的破坏性兼容性更改

2.69 版本发布八年后 提交 GNU Autoconf 2.69b 软件包的发布,它提供了一组 M4 宏,用于创建自动配置脚本,用于在各种类 Unix 系统上构建应用程序(根据准备好的模板,生成“配置”脚本)。 该版本定位为即将推出的 2.70 版本的 Beta 版本。

与之前的版本和 Beta 版本的预发布相比存在显着的时间滞后,这是由于 2.70 分支中包含了一些更改,这些更改可能会破坏与现有 Autoconf 脚本的兼容性。 建议用户使用建议的版本测试他们的脚本并 通知 开发人员如果发现问题。

其中的变化:

  • 启用标头注释中 config.log 参数的转义。 提高了“config.status –config”输出的可读性;
  • 在配置脚本中添加了“--runstatedir”选项,以确定带有 pid 文件的 /run 目录的路径;
  • autoreconf 不再支持 1.8 之前发布的 automake 和 aclocal 版本;
  • 建议使用 printf 而不是 echo,宏 AS_ECHO 和 AS_ECHO_N 现在转换为
    'printf "%s\n"' 和 'printf %s'。 弃用了未记录的变量 $as_echo 和
    $as_echo_n,应使用宏 AS_ECHO 和 AS_ECHO_N 代替;

  • 许多宏已更改为仅扩展参数一次,以加快 autoconf 执行速度,这可能会影响与某些未正确引用参数的脚本的兼容性;
  • 一些宏,例如配置脚本早期常用的AC_PROG_CC,已被优化,不再调用那么多辅助宏。 该更改标识了几类错误,通常是由使用 AC_REQUIRE 宏引起的;
  • 接受空格分隔的参数列表的宏现在始终随列出的每个参数展开。
    该更改会影响宏 AC_CHECK_FILES、AC_CHECK_FUNCS、
    AC_CHECK_FUNCS_ONCE、AC_CHECK_HEADERS、AC_CHECK_HEADERS_ONCE、
    AC_CONFIG_MACRO_DIRS、AC_CONFIG_SUBDIRS 和 AC_REPLACE_FUNCS;

  • 添加了新宏 AC_C__GENERIC、AC_CONFIG_MACRO_DIRS 和 AC_CHECK_INCLUDES_DEFAULT;
  • 在 AC_PROG_CC 宏中,如果可用,现在选择支持 C11 的编译器(如果未找到,则回滚到 C99 和 C89),在 AC_PROG_CXX - C++11 中,回滚到 C++98。 宏 AC_PROG_CC_STDC、AC_PROG_CC_C89 和 AC_PROG_CC_C99 已被弃用。

来源: opennet.ru

添加评论