18.6.2新宏

虽然Autoconf在20世纪90年代末处于相对休眠状态,但Automake提供了一段时间类似Autoconf的宏。从Autoconf 2.50开始2001年,Autoconf提供这些宏的版本,集成在交流_命名空间,而不是上午_。但为了通过以下方式简化升级自动更新,绑定到此类上午_提供了宏。

不幸的是,旧版本的Automake(例如,Automake 1.4)没有引用这些宏的名称。因此,当4米找到类似的东西AC_DEFUN(AM_TYPE_PTRDIFF_T,…)中的'aclocal.m4型,AM_TYPE_PTRDIFF_T类型展开,替换为其Autoconf定义。

幸运的是,Autoconf赶上了pre-空调初始化扩张,以及用自己的话抱怨:

$cat配置.acAC_INIT([示例],[1.0][bug-example@example.org])AM_TYPE_PTRDIFF_T类型$aclocal-1.4$自动配置文件aclocal.m4:17:错误:m4_defn:未定义的宏:_m4_divert_diversionaclocal.m4:17:顶层autom4te:m4失败,退出状态:1$

现代版本的Automake不再定义其中的大多数宏,并正确引用其余宏的名称。如果必须使用旧的Automake,请不要依赖Automake中的宏因为这根本不是它的工作提供宏(但它本身需要宏):

$cat配置.acAC_INIT([示例],[1.0][bug-example@example.org])AM_TYPE_PTRDIFF_T类型$rm aclocal.m4型$自动更新自动更新:“configure.ac”已更新$猫配置.acAC_INIT([示例]、[1.0][bug-example@example.org])AC_检查类型([ptrdiff_t])$aclocal-1.4$自动配置文件$