dnl Autoconfigure script for bogusapp
dnl Kurt Wall
<kwall@kurtwerks.com>
dnl
dnl Process this file with 'autoconf'
to produce a 'configure'
script
第一个代码段是标准的autoconfig.in文件头,指出了这个configure.in脚本隶属于什么软件包,联系信息(通常是软件包的维护者)以及重新生成配置脚本的说明.
AC_INIT(bogusapp.c)
AC_CONFIG_HEADER(config.h)
接下来的两行调用了前面介绍过的AC_INIT函数,并且在源文件树的根目录下创建了一个名为config.in的头文件,其中只包含从实际的头文件中提
取的预处理符号.主要在源代码中包含这个头文件并使用其中的相关符合,实际的程序就能在每个可能的系统上平滑无缝地编译.autoconf根据名为
config.h.in中包含了程序需要的所有#define指令.
怎么创建config.h.in?幸运的是,autoconf自带了一个名为autoheader的shell脚本,这个脚本使用起来很方便.该脚本能生
成config.h.in.autoheader通过读入configure.in,作为autoconf软件一部分的acconfig.h文件和位于源
代码树根路径下用于保存预处理符号的acconfig.h文件,生成config.h.in文件.在你开始抱怨又要创建另一个文件之前,告诉你一个好消
息,./acconfig.h只需包含在别处没有定义的预处理符号.更好地是,这些符号值都能为空.这个文件中只需包含可以被autoconf和
autoheader读取和使用的合法定义的C风格预处理符号.要创建config.h.in,在创建了你的config.in,在创建了你的
config.in文件之后在源代码目录下执行autoheader.下面的代码段是用于bogusapp的acconfig.h文件.
/*
Define this 1 if you compiler allows a (void *) function return */
#define
HAVE_VOID_POINTER 0
/* Define this 1 if your C compiler has a
short_short_t type */
#define short_short_t 0
/* Define this 1 if your
signal handling library support sys_siglist */
#define HAVE_SYS_SIGLIST 0