autoconf常用宏

来源:互联网 发布:帝国cms 自定义表单 编辑:程序博客网 时间:2024/05/28 09:33


AC_INIT (unique-file-in-source-dir)
处理所有命令行参数并且寻找源代码目录。unique-file-in-source-dir是一些在包的源代码目录中文件; configure在目录中检查这些文件是否存在以确定该目录是否包含源代码。人们可能偶尔会用`--srcdir'给出错误的目录;这是一种安全性检查

AC_PREREQ (version)

确保使用的是足够新的Autoconf版本。如果用于创建configure的Autoconf的版本比version 要早,就在标准错误输出打印一条错误消息并不会创建configure

例如:AC_PREREQ(1.8)

如果你的`configure.in'依赖于在不同Autoconf版本中改变了的、不明显的行为,本宏就是有用的。如果它仅仅是需要近来增加的宏,那么AC_PREREQ就不太有用,这是因为程序autoconf已经告诉了用户那些宏没有被找到。如果`configure.in'是由一个在提供AC_PREREQ之前的更旧的 Autoconf版本处理的,也会发生同样的事。


AC_CYGWIN

检查Cygwin环境。如果存在,就把shell变量CYGWIN设置成`yes'。如果不存在,就把CYGWIN设置成空字符串。


AC_MINGW32

检查MingW32编译环境。如果存在,就把shell变量MINGW32设置成`yes'。如果不存在,就把MINGW32设置成空。


AC_MSG_NOTICE

输出提示信息


AC_CANONICAL_SYSTEM

在调用了AC_CANONICAL_SYSTEM之后,下列输出变量包含了系统类型信息。在调用了之后,

系统类型变量

buildhosttarget

规范系统名称;

build_aliashost_aliastarget_alias
如果使用了config.guess,就是用户指定的名称或者规范名称;

build_cpubuild_vendorbuild_os

host_cpuhost_vendorhost_os

target_cputarget_vendortarget_os

为方便而提供的规范名称的独立部分。


AC_CANONICAL_HOST 

只设置了上列host变量。


AC_CANONICAL_TARGET

只设置了上列target变量。


AC_ARG_ENABLE (featurehelp-string [, action-if-given [, action-if-not-given]])

如果用户以选项`--enable-feature'或者`--disable-feature'调用 configure,就运行shell命令action-if-given。如果两个选项都没有给出,就运行shell命令 action-if-not-given。名称feature表示可选的用户级功能。它应该仅仅由字母、数字和破折号(dashes)组成。

shell命令可以通过访问shell变量enableval来得到选项的参数,该变量的值实际上就是把shell变量 enable_feature的值中所有的`-'字符替换成`_'而得到的。如果你愿意,可以使用变量enable_featurehelp-string参数类似于 AC_ARG_WITH中相应的参数(参见与外部软件一起工作)。


AC_PROG_CC
确定C的编译器。如果在环境中没有设定CC,就查找gcc,如果没有找到,就使用cc。把输出变量CC设置为找到的编译器的名字。

如果要使用GNU C编译器,把shell变量GCC设置为`yes',否则就设置成空。如果还没有设置输出变量 CFLAGS,就为GNU C编译器把CFLAGS设置成`-g -O2'(在GCC不接受`-g' 的系统中就设置成`-O2'),为其他编译器把CFLAGS设置成`-g'

如果被使用的C编译器并不生成可以在configure运行的系统上运行的可执行文件,就把shell变量 cross_compiling设置成`yes',否则设置成`no'。换句话说,它检查创建系统类型是否与主机系统类型不同(目标系统与本测试无关)。关于对交叉编译的支持,参见手工配置。


AC_CHECK_PROG (variableprog-to-check-forvalue-if-found [, value-if-not-found [, path, [ reject ]]])
检查程序prog-to-check-for是否存在于PATH之中。如果找到了,就把变量 variable设置成value-if-found,否则就在给出了value-if-not-found的时候把variable设置成它。即使首先在搜索路径中找到reject(一个绝对文件名),本宏也会忽略它;在那种情况下,用找到的prog-to-check-for,不同于reject的绝对文件名来设置variable。如果variable已经被设置了,就什么也不作。为variable调用AC_SUBST

AC_PATH_PROG (variableprog-to-check-for [, value-if-not-found [, path]])

类似于AC_CHECK_PROG,但在找到prog-to-check-for的时候,把variable设置成prog-to-check-for的完整路径。


AC_CONFIG_HEADERS([config.h])

http://www.cnblogs.com/xialm/articles/188213.html

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 不能取电池的手机触屏不灵怎么办? 7p主板触摸ic坏了怎么办 小米六手机摔了一下屏幕失灵怎么办 魅蓝5s触屏失灵怎么办 苹果手机键盘字母顺序乱了怎么办 红米手机进水后屏幕失灵怎么办 苹果7plus主屏按键坏了怎么办 苹果六手机上的红色变成粉色怎么办 苹果手机出现闪屏和手感不灵怎么办 荣耀6plus后开不了机怎么办 苹果手机touch id密码忘了怎么办 苹果7摔出了一个裂缝怎么办 屏幕摔坏了下键盘失灵怎么办 苹果4s手机按健失灵怎么办 金立手机摔了一下黑屏了怎么办 苹果5s屏幕不亮了怎么办 苹果6s手机开不了机怎么办 苹果手机充电的地方坏了怎么办 手机丢了只有imei码该怎么办 在保修期的苹果被偷了怎么办 苹果手机在保修期之外坏了怎么办 把苹果售后给的备用机摔了怎么办 把售后给的备用机摔坏了怎么办 苹果4s屏幕玻璃碎了怎么办 苹果手机摔鼓起来了屏幕花了怎么办 苹果8卡屏幕划不动了怎么办 苹果x卡屏幕划不动了怎么办 苹果5s解锁密码忘了怎么办 苹果6s屏幕摔碎了怎么办 苹果手机掉在水里了怎么办 乐视手机掉水里没法触屏了怎么办 乐视电视有声音但是黑屏怎么办 苹果手机微信语音有回音怎么办 苹果4s死机了没反应了怎么办 苹果手表的显示平坏了怎么办 苹果5s屏幕翘起来了怎么办 苹果手机圆点卡住屏幕不能动怎么办 苹果5s卡屏怎么也不动应该怎么办 苹果5s手机触摸屏太灵敏怎么办 苹果5s手机关机滑动失灵怎么办 苹果5s关机开机后没信号怎么办