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])
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章