日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

autoconf常用宏

發(fā)布時(shí)間:2023/12/10 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 autoconf常用宏 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.


AC_INIT?(unique-file-in-source-dir)
處理所有命令行參數(shù)并且尋找源代碼目錄。unique-file-in-source-dir是一些在包的源代碼目錄中文件;?configure在目錄中檢查這些文件是否存在以確定該目錄是否包含源代碼。人們可能偶爾會(huì)用`--srcdir'給出錯(cuò)誤的目錄;這是一種安全性檢查

AC_PREREQ?(version)

確保使用的是足夠新的Autoconf版本。如果用于創(chuàng)建configure的Autoconf的版本比version?要早,就在標(biāo)準(zhǔn)錯(cuò)誤輸出打印一條錯(cuò)誤消息并不會(huì)創(chuàng)建configure。

例如:AC_PREREQ(1.8)

如果你的`configure.in'依賴于在不同Autoconf版本中改變了的、不明顯的行為,本宏就是有用的。如果它僅僅是需要近來增加的宏,那么AC_PREREQ就不太有用,這是因?yàn)槌绦騛utoconf已經(jīng)告訴了用戶那些宏沒有被找到。如果`configure.in'是由一個(gè)在提供AC_PREREQ之前的更舊的 Autoconf版本處理的,也會(huì)發(fā)生同樣的事。


AC_CYGWIN

檢查Cygwin環(huán)境。如果存在,就把shell變量CYGWIN設(shè)置成`yes'。如果不存在,就把CYGWIN設(shè)置成空字符串。


AC_MINGW32

檢查MingW32編譯環(huán)境。如果存在,就把shell變量MINGW32設(shè)置成`yes'。如果不存在,就把MINGW32設(shè)置成空。


AC_MSG_NOTICE

輸出提示信息


AC_CANONICAL_SYSTEM

在調(diào)用了AC_CANONICAL_SYSTEM之后,下列輸出變量包含了系統(tǒng)類型信息。在調(diào)用了之后,

系統(tǒng)類型變量

build,?host,?target

規(guī)范系統(tǒng)名稱;

build_alias,?host_alias,?target_alias
如果使用了config.guess,就是用戶指定的名稱或者規(guī)范名稱;

build_cpu,?build_vendor,?build_os

host_cpu,?host_vendor,?host_os

target_cpu,?target_vendor,?target_os

為方便而提供的規(guī)范名稱的獨(dú)立部分。


AC_CANONICAL_HOST?

只設(shè)置了上列host變量。


AC_CANONICAL_TARGET

只設(shè)置了上列target變量。


AC_ARG_ENABLE?(feature,?help-string?[,?action-if-given?[,?action-if-not-given]])

如果用戶以選項(xiàng)`--enable-feature'或者`--disable-feature'調(diào)用?configure,就運(yùn)行shell命令action-if-given。如果兩個(gè)選項(xiàng)都沒有給出,就運(yùn)行shell命令?action-if-not-given。名稱feature表示可選的用戶級功能。它應(yīng)該僅僅由字母、數(shù)字和破折號(dashes)組成。

shell命令可以通過訪問shell變量enableval來得到選項(xiàng)的參數(shù),該變量的值實(shí)際上就是把shell變量?enable_feature的值中所有的`-'字符替換成`_'而得到的。如果你愿意,可以使用變量enable_feature。help-string參數(shù)類似于?AC_ARG_WITH中相應(yīng)的參數(shù)(參見與外部軟件一起工作)。


AC_PROG_CC
確定C的編譯器。如果在環(huán)境中沒有設(shè)定CC,就查找gcc,如果沒有找到,就使用cc。把輸出變量CC設(shè)置為找到的編譯器的名字。

如果要使用GNU C編譯器,把shell變量GCC設(shè)置為`yes',否則就設(shè)置成空。如果還沒有設(shè)置輸出變量?CFLAGS,就為GNU C編譯器把CFLAGS設(shè)置成`-g -O2'(在GCC不接受`-g'?的系統(tǒng)中就設(shè)置成`-O2'),為其他編譯器把CFLAGS設(shè)置成`-g'。

如果被使用的C編譯器并不生成可以在configure運(yùn)行的系統(tǒng)上運(yùn)行的可執(zhí)行文件,就把shell變量?cross_compiling設(shè)置成`yes',否則設(shè)置成`no'。換句話說,它檢查創(chuàng)建系統(tǒng)類型是否與主機(jī)系統(tǒng)類型不同(目標(biāo)系統(tǒng)與本測試無關(guān))。關(guān)于對交叉編譯的支持,參見手工配置。


AC_CHECK_PROG?(variable,?prog-to-check-for,?value-if-found?[,?value-if-not-found?[,?path, [?reject?]]])
檢查程序prog-to-check-for是否存在于PATH之中。如果找到了,就把變量?variable設(shè)置成value-if-found,否則就在給出了value-if-not-found的時(shí)候把variable設(shè)置成它。即使首先在搜索路徑中找到reject(一個(gè)絕對文件名),本宏也會(huì)忽略它;在那種情況下,用找到的prog-to-check-for,不同于reject的絕對文件名來設(shè)置variable。如果variable已經(jīng)被設(shè)置了,就什么也不作。為variable調(diào)用AC_SUBST。

AC_PATH_PROG?(variable,?prog-to-check-for?[,?value-if-not-found?[,?path]])

類似于AC_CHECK_PROG,但在找到prog-to-check-for的時(shí)候,把variable設(shè)置成prog-to-check-for的完整路徑。


AC_CONFIG_HEADERS([config.h])

http://www.cnblogs.com/xialm/articles/188213.html

總結(jié)

以上是生活随笔為你收集整理的autoconf常用宏的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。