termcap-1.3.1的configure.in文件逐行分析
AC_INIT(termcap.h)
每個configure文件第一個需要調用的宏,他處理所有的命令行參數并且尋找源代碼目錄。termcap.h是包含在源代碼目錄下的文件,configure在目錄中檢查這些文件是否存在以確定該目錄是否包含源代碼。
AC_ARG_ENABLE(install-termcap,
[? --enable-install-termcap install the termcap data file],
[if test $enableval = yes; then
?? installdata=install-data uninstalldata=uninstall-data
?fi])
處理enable和disable參數,在執行configure時,使用了--enable-install-termcap參數時,installdata這個shell變量被
設置為install-data,uninstalldata被設置為uninstall-data。
[? --enable-install-termcap install the termcap data file]為執行configure --help顯示的幫助信息。
AC_SUBST(installdata)dnl
從一個shell變量installdata創建一個輸出變量。讓AC_OUTPUT把變量installdata替換到輸出的Makefile文件中。
AC_SUBST(uninstalldata)dnl
從一個shell變量uninstalldata創建一個輸出變量。讓AC_OUTPUT把變量uninstalldata替換到輸出的Makefile文件中。
AC_ARG_WITH(termcap,
[? --with-termcap=FILE???? use data file FILE instead of /etc/termcap],
termcapfile=$withval, termcapfile=/etc/termcap)
處理with和without參數。并設置termcapfile變量。
AC_SUBST(termcapfile)
從一個shell變量termcapfile創建一個輸出變量。讓AC_OUTPUT把變量termcapfile替換到輸出的Makefile文件中。
AC_PROG_CC
確定C的編譯器。如果在環境中沒有設定CC,就查找gcc,如果沒有找到,就使用cc。把輸出變量CC設置為找到的編譯器的名字。如果要使用GNU C編譯器,把shell變量GCC設置為`yes',否則就設置成空。如果還沒有設置輸出變量 CFLAGS,就為GNU C編譯器把CFLAGS設置成`-g -O2'(在GCC不接受`-g' 的系統中就設置成`-O2'),為其他編譯器把CFLAGS設置成`-g'。
AC_PROG_RANLIB
如果找到了ranlib,就把輸出變量RANLIB設置成`ranlib',否則就什么也不作。
AC_PROG_INSTALL
AC_HAVE_HEADERS(string.h unistd.h)
根據autoconf的手冊,這個宏被替換為AC_CHECK_HEADERS。
檢查以空格分隔的頭文件列表,如果系統中存在這些頭文件,將定義HAVE_STRING_H,HAVE_UNISTD_H宏。
AC_STDC_HEADERS
根據autoconf的手冊,這個宏被替換為AC_HEADER_STDC。
這個宏將檢測系統中C語言頭文件是否符合C89標準,如果符合將定義STDC_HEADERS宏。
這個宏將檢測這幾個頭文件來判斷stdlib.h,stdarg.h,string.h,?float.h。
AC_OUTPUT(Makefile)
創建輸出文件即Makefile文件。
總結
以上是生活随笔為你收集整理的termcap-1.3.1的configure.in文件逐行分析的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 下周发布!新款MacBook Air曝光
- 下一篇: android4.0.3去掉底部状态栏s