您的位置:軟件測(cè)試 > 開源軟件測(cè)試 > 開源配置管理工具 > cvs
簡(jiǎn)單cvs
作者:網(wǎng)絡(luò)轉(zhuǎn)載 發(fā)布時(shí)間:[ 2013/1/28 13:38:55 ] 推薦標(biāo)簽:

為了讓 autoconf 生成 configure 腳本,需要以 configure.in 為參數(shù)調(diào)用 autoconf。如果要檢測(cè)自己的各種參數(shù),以作為對(duì) autoconf 的補(bǔ)充,則需要寫 aclocal.m4 和 acsite.m4 的文件。如果要使用 C 頭文件,需要寫 acconfig.h,并且將 autoconf 生成的 config.h.in 同軟件一起發(fā)行。

your source files --> [autoscan*] --> [configure.scan] --> configure.in


configure.in --. .------> autoconf* -----> configure

+---+

[aclocal.m4] --+ `---.

[acsite.m4] ---' |

+--> [autoheader*] -> [config.h.in]

[acconfig.h] ----. |

+-----'

[config.h.top] --+

[config.h.bot] --'


Makefile.in -------------------------------> Makefile.in

Files used in configuring a software package:

.-------------> config.cache

configure* ------------+-------------> config.log

|

[config.h.in] -. v .-> [config.h] -.

+--> config.status* -+ +--> make*

Makefile.in ---' `-> Makefile ---'


編輯 configure.in 文件:

configure.in 文件中包含了對(duì) autoconf 宏的調(diào)用,這些宏是用來(lái)檢測(cè)軟件所必須的各項(xiàng)參數(shù)的。為了能夠得到 configure.in 文件,需要使用 autoscan。configure.in 文件中,在進(jìn)行各項(xiàng)檢測(cè)前,必須在開始調(diào)用 AC_INIT,在后調(diào)用 AC_OUTPUT。另外有些宏由于檢測(cè)的關(guān)系是和在文件中的位置相關(guān)的。好每一個(gè)宏占用一行。


使用 autoscan 創(chuàng)建 configure.in 文件

可以將目錄做為參數(shù)調(diào)用 autoscan,如果不使用參數(shù)的化,則認(rèn)為是當(dāng)前目錄。autoscan 將檢查指定目錄中的源文件,并創(chuàng)建 configure.scan 文件。在將 configure.scan 改名為 configure.in 文件前,需要手工改動(dòng)它以進(jìn)行調(diào)整。


使用 autoconf 創(chuàng)建 configure 腳本

不帶任何參數(shù)的運(yùn)行 autoconf。autoconf 將使用 m4 宏處理器和 autoconf 宏,來(lái)處理處理 configure.in 中的宏。


configure.in 中的宏:

AC_INIT(在源代碼中的一個(gè)文件):configure 將檢查該文件是否存在,并檢查包含它的目錄是否存在。

AC_OUTPUT(文件):指定創(chuàng)建的輸出文件。在 configure.in 文件中調(diào)用一次。文件名間用空格分開。比如:AC_OUTPUT(Makefile:templates/top.mk lib/Makefile:templates/lib.mk)

在 configure.in 中,有一些被 autoconf 宏預(yù)先定義的變量,重要的有如下幾個(gè):

bindir:安裝可執(zhí)行

上一頁(yè)12下一頁(yè)
軟件測(cè)試工具 | 聯(lián)系我們 | 投訴建議 | 誠(chéng)聘英才 | 申請(qǐng)使用列表 | 網(wǎng)站地圖
滬ICP備07036474 2003-2017 版權(quán)所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd