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

本文详细介绍了Autoconf配置过程中的关键宏及其作用,包括初始化、处理命令行参数、编译器及库文件检测等,帮助读者深入理解Autoconf的工作原理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值