phpize
CでPHP 拡張機能をコーディングしようとしましたが、実行した./configure
ところ、このエラーが発生しました
checking Whether extensionB is enabled... yes, shared
./configure: line 4171: syntax error near unexpected token `;'
./configure: line 4171: ;'
エラーの原因となった行を特定するにはどうすればよいですか? このためのツールはありますか?
フォルダ構造
extensionB
config.m4
extensionB.c
extensionB.h
config.m4
PHP_ARG_ENABLE(extensionB, Whether extensionB is enabled, [--enable-extensionB enable extensionB support])
if $PHP_EXTENSIONB != "no" then
PHP_NEW_EXTENSION(extensionB,extensionB.c,$ext_shared);
fi
拡張子B.h
#ifndef PHP_EXTENSIONB_H
#define PHP_EXTENSIONB_H 1
#define PHP_EXTENSIONB_VERSION "1.0"
#define PHP_EXTENSIONB_EXTNAME "extensionB"
PHP_FUNCTION(extensionBFn1);
extern zend_module_entry extensionB_module_entry;
#define phpext_extensionB_ptr &extensionB_module_entry
#endif
拡張子B.c
#include "php.h"
#include "extensionB.h"
static function_entry extensionBFns[] =
{
PHP_FE(extensionBFn1,NULL)
{NULL,NULL,NULL}
};
zend_module_entry extensionB_module_entry =
{
STANDARD_MODULE_HEADER,
PHP_EXTENSIONB_EXTNAME,
extensionBFns,
NULL,NULL,NULL,NULL,NULL,
PHP_EXTENSIONB_VERSION,
STANDARD_MODULE_PROPERTIES
};
#ifdef COMPILE_DL_EXTENSIONB
ZEND_GET_MODULE(extensionB)
#endif
PHP_FUNCTION(extensionB)
{
RETURN_STRING("Extension B returns a string from Fn 1",1);
}
編集
コードを調べてみると、ファイル config.m4 に含まれている必要があることに気付きました
if test "$PHP_EXTENSIONB" != "no";
then
./configure ステージを通過しましたが、場所を表示するツールはありますか。gdbのような?