由 buildconf 处理的配置文件 config.m4 包含了全部在配置过程当中所执行的指令。这些指令诸如包含测试包含所需的外部文件,像头文件、库文件等等。PHP 定义了一系列处理这类状况的宏,其中最经常使用的咱们在这里列了出来。 php
AC_MSG_CHECKING(message)
在执行 configure 命令时输出“checking <message>”等信息。 测试
AC_MSG_RESULT(value)
取得 AC_MSG_CHECKING 的执行结果,通常状况下 value 应为 yes 或 no。 ui
AC_MSG_ERROR(message)
在执行 configure 命令时输出一条错误消息 message 并停止脚本的执行。 spa
AC_DEFINE(name,value,description)
向 php_config.h 添加一行定义:#define name value // description (这对模块的条件编译颇有用。) ip
AC_ADD_INCLUDE(path)
添加一条编译器的包含路径,好比用于模块须要为头文件添加搜索路径。 编译器
AC_ADD_LIBRARY_WITH_PATH(libraryname,librarypath)
指定一个库的链接路径。 源码
AC_ARG_WITH(modulename,description,unconditionaltest,conditionaltest)
这是一款比较强大的宏,用于将模块的描述 description 添加到“configure –help”命令的输出里面。PHP 会检查当前执行的 configure 脚本里面有没有–with-<modulename> 这个选项。 若是有则执行 unconditionaltest 语句(好比 –with-myext=yes 等), 此时,选项的值会被包含在 $withval 变量里面。不然就执行 conditionaltest 语句。 it
PHP_EXTENSION(modulename, [shared])
这个是配置你的扩展时 PHP 一定调用的一个宏。你能够在模块名后面提供第二个参数,用来代表是否将其编译为动态共享模块。这会致使在编译时为你的源码提供一个 COMPILE_DL_<modulename> 的定义。 io