Autoconf宏的编写与使用指南
1. Autoconf与M4基础
在使用Autoconf中的宏(包括定义和调用)时,牢记一些规则能让你更轻松地理解为何事情可能未按预期运行。GNU M4手册为宏调用中的引号使用提供了一个简单的经验法则:宏调用中每嵌套一层括号,就使用一层引号。
Autoconf程序本质上是一个简单的shell脚本。其中约80%的shell代码仅用于确保shell具备执行所需任务的功能,剩余20%用于解析命令行选项。脚本的最后一行会执行autom4te程序,这是一个Perl脚本,作为m4实用工具的包装器。最终,autom4te会像这样调用m4:
$ /usr/bin/m4 --nesting-limit=1024 --include=/usr/share/autoconf \ --debug=aflq --fatal-warning --error-output=autom4te.cache/traces.0t \ --trace=AC_CANONICAL_BUILD ... --trace=sinclude \ --reload-state=/usr/.../autoconf/autoconf.m4f aclocal.m4 configure.ac从上述命令可以看出,M4按顺序处理的三个文件分别是/usr/.../autoconf/autoconf.m4f、aclocal.m4和configure.ac。
Autoconf主宏文件