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$自动配置文件$