[PHP] Add support for PHP7.
PHP5's C extension API has changed substantially so you need to use -php7 to specify you want PHP7 compatible wrappers. Fixes https://github.com/swig/swig/issues/571
This commit is contained in:
parent
bb98147965
commit
1169874f59
202 changed files with 11575 additions and 719 deletions
51
Lib/php5/const.i
Normal file
51
Lib/php5/const.i
Normal file
|
|
@ -0,0 +1,51 @@
|
|||
/* -----------------------------------------------------------------------------
|
||||
* const.i
|
||||
*
|
||||
* Typemaps for constants
|
||||
* ----------------------------------------------------------------------------- */
|
||||
|
||||
%typemap(consttab) int,
|
||||
unsigned int,
|
||||
short,
|
||||
unsigned short,
|
||||
long,
|
||||
unsigned long,
|
||||
unsigned char,
|
||||
signed char,
|
||||
bool,
|
||||
enum SWIGTYPE
|
||||
"SWIG_LONG_CONSTANT($symname, ($1_type)$value);";
|
||||
|
||||
%typemap(consttab) float,
|
||||
double
|
||||
"SWIG_DOUBLE_CONSTANT($symname, $value);";
|
||||
|
||||
%typemap(consttab) char
|
||||
"SWIG_CHAR_CONSTANT($symname, $value);";
|
||||
|
||||
%typemap(consttab) char *,
|
||||
const char *,
|
||||
char [],
|
||||
const char []
|
||||
"SWIG_STRING_CONSTANT($symname, $value);";
|
||||
|
||||
%typemap(consttab) SWIGTYPE *,
|
||||
SWIGTYPE &,
|
||||
SWIGTYPE &&,
|
||||
SWIGTYPE [] {
|
||||
zval *z_var;
|
||||
zend_constant c;
|
||||
size_t len = sizeof("$symname") - 1;
|
||||
MAKE_STD_ZVAL(z_var);
|
||||
SWIG_SetPointerZval(z_var, (void*)$value, $1_descriptor, 0);
|
||||
c.value = *z_var;
|
||||
zval_copy_ctor(&c.value);
|
||||
c.name = zend_strndup("$symname", len);
|
||||
c.name_len = len+1;
|
||||
c.flags = CONST_CS | CONST_PERSISTENT;
|
||||
c.module_number = module_number;
|
||||
zend_register_constant( &c TSRMLS_CC );
|
||||
}
|
||||
|
||||
/* Handled as a global variable. */
|
||||
%typemap(consttab) SWIGTYPE (CLASS::*) "";
|
||||
Loading…
Add table
Add a link
Reference in a new issue