autoconf 宏

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_PROGRAMINSTALL_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
上述任意一个宏的第一个参数将在每个生成的 `Makefile.in' 中自动地被定义为一个变量。
AC_CHECK_TOOL
Automake将确认 `config.guess' `config.sub' 的存在。 并且将引入 `Makefile' 变量 `host_alias' `host_triplet'

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不能完成的错误。本宏在标准错误输出中打印一条错误消息并且以非零状态退出 configureerror-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'的东西。 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值