The file
config.m4
is processed by
buildconf
and must contain all the instructions to be executed during
configuration. For example, these can include tests for
required external files, such as header files, libraries,
and so on. PHP defines a set of macros that can be used in
this process, the most useful of which are described in
表41-1
.
表 41-1M4 Macros for
config.m4
Macro | Description |
AC_MSG_CHECKING(message) | Prints a "checking message " text during configure . |
AC_MSG_RESULT(value) | Gives the result to AC_MSG_CHECKING ; should specify either yes or no as value . |
AC_MSG_ERROR(message) | Prints message as error message during configure and aborts the script. |
AC_DEFINE(name,value,description) | Adds #define to php_config.h with the value of value and a comment that says description (this is useful for conditional compilation of your module). |
AC_ADD_INCLUDE(path) | Adds a compiler include path; for example, used if the module needs to add search paths for header files. |
AC_ADD_LIBRARY_WITH_PATH(libraryname,librarypath) | Specifies an additional library to link. |
AC_ARG_WITH(modulename,description,unconditionaltest,conditionaltest) | Quite a powerful macro, adding the module with description to the configure --help output. PHP checks whether the option --with- modulename is given to the configure script. If so, it runs the script unconditionaltest (for example, --with-myext=yes ), in which case the value of the option is contained in the variable $withval . Otherwise, it executes conditionaltest . |
PHP_EXTENSION(modulename, [shared]) | This macro is a must to call for PHP to configure your extension. You can supply a second argument in addition to your module name, indicating whether you intend compilation as a shared module. This will result in a definition at compile time for your source as COMPILE_DL_ modulename . |