termcap-1.3.1的configure.in文件逐行分析

来源:互联网 发布:顶级根域名服务器 编辑:程序博客网 时间:2024/05/29 17:06

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-datauninstalldata被设置为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.hfloat.h。


AC_OUTPUT(Makefile)

创建输出文件即Makefile文件。

0 0
原创粉丝点击