Autotools:为什么AX_ ..而不是AC_ ..在configure.ac中



我今天遇到了一个autoconf宏的集合:https://www.gnu.org/software/autoconf-archive/the-macros.html#the-macros。所有这些都是前缀的ax_,例如ax_ac_append_to_file.m4,通过包括线AX_ABSOLUTE_HEADER()configure.ac中激活。

过去,我只看到宏从AC_开始。

因此,转换为AX_是一个相对较新的约定,避免命名空间碰撞的方法或其他方式?

宏位于名称。AC_是指Autoconf,AM_的宏是Automake,LT_是Libtool,等等。

过去,其他程序提供了宏观踩在AutoConf的名称空间上的其他程序,这就是为什么您可能会在野外使用AC_前缀在野外看到的某些AX_宏的变化。

AX_是AutoConf-Archive的标准"名称空间",以防止其与其他实现相撞。

您会发现我的旧attributes.m4在许多地方复制和使用,它使用CC_前缀(因为最初仅检查了编译器。)

最新更新