理解 configure 腳本

configure

configure腳本為了讓一個程序能夠在各種不同類型的機器上運行而設(shè)計的济瓢。在使用make編譯源代碼之前,configure會根據(jù)自己所依賴的庫而在目標機器上進行匹配玷或。

約定俗成的,所有的configure腳本都把腳本文件名起為configure片任,一般來講都是shell腳本偏友,根據(jù)所在的系統(tǒng)環(huán)境生成makefile文件。有時候看到一些程序的configure內(nèi)容超級之多对供,讓人難以看下去位他。

configure腳本運行時掃描當前環(huán)境,生成一個名為config.status的子腳本犁钟。子腳本將Makefile.in文件轉(zhuǎn)換為適應(yīng)于當前系統(tǒng)環(huán)境的Makefile文件棱诱。

GNU build system

這個工具能夠幫助我們生成configure腳本。GNU build system涝动,又叫做Autotools迈勋。

這個工具查詢當前系統(tǒng)的環(huán)境變量、平臺架構(gòu)醋粟、當前所依賴的庫以及他們的位置靡菇,然后根據(jù)這些信息去make,這樣就能實現(xiàn)同一套代碼僅需configure一下就可以在不同的unix/linux系統(tǒng)中編譯運行米愿。

Autotools包含的命令有autoconf厦凤,automakelibtool育苟。

autoconf

autoconf命令的主要作用是創(chuàng)建configure较鼓。它基于configure.ac文件生成configure文件。

autoscan

autoscan是autoconf的輔助命令,它創(chuàng)建一個預備的configure(configure.scan)博烂,作為autoconf命令的輸入香椎。我們可以按需在這個文件上進行添加內(nèi)容,修改之后手工修改名字變成configure.ac文件禽篱。

autoheader

autoheader也是autoconf的輔助命令畜伐,用于生成一個configure的模版頭文件config.h.in

automake

automake命令的主要作用是創(chuàng)建Makefile躺率。以Makefile.amconfigure.ac為輸入玛界,以Makefile.in為輸出。Makefile.in在configure執(zhí)行時用于生成Makefile悼吱。

libtool

libtool命令的主要作用是創(chuàng)建和使用可移植的共享(動態(tài)鏈接)庫慎框。

其他相關(guān)命令

ifnames 命令可以列出程序中的預處理標示符,比如#if,#ifdef等舆绎。

m4 處理文件中的宏鲤脏。

pkg-config 查詢已安裝庫的接口。

configure 標準文件流

下面的命令和文件流清晰的描述了從configure到make的整個過程吕朵。

configure 標準流程

參考資料

configure

GNU build system

autotools faq

autoconf doc

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末猎醇,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子努溃,更是在濱河造成了極大的恐慌硫嘶,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,542評論 6 504
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件梧税,死亡現(xiàn)場離奇詭異沦疾,居然都是意外死亡,警方通過查閱死者的電腦和手機第队,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,822評論 3 394
  • 文/潘曉璐 我一進店門哮塞,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人凳谦,你說我怎么就攤上這事忆畅。” “怎么了尸执?”我有些...
    開封第一講書人閱讀 163,912評論 0 354
  • 文/不壞的土叔 我叫張陵家凯,是天一觀的道長。 經(jīng)常有香客問我如失,道長绊诲,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,449評論 1 293
  • 正文 為了忘掉前任褪贵,我火速辦了婚禮掂之,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己板惑,他們只是感情好橄镜,可當我...
    茶點故事閱讀 67,500評論 6 392
  • 文/花漫 我一把揭開白布偎快。 她就那樣靜靜地躺著冯乘,像睡著了一般。 火紅的嫁衣襯著肌膚如雪晒夹。 梳的紋絲不亂的頭發(fā)上裆馒,一...
    開封第一講書人閱讀 51,370評論 1 302
  • 那天,我揣著相機與錄音丐怯,去河邊找鬼喷好。 笑死,一個胖子當著我的面吹牛读跷,可吹牛的內(nèi)容都是我干的梗搅。 我是一名探鬼主播,決...
    沈念sama閱讀 40,193評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼效览,長吁一口氣:“原來是場噩夢啊……” “哼无切!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起丐枉,我...
    開封第一講書人閱讀 39,074評論 0 276
  • 序言:老撾萬榮一對情侶失蹤哆键,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后瘦锹,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體籍嘹,經(jīng)...
    沈念sama閱讀 45,505評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,722評論 3 335
  • 正文 我和宋清朗相戀三年弯院,在試婚紗的時候發(fā)現(xiàn)自己被綠了辱士。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,841評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡听绳,死狀恐怖颂碘,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情辫红,我是刑警寧澤凭涂,帶...
    沈念sama閱讀 35,569評論 5 345
  • 正文 年R本政府宣布,位于F島的核電站贴妻,受9級特大地震影響切油,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜名惩,卻給世界環(huán)境...
    茶點故事閱讀 41,168評論 3 328
  • 文/蒙蒙 一澎胡、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦攻谁、人聲如沸稚伍。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,783評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽个曙。三九已至,卻和暖如春受楼,著一層夾襖步出監(jiān)牢的瞬間垦搬,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,918評論 1 269
  • 我被黑心中介騙來泰國打工艳汽, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留猴贰,地道東北人。 一個月前我還...
    沈念sama閱讀 47,962評論 2 370
  • 正文 我出身青樓河狐,卻偏偏與公主長得像米绕,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子馋艺,可洞房花燭夜當晚...
    茶點故事閱讀 44,781評論 2 354

推薦閱讀更多精彩內(nèi)容