autoconf常用宏
AC_INIT (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
之后,下列输出变量包含了系统类型信息。在调用了之后,
系统类型变量
build
, host
, target
build
, host
, target
- 规范系统名称;
-
build_alias
,host_alias
,target_alias
-
如果使用了
config.guess
,就是用户指定的名称或者规范名称; -
build_cpu
,build_vendor
,build_os
-
host_cpu
,host_vendor
,host_os
-
target_cpu
,target_vendor
,target_os
为方便而提供的规范名称的独立部分。
AC_CANONICAL_HOST
只设置了上列host
变量。
AC_CANONICAL_TARGET
只设置了上列target
变量。
AC_ARG_ENABLE (feature, help-string [, action-if-given [, action-if-not-given]])
configure
,就运行shell命令action-if-given。如果两个选项都没有给出,就运行shell命令 action-if-not-given。名称feature表示可选的用户级功能。它应该仅仅由字母、数字和破折号(dashes)组成。
shell命令可以通过访问shell变量enableval
来得到选项的参数,该变量的值实际上就是把shell变量 enable_feature
的值中所有的`-'字符替换成`_'而得到的。如果你愿意,可以使用变量enable_feature
。help-string参数类似于 AC_ARG_WITH
中相应的参数(参见与外部软件一起工作)。
AC_PROG_CC
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 (variable, prog-to-check-for, value-if-found [, value-if-not-found [, path, [ reject ]]])
PATH
之中。如果找到了,就把变量 variable设置成value-if-found,否则就在给出了value-if-not-found的时候把variable设置成它。即使首先在搜索路径中找到reject(一个绝对文件名),本宏也会忽略它;在那种情况下,用找到的prog-to-check-for,不同于reject的绝对文件名来设置variable。如果variable已经被设置了,就什么也不作。为variable调用AC_SUBST
。
AC_PATH_PROG (variable, prog-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
autoconf常用宏相关推荐
- 程序员需要有多懒 ?- cocos2d-x 数学函数、常用宏粗整理 - by Glede
最近我们的cocos2d-x游戏项目已经进入了正式开发的阶段了,几个dev都辛苦码代码.cocos2d-x还是一套比较方便的api的,什么action啊.director啊.ccpoint啊都蛮便捷的 ...
- VC/MFC中常用宏的含义
VC/MFC中常用宏的含义 Visual C++ MFC 中常用宏的含义(转载) AND_CATCHAND_CATCH AND_CATCH(exception_class,exception ...
- c 语言常用宏定义 模板
常用宏定义 1.防止一个头文件被重复包含 #ifndef COMDEF_H #define COMDEF_H //头文件内容 #endif 2.重新定义一些类型,防止由于各种平台和编译器的不同,而产生 ...
- Visual Assist X Options 常用宏
左边是其说明 右边是常用宏 /************************************************************************ 日期@@@ $DATE$ ...
- C语言宏定义(常用宏定义)
C语言常用宏定义 常用宏定义 数值相关的宏定义 字符相关的宏定义 byte相关的宏定义 bit相关的宏定义 数组与结构体相关的宏定义 对齐的宏定义 常用宏定义 数值相关的宏定义 闰年的判断 ,年份可以 ...
- LaTeX 常用宏包(转载)
latex常用宏包 (2014-08-01 19:45:30) 转载▼ 转载于http://blog.sina.com.cn/s/blog_628dd2bc0102uyih.html 页面与标 ...
- iOS - 常用宏定义
iOS中的常用宏定义 此篇博客为博主转载经典文章,非常感谢原创的优秀资源! 为方便常看和使用,在此我将原文中的宏定义在此以代码片形式展示出来,具体内容如下: #ifndef MacroDefiniti ...
- Latex常用宏包\usepackage
1. xspace \usepackage{xspace} 命令\xspace可以自动生成一个空格, 除非其后是标点.LaTeX pifont 宏包 符号列表如下: 2. pifont \usepac ...
- iOS - 常用宏定义和PCH文件知识点整理
(一)PCH文件操作步骤演示: 第一步:图文所示: 第二步:图文所示: (二)常用宏定义整理: (1)常用Log日志宏(输出日志详细可定位某个类.某个函数.某一行) //=============== ...
最新文章
- java数据库连接的作用_java数据库连接池的作用
- ubuntu 下更新pip后发生 ImportError: cannot import name ‘main‘的问题解决
- D1net阅闻:IBM宣布推出全新存储技术 存储速度快70倍
- ASP.NET MVC学习系列(一)-WebAPI初探
- HTTP Basic 验证客户端 C#实现笔记
- 力扣- -241.为运算表达式设计优先级
- mysql生产环境加索引_【生产篇】_MySQL环境下如何查看基于表的索引定义
- python 文件指针在文件末尾_python文件操作及seek偏移详解
- ubuntu下安装opensips
- tar oracle home 权限不够,linux系统安装jdk
- Shell编程进阶 1.3data命令
- 黑客攻防技术宝典Web实战篇第2版—第10章 测试后端组件
- 树状数组区间修改和区间求和
- 每日一题[LeetCode 315]计算右侧小于当前元素的个数
- java voip 的sip服务器搭建_用ASTERISK搭建自己的免费VOIP服务器
- 【计组】5.4 控制器设计
- 摸鱼:窗口最小化等快捷键
- java测试性能代码_关于性能:Java代码内部的基准测试
- 怎样记账才能清楚、简单
- Linux的20个常用命令
热门文章
- win7 nginx mysql php_windows7配置Nginx+php+mysql的详细教程
- Idea 封装Java代码片段 快速提示
- linux查用户的家目录,详解Linux误删用户家目录的恢复方法
- (JAVA) * 使用正则表达式,给字符串排序 * 使用数组排序
- centos 6.5 安装redis
- crossdomain.xml配置不当的利用和解决办法
- vsftpd安装问题汇总(持续更新。。)
- [Leveldb源码剖析疑问]-block_builder.cc之Add函数
- C函数的实现(strcpy,atoi,atof,itoa,reverse)
- VS配合VSS时,编译报错:未能向文件“....csproj.FileListAbsolute.txt”写入命令行,对路径的访问被拒绝。...