AC_CONFIG_HEADERS([config.h:config-h.in])
输出config.h ,config.h主要用于代码移植,产生可移植代码,适应不同平台。
执行autoheader后形成config.h.in模板,而config.status根据此模板生成config.h。
http://blog.csdn.net/spch2008/article/details/12510805
AC_PREREQ
# 确保使用的是足够新的Autoconf版本。如果用于创建configure的Autoconf的版
# 本比version 要早,就在标准错误输出打印一条错误消息并不会创建configure。
AC_PREREQ(2.61)
LT_PREREQ([2.2]),libtool版本要高于2.2
#
# 初始化,定义软件的基本信息,包括设置包的全称,版本号以及报告BUG时需要用的邮箱地址
#
AC_INIT(FULL-PACKAGE-NAME, VERSION, BUG-REPORT-ADDRESS)
#
# 用来侦测所指定的源码文件是否存在,来确定源码目录的有效性
#
AC_CONFIG_SRCDIR([main.c])
AC_PROG_CC 指出源代码可能是用C写的,如果源代码是用C++写的我们就需要AC_PROP_CXX
AC_PROG_INSTALL会生成一个install目录文件,这样用户就可以通过输入“make install”来安装这个软件.
如果在当前PATH
中找到了一个与BSD兼容的install
程序,就把输出变量INSTALL
设置 成到该程序的路径。否则,就把INSTALL
设置成`dir/install-sh -c',检查由AC_CONFIG_AUX_DIR
指明的目录(或者它的缺省目录)以确定dir(参见 创建输出文件)。本宏还把变量INSTALL_PROGRAM
和INSTALL_SCRIPT
设置成`${INSTALL}',并且把INSTALL_DATA
设置成`${INSTALL} -m 644'。
检查你的系统是否有一个
BSD
兼容的安装工具包。
如果没有它使
用“
install-sh
”
,如果“
install-sh
”在你的包的目录根中不存在,
automake
将安装它。
检查你的系统是否有一个
BSD
兼容的安装工具包。
如果没有它使
用“
install-sh
”
,如果“
install-sh
”在你的包的目录根中不存在,
automake
将安装它。
检查你的系统是否有一个
BSD
兼容的安装工具包。
如果没有它使
用“
install-sh
”
,如果“
install-sh
”在你的包的目录根中不存在,
automake
将安装它。
检查你的系统是否有一个BSD兼容的安装工具包。如果没有它使 用“install-sh”,如果“install-sh”在你的包的目录根中不存在,automake将安装它。
-
AC_PROG_MAKE_SET
-
如果
make
预定义了变量MAKE
,把输出变量SET_MAKE
定义为空。否则,把SET_MAKE
定义成 `MAKE=make'。为SET_MAKE
调用AC_SUBST
。为了使用这个宏,在每个其他的、运行MAKE
的目录中的 `Makefile.in'添加一行: @SET_MAKE@ -
如果你想递归调用在子目录中的makefile文件,配置脚本需要被告知如何去做这 个。你需要添加AC_PROG_MAKE_SET命令。
AM_PATH_LISPDIR
emacs
,并且,如果找到了,把输出变量
lispdir
设置为到Emac的site-lisp目录的完整路径。
AC_PATH_PROG
AC_PATH_PROGS
AC_CHECK_TOOL
AC_GNU_SOURCE
If using the GNU C library, define _GNU_SOURCE. Allows the use of some GNU functions. Should be called before any macros that run the C compiler.
AC_CHECK_HEADERS
检查系统中或缓解路径中是否存在指定的头文件,和AC_CHECK_LIB一样支持条件语句。
AC_CHECK_FUNCS
检查library functions ,和AC_CHECK_LIB一样支持条件语句。
AC_CHECK_MEMBERS (members, [action-if-found], [action-if-not-found], [includes = ‘AC_INCLUDES_DEFAULT’])
Check for the existence of each ‘aggregate.member’ of members using the previous macro. When member belongs to aggregate, define HAVE_aggregate_member (in all capitals, with spaces and dots replaced by underscores). If action-if-found is given, it is executed for each of the found members. If action-if-not-found is given, it is executed for each of the members that could not be found.
includes is a series of include directives, defaulting to AC_INCLUDES_DEFAULT (see Default Includes), which are used prior to the members under test.
This macro uses M4 lists:
AC_CHECK_MEMBERS([struct stat.st_rdev, struct stat.st_blksize])
-
宏:
AC_MSG_CHECKING
(feature-description)
-
告知用户
configure
正在检查特定的特征。本宏打印一条以 `checking '开头,以 `...' 结尾,而且不带新行的消息。它必须跟随一条对AC_MSG_RESULT
的调用以打印检查的结果和新行。 feature-description应该是类似于 `whether the Fortran compiler accepts C++ comments'或者 `for c89'的东西。如果运行
configure
给出了选项`--quiet'或者选项`--silent',本宏什么也不打印。
-
宏:
AC_MSG_RESULT
(result-description)
-
告知用户测试的结果。
result-description几乎总是检查的缓存变量的值,典型的值是
`yes'、
`no'或者文件名。本宏应该在
AC_MSG_CHECKING
之后调用,并且 result-description 应该完成由AC_MSG_CHECKING
所打印的消息。如果运行
configure
给出了选项`--quiet'或者选项`--silent',本宏什么也不打印。
-
宏:
AC_MSG_ERROR
(error-description)
-
告知用户一条使
configure
不能完成的错误。本宏在标准错误输出中打印一条错误消息并且以非零状态退出configure
。 error-description应该是类似于 `invalid value $HOME for \$HOME'的东西。
-
宏:
AC_MSG_WARN
(problem-description)
-
告知
configure
的使用者可能出现的问题。本宏在标准错误输出中打印消息;configure
继续向后运行, 所以调用AC_MSG_WARN
的宏应该为它们所警告的情况提供一个缺省的(备份)行为。 problem-description应该是类似于 `ln -s seems to make hard links'的东西。