runkit0.9がPHP5.2系でbuildできない
パッチが出てますね。
で、念のため、cvs.php.netでdiff取ってみると、若干違うようです。
--- runkit_import.c 2006/06/06 20:08:51 1.8 +++ runkit_import.c 2006/10/26 16:18:52 1.10 @@ -2,6 +2,8 @@ +----------------------------------------------------------------------+ | PHP Version 5 | +----------------------------------------------------------------------+ + | Copyright (c) 1997-2006 The PHP Group | + +----------------------------------------------------------------------+ | This source file is subject to version 3.0 of the PHP license, | | that is bundled with this package in the file LICENSE, and is | | available through the world-wide-web at the following url: | @@ -14,7 +16,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: runkit_import.c,v 1.8 2006/06/06 20:08:51 pollita Exp $ */ +/* $Id: runkit_import.c,v 1.10 2006/10/26 16:18:52 pollita Exp $ */ #include "php_runkit.h" @@ -226,7 +228,9 @@ if (zend_hash_get_current_key_ex(&ce->default_properties, &key, &key_len, &idx, 0, &pos) == HASH_KEY_IS_STRING) { char *cname = NULL, *pname = key; -#ifdef ZEND_ENGINE_2 +#ifdef ZEND_ENGINE_2_2 + zend_unmangle_property_name(key, key_len - 1, &cname, &pname); +#elif defined(ZEND_ENGINE_2) zend_unmangle_property_name(key, &cname, &pname); #endif if (zend_hash_exists(&dce->default_properties, key, key_len)) {
これに合わせて、php_runkit.hも変更されています。
--- php_runkit.h 2006/06/06 20:38:59 1.28 +++ php_runkit.h 2006/10/26 16:18:52 1.30 @@ -2,7 +2,7 @@ +----------------------------------------------------------------------+ | PHP Version 5 | +----------------------------------------------------------------------+ - | Copyright (c) 1997-2004 The PHP Group | + | Copyright (c) 1997-2006 The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.0 of the PHP license, | | that is bundled with this package in the file LICENSE, and is | @@ -16,7 +16,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: php_runkit.h,v 1.28 2006/06/06 20:38:59 pollita Exp $ */ +/* $Id: php_runkit.h,v 1.30 2006/10/26 16:18:52 pollita Exp $ */ #ifndef PHP_RUNKIT_H #define PHP_RUNKIT_H @@ -40,6 +40,13 @@ #define PHP_RUNKIT_IMPORT_CLASS_PROPS 0x0008 #define PHP_RUNKIT_IMPORT_CLASSES (PHP_RUNKIT_IMPORT_CLASS_METHODS|PHP_RUNKIT_IMPORT_CLASS_CONSTS|PHP_RUNKIT_IMPORT_CLASS_PROPS) #define PHP_RUNKIT_IMPORT_OVERRIDE 0x0010 + +#if ZEND_MODULE_API_NO > 20050922 +#define ZEND_ENGINE_2_2 +#endif +#if ZEND_MODULE_API_NO > 20050921 +#define ZEND_ENGINE_2_1 +#endif /* The TSRM interpreter patch required by runkit_sandbox was added in 5.1, but this package includes diffs for older versions * Those diffs include an additional #define to indicate that they've been applied
この2つのパッチを当てると、ちゃんとbuildされました。