[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
20
Examples/php5/constants/Makefile
Normal file
20
Examples/php5/constants/Makefile
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
TOP = ../..
|
||||
SWIGEXE = $(TOP)/../swig
|
||||
SWIG_LIB_DIR = $(TOP)/../$(TOP_BUILDDIR_TO_TOP_SRCDIR)Lib
|
||||
SRCS =
|
||||
TARGET = example
|
||||
INTERFACE = example.i
|
||||
LIBS =
|
||||
SWIGOPT =
|
||||
|
||||
check: build
|
||||
$(MAKE) -f $(TOP)/Makefile SRCDIR='$(SRCDIR)' php_run
|
||||
|
||||
build:
|
||||
$(MAKE) -f $(TOP)/Makefile SRCDIR='$(SRCDIR)' SRCS='$(SRCS)' \
|
||||
SWIG_LIB_DIR='$(SWIG_LIB_DIR)' SWIGEXE='$(SWIGEXE)' \
|
||||
SWIGOPT='$(SWIGOPT)' TARGET='$(TARGET)' INTERFACE='$(INTERFACE)' \
|
||||
php
|
||||
|
||||
clean:
|
||||
$(MAKE) -f $(TOP)/Makefile SRCDIR='$(SRCDIR)' php_clean
|
||||
26
Examples/php5/constants/example.i
Normal file
26
Examples/php5/constants/example.i
Normal file
|
|
@ -0,0 +1,26 @@
|
|||
/* File : example.i */
|
||||
%module example
|
||||
|
||||
/* A few preprocessor macros */
|
||||
|
||||
#define ICONST 42
|
||||
#define FCONST 2.1828
|
||||
#define CCONST 'x'
|
||||
#define CCONST2 '\n'
|
||||
#define SCONST "Hello World"
|
||||
#define SCONST2 "\"Hello World\""
|
||||
|
||||
/* This should work just fine */
|
||||
#define EXPR ICONST + 3*(FCONST)
|
||||
|
||||
/* This shouldn't do anything */
|
||||
#define EXTERN extern
|
||||
|
||||
/* Neither should this (BAR isn't defined) */
|
||||
#define FOO (ICONST + BAR)
|
||||
|
||||
/* The following statements also produce constants */
|
||||
%constant int iconst = 37;
|
||||
%constant double fconst = 3.14;
|
||||
|
||||
|
||||
28
Examples/php5/constants/runme.php
Normal file
28
Examples/php5/constants/runme.php
Normal file
|
|
@ -0,0 +1,28 @@
|
|||
<?php
|
||||
|
||||
require "example.php";
|
||||
|
||||
print "ICONST = " . ICONST . " (should be 42)\n";
|
||||
print "FCONST = " . FCONST . " (should be 2.1828)\n";
|
||||
print "CCONST = " . CCONST . " (should be 'x')\n";
|
||||
print "CCONST2 = " . CCONST2 . " (this should be on a new line)\n";
|
||||
print "SCONST = " . SCONST . " (should be 'Hello World')\n";
|
||||
print "SCONST2 = " . SCONST2 . " (should be '\"Hello World\"')\n";
|
||||
print "EXPR = " . EXPR . " (should be 48.5484)\n";
|
||||
print "iconst = " . iconst . " (should be 37)\n";
|
||||
print "fconst = " . fconst . " (should be 3.14)\n";
|
||||
|
||||
if (EXTERN!="EXTERN") {
|
||||
print "EXTERN = " . EXTERN . " (Arg! This shouldn't print anything)\n";
|
||||
} else {
|
||||
print "EXTERN defaults to 'EXTERN', it probably isn't defined (good)\n";
|
||||
}
|
||||
|
||||
if (FOO!="FOO") {
|
||||
print "FOO = " . FOO . "(Arg! This shouldn't print anything)\n";
|
||||
} else {
|
||||
print "FOO defaults to 'FOO', it probably isn't defined (good)\n";
|
||||
}
|
||||
|
||||
|
||||
?>
|
||||
Loading…
Add table
Add a link
Reference in a new issue