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:
parent
2c2f1b87be
commit
de27e32afb
14 changed files with 127 additions and 16 deletions
|
|
@ -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
16
Lib/perl5/precommon.swg
Normal 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
|
||||
|
||||
|
|
@ -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
16
Lib/php4/precommon.swg
Normal 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
|
||||
|
||||
|
|
@ -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
|
||||
|
||||
|
|
|
|||
|
|
@ -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
16
Lib/pike/precommon.swg
Normal 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
16
Lib/python/precommon.swg
Normal 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
|
||||
|
||||
|
|
@ -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
16
Lib/ruby/precommon.swg
Normal 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
|
||||
|
||||
|
|
@ -5,6 +5,7 @@
|
|||
* ---------------------------------------------------------------------- */
|
||||
|
||||
%runtime "rubyhead.swg"
|
||||
%runtime "precommon.swg"
|
||||
%runtime "common.swg"
|
||||
|
||||
#ifdef SWIG_NOINCLUDE
|
||||
|
|
|
|||
16
Lib/tcl/precommon.swg
Normal file
16
Lib/tcl/precommon.swg
Normal 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
|
||||
|
||||
|
|
@ -4,6 +4,7 @@
|
|||
* Tcl8 configuration module.
|
||||
* ----------------------------------------------------------------------------- */
|
||||
|
||||
%runtime "precommon.swg"
|
||||
%runtime "common.swg"
|
||||
%runtime "swigtcl8.swg"
|
||||
|
||||
|
|
|
|||
|
|
@ -45,14 +45,15 @@ endif
|
|||
|
||||
TCL_INCLUDE = @TCLINCLUDE@
|
||||
TCL_RUNTIME = $(SWIGLIB)/tcl/swigtcl8.swg
|
||||
TCL_PRECOMMON = $(SWIGLIB)/tcl/precommon.swg
|
||||
TCL_DLNK = @TCLDYNAMICLINKING@
|
||||
|
||||
libswigtcl8_la_SOURCES = libtcl8.c
|
||||
libswigtcl8_la_LDFLAGS = -no-undefined $(RELEASE_SUFFIX_LIBTOOL) $(TCL_DLNK)
|
||||
libswigtcl8_la_CFLAGS = -DSWIG_GLOBAL $(TCL_INCLUDE)
|
||||
|
||||
libtcl8.c: $(SWIG_TYPECHECK) $(TCL_RUNTIME)
|
||||
cat $(SWIG_TYPECHECK) $(TCL_RUNTIME) > libtcl8.c
|
||||
libtcl8.c: $(TCL_PRECOMMON) $(SWIG_TYPECHECK) $(TCL_RUNTIME)
|
||||
cat $(TCL_PRECOMMON) $(SWIG_TYPECHECK) $(TCL_RUNTIME) > libtcl8.c
|
||||
|
||||
# ----------------------------------------------------------------------
|
||||
# Perl run-time library
|
||||
|
|
@ -60,6 +61,7 @@ libtcl8.c: $(SWIG_TYPECHECK) $(TCL_RUNTIME)
|
|||
|
||||
PERL5_INCLUDE = -I@PERL5EXT@
|
||||
PERL5_RUNTIME = $(SWIGLIB)/perl5/perlrun.swg
|
||||
PERL5_PRECOMMON = $(SWIGLIB)/perl5/precommon.swg
|
||||
PERL5_DLNK = @PERL5DYNAMICLINKING@
|
||||
PERL5_CCFLAGS = @PERL5CCFLAGS@
|
||||
|
||||
|
|
@ -67,8 +69,8 @@ libswigpl_la_SOURCES = libpl.c
|
|||
libswigpl_la_LDFLAGS = -no-undefined $(RELEASE_SUFFIX_LIBTOOL) $(PERL5_DLNK)
|
||||
libswigpl_la_CFLAGS = -DSWIG_GLOBAL $(PERL5_INCLUDE) -Dbool=char -Dexplicit=$(PERL5_CCFLAGS)
|
||||
|
||||
libpl.c: $(SWIG_TYPECHECK) $(PERL5_RUNTIME)
|
||||
cat $(SWIG_TYPECHECK) $(PERL5_RUNTIME) > libpl.c
|
||||
libpl.c: $(PERL5_PRECOMMON) $(SWIG_TYPECHECK) $(PERL5_RUNTIME)
|
||||
cat $(PERL5_PRECOMMON) $(SWIG_TYPECHECK) $(PERL5_RUNTIME) > libpl.c
|
||||
|
||||
# ----------------------------------------------------------------------
|
||||
# Python run-time library
|
||||
|
|
@ -76,14 +78,15 @@ libpl.c: $(SWIG_TYPECHECK) $(PERL5_RUNTIME)
|
|||
|
||||
PYTHON_INCLUDE = -DHAVE_CONFIG_H @PYINCLUDE@
|
||||
PYTHON_RUNTIME = $(SWIGLIB)/python/pyrun.swg
|
||||
PYTHON_PRECOMMON = $(SWIGLIB)/python/precommon.swg
|
||||
PYTHON_DLNK = @PYTHONDYNAMICLINKING@
|
||||
|
||||
libswigpy_la_SOURCES = libpy.c
|
||||
libswigpy_la_LDFLAGS = -no-undefined $(RELEASE_SUFFIX_LIBTOOL) $(PYTHON_DLNK)
|
||||
libswigpy_la_CFLAGS = -DSWIG_GLOBAL $(PYTHON_INCLUDE)
|
||||
|
||||
libpy.c: $(SWIG_TYPECHECK) $(PYTHON_RUNTIME)
|
||||
cat $(SWIG_TYPECHECK) $(PYTHON_RUNTIME) > libpy.c
|
||||
libpy.c: $(PYTHON_PRECOMMON) $(SWIG_TYPECHECK) $(PYTHON_RUNTIME)
|
||||
cat $(PYTHON_PRECOMMON) $(SWIG_TYPECHECK) $(PYTHON_RUNTIME) > libpy.c
|
||||
|
||||
# ----------------------------------------------------------------------
|
||||
# Guile run-time library
|
||||
|
|
@ -115,6 +118,7 @@ libguile_scm.c: $(GUILE_SCM_PRECOMMON) $(SWIG_TYPECHECK) $(GUILE_SCM_RUNTIME)
|
|||
|
||||
RUBY_INCLUDE = @RUBYINCLUDE@
|
||||
RUBY_RUNTIME = $(SWIGLIB)/ruby/rubyhead.swg $(SWIGLIB)/ruby/rubydef.swg
|
||||
RUBY_PRECOMMON = $(SWIGLIB)/ruby/precommon.swg
|
||||
RUBY_DLNK = @RUBYDYNAMICLINKING@
|
||||
RUBY_CFLAGS = @RUBYCCDLFLAGS@ -DHAVE_CONFIG_H
|
||||
|
||||
|
|
@ -122,8 +126,8 @@ libswigrb_la_SOURCES = librb.c
|
|||
libswigrb_la_LDFLAGS = -no-undefined $(RELEASE_SUFFIX_LIBTOOL) $(RUBY_DLNK)
|
||||
libswigrb_la_CFLAGS = -DSWIG_GLOBAL $(RUBY_INCLUDE) $(RUBY_CFLAGS)
|
||||
|
||||
librb.c: $(SWIG_TYPECHECK) $(RUBY_RUNTIME)
|
||||
cat $(SWIG_TYPECHECK) $(RUBY_RUNTIME) > librb.c
|
||||
librb.c: $(RUBY_PRECOMMON) $(SWIG_TYPECHECK) $(RUBY_RUNTIME)
|
||||
cat $(RUBY_PRECOMMON) $(SWIG_TYPECHECK) $(RUBY_RUNTIME) > librb.c
|
||||
|
||||
# ----------------------------------------------------------------------
|
||||
# PHP4 run-time library
|
||||
|
|
@ -131,14 +135,15 @@ librb.c: $(SWIG_TYPECHECK) $(RUBY_RUNTIME)
|
|||
|
||||
PHP4_INCLUDE = @PHP4INC@
|
||||
PHP4_RUNTIME = $(SWIGLIB)/php4/php4run.swg
|
||||
PHP4_PRECOMMON = $(SWIGLIB)/php4/precommon.swg
|
||||
PHP4_DLNK =
|
||||
|
||||
libswigphp4_la_SOURCES = libphp4.c
|
||||
libswigphp4_la_LDFLAGS = -no-undefined $(RELEASE_SUFFIX_LIBTOOL) $(PHP4_DLNK)
|
||||
libswigphp4_la_CFLAGS = -DSWIG_GLOBAL $(PHP4_INCLUDE)
|
||||
|
||||
libphp4.c: $(SWIG_TYPECHECK) $(PHP4_RUNTIME)
|
||||
cat $(SWIG_TYPECHECK) $(PHP4_RUNTIME) > libphp4.c
|
||||
libphp4.c: $(PHP4_PRECOMMON) $(SWIG_TYPECHECK) $(PHP4_RUNTIME)
|
||||
cat $(PHP4_PRECOMMON) $(SWIG_TYPECHECK) $(PHP4_RUNTIME) > libphp4.c
|
||||
|
||||
# ----------------------------------------------------------------------
|
||||
# Pike run-time library
|
||||
|
|
@ -146,14 +151,15 @@ libphp4.c: $(SWIG_TYPECHECK) $(PHP4_RUNTIME)
|
|||
|
||||
PIKE_INCLUDE = -DHAVE_CONFIG_H @PIKEINCLUDE@
|
||||
PIKE_RUNTIME = $(SWIGLIB)/pike/pikerun.swg
|
||||
PIKE_PRECOMMON = $(SWIGLIB)/pike/precommon.swg
|
||||
PIKE_DLNK =
|
||||
|
||||
libswigpike_la_SOURCES = libpike.c
|
||||
libswigpike_la_LDFLAGS = -no-undefined $(RELEASE_SUFFIX_LIBTOOL) $(PIKE_DLNK)
|
||||
libswigpike_la_CFLAGS = -DSWIG_GLOBAL $(PIKE_INCLUDE)
|
||||
|
||||
libpike.c: $(SWIG_TYPECHECK) $(PIKE_RUNTIME)
|
||||
cat $(SWIG_TYPECHECK) $(PIKE_RUNTIME) > libpike.c
|
||||
libpike.c: $(PIKE_PRECOMMON) $(SWIG_TYPECHECK) $(PIKE_RUNTIME)
|
||||
cat $(PIKE_PRECOMMON) $(SWIG_TYPECHECK) $(PIKE_RUNTIME) > libpike.c
|
||||
|
||||
# ----------------------------------------------------------------------
|
||||
# CHICKEN run-time library
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue