diff options
Diffstat (limited to 'Lib')
-rw-r--r-- | Lib/csharp/csharp.swg | 2 | ||||
-rw-r--r-- | Lib/go/go.swg | 2 | ||||
-rw-r--r-- | Lib/guile/guile.i | 2 | ||||
-rw-r--r-- | Lib/java/java.swg | 2 | ||||
-rw-r--r-- | Lib/lua/lua.swg | 2 | ||||
-rw-r--r-- | Lib/mzscheme/mzscheme.swg | 2 | ||||
-rw-r--r-- | Lib/ocaml/ocaml.i | 2 | ||||
-rw-r--r-- | Lib/php/php.swg | 2 | ||||
-rw-r--r-- | Lib/typemaps/README | 1 | ||||
-rw-r--r-- | Lib/typemaps/swigmacros.swg | 10 | ||||
-rw-r--r-- | Lib/typemaps/swigversion.swg | 17 |
11 files changed, 35 insertions, 9 deletions
diff --git a/Lib/csharp/csharp.swg b/Lib/csharp/csharp.swg index 1f80d12a1..8514a7705 100644 --- a/Lib/csharp/csharp.swg +++ b/Lib/csharp/csharp.swg @@ -4,6 +4,8 @@ * C# typemaps * ----------------------------------------------------------------------------- */ +%include <typemaps/swigversion.swg> + %include <csharphead.swg> /* The ctype, imtype and cstype typemaps work together and so there should be one of each. diff --git a/Lib/go/go.swg b/Lib/go/go.swg index 348ae5f0d..47486ab75 100644 --- a/Lib/go/go.swg +++ b/Lib/go/go.swg @@ -4,6 +4,8 @@ * Go configuration module. * ------------------------------------------------------------ */ +%include <typemaps/swigversion.swg> + %include <gostring.swg> /* Code insertion directives */ diff --git a/Lib/guile/guile.i b/Lib/guile/guile.i index ef270d74b..10438f483 100644 --- a/Lib/guile/guile.i +++ b/Lib/guile/guile.i @@ -4,6 +4,8 @@ * SWIG Configuration File for Guile. * ----------------------------------------------------------------------------- */ +%include <typemaps/swigversion.swg> + /* Macro for inserting Scheme code into the stub */ #define %scheme %insert("scheme") #define %goops %insert("goops") diff --git a/Lib/java/java.swg b/Lib/java/java.swg index 8719818bb..28eb8fd0d 100644 --- a/Lib/java/java.swg +++ b/Lib/java/java.swg @@ -4,6 +4,8 @@ * Java typemaps * ----------------------------------------------------------------------------- */ +%include <typemaps/swigversion.swg> + %include <javahead.swg> /* The jni, jtype and jstype typemaps work together and so there should be one of each. diff --git a/Lib/lua/lua.swg b/Lib/lua/lua.swg index 12c635d77..263c3966f 100644 --- a/Lib/lua/lua.swg +++ b/Lib/lua/lua.swg @@ -5,6 +5,8 @@ * This file is parsed by SWIG before reading any other interface file. * ----------------------------------------------------------------------------- */ +%include <typemaps/swigversion.swg> + /* ----------------------------------------------------------------------------- * includes * ----------------------------------------------------------------------------- */ diff --git a/Lib/mzscheme/mzscheme.swg b/Lib/mzscheme/mzscheme.swg index f45c87250..8ded91f3e 100644 --- a/Lib/mzscheme/mzscheme.swg +++ b/Lib/mzscheme/mzscheme.swg @@ -5,6 +5,8 @@ * This file is parsed by SWIG before reading any other interface file. * ----------------------------------------------------------------------------- */ +%include <typemaps/swigversion.swg> + /* Include headers */ %runtime "swigrun.swg" // Common C API type-checking code %runtime "swigerrors.swg" // SWIG errors diff --git a/Lib/ocaml/ocaml.i b/Lib/ocaml/ocaml.i index cc26d1859..117d0a9b5 100644 --- a/Lib/ocaml/ocaml.i +++ b/Lib/ocaml/ocaml.i @@ -4,6 +4,8 @@ * SWIG Configuration File for Ocaml * ----------------------------------------------------------------------------- */ +%include <typemaps/swigversion.swg> + /* Insert common stuff */ %insert(runtime) "swigrun.swg" diff --git a/Lib/php/php.swg b/Lib/php/php.swg index 04b7075b7..b22166593 100644 --- a/Lib/php/php.swg +++ b/Lib/php/php.swg @@ -4,6 +4,8 @@ * PHP configuration file * ----------------------------------------------------------------------------- */ +%include <typemaps/swigversion.swg> + // Default to generating PHP type declarations (for PHP >= 8) except for // cases which are liable to cause compatibility issues with existing // bindings. diff --git a/Lib/typemaps/README b/Lib/typemaps/README index 65134578d..22a0fc0bb 100644 --- a/Lib/typemaps/README +++ b/Lib/typemaps/README @@ -48,6 +48,7 @@ std_strings.swg Common macros to implemented the std::string/std::wstring typem strings.swg Common macros and typemaps for string and wstring (char *, wchar_t *) swigmacros.swg Basic macros +swigversion.swg Define SWIG_VERSION fragments.swg Macros for fragment manipulations diff --git a/Lib/typemaps/swigmacros.swg b/Lib/typemaps/swigmacros.swg index 687b0680e..7db6871d4 100644 --- a/Lib/typemaps/swigmacros.swg +++ b/Lib/typemaps/swigmacros.swg @@ -109,15 +109,7 @@ nocppval #endif %enddef -/* insert the SWIGVERSION in the interface and the wrapper code */ -#if SWIG_VERSION -%insert("header") { -%define_as(SWIGVERSION, SWIG_VERSION) -%#define SWIG_VERSION SWIGVERSION -} -#endif - - +%include <typemaps/swigversion.swg> /* ----------------------------------------------------------------------------- * Casting operators diff --git a/Lib/typemaps/swigversion.swg b/Lib/typemaps/swigversion.swg new file mode 100644 index 000000000..18f897cad --- /dev/null +++ b/Lib/typemaps/swigversion.swg @@ -0,0 +1,17 @@ +/* ----------------------------------------------------------------------------- + * Define SWIG_VERSION + * ----------------------------------------------------------------------------- */ + +/* Define SWIG_VERSION in the interface and the wrapper code. + * + * Best practice is to use SWIG-time checks for SWIG_VERSION, but SWIG_VERSION + * was unintentionally defined like this for many years, and while it was never + * documented there are likely user interface files which rely on it. + */ +%define %define_swig_version_()%#define SWIG_VERSION_ SWIG_VERSION %enddef +%insert("header") { +%define_swig_version_() +%#define SWIG_VERSION SWIG_VERSION_ +%#undef SWIG_VERSION_ +} +#undef %define_swig_version_ |