下一个 >

 

AutoconfCreating Automatic Configuration Scripts Edition 2.13, for Autoconf version 2.13目录编写、configure.in'用autoconf创建configure用autoupdate更新configure介绍A physicist, an engineer, and a computer scientist were discussing the nature of God. Surely a Physicist, said the physicist, because early in the Creation, God made Light; and you know, Maxwell's equations, the dual nature of electro-magnetic waves, the relativist consequences... An Engineer!, said the engineer, because before making Light, God split the Chaos into Land and Water; it takes a hell of an engineer to handle that big amount of mud, and orderly separation of solids from、config.h.in'。你的源文件 --> [autoscan*] --> [configure.scan] --> configure.in.-------------> config.cache configure* ------------+-------------> config.log建、configure.in')。AC—INIT(file) checks for programs checks for librarieschecks for structuresdnl Process this file with autoconf to produce a configure script.--help--macrodir=dir--verbose--version--help--macrodir=dir--version--help--localdir=dir--macrodir=dir--version--help--force--localdir=dir--macrodir=dir--verbose--version初始化和输出文件创建输出文件AC—OUTPUT(Makefile src/Makefile man/Makefile X/Imakefile)AC—OUTPUT(Makefile:templates/top.mk lib/Makefile:templates/lib.mk) AC—OUTPUT(Makefile:templates/vars.mk:Makefile.in:templates/rules.mk)fubar=27@SET—MAKE@#! /bin/sh创建目录配置头文件AC—CONFIG—HEADER(defines.h:defines.hin) AC—CONFIG—HEADER(defines.h:defs.pre:defines.h.in:defs.post)AC—CONFIG—HEADER(conf.h) AC—CHECK—HEADERS(unistd.h)/* Define as 1 if you have unistd.h. *//* Define if you have unistd.h. */AC—CHECK—HEADERS、AC—CHECK—FUNCS、AC—CHECK—SIZEOF或者 AC—CHECK—LIB定义的符号,autoheader生成注释和#undef语--help--localdir=dir--macrodir=dir--version在子目录中配置其它包缺省的前缀AC—PREREQ(1.8)#! /bin/sh对程序的选择对特定程序的检查对普通程序和文件的检查库文件库函数对特定函数的检查对普通函数的检查头文件对特定头文件的检查对普通头文件的检查结构#if TIME—WITH—SYS—TIME类型定义对特定类型定义的检查对普通类型定义的检查C编译器的特征WORDS—BIGENDIAN。#define x(y) #yAC—CHECK—SIZEOF(int *)Fortran 77编译器的特征系统服务UNIX变种编写测试检验声明AC—EGREP—CPP(yes,检验语法检验库检验运行时的特征运行测试程序测试程序指南测试函数可移植的Shell编程#! /usr/bin/perl测试值和文件var=${var:-value}: ${var=value}AC—MSG—CHECKING(how to get filesystem type) fstype=no测试的结果定义C预处理器符号AC—CHECK—FUNC(vprintf, AC—DEFINE(HAVE—VPRINTF))AC—DEFINE(EQUATION, "$a > $b")AC—DEFINE—UNQUOTED(config—machfile, "${machfile}") AC—DEFINE—UNQUOTED(GETGROUPS—T, $ac—cv—type—getgroups) AC—DEFINE—UNQUOTED(${ac—tr—hdr})AC—CHECK—HEADER(elf.h, AC—DEFINE(SVR4) LIBS="$LIBS -lelf")AC—CHECK—HEADER(elf.h, AC—DEFINE(SVR4) LIBS="$LIBS -lelf")AC—CHECK—HEADER(elf.h, AC—DEFINE(SVR4); LIBS="$LIBS -lelf")AC—SUBST—FILE(host—frag)dnl host—frag=$srcdir/conf/sun4.mh@host—frag@package-prefix—cv—value-type—飞pecific-value[—additional-option飞]缓存文件编写宏宏定义AC—DEFUN(macro-name, [macro-body])宏名HEADERSTRUCT引用AC—TRY—LINK(宏之间的依赖性首要的宏过时的宏手工配置指定系统的类型cpu-company-飞y飞tem--build=build-type--host=ho飞t-type--target=target-typeCC=m68k-coff-gcc configure --target=m68k-coff获取规范的系统类型系统类型变鼠build, host, targetbuild—alias, host—alias, target—aliasbuild—cpu, build—vendor, build—os host—cpu, host—vendor, host—os target—cpu, target—vendor, target—os使用系统类型case "$target" inAC—LINK—FILES(config/${machine}.h config/${obj—format}.h, host.h object.h)站点配置与外部软件一起工作--with-package[=arg]为、yes'。 、--without-package'等价于、--with-package=no'。--with-readline support fancy command line editing选择包选项--enable-feature[=arg]、--enable-feature=no'。配置站点细节在安装的时候改变程序的名称转换选项转换的例子设定站点缺省值、--enable-warnings=no'或者、--disable-warnings'把变鼠enable—warnings 的值设置为、no',、--prefix=/usr'把变鼠prefix设置为、/usr',等等。# config.site for configure重新创建一个配置config.h: stamp-h关于Autoconf的问题为什么需要使用GNU m4?builtin indir patsubst我如何解开死结?为什么不使用Imake?从版本1中升级改变了的文件名改变了的Makefileprefix = /usr/local exec—prefix = ${prefix}prefix = @prefix@ exec—prefix = @exec—prefix@改变了的宏--help--macrodir=dir--versionAC—HAVE—FUNCS(syslog)AC—CHECK—FUNCS(syslog)改变了的宏的编写Autoconf的历吏起源(Genesis)出发(Exodus)上路(Leviticus)发展(Numbers)现状(Deuteronomy)陈旧的宏名AC—ALLOCAAC—CHAR—UNSIGNEDAC—GCC—TRADITIONALAC—HEADER—CHECKAC—RESTARTABLE—SYSCALLS AC—SYS—RESTARTABLE—SYSCALLSAC—SETVBUF—REVERSEDcs输出变鼠索引abcdefhiklmnoprstxy预处理器符号索引_cdfghilmnoprstuvwy宏索引abcdefghilmoprstuvwxy