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文件。