Файл config.m4
обрабатывается скриптом buildconf и обязан содержать все инструкции, исполняемые при конфигурировании. Например,
сюда может входить проверка требуемых внешних файлов, таких как header-файлы,
библиотеки и так далее. PHP определяет набор макросов, которые могут быть
использованы в этом процессе. Наиболее часто используемые перечислены в Таблице 9.18.
Рисунок 42-1. Таблица 9.18. M4-макросы для config.m4
Макрос
Описание
AC_MSG_CHECKING(message)
Печатает текст "checking <message>" в ходе работы
configure.
AC_MSG_RESULT(value)
Передаёт результат в AC_MSG_CHECKING; в качестве value должен
специфицировать yes или no.
AC_MSG_ERROR(message)
Печатает message как сообщение об ошибке в ходе
configure и прерывает выполнение скрипта.
AC_DEFINE(name,value,description)
Добавляет#define в php_config.h
со значениемvalue и комментарием description (это используется при условной компиляции вашего модуля).
AC_ADD_INCLUDE(path)
Добавляет include path/путь компилятора; например, используется, если
необходимо добавить в модуль пути поиска header-файлов.
Весьма мощный макрос, добавляющий модуль с description/описанием в вывод
configure --help. PHP проверяет, задана ли опция --with-<modulename> скрипту configure.
Если да, запускает скрипт unconditionaltest (например, --with-myext=yes), и в этом случае значение опции содержится в переменной
$withval. Иначе - выполняет conditionaltest.
PHP_EXTENSION(modulename,[shared])
Этот макрос обязан вызываться в PHP
для конфигурирования вашего расширения. Вы можете предоставить
второй аргумент в дополнение к имени модуля, указывающий,
намереваетесь ли вы компилировать его как
shared-модуль. Это даст во время компиляции такое определение вашего исходника: COMPILE_DL_<modulename>.