10.编写Autoconf宏
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])