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