AC_TRY_CPP(includes
[,action_if_true[,action_if_false]])
這個(gè)宏把includes文件名傳給預(yù)處理程序,如果預(yù)處理程序處理成功則執(zhí)行shell命令action_if_true,反之執(zhí)行action_if_false.
AC_EGREP_HEADER(pattern,header,action_if_found
\
[,action_if_not_found])
這個(gè)宏可以用來(lái)在頭文件header中查找egrep的表達(dá)式pattern,如果找到pattern,則執(zhí)行shell命令action_if_found,反之執(zhí)行action_if_not_found.
AC_EGREP_CPP(pattern,program,[action_if_found
\
[,action_if_not_found]])
用預(yù)處理程序?qū)源代碼program進(jìn)行處理以查找egrep的表達(dá)式pattern,如果找到pattern,則執(zhí)行shell命令action_if_found,反之執(zhí)行action_if_not_found.
AC_TRY_COMPILE(includes,function_body,[action_if_found
\
[,action_if_not_found]])
這個(gè)宏查找C或C++編譯器的某個(gè)語(yǔ)法特性.編譯器將編譯包含includes中的頭文件并使用function_body中定義的函數(shù)的測(cè)試程序,如果
編譯成功,則執(zhí)行shell命令action_if_found,反之執(zhí)行action_if_not_found.這個(gè)宏不執(zhí)行鏈接,可以用
AC_TRY_LINK來(lái)測(cè)試鏈接情況.
AC_TRY_LINK(includes,function_body,[,action_if_found
\
[,action_if_not_found]])
這個(gè)宏在AC_TRY_COMPILE之后增加鏈接測(cè)試.編譯器將編譯并鏈接其中包含includes中的頭文件并使用function_body中定義
的函數(shù)的測(cè)試程序,如果鏈接成功,則執(zhí)行shell命令action_if_found,反之執(zhí)行action_if_not_found.
AC_TRY_RUN(program,[action_if_true[,action_if_false
\
[,action_if_cross_compiling]]])
這個(gè)宏測(cè)試宿主系統(tǒng)的運(yùn)行時(shí)行為.編譯,鏈接和執(zhí)行C程序program,如果program,如果program返回0,則執(zhí)行shell命令
action_if_true,否則執(zhí)行action_if_false.如果程序要編譯為在另一類(lèi)型的系統(tǒng)上運(yùn)行,則用
action_if_cross_compiling代替action_if_found.
AC_CHECK_PROG
測(cè)試在當(dāng)前路徑下是否在指定程序program.
AC_CHECK_FUNC
測(cè)試指定函數(shù)是否在C的鏈接函數(shù)庫(kù)中存在.
AC_CHECK_HEADER
測(cè)試指定頭文件是否存在
AC_CHECK_TYPE
如果指定的類(lèi)型沒(méi)有被定義,設(shè)置一個(gè)默認(rèn)值.