Use the preprocessor to rename external functions of the SWIG runtime

API to follow the naming convention SWIG_<language>_<function>.  This
should allow linking more than one interpreter into a program.


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@5242 626c5289-ae23-0410-ae9c-e8d60b6d4f22
This commit is contained in:
Matthias Köppe 2003-11-02 13:48:17 +00:00
commit de27e32afb
14 changed files with 127 additions and 16 deletions

View file

@ -4,6 +4,7 @@
* Perl 5 configuration file
* ----------------------------------------------------------------------------- */
%runtime "precommon.swg"
%runtime "common.swg" // common type checking code
%runtime "perlrun.swg" // Perl runtime functions
%runtime "noembed.h" // undefine Perl5 macros

16
Lib/perl5/precommon.swg Normal file
View file

@ -0,0 +1,16 @@
/*************************************************************** -*- c -*-
* perl5/precommon.swg
*
* Rename all exported symbols from common.swg, to avoid symbol
* clashes if multiple interpreters are included
*
************************************************************************/
#define SWIG_TypeRegister SWIG_Perl_TypeRegister
#define SWIG_TypeCheck SWIG_Perl_TypeCheck
#define SWIG_TypeCast SWIG_Perl_TypeCast
#define SWIG_TypeDynamicCast SWIG_Perl_TypeDynamicCast
#define SWIG_TypeName SWIG_Perl_TypeName
#define SWIG_TypeQuery SWIG_Perl_TypeQuery
#define SWIG_TypeClientData SWIG_Perl_TypeClientData

View file

@ -5,6 +5,7 @@
*
*/
%runtime "precommon.swg"
%runtime "common.swg" // common type checking code
%runtime "php4run.swg" // Php4 runtime functions
%include "utils.i" // building blocks

16
Lib/php4/precommon.swg Normal file
View file

@ -0,0 +1,16 @@
/*************************************************************** -*- c -*-
* php4/precommon.swg
*
* Rename all exported symbols from common.swg, to avoid symbol
* clashes if multiple interpreters are included
*
************************************************************************/
#define SWIG_TypeRegister SWIG_PHP4_TypeRegister
#define SWIG_TypeCheck SWIG_PHP4_TypeCheck
#define SWIG_TypeCast SWIG_PHP4_TypeCast
#define SWIG_TypeDynamicCast SWIG_PHP4_TypeDynamicCast
#define SWIG_TypeName SWIG_PHP4_TypeName
#define SWIG_TypeQuery SWIG_PHP4_TypeQuery
#define SWIG_TypeClientData SWIG_PHP4_TypeClientData

View file

@ -4,6 +4,7 @@
* Pike configuration module.
* ----------------------------------------------------------------------------- */
%insert(runtime) "precommon.swg"
%insert(runtime) "common.swg"; // Common type-checking code
%insert(runtime) "pikerun.swg"; // Pike run-time code

View file

@ -27,16 +27,19 @@ typedef struct swig_object_wrapper {
#endif
#define THIS (((swig_object_wrapper *) Pike_fp->current_storage)->self)
#define SWIG_ConvertPtr SWIG_Pike_ConvertPtr
#define SWIG_NewPointerObj SWIG_Pike_NewPointerObj
#ifdef SWIG_NOINCLUDE
SWIGEXPORT(int) SWIG_ConvertPtr(struct object *, void **, swig_type_info *, int);
SWIGEXPORT(struct object *) SWIG_NewPointerObj(void *, swig_type_info *, int);
SWIGEXPORT(int) SWIG_Pike_ConvertPtr(struct object *, void **, swig_type_info *, int);
SWIGEXPORT(struct object *) SWIG_Pike_NewPointerObj(void *, swig_type_info *, int);
#else
/* Convert a pointer value */
SWIGRUNTIME(int)
SWIG_ConvertPtr(struct object *obj, void **ptr, swig_type_info *ty, int flags) {
SWIG_Pike_ConvertPtr(struct object *obj, void **ptr, swig_type_info *ty, int flags) {
char *storage;
struct program *pr;
if (ty) {
@ -52,7 +55,7 @@ SWIG_ConvertPtr(struct object *obj, void **ptr, swig_type_info *ty, int flags) {
/* Create a new pointer object */
SWIGRUNTIME(struct object *)
SWIG_NewPointerObj(void *ptr, swig_type_info *type, int own) {
SWIG_Pike_NewPointerObj(void *ptr, swig_type_info *type, int own) {
return 0;
}

16
Lib/pike/precommon.swg Normal file
View file

@ -0,0 +1,16 @@
/*************************************************************** -*- c -*-
* pike/precommon.swg
*
* Rename all exported symbols from common.swg, to avoid symbol
* clashes if multiple interpreters are included
*
************************************************************************/
#define SWIG_TypeRegister SWIG_Pike_TypeRegister
#define SWIG_TypeCheck SWIG_Pike_TypeCheck
#define SWIG_TypeCast SWIG_Pike_TypeCast
#define SWIG_TypeDynamicCast SWIG_Pike_TypeDynamicCast
#define SWIG_TypeName SWIG_Pike_TypeName
#define SWIG_TypeQuery SWIG_Pike_TypeQuery
#define SWIG_TypeClientData SWIG_Pike_TypeClientData

16
Lib/python/precommon.swg Normal file
View file

@ -0,0 +1,16 @@
/*************************************************************** -*- c -*-
* python/precommon.swg
*
* Rename all exported symbols from common.swg, to avoid symbol
* clashes if multiple interpreters are included
*
************************************************************************/
#define SWIG_TypeRegister SWIG_Python_TypeRegister
#define SWIG_TypeCheck SWIG_Python_TypeCheck
#define SWIG_TypeCast SWIG_Python_TypeCast
#define SWIG_TypeDynamicCast SWIG_Python_TypeDynamicCast
#define SWIG_TypeName SWIG_Python_TypeName
#define SWIG_TypeQuery SWIG_Python_TypeQuery
#define SWIG_TypeClientData SWIG_Python_TypeClientData

View file

@ -10,6 +10,7 @@
#include "Python.h"
%}
%insert(runtime) "precommon.swg";
%insert(runtime) "common.swg"; // Common type-checking code
%insert(runtime) "pyrun.swg"; // Python run-time code

16
Lib/ruby/precommon.swg Normal file
View file

@ -0,0 +1,16 @@
/*************************************************************** -*- c -*-
* ruby/precommon.swg
*
* Rename all exported symbols from common.swg, to avoid symbol
* clashes if multiple interpreters are included
*
************************************************************************/
#define SWIG_TypeRegister SWIG_Ruby_TypeRegister
#define SWIG_TypeCheck SWIG_Ruby_TypeCheck
#define SWIG_TypeCast SWIG_Ruby_TypeCast
#define SWIG_TypeDynamicCast SWIG_Ruby_TypeDynamicCast
#define SWIG_TypeName SWIG_Ruby_TypeName
#define SWIG_TypeQuery SWIG_Ruby_TypeQuery
#define SWIG_TypeClientData SWIG_Ruby_TypeClientData

View file

@ -5,6 +5,7 @@
* ---------------------------------------------------------------------- */
%runtime "rubyhead.swg"
%runtime "precommon.swg"
%runtime "common.swg"
#ifdef SWIG_NOINCLUDE

16
Lib/tcl/precommon.swg Normal file
View file

@ -0,0 +1,16 @@
/*************************************************************** -*- c -*-
* Tcl/precommon.swg
*
* Rename all exported symbols from common.swg, to avoid symbol
* clashes if multiple interpreters are included
*
************************************************************************/
#define SWIG_TypeRegister SWIG_Tcl_TypeRegister
#define SWIG_TypeCheck SWIG_Tcl_TypeCheck
#define SWIG_TypeCast SWIG_Tcl_TypeCast
#define SWIG_TypeDynamicCast SWIG_Tcl_TypeDynamicCast
#define SWIG_TypeName SWIG_Tcl_TypeName
#define SWIG_TypeQuery SWIG_Tcl_TypeQuery
#define SWIG_TypeClientData SWIG_Tcl_TypeClientData

View file

@ -4,6 +4,7 @@
* Tcl8 configuration module.
* ----------------------------------------------------------------------------- */
%runtime "precommon.swg"
%runtime "common.swg"
%runtime "swigtcl8.swg"