config.m4 は buildconf によって使用されます。 configure 時に実行する内容についてはすべてここで指示しておかなければなりません。 例えば、行うべきテストや必要な外部ファイル (ヘッダファイルなど) についての指示などがあてはまります。このために使用できるマクロが PHP で定義されています。その中でも最も有用なものを 表46-18 にまとめます。
表 46-18. config.m4 で使用する M4 マクロ
マクロ | 説明 |
AC_MSG_CHECKING(message) | configure 時に "checking <message>" というテキストを表示します。 |
AC_MSG_RESULT(value) |
AC_MSG_CHECKING の結果を指定します。
value には、
yes あるいは no
のいずれかを指定しなければなりません。
|
AC_MSG_ERROR(message) |
configure 時に
エラーメッセージ message を表示し、
スクリプトを終了させます。
|
AC_DEFINE(name,value,description) |
php_config.h に #define
を追加し、値を value に設定して
description をコメントに加えます
(モジュールで条件付きコンパイルを行う場合に有用です)。
|
AC_ADD_INCLUDE(path) | コンパイラのインクルードパスを追加します。 ヘッダファイルを探すためのサーチパスを追加する場合などに使用します。 |
AC_ADD_LIBRARY_WITH_PATH(libraryname,librarypath) | リンクする外部ライブラリを指定します。 |
AC_ARG_WITH(modulename,description,unconditionaltest,conditionaltest) |
非常に強力なマクロであり、configure --help
の出力内容に description
という説明とともにモジュールを追加します。
configure スクリプトにオプション
--with-<modulename>
が指定されているかどうかを PHP がチェックし、もし指定されていれば
スクリプト unconditionaltest
を実行します (例えば --with-myext=yes)。
このとき、オプションの値は変数 $withval
に格納されます。オプションが指定されなかった場合は、
conditionaltest を実行します。
|
PHP_EXTENSION(modulename, [shared]) | このマクロは、PHP があなたの拡張モジュールを設定するために 必ずコールしなければならないものです。 モジュール名に加えて 2 番目の引数を指定することができ、 ここでは共有モジュールとしてコンパイルを行うかどうかを指示します。 この内容は、ソースをコンパイルする際の COMPILE_DL_<modulename> の定義として使用されます。 |