10.编写Autoconf宏

本系列文章均翻译自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])

猜你喜欢

转载自blog.csdn.net/SHRINKSHR/article/details/85837205
10.