diff options
Diffstat (limited to 'Examples/php/constants')
| -rw-r--r-- | Examples/php/constants/Makefile | 24 | ||||
| -rw-r--r-- | Examples/php/constants/example.i | 26 | ||||
| -rw-r--r-- | Examples/php/constants/runme.php | 28 |
3 files changed, 78 insertions, 0 deletions
diff --git a/Examples/php/constants/Makefile b/Examples/php/constants/Makefile new file mode 100644 index 0000000..23e2675 --- /dev/null +++ b/Examples/php/constants/Makefile @@ -0,0 +1,24 @@ +TOP = ../.. +SWIG = $(TOP)/../preinst-swig +SRCS = +TARGET = example +INTERFACE = example.i +LIBS = +SWIGOPT = + +all:: + $(MAKE) -f $(TOP)/Makefile SRCS='$(SRCS)' SWIG='$(SWIG)' \ + SWIGOPT='$(SWIGOPT)' TARGET='$(TARGET)' INTERFACE='$(INTERFACE)' \ + php + +static:: + $(MAKE) -f $(TOP)/Makefile SRCS='$(SRCS)' SWIG='$(SWIG)' \ + SWIGOPT='$(SWIGOPT)' TARGET='myphp' INTERFACE='$(INTERFACE)' \ + php_static + +clean:: + $(MAKE) -f $(TOP)/Makefile php_clean + rm -f $(TARGET).php + +check: all + $(MAKE) -f $(TOP)/Makefile php_run diff --git a/Examples/php/constants/example.i b/Examples/php/constants/example.i new file mode 100644 index 0000000..0098a89 --- /dev/null +++ b/Examples/php/constants/example.i @@ -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; + + diff --git a/Examples/php/constants/runme.php b/Examples/php/constants/runme.php new file mode 100644 index 0000000..cea0648 --- /dev/null +++ b/Examples/php/constants/runme.php @@ -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"; +} + + +?> |
