本系列文章均翻译自Autoconf官方文档:Autoconf Manual,github同步项目:question
10.1 宏的定义
AC_DEFUN (name, [body])
定义Autoconf宏,类似于M4的内置宏m4_define
。也可以将自己的宏定义写在.m4文件中,在configure.ac文件中调用(推荐做法)。
AC_DEFUN([AX_PYTHON_MODULE],[
shell脚本
])
10.4 宏之间的依赖
AC_REQUIRE (macro-name)
自动地解决宏调用之间的依赖关系,保证一个宏在满足条件的情况下才会被调用,且只调用一次。只能出现在AC_DEFUN
。
AC_DEFUN([TRAVOLTA],
[test "$body_temperature_in_celsius" -gt "38" &&
dance_floor=occupied])
AC_DEFUN([NEWTON_JOHN],
[test "x$hair_style" = xcurly &&
dance_floor=occupied])
AC_DEFUN([RESERVE_DANCE_FLOOR],
[if date | grep '^Sat.*pm' >/dev/null 2>&1; then
AC_REQUIRE([TRAVOLTA])
AC_REQUIRE([NEWTON_JOHN])
fi])
10.5 废弃的宏
AU_ALIAS (old-name, new-name)
宏的重命名。
AU_ALIAS([AC_PYTHON_MODULE], [AX_PYTHON_MODULE])