import and import_template examples that used the prebuilt runtime library generate their own runtime library DLL/so and use that instead now

git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@6023 626c5289-ae23-0410-ae9c-e8d60b6d4f22
This commit is contained in:
William S Fulton 2004-07-10 16:37:37 +00:00
commit d1f74a864f
22 changed files with 176 additions and 324 deletions

View file

@ -38,6 +38,7 @@ LIBM = @LIBM@
LIBC = @LIBC@ LIBC = @LIBC@
LIBCRYPT = @LIBCRYPT@ LIBCRYPT = @LIBCRYPT@
SYSLIBS = $(LIBM) $(LIBC) $(LIBCRYPT) SYSLIBS = $(LIBM) $(LIBC) $(LIBCRYPT)
LIBPREFIX =
# X11 options # X11 options
@ -130,7 +131,7 @@ wish_cpp: $(SRCS)
tcl: $(SRCS) tcl: $(SRCS)
$(SWIG) -tcl8 $(SWIGOPT) $(TCL_SWIGOPTS) $(INTERFACE) $(SWIG) -tcl8 $(SWIGOPT) $(TCL_SWIGOPTS) $(INTERFACE)
$(CC) -c $(CCSHARED) $(CFLAGS) $(SRCS) $(ISRCS) $(INCLUDES) $(TCL_INCLUDE) $(CC) -c $(CCSHARED) $(CFLAGS) $(SRCS) $(ISRCS) $(INCLUDES) $(TCL_INCLUDE)
$(TCL_LDSHARED) $(OBJS) $(IOBJS) $(TCL_DLNK) $(LIBS) -o $(TARGET)$(TCL_SO) $(TCL_LDSHARED) $(OBJS) $(IOBJS) $(TCL_DLNK) $(LIBS) -o $(LIBPREFIX)$(TARGET)$(TCL_SO)
# ----------------------------------------------------------- # -----------------------------------------------------------
# Build a Tcl7.5 dynamic loadable module for C++ # Build a Tcl7.5 dynamic loadable module for C++
@ -139,23 +140,7 @@ tcl: $(SRCS)
tcl_cpp: $(SRCS) tcl_cpp: $(SRCS)
$(SWIG) -tcl8 -c++ $(SWIGOPT) $(TCL_SWIGOPTS) $(INTERFACE) $(SWIG) -tcl8 -c++ $(SWIGOPT) $(TCL_SWIGOPTS) $(INTERFACE)
$(CXX) -c $(CCSHARED) $(CFLAGS) $(SRCS) $(CXXSRCS) $(ICXXSRCS) $(INCLUDES) $(TCL_INCLUDE) $(CXX) -c $(CCSHARED) $(CFLAGS) $(SRCS) $(CXXSRCS) $(ICXXSRCS) $(INCLUDES) $(TCL_INCLUDE)
$(TCL_CXXSHARED) $(OBJS) $(IOBJS) $(TCL_DLNK) $(LIBS) $(CPP_DLLIBS) -o $(TARGET)$(TCL_SO) $(TCL_CXXSHARED) $(OBJS) $(IOBJS) $(TCL_DLNK) $(LIBS) $(CPP_DLLIBS) -o $(LIBPREFIX)$(TARGET)$(TCL_SO)
# -----------------------------------------------------------
# Build a Tcl7.5 dynamic loadable module, linked against SWIG runtime lib
# -----------------------------------------------------------
TCL_RUNTIME=-L$(RUNTIMEDIR) -lswigtcl8@release_suffix@
tcl_multi: $(SRCS)
$(SWIG) -noruntime -tcl8 $(SWIGOPT) $(TCL_SWIGOPTS) $(INTERFACE)
$(CC) -c $(CCSHARED) $(CFLAGS) $(SRCS) $(ISRCS) $(INCLUDES) $(TCL_INCLUDE)
$(TCL_LDSHARED) $(OBJS) $(IOBJS) $(TCL_RUNTIME) $(TCL_DLNK) $(LIBS) -o $(TARGET)$(TCL_SO)
tcl_multi_cpp: $(SRCS)
$(SWIG) -noruntime -tcl8 -c++ $(SWIGOPT) $(TCL_SWIGOPTS) $(INTERFACE)
$(CXX) -c $(CCSHARED) $(CFLAGS) $(SRCS) $(CXXSRCS) $(ICXXSRCS) $(INCLUDES) $(TCL_INCLUDE)
$(TCL_CXXSHARED) $(OBJS) $(IOBJS) $(TCL_RUNTIME) $(TCL_DLNK) $(LIBS) $(CPP_DLLIBS) -o $(TARGET)$(TCL_SO)
# ----------------------------------------------------------------- # -----------------------------------------------------------------
# Cleaning the Tcl examples # Cleaning the Tcl examples
@ -176,7 +161,6 @@ PERL5_INCLUDE= @PERL5EXT@
# Extra Perl specific dynamic linking options # Extra Perl specific dynamic linking options
PERL5_DLNK = @PERL5DYNAMICLINKING@ PERL5_DLNK = @PERL5DYNAMICLINKING@
PERL5_CCFLAGS = @PERL5CCFLAGS@ PERL5_CCFLAGS = @PERL5CCFLAGS@
# ---------------------------------------------------------------- # ----------------------------------------------------------------
@ -186,7 +170,7 @@ PERL5_CCFLAGS = @PERL5CCFLAGS@
perl5: $(SRCS) perl5: $(SRCS)
$(SWIG) -perl5 $(SWIGOPT) $(INTERFACE) $(SWIG) -perl5 $(SWIGOPT) $(INTERFACE)
$(CC) -c -Dbool=char $(CCSHARED) $(CFLAGS) $(SRCS) $(ISRCS) $(INCLUDES) $(PERL5_CCFLAGS) -I$(PERL5_INCLUDE) $(CC) -c -Dbool=char $(CCSHARED) $(CFLAGS) $(SRCS) $(ISRCS) $(INCLUDES) $(PERL5_CCFLAGS) -I$(PERL5_INCLUDE)
$(LDSHARED) $(OBJS) $(IOBJS) $(PERL5_DLNK) $(LIBS) -o $(TARGET)$(SO) $(LDSHARED) $(OBJS) $(IOBJS) $(PERL5_DLNK) $(LIBS) -o $(LIBPREFIX)$(TARGET)$(SO)
# ---------------------------------------------------------------- # ----------------------------------------------------------------
# Build a Perl5 dynamically loadable module (C++) # Build a Perl5 dynamically loadable module (C++)
@ -195,23 +179,7 @@ perl5: $(SRCS)
perl5_cpp: $(SRCS) perl5_cpp: $(SRCS)
$(SWIG) -perl5 -c++ $(SWIGOPT) $(INTERFACE) $(SWIG) -perl5 -c++ $(SWIGOPT) $(INTERFACE)
$(CXX) -c $(CCSHARED) $(CFLAGS) -Dexplicit= $(SRCS) $(CXXSRCS) $(ICXXSRCS) $(INCLUDES) $(PERL5_CCFLAGS) -I$(PERL5_INCLUDE) $(CXX) -c $(CCSHARED) $(CFLAGS) -Dexplicit= $(SRCS) $(CXXSRCS) $(ICXXSRCS) $(INCLUDES) $(PERL5_CCFLAGS) -I$(PERL5_INCLUDE)
$(CXXSHARED) $(OBJS) $(IOBJS) $(PERL5_DLNK) $(LIBS) $(CPP_DLLIBS) -o $(TARGET)$(SO) $(CXXSHARED) $(OBJS) $(IOBJS) $(PERL5_DLNK) $(LIBS) $(CPP_DLLIBS) -o $(LIBPREFIX)$(TARGET)$(SO)
# ----------------------------------------------------------------
# Build a Perl5 dynamically loadable module, linked against SWIG runtime lib
# ----------------------------------------------------------------
PERL5_RUNTIME=-L$(RUNTIMEDIR) -lswigpl@release_suffix@
perl5_multi: $(SRCS)
$(SWIG) -noruntime -perl5 $(SWIGOPT) $(INTERFACE)
$(CC) -c -Dbool=char $(CCSHARED) $(CFLAGS) $(SRCS) $(ISRCS) $(INCLUDES) $(PERL5_CCFLAGS) -I$(PERL5_INCLUDE)
$(LDSHARED) $(OBJS) $(IOBJS) $(PERL5_RUNTIME) $(PERL5_DLNK) $(LIBS) -o $(TARGET)$(SO)
perl5_multi_cpp: $(SRCS)
$(SWIG) -noruntime -perl5 -c++ $(SWIGOPT) $(INTERFACE)
$(CXX) -c $(CCSHARED) $(CFLAGS) -Dexplicit= $(SRCS) $(CXXSRCS) $(ICXXSRCS) $(INCLUDES) $(PERL5_CCFLAGS) -I$(PERL5_INCLUDE)
$(CXXSHARED) $(OBJS) $(IOBJS) $(PERL5_RUNTIME) $(PERL5_DLNK) $(LIBS) $(CPP_DLLIBS) -o $(TARGET)$(SO)
# ---------------------------------------------------------------- # ----------------------------------------------------------------
# Build a module from existing XS C source code. (ie. from xsubpp). # Build a module from existing XS C source code. (ie. from xsubpp).
@ -260,7 +228,7 @@ PYTHON_SO = @PYTHON_SO@
python: $(SRCS) python: $(SRCS)
$(SWIG) -python $(SWIGOPT) $(INTERFACE) $(SWIG) -python $(SWIGOPT) $(INTERFACE)
$(CC) -c $(CCSHARED) $(CFLAGS) $(ISRCS) $(SRCS) $(INCLUDES) $(PYTHON_INCLUDE) $(CC) -c $(CCSHARED) $(CFLAGS) $(ISRCS) $(SRCS) $(INCLUDES) $(PYTHON_INCLUDE)
$(LDSHARED) $(OBJS) $(IOBJS) $(PYTHON_DLNK) $(LIBS) -o _$(TARGET)$(PYTHON_SO) $(LDSHARED) $(OBJS) $(IOBJS) $(PYTHON_DLNK) $(LIBS) -o $(LIBPREFIX)_$(TARGET)$(PYTHON_SO)
# ----------------------------------------------------------------- # -----------------------------------------------------------------
# Build a C++ dynamically loadable module # Build a C++ dynamically loadable module
@ -269,24 +237,7 @@ python: $(SRCS)
python_cpp: $(SRCS) python_cpp: $(SRCS)
$(SWIG) -c++ -python $(SWIGOPT) $(INTERFACE) $(SWIG) -c++ -python $(SWIGOPT) $(INTERFACE)
$(CXX) -c $(CCSHARED) $(CFLAGS) $(ICXXSRCS) $(SRCS) $(CXXSRCS) $(INCLUDES) $(PYTHON_INCLUDE) $(CXX) -c $(CCSHARED) $(CFLAGS) $(ICXXSRCS) $(SRCS) $(CXXSRCS) $(INCLUDES) $(PYTHON_INCLUDE)
$(CXXSHARED) $(OBJS) $(IOBJS) $(PYTHON_DLNK) $(LIBS) $(CPP_DLLIBS) -o _$(TARGET)$(PYTHON_SO) $(CXXSHARED) $(OBJS) $(IOBJS) $(PYTHON_DLNK) $(LIBS) $(CPP_DLLIBS) -o $(LIBPREFIX)_$(TARGET)$(PYTHON_SO)
# -----------------------------------------------------------------
# Build a dynamically loadable module, linked against SWIG Runtime lib
# -----------------------------------------------------------------
PYTHON_RUNTIME=-L$(RUNTIMEDIR) -lswigpy@release_suffix@
python_multi: $(SRCS)
$(SWIG) -noruntime -python $(SWIGOPT) $(INTERFACE)
$(CC) -c $(CCSHARED) $(CFLAGS) $(ISRCS) $(SRCS) $(INCLUDES) $(PYTHON_INCLUDE)
$(LDSHARED) $(OBJS) $(IOBJS) $(PYTHON_RUNTIME) $(PYTHON_DLNK) $(LIBS) -o _$(TARGET)$(PYTHON_SO)
python_multi_cpp: $(SRCS)
$(SWIG) -noruntime -c++ -python $(SWIGOPT) $(INTERFACE)
$(CXX) -c $(CCSHARED) $(CFLAGS) $(ICXXSRCS) $(SRCS) $(CXXSRCS) $(INCLUDES) $(PYTHON_INCLUDE)
$(CXXSHARED) $(OBJS) $(IOBJS) $(PYTHON_RUNTIME) $(PYTHON_DLNK) $(LIBS) $(CPP_DLLIBS) -o _$(TARGET)$(PYTHON_SO)
# ----------------------------------------------------------------- # -----------------------------------------------------------------
# Build statically linked Python interpreter # Build statically linked Python interpreter
@ -324,6 +275,7 @@ python_clean:
GUILE_INCLUDE = @GUILEINCLUDE@ GUILE_INCLUDE = @GUILEINCLUDE@
GUILE_LIB = @GUILELIB@ GUILE_LIB = @GUILELIB@
GUILE_SO = @GUILE_SO@ GUILE_SO = @GUILE_SO@
GUILE_LIBPREFIX = lib
# ---------------------------------------------------------------- # ----------------------------------------------------------------
# Build a C dynamically loadable module # Build a C dynamically loadable module
@ -332,7 +284,7 @@ GUILE_SO = @GUILE_SO@
guile: $(SRCS) guile: $(SRCS)
$(SWIG) -guile -Linkage ltdlmod $(SWIGOPT) $(INTERFACE) $(SWIG) -guile -Linkage ltdlmod $(SWIGOPT) $(INTERFACE)
$(CC) -c $(CCSHARED) $(CFLAGS) $(INCLUDES) $(GUILE_INCLUDE) $(ISRCS) $(SRCS) $(CC) -c $(CCSHARED) $(CFLAGS) $(INCLUDES) $(GUILE_INCLUDE) $(ISRCS) $(SRCS)
$(LDSHARED) $(OBJS) $(IOBJS) $(LIBS) -o lib$(TARGET)$(GUILE_SO) $(LDSHARED) $(OBJS) $(IOBJS) $(LIBS) -o $(GUILE_LIBPREFIX)$(TARGET)$(GUILE_SO)
# ----------------------------------------------------------------- # -----------------------------------------------------------------
# Build a C++ dynamically loadable module # Build a C++ dynamically loadable module
@ -341,7 +293,7 @@ guile: $(SRCS)
guile_cpp: $(SRCS) guile_cpp: $(SRCS)
$(SWIG) -c++ -guile -Linkage ltdlmod $(SWIGOPT) $(INTERFACE) $(SWIG) -c++ -guile -Linkage ltdlmod $(SWIGOPT) $(INTERFACE)
$(CXX) -c $(CCSHARED) $(CFLAGS) $(INCLUDES) $(GUILE_INCLUDE) $(ICXXSRCS) $(SRCS) $(CXXSRCS) $(CXX) -c $(CCSHARED) $(CFLAGS) $(INCLUDES) $(GUILE_INCLUDE) $(ICXXSRCS) $(SRCS) $(CXXSRCS)
$(CXXSHARED) $(OBJS) $(IOBJS) $(LIBS) $(CPP_DLLIBS) -o lib$(TARGET)$(GUILE_SO) $(CXXSHARED) $(OBJS) $(IOBJS) $(LIBS) $(CPP_DLLIBS) -o $(GUILE_LIBPREFIX)$(TARGET)$(GUILE_SO)
#------------------------------------------------------------------ #------------------------------------------------------------------
# Build a dynamically loaded module with passive linkage and the scm interface # Build a dynamically loaded module with passive linkage and the scm interface
@ -349,29 +301,12 @@ guile_cpp: $(SRCS)
guile_scm: $(SRCS) guile_scm: $(SRCS)
$(SWIG) -guile -scm -Linkage passive $(SWIGOPT) $(INTERFACE) $(SWIG) -guile -scm -Linkage passive $(SWIGOPT) $(INTERFACE)
$(CC) -c $(CCSHARED) $(CFLAGS) $(INCLUDES) $(GUILE_INCLUDE) $(ISRCS) $(SRCS) $(CC) -c $(CCSHARED) $(CFLAGS) $(INCLUDES) $(GUILE_INCLUDE) $(ISRCS) $(SRCS)
$(LDSHARED) $(OBJS) $(IOBJS) $(LIBS) -o lib$(TARGET)$(GUILE_SO) $(LDSHARED) $(OBJS) $(IOBJS) $(LIBS) -o $(GUILE_LIBPREFIX)$(TARGET)$(GUILE_SO)
guile_scm_cpp: $(SRCS) guile_scm_cpp: $(SRCS)
$(SWIG) -c++ -guile -scm -Linkage passive $(SWIGOPT) $(INTERFACE) $(SWIG) -c++ -guile -scm -Linkage passive $(SWIGOPT) $(INTERFACE)
$(CXX) -c $(CCSHARED) $(CFLAGS) $(INCLUDES) $(GUILE_INCLUDE) $(ICXXSRCS) $(SRCS) $(CXXSRCS) $(CXX) -c $(CCSHARED) $(CFLAGS) $(INCLUDES) $(GUILE_INCLUDE) $(ICXXSRCS) $(SRCS) $(CXXSRCS)
$(CXXSHARED) $(OBJS) $(IOBJS) $(LIBS) $(CPP_DLLIBS) -o lib$(TARGET)$(GUILE_SO) $(CXXSHARED) $(OBJS) $(IOBJS) $(LIBS) $(CPP_DLLIBS) -o $(GUILE_LIBPREFIX)$(TARGET)$(GUILE_SO)
# -----------------------------------------------------------------
# Build a dynamically loadable module with passive linkage using the scm interface,
# linked against SWIG runtime lib
# -----------------------------------------------------------------
GUILE_SCM_RUNTIME=-L$(RUNTIMEDIR) -lswigguilescm@release_suffix@
guile_scm_multi: $(SRCS)
$(SWIG) -noruntime -guile -scm -Linkage passive $(SWIGOPT) $(INTERFACE)
$(CC) -c $(CCSHARED) $(CFLAGS) $(INCLUDES) $(GUILE_INCLUDE) $(ISRCS) $(SRCS)
$(LDSHARED) $(OBJS) $(IOBJS) $(GUILE_SCM_RUNTIME) $(LIBS) -o lib$(TARGET)$(GUILE_SO)
guile_scm_multi_cpp: $(SRCS)
$(SWIG) -noruntime -c++ -guile -scm -Linkage passive $(SWIGOPT) $(INTERFACE)
$(CXX) -c $(CCSHARED) $(CFLAGS) $(INCLUDES) $(GUILE_INCLUDE) $(ICXXSRCS) $(SRCS) $(CXXSRCS)
$(CXXSHARED) $(OBJS) $(IOBJS) $(GUILE_SCM_RUNTIME) $(LIBS) $(CPP_DLLIBS) -o lib$(TARGET)$(GUILE_SO)
# ----------------------------------------------------------------- # -----------------------------------------------------------------
# Build a dynamically loadable module with passive linkage # Build a dynamically loadable module with passive linkage
@ -380,29 +315,12 @@ guile_scm_multi_cpp: $(SRCS)
guile_passive: $(SRCS) guile_passive: $(SRCS)
$(SWIG) -guile -Linkage passive $(SWIGOPT) $(INTERFACE) $(SWIG) -guile -Linkage passive $(SWIGOPT) $(INTERFACE)
$(CC) -c $(CCSHARED) $(CFLAGS) $(INCLUDES) $(GUILE_INCLUDE) $(ISRCS) $(SRCS) $(CC) -c $(CCSHARED) $(CFLAGS) $(INCLUDES) $(GUILE_INCLUDE) $(ISRCS) $(SRCS)
$(LDSHARED) $(OBJS) $(IOBJS) $(LIBS) -o lib$(TARGET)$(GUILE_SO) $(LDSHARED) $(OBJS) $(IOBJS) $(LIBS) -o $(GUILE_LIBPREFIX)$(TARGET)$(GUILE_SO)
guile_passive_cpp: $(SRCS) guile_passive_cpp: $(SRCS)
$(SWIG) -c++ -guile -Linkage passive $(SWIGOPT) $(INTERFACE) $(SWIG) -c++ -guile -Linkage passive $(SWIGOPT) $(INTERFACE)
$(CXX) -c $(CCSHARED) $(CFLAGS) $(INCLUDES) $(GUILE_INCLUDE) $(ICXXSRCS) $(SRCS) $(CXXSRCS) $(CXX) -c $(CCSHARED) $(CFLAGS) $(INCLUDES) $(GUILE_INCLUDE) $(ICXXSRCS) $(SRCS) $(CXXSRCS)
$(CXXSHARED) $(OBJS) $(IOBJS) $(LIBS) $(CPP_DLLIBS) -o lib$(TARGET)$(GUILE_SO) $(CXXSHARED) $(OBJS) $(IOBJS) $(LIBS) $(CPP_DLLIBS) -o $(GUILE_LIBPREFIX)$(TARGET)$(GUILE_SO)
# -----------------------------------------------------------------
# Build a dynamically loadable module with passive linkage,
# linked against SWIG runtime lib
# -----------------------------------------------------------------
GUILE_RUNTIME=-L$(RUNTIMEDIR) -lswigguile@release_suffix@
guile_passive_multi: $(SRCS)
$(SWIG) -noruntime -guile -Linkage passive $(SWIGOPT) $(INTERFACE)
$(CC) -c $(CCSHARED) $(CFLAGS) $(INCLUDES) $(GUILE_INCLUDE) $(ISRCS) $(SRCS)
$(LDSHARED) $(OBJS) $(IOBJS) $(GUILE_RUNTIME) $(LIBS) -o lib$(TARGET)$(GUILE_SO)
guile_passive_multi_cpp: $(SRCS)
$(SWIG) -noruntime -c++ -guile -Linkage passive $(SWIGOPT) $(INTERFACE)
$(CXX) -c $(CCSHARED) $(CFLAGS) $(INCLUDES) $(GUILE_INCLUDE) $(ICXXSRCS) $(SRCS) $(CXXSRCS)
$(CXXSHARED) $(OBJS) $(IOBJS) $(GUILE_RUNTIME) $(LIBS) $(CPP_DLLIBS) -o lib$(TARGET)$(GUILE_SO)
# ----------------------------------------------------------------- # -----------------------------------------------------------------
# Build statically linked Guile interpreter # Build statically linked Guile interpreter
@ -450,7 +368,7 @@ JAVA_INCLUDE= @JAVAINC@
# Extra Java specific dynamic linking options # Extra Java specific dynamic linking options
JAVA_DLNK = @JAVADYNAMICLINKING@ JAVA_DLNK = @JAVADYNAMICLINKING@
JAVALIBPREFIX = @JAVALIBRARYPREFIX@ JAVA_LIBPREFIX = @JAVALIBRARYPREFIX@
JAVASO =@JAVASO@ JAVASO =@JAVASO@
JAVALDSHARED = @JAVALDSHARED@ JAVALDSHARED = @JAVALDSHARED@
JAVACXXSHARED = @JAVACXXSHARED@ JAVACXXSHARED = @JAVACXXSHARED@
@ -462,7 +380,7 @@ JAVACXXSHARED = @JAVACXXSHARED@
java: $(SRCS) java: $(SRCS)
$(SWIG) -java $(SWIGOPT) $(INTERFACE) $(SWIG) -java $(SWIGOPT) $(INTERFACE)
$(CC) -c $(CCSHARED) $(CFLAGS) $(SRCS) $(ISRCS) $(INCLUDES) $(JAVA_INCLUDE) $(CC) -c $(CCSHARED) $(CFLAGS) $(SRCS) $(ISRCS) $(INCLUDES) $(JAVA_INCLUDE)
$(JAVALDSHARED) $(OBJS) $(IOBJS) $(JAVA_DLNK) $(LIBS) -o $(JAVALIBPREFIX)$(TARGET)$(JAVASO) $(JAVALDSHARED) $(OBJS) $(IOBJS) $(JAVA_DLNK) $(LIBS) -o $(JAVA_LIBPREFIX)$(TARGET)$(JAVASO)
# ---------------------------------------------------------------- # ----------------------------------------------------------------
# Build a java dynamically loadable module (C++) # Build a java dynamically loadable module (C++)
@ -471,21 +389,7 @@ java: $(SRCS)
java_cpp: $(SRCS) java_cpp: $(SRCS)
$(SWIG) -java -c++ $(SWIGOPT) $(INTERFACE) $(SWIG) -java -c++ $(SWIGOPT) $(INTERFACE)
$(CXX) -c $(CCSHARED) $(CFLAGS) $(SRCS) $(CXXSRCS) $(ICXXSRCS) $(INCLUDES) $(JAVA_INCLUDE) $(CXX) -c $(CCSHARED) $(CFLAGS) $(SRCS) $(CXXSRCS) $(ICXXSRCS) $(INCLUDES) $(JAVA_INCLUDE)
$(JAVACXXSHARED) $(OBJS) $(IOBJS) $(JAVA_DLNK) $(LIBS) $(CPP_DLLIBS) -o $(JAVALIBPREFIX)$(TARGET)$(JAVASO) $(JAVACXXSHARED) $(OBJS) $(IOBJS) $(JAVA_DLNK) $(LIBS) $(CPP_DLLIBS) -o $(JAVA_LIBPREFIX)$(TARGET)$(JAVASO)
# ----------------------------------------------------------------
# Build a java dynamically loadable module
# ----------------------------------------------------------------
java_multi: $(SRCS)
$(SWIG) -java $(SWIGOPT) $(INTERFACE)
$(CC) -c $(CCSHARED) $(CFLAGS) $(SRCS) $(ISRCS) $(INCLUDES) $(JAVA_INCLUDE)
$(JAVALDSHARED) $(OBJS) $(IOBJS) $(JAVA_DLNK) $(LIBS) -o $(JAVALIBPREFIX)$(TARGET)$(JAVASO)
java_multi_cpp: $(SRCS)
$(SWIG) -java -c++ $(SWIGOPT) $(INTERFACE)
$(CXX) -c $(CCSHARED) $(CFLAGS) $(SRCS) $(CXXSRCS) $(ICXXSRCS) $(INCLUDES) $(JAVA_INCLUDE)
$(JAVACXXSHARED) $(OBJS) $(IOBJS) $(JAVA_DLNK) $(LIBS) $(CPP_DLLIBS) -o $(JAVALIBPREFIX)$(TARGET)$(JAVASO)
# ----------------------------------------------------------------- # -----------------------------------------------------------------
# Cleaning the java examples # Cleaning the java examples
@ -539,23 +443,7 @@ mzscheme: $(SRCS)
mzscheme_cpp: $(SRCS) mzscheme_cpp: $(SRCS)
$(SWIG) -mzscheme -c++ $(SWIGOPT) $(INTERFACE) $(SWIG) -mzscheme -c++ $(SWIGOPT) $(INTERFACE)
$(MZC) ++ccf "$(INCLUDES)" --cc $(ICXXSRCS) $(SRCS) $(CXXSRCS) $(MZC) ++ccf "$(INCLUDES)" --cc $(ICXXSRCS) $(SRCS) $(CXXSRCS)
$(CXXSHARED) -o $(TARGET)$(MZSCHEME_SO) $(OBJS) $(IOBJS) $(MZDYNOBJ) $(CPP_DLLIBS) $(CXXSHARED) -o $(LIBPREFIX)$(TARGET)$(MZSCHEME_SO) $(OBJS) $(IOBJS) $(MZDYNOBJ) $(CPP_DLLIBS)
# ----------------------------------------------------------------
# Build a dynamically loadable module, linked against SWIG runtime
# ----------------------------------------------------------------
MZSCHEME_RUNTIME=-L$(RUNTIMEDIR) -lswigmz@release_suffix@
mzscheme_multi: $(SRCS)
$(SWIG) -noruntime -mzscheme $(SWIGOPT) $(INTERFACE)
$(MZC) ++ccf "$(INCLUDES)" --cc $(ISRCS) $(SRCS)
$(MZC) --ld $(TARGET)$(MZSCHEME_SO) $(OBJS) $(IOBJS) $(MZSCHEME_RUNTIME)
mzscheme_multi_cpp: $(SRCS)
$(SWIG) -noruntime -mzscheme -c++ $(SWIGOPT) $(INTERFACE)
$(MZC) ++ccf "$(INCLUDES)" --cc $(ICXXSRCS) $(SRCS) $(CXXSRCS)
$(CXXSHARED) -o $(TARGET)$(MZSCHEME_SO) $(OBJS) $(IOBJS) $(MZSCHEME_RUNTIME) $(MZDYNOBJ) $(CPP_DLLIBS)
# ----------------------------------------------------------------- # -----------------------------------------------------------------
# Cleaning the mzscheme examples # Cleaning the mzscheme examples
@ -690,23 +578,6 @@ ocaml_dynamic_cpp: $(SRCS)
-package dl -linkpkg \ -package dl -linkpkg \
$(INTERFACE:%.i=%.cmo) $(PROGFILE:%.ml=%.cmo) -cc '$(CXX)' $(INTERFACE:%.i=%.cmo) $(PROGFILE:%.ml=%.cmo) -cc '$(CXX)'
ocaml_static_multi_cpp: $(SRCS)
$(OCAMLCORE)
$(SWIG) -noruntime -ocaml -c++ $(SWIGOPT) \
$(INTERFACE)
cp $(ICXXSRCS) $(ICXXSRCS:%.cxx=%.c)
$(OCC) -cc '$(CXX)' -g -c -ccopt -g -ccopt "-xc++ $(INCLUDES)" \
$(ICXXSRCS:%.cxx=%.c) $(SRCS) $(CXXSRCS)
$(OCC) -g -c $(INTERFACE:%.i=%.mli)
$(OCC) -g -c $(INTERFACE:%.i=%.ml)
test -z "$(PROGFILE)" || test -f "$(PROGFILE)" && \
$(OCC) $(OCAMLPP) -c $(PROGFILE)
$(NOLINK) || $(OCC) -g -ccopt -g -cclib -g -custom -o $(TARGET) \
swig.cmo \
$(INTERFACE:%.i=%.cmo) \
$(PROGFILE:%.ml=%.cmo) \
$(INTERFACE:%.i=%_wrap.@OBJEXT@) -cclib "$(LIBS)" -cc '$(CXX)'
ocaml_clean: ocaml_clean:
rm -f *.@OBJEXT@ *@SO@ *_wrap* *~ .~* core @EXTRA_CLEAN@ *.cmo *.cmi $(MLFILE) $(MLFILE)i swig.mli swig.cmi swig.ml swig.cmo swigp4.ml swigp4.cmo rm -f *.@OBJEXT@ *@SO@ *_wrap* *~ .~* core @EXTRA_CLEAN@ *.cmo *.cmi $(MLFILE) $(MLFILE)i swig.mli swig.cmi swig.ml swig.cmo swigp4.ml swigp4.cmo
@ -727,7 +598,7 @@ RUBY_DLNK = @RUBYDYNAMICLINKING@
ruby: $(SRCS) ruby: $(SRCS)
$(SWIG) -ruby $(SWIGOPT) $(INTERFACE) $(SWIG) -ruby $(SWIGOPT) $(INTERFACE)
$(CC) -c $(CCSHARED) $(CFLAGS) $(RUBY_CFLAGS) $(ISRCS) $(SRCS) $(INCLUDES) $(RUBY_INCLUDE) $(CC) -c $(CCSHARED) $(CFLAGS) $(RUBY_CFLAGS) $(ISRCS) $(SRCS) $(INCLUDES) $(RUBY_INCLUDE)
$(LDSHARED) $(OBJS) $(IOBJS) $(RUBY_DLNK) $(LIBS) -o $(TARGET)$(SO) $(LDSHARED) $(OBJS) $(IOBJS) $(RUBY_DLNK) $(LIBS) -o $(LIBPREFIX)$(TARGET)$(SO)
# ----------------------------------------------------------------- # -----------------------------------------------------------------
# Build a C++ dynamically loadable module # Build a C++ dynamically loadable module
@ -736,23 +607,7 @@ ruby: $(SRCS)
ruby_cpp: $(SRCS) ruby_cpp: $(SRCS)
$(SWIG) -c++ -ruby $(SWIGOPT) $(INTERFACE) $(SWIG) -c++ -ruby $(SWIGOPT) $(INTERFACE)
$(CXX) -c $(CCSHARED) $(CFLAGS) $(RUBY_CFLAGS) $(ICXXSRCS) $(SRCS) $(CXXSRCS) $(INCLUDES) $(RUBY_INCLUDE) $(CXX) -c $(CCSHARED) $(CFLAGS) $(RUBY_CFLAGS) $(ICXXSRCS) $(SRCS) $(CXXSRCS) $(INCLUDES) $(RUBY_INCLUDE)
$(CXXSHARED) $(OBJS) $(IOBJS) $(RUBY_DLNK) $(LIBS) $(CPP_DLLIBS) -o $(TARGET)$(SO) $(CXXSHARED) $(OBJS) $(IOBJS) $(RUBY_DLNK) $(LIBS) $(CPP_DLLIBS) -o $(LIBPREFIX)$(TARGET)$(SO)
# -----------------------------------------------------------------
# Build a dynamically loadable module, linked against SWIG runtime lib
# -----------------------------------------------------------------
RUBY_RUNTIME=-L$(RUNTIMEDIR) -lswigrb@release_suffix@
ruby_multi: $(SRCS)
$(SWIG) -noruntime -ruby $(SWIGOPT) $(INTERFACE)
$(CC) -c $(CCSHARED) $(CFLAGS) $(RUBY_CFLAGS) $(ISRCS) $(SRCS) $(INCLUDES) $(RUBY_INCLUDE)
$(LDSHARED) $(OBJS) $(IOBJS) $(RUBY_RUNTIME) $(RUBY_DLNK) $(LIBS) -o $(TARGET)$(SO)
ruby_multi_cpp: $(SRCS)
$(SWIG) -noruntime -c++ -ruby $(SWIGOPT) $(INTERFACE)
$(CXX) -c $(CCSHARED) $(CFLAGS) $(RUBY_CFLAGS) $(ICXXSRCS) $(SRCS) $(CXXSRCS) $(INCLUDES) $(RUBY_INCLUDE)
$(CXXSHARED) $(OBJS) $(IOBJS) $(RUBY_RUNTIME) $(RUBY_DLNK) $(LIBS) $(CPP_DLLIBS) -o $(TARGET)$(SO)
# ----------------------------------------------------------------- # -----------------------------------------------------------------
# Build statically linked Ruby interpreter # Build statically linked Ruby interpreter
@ -795,7 +650,7 @@ PHP4_SO = @PHP4_SO@
php4: $(SRCS) php4: $(SRCS)
$(SWIG) -php4 -cppext cxx $(SWIGOPT) $(INTERFACE) $(SWIG) -php4 -cppext cxx $(SWIGOPT) $(INTERFACE)
$(CC) -c $(CCSHARED) $(CFLAGS) $(SRCS) $(ISRCS) $(INCLUDES) $(PHP4_INCLUDE) $(CC) -c $(CCSHARED) $(CFLAGS) $(SRCS) $(ISRCS) $(INCLUDES) $(PHP4_INCLUDE)
$(LDSHARED) $(OBJS) $(IOBJS) $(LIBS) -o $(TARGET)$(PHP4_SO) $(LDSHARED) $(OBJS) $(IOBJS) $(LIBS) -o $(LIBPREFIX)$(TARGET)$(PHP4_SO)
# -------------------------------------------------------------------- # --------------------------------------------------------------------
# Build a PHP4 dynamically loadable module (C++) # Build a PHP4 dynamically loadable module (C++)
@ -804,23 +659,7 @@ php4: $(SRCS)
php4_cpp: $(SRCS) php4_cpp: $(SRCS)
$(SWIG) -php4 -cppext cxx -c++ $(SWIGOPT) $(INTERFACE) $(SWIG) -php4 -cppext cxx -c++ $(SWIGOPT) $(INTERFACE)
$(CXX) -c $(CCSHARED) $(CFLAGS) $(SRCS) $(CXXSRCS) $(ICXXSRCS) $(INCLUDES) $(PHP4_INCLUDE) $(CXX) -c $(CCSHARED) $(CFLAGS) $(SRCS) $(CXXSRCS) $(ICXXSRCS) $(INCLUDES) $(PHP4_INCLUDE)
$(CXXSHARED) $(OBJS) $(IOBJS) $(LIBS) $(CPP_DLLIBS) -o $(TARGET)$(PHP4_SO) $(CXXSHARED) $(OBJS) $(IOBJS) $(LIBS) $(CPP_DLLIBS) -o $(LIBPREFIX)$(TARGET)$(PHP4_SO)
# ---------------------------------------------------------------------
# Build a dynamically loadable module, linked against SWIG Runtime lib
# ---------------------------------------------------------------------
PHP4_RUNTIME=-L$(RUNTIMEDIR) -lswigphp4@release_suffix@
php4_multi: $(SRCS)
$(SWIG) -noruntime -php4 -cppext cxx $(SWIGOPT) $(INTERFACE)
$(CC) -c $(CCSHARED) $(CFLAGS) $(ISRCS) $(SRCS) $(INCLUDES) $(PHP4_INCLUDE)
$(LDSHARED) $(OBJS) $(IOBJS) $(PHP4_RUNTIME) $(PHP4_DLNK) $(LIBS) -o $(TARGET)module$(PHP4_SO)
php4_multi_cpp: $(SRCS)
$(SWIG) -noruntime -c++ -php4 -cppext cxx $(SWIGOPT) $(INTERFACE)
$(CXX) -c $(CCSHARED) $(CFLAGS) $(ICXXSRCS) $(SRCS) $(CXXSRCS) $(INCLUDES) $(PHP4_INCLUDE)
$(CXXSHARED) $(OBJS) $(IOBJS) $(PHP4_RUNTIME) $(PHP4_DLNK) $(LIBS) $(CPP_DLLIBS) -o $(TARGET)module$(PHP4_SO)
# ----------------------------------------------------------------- # -----------------------------------------------------------------
# Running a PHP4 example # Running a PHP4 example
@ -829,7 +668,7 @@ php4_multi_cpp: $(SRCS)
PHP4=@PHP4@ PHP4=@PHP4@
php4_run: php4_run:
env LD_LIBRARY_PATH=$(DYNAMIC_LIB_PATH):$$LD_LIBRARY_PATH $(PHP4) -q -d extension_dir=. $(SCRIPT) env LD_LIBRARY_PATH=.:$$LD_LIBRARY_PATH $(PHP4) -q -d extension_dir=. $(SCRIPT)
# ----------------------------------------------------------------- # -----------------------------------------------------------------
# Cleaning the PHP4 examples # Cleaning the PHP4 examples
@ -855,7 +694,7 @@ PIKE_DLNK = @PIKEDYNAMICLINKING@
pike: $(SRCS) pike: $(SRCS)
$(SWIG) -pike $(SWIGOPT) $(INTERFACE) $(SWIG) -pike $(SWIGOPT) $(INTERFACE)
$(CC) -c $(CCSHARED) $(CFLAGS) $(PIKE_CFLAGS) $(ISRCS) $(SRCS) $(INCLUDES) $(PIKE_INCLUDE) $(CC) -c $(CCSHARED) $(CFLAGS) $(PIKE_CFLAGS) $(ISRCS) $(SRCS) $(INCLUDES) $(PIKE_INCLUDE)
$(LDSHARED) $(OBJS) $(IOBJS) $(PIKE_DLNK) $(LIBS) -o $(TARGET)$(SO) $(LDSHARED) $(OBJS) $(IOBJS) $(PIKE_DLNK) $(LIBS) -o $(LIBPREFIX)$(TARGET)$(SO)
# ----------------------------------------------------------------- # -----------------------------------------------------------------
# Build a C++ dynamically loadable module # Build a C++ dynamically loadable module
@ -864,23 +703,7 @@ pike: $(SRCS)
pike_cpp: $(SRCS) pike_cpp: $(SRCS)
$(SWIG) -c++ -pike $(SWIGOPT) $(INTERFACE) $(SWIG) -c++ -pike $(SWIGOPT) $(INTERFACE)
$(CXX) -c $(CCSHARED) $(CFLAGS) $(PIKE_CFLAGS) $(ICXXSRCS) $(SRCS) $(CXXSRCS) $(INCLUDES) $(PIKE_INCLUDE) $(CXX) -c $(CCSHARED) $(CFLAGS) $(PIKE_CFLAGS) $(ICXXSRCS) $(SRCS) $(CXXSRCS) $(INCLUDES) $(PIKE_INCLUDE)
$(CXXSHARED) $(OBJS) $(IOBJS) $(PIKE_DLNK) $(LIBS) $(CPP_DLLIBS) -o $(TARGET)$(SO) $(CXXSHARED) $(OBJS) $(IOBJS) $(PIKE_DLNK) $(LIBS) $(CPP_DLLIBS) -o $(LIBPREFIX)$(TARGET)$(SO)
# -----------------------------------------------------------------
# Build a dynamically loadable module, linked against SWIG runtime lib
# -----------------------------------------------------------------
PIKE_RUNTIME=-L$(RUNTIMEDIR) -lswigpike@release_suffix@
pike_multi: $(SRCS)
$(SWIG) -noruntime -pike $(SWIGOPT) $(INTERFACE)
$(CC) -c $(CCSHARED) $(CFLAGS) $(PIKE_CFLAGS) $(ISRCS) $(SRCS) $(INCLUDES) $(PIKE_INCLUDE)
$(LDSHARED) $(OBJS) $(IOBJS) $(PIKE_RUNTIME) $(PIKE_DLNK) $(LIBS) -o $(TARGET)$(SO)
pike_multi_cpp: $(SRCS)
$(SWIG) -noruntime -c++ -pike $(SWIGOPT) $(INTERFACE)
$(CXX) -c $(CCSHARED) $(CFLAGS) $(PIKE_CFLAGS) $(ICXXSRCS) $(SRCS) $(CXXSRCS) $(INCLUDES) $(PIKE_INCLUDE)
$(CXXSHARED) $(OBJS) $(IOBJS) $(PIKE_RUNTIME) $(PIKE_DLNK) $(LIBS) $(CPP_DLLIBS) -o $(TARGET)$(SO)
# ----------------------------------------------------------------- # -----------------------------------------------------------------
# Build statically linked Pike interpreter # Build statically linked Pike interpreter
@ -943,7 +766,7 @@ chicken: $(SRCS)
$(CC) -c $(CCSHARED) $(CFLAGS) $(CHICKEN_CFLAGS) \ $(CC) -c $(CCSHARED) $(CFLAGS) $(CHICKEN_CFLAGS) \
$(INCLUDES) $(CHICKEN_INCLUDE) $(ISRCS) $(SRCS) $(CHICKEN_COMPILED_SCHEME) $(INCLUDES) $(CHICKEN_INCLUDE) $(ISRCS) $(SRCS) $(CHICKEN_COMPILED_SCHEME)
$(LDSHARED) $(CHICKEN_COMPILED_OBJECT) $(OBJS) $(IOBJS) \ $(LDSHARED) $(CHICKEN_COMPILED_OBJECT) $(OBJS) $(IOBJS) \
$(LIBS) $(CHICKEN_SHAREDLIBOPTS) -o $(TARGET)$(SO) $(LIBS) $(CHICKEN_SHAREDLIBOPTS) -o $(LIBPREFIX)$(TARGET)$(SO)
chicken_cpp: $(CXXSRCS) $(CHICKSRCS) chicken_cpp: $(CXXSRCS) $(CHICKSRCS)
$(SWIG) -c++ -chicken $(SWIGOPT) $(INCLUDE) $(INTERFACE) $(SWIG) -c++ -chicken $(SWIGOPT) $(INCLUDE) $(INTERFACE)
@ -953,7 +776,7 @@ chicken_cpp: $(CXXSRCS) $(CHICKSRCS)
$(CXX) -c $(CCSHARED) $(CFLAGS) $(CHICKEN_CFLAGS) \ $(CXX) -c $(CCSHARED) $(CFLAGS) $(CHICKEN_CFLAGS) \
$(INCLUDES) $(CHICKEN_INCLUDE) $(ICXXSRCS) $(SRCS) $(CXXSRCS) $(CHICKEN_COMPILED_SCHEME) $(INCLUDES) $(CHICKEN_INCLUDE) $(ICXXSRCS) $(SRCS) $(CXXSRCS) $(CHICKEN_COMPILED_SCHEME)
$(CXXSHARED) $(CHICKEN_COMPILED_OBJECT) $(OBJS) $(IOBJS) \ $(CXXSHARED) $(CHICKEN_COMPILED_OBJECT) $(OBJS) $(IOBJS) \
$(LIBS) $(CPP_DLLIBS) $(CHICKEN_SHAREDLIBOPTS) -o $(TARGET)$(SO) $(LIBS) $(CPP_DLLIBS) $(CHICKEN_SHAREDLIBOPTS) -o $(LIBPREFIX)$(TARGET)$(SO)
# ----------------------------------------------------------------- # -----------------------------------------------------------------
# Build statically linked CHICKEN interpreter # Build statically linked CHICKEN interpreter
@ -1005,7 +828,7 @@ chicken_clean:
# Extra CSharp specific dynamic linking options # Extra CSharp specific dynamic linking options
CSHARP_DLNK = @CSHARPDYNAMICLINKING@ CSHARP_DLNK = @CSHARPDYNAMICLINKING@
CSHARPLIBPREFIX = @CSHARPLIBRARYPREFIX@ CSHARP_LIBPREFIX = @CSHARPLIBRARYPREFIX@
CSHARPCOMPILER = @CSHARPCOMPILER@ CSHARPCOMPILER = @CSHARPCOMPILER@
CSHARPCILINTERPRETER = @CSHARPCILINTERPRETER@ CSHARPCILINTERPRETER = @CSHARPCILINTERPRETER@
@ -1016,7 +839,7 @@ CSHARPCILINTERPRETER = @CSHARPCILINTERPRETER@
csharp: $(SRCS) csharp: $(SRCS)
$(SWIG) -csharp $(SWIGOPT) $(INTERFACE) $(SWIG) -csharp $(SWIGOPT) $(INTERFACE)
$(CC) -c $(CCSHARED) $(CFLAGS) $(SRCS) $(ISRCS) $(INCLUDES) $(CC) -c $(CCSHARED) $(CFLAGS) $(SRCS) $(ISRCS) $(INCLUDES)
$(LDSHARED) $(OBJS) $(IOBJS) $(CSHARP_DLNK) $(LIBS) -o $(CSHARPLIBPREFIX)$(TARGET)$(SO) $(LDSHARED) $(OBJS) $(IOBJS) $(CSHARP_DLNK) $(LIBS) -o $(CSHARP_LIBPREFIX)$(TARGET)$(SO)
# ---------------------------------------------------------------- # ----------------------------------------------------------------
# Build a CSharp dynamically loadable module (C++) # Build a CSharp dynamically loadable module (C++)
@ -1025,21 +848,7 @@ csharp: $(SRCS)
csharp_cpp: $(SRCS) csharp_cpp: $(SRCS)
$(SWIG) -csharp -c++ $(SWIGOPT) $(INTERFACE) $(SWIG) -csharp -c++ $(SWIGOPT) $(INTERFACE)
$(CXX) -c $(CCSHARED) $(CFLAGS) $(SRCS) $(CXXSRCS) $(ICXXSRCS) $(INCLUDES) $(CXX) -c $(CCSHARED) $(CFLAGS) $(SRCS) $(CXXSRCS) $(ICXXSRCS) $(INCLUDES)
$(CXXSHARED) $(OBJS) $(IOBJS) $(CSHARP_DLNK) $(LIBS) $(CPP_DLLIBS) -o $(CSHARPLIBPREFIX)$(TARGET)$(SO) $(CXXSHARED) $(OBJS) $(IOBJS) $(CSHARP_DLNK) $(LIBS) $(CPP_DLLIBS) -o $(CSHARP_LIBPREFIX)$(TARGET)$(SO)
# ----------------------------------------------------------------
# Build a CSharp dynamically loadable module
# ----------------------------------------------------------------
csharp_multi: $(SRCS)
$(SWIG) -csharp $(SWIGOPT) $(INTERFACE)
$(CC) -c $(CCSHARED) $(CFLAGS) $(SRCS) $(ISRCS) $(INCLUDES)
$(LDSHARED) $(OBJS) $(IOBJS) $(CSHARP_DLNK) $(LIBS) -o $(CSHARPLIBPREFIX)$(TARGET)$(SO)
csharp_multi_cpp: $(SRCS)
$(SWIG) -csharp -c++ $(SWIGOPT) $(INTERFACE)
$(CXX) -c $(CCSHARED) $(CFLAGS) $(SRCS) $(CXXSRCS) $(ICXXSRCS) $(INCLUDES)
$(CXXSHARED) $(OBJS) $(IOBJS) $(CSHARP_DLNK) $(LIBS) $(CPP_DLLIBS) -o $(CSHARPLIBPREFIX)$(TARGET)$(SO)
# ---------------------------------------------------------------- # ----------------------------------------------------------------
# Compile CSharp files # Compile CSharp files

View file

@ -1,8 +1,8 @@
baseclass.pm baseclass.pm
example.pm
foo.pm foo.pm
bar.pm bar.pm
spam.pm spam.pm
runtime.pm
bar.plg bar.plg
*_wrap.c *_wrap.c
*_wrap.cxx *_wrap.cxx

View file

@ -1,17 +1,19 @@
TOP = ../.. TOP = ../..
SWIG = $(TOP)/../swig SWIG = $(TOP)/../swig
SWIGOPT = -noruntime -shadow SWIGOPT = -noruntime
RUNTIMEDIR = $(TOP)/../Runtime/.libs LIBS = -L. -lruntime
all:: all::
$(MAKE) -f $(TOP)/Makefile SWIG='$(SWIG)' SWIGOPT='-runtime' \
LIBPREFIX='lib' TARGET='runtime' INTERFACE='runtime.i' perl5_cpp
$(MAKE) -f $(TOP)/Makefile SWIG='$(SWIG)' SWIGOPT='$(SWIGOPT)' \ $(MAKE) -f $(TOP)/Makefile SWIG='$(SWIG)' SWIGOPT='$(SWIGOPT)' \
RUNTIMEDIR='$(RUNTIMEDIR)' TARGET='baseclass' INTERFACE='base.i' perl5_multi_cpp LIBS='$(LIBS)' TARGET='baseclass' INTERFACE='base.i' perl5_cpp
$(MAKE) -f $(TOP)/Makefile SWIG='$(SWIG)' SWIGOPT='$(SWIGOPT)' \ $(MAKE) -f $(TOP)/Makefile SWIG='$(SWIG)' SWIGOPT='$(SWIGOPT)' \
RUNTIMEDIR='$(RUNTIMEDIR)' TARGET='foo' INTERFACE='foo.i' perl5_multi_cpp LIBS='$(LIBS)' TARGET='foo' INTERFACE='foo.i' perl5_cpp
$(MAKE) -f $(TOP)/Makefile SWIG='$(SWIG)' SWIGOPT='$(SWIGOPT)' \ $(MAKE) -f $(TOP)/Makefile SWIG='$(SWIG)' SWIGOPT='$(SWIGOPT)' \
RUNTIMEDIR='$(RUNTIMEDIR)' TARGET='bar' INTERFACE='bar.i' perl5_multi_cpp LIBS='$(LIBS)' TARGET='bar' INTERFACE='bar.i' perl5_cpp
$(MAKE) -f $(TOP)/Makefile SWIG='$(SWIG)' SWIGOPT='$(SWIGOPT)' \ $(MAKE) -f $(TOP)/Makefile SWIG='$(SWIG)' SWIGOPT='$(SWIGOPT)' \
RUNTIMEDIR='$(RUNTIMEDIR)' TARGET='spam' INTERFACE='spam.i' perl5_multi_cpp LIBS='$(LIBS)' TARGET='spam' INTERFACE='spam.i' perl5_cpp
clean:: clean::

View file

@ -1,5 +1,4 @@
This example tests the SWIG run-time libraries and use of the This example tests the %import directive and working with multiple modules.
%import directive to work with multiple modules.
Use 'perl runme.pl' to run a test. Use 'perl runme.pl' to run a test.
@ -16,26 +15,27 @@ a separate C++ class.
Each module used %import to refer to another module. For Each module used %import to refer to another module. For
example, the 'foo.i' module uses '%import base.i' to get example, the 'foo.i' module uses '%import base.i' to get
definitions for its base class. definitions for its base class. These modules do not generate
any runtime code (-noruntime commandline option).
If everything is working correctly, all of the modules will load The runtime.i file is an empty SWIG module which will generate
correctly and type checking will work correctly. The the runtime library code for sharing amongst the other modules
example requires the use of the SWIG run-time libraries (uses -runtime commandline option).
which must be built and properly installed.
If everything is okay, all of the modules will load correctly and
type checking will work correctly.
Unix: Unix:
----- -----
- Make sure the SWIG runtime library is built and the path to it is
in LD_LIBRARY_PATH
- Run make - Run make
- Make sure your LD_LIBRARY_PATH includes the current directory so that
libruntime.so can be loaded.
- Run the test as described above - Run the test as described above
Windows: Windows:
-------- --------
- Make sure the SWIG runtime library is built and in your path. See Windows.html.
- Use the Visual C++ 6 workspace file (example.dsw). Build each project - Use the Visual C++ 6 workspace file (example.dsw). Build each project
to create the 4 DLLs. The Batch build option in the Build menu is the to create the 5 DLLs. The Batch build option in the Build menu is the
easiest way to do this. Only use the Release builds not the Debug builds. easiest way to do this. Only use the Release builds not the Debug builds.
- Run the test as described above - Run the test as described above

View file

@ -0,0 +1,3 @@
// Empty module for building the runtime library
%module runtime

View file

@ -2,10 +2,12 @@ bar.py
base.py base.py
foo.py foo.py
spam.py spam.py
runtime.py
bar.pyc bar.pyc
base.pyc base.pyc
foo.pyc foo.pyc
spam.pyc spam.pyc
runtime.pyc
*_wrap.c *_wrap.c
*_wrap.cxx *_wrap.cxx
*.dll *.dll

View file

@ -1,21 +1,23 @@
TOP = ../.. TOP = ../..
SWIG = $(TOP)/../swig SWIG = $(TOP)/../swig
SWIGOPT = -noruntime SWIGOPT = -noruntime
RUNTIMEDIR = $(TOP)/../Runtime/.libs LIBS = -L. -l_runtime
all:: all::
$(MAKE) -f $(TOP)/Makefile SWIG='$(SWIG)' SWIGOPT='-runtime' \
LIBPREFIX='lib' TARGET='runtime' INTERFACE='runtime.i' python_cpp
$(MAKE) -f $(TOP)/Makefile SWIG='$(SWIG)' SWIGOPT='$(SWIGOPT)' \ $(MAKE) -f $(TOP)/Makefile SWIG='$(SWIG)' SWIGOPT='$(SWIGOPT)' \
RUNTIMEDIR='$(RUNTIMEDIR)' TARGET='base' INTERFACE='base.i' python_multi_cpp LIBS='$(LIBS)' TARGET='base' INTERFACE='base.i' python_cpp
$(MAKE) -f $(TOP)/Makefile SWIG='$(SWIG)' SWIGOPT='$(SWIGOPT)' \ $(MAKE) -f $(TOP)/Makefile SWIG='$(SWIG)' SWIGOPT='$(SWIGOPT)' \
RUNTIMEDIR='$(RUNTIMEDIR)' TARGET='foo' INTERFACE='foo.i' python_multi_cpp LIBS='$(LIBS)' TARGET='foo' INTERFACE='foo.i' python_cpp
$(MAKE) -f $(TOP)/Makefile SWIG='$(SWIG)' SWIGOPT='$(SWIGOPT)' \ $(MAKE) -f $(TOP)/Makefile SWIG='$(SWIG)' SWIGOPT='$(SWIGOPT)' \
RUNTIMEDIR='$(RUNTIMEDIR)' TARGET='bar' INTERFACE='bar.i' python_multi_cpp LIBS='$(LIBS)' TARGET='bar' INTERFACE='bar.i' python_cpp
$(MAKE) -f $(TOP)/Makefile SWIG='$(SWIG)' SWIGOPT='$(SWIGOPT)' \ $(MAKE) -f $(TOP)/Makefile SWIG='$(SWIG)' SWIGOPT='$(SWIGOPT)' \
RUNTIMEDIR='$(RUNTIMEDIR)' TARGET='spam' INTERFACE='spam.i' python_multi_cpp LIBS='$(LIBS)' TARGET='spam' INTERFACE='spam.i' python_cpp
clean:: clean::
$(MAKE) -f $(TOP)/Makefile python_clean $(MAKE) -f $(TOP)/Makefile python_clean
@rm -f foo.py bar.py spam.py base.py @rm -f foo.py bar.py spam.py base.py runtime.py
check: all check: all

View file

@ -1,5 +1,4 @@
This example tests the SWIG run-time libraries and use of the This example tests the %import directive and working with multiple modules.
%import directive to work with multiple modules.
Use 'python runme.py' to run a test. Use 'python runme.py' to run a test.
@ -16,25 +15,27 @@ a separate C++ class.
Each module used %import to refer to another module. For Each module used %import to refer to another module. For
example, the 'foo.i' module uses '%import base.i' to get example, the 'foo.i' module uses '%import base.i' to get
definitions for its base class. definitions for its base class. These modules do not generate
any runtime code (-noruntime commandline option).
If everything is working correctly, all of the modules will load The runtime.i file is an empty SWIG module which will generate
correctly and type checking will work correctly. The the runtime library code for sharing amongst the other modules
example requires the use of the SWIG run-time libraries (uses -runtime commandline option).
which must be built and properly installed.
If everything is okay, all of the modules will load correctly and
type checking will work correctly.
Unix: Unix:
----- -----
- Make sure the SWIG runtime library is built and the path to it is
in LD_LIBRARY_PATH
- Run make - Run make
- Make sure your LD_LIBRARY_PATH includes the current directory so that
lib_runtime.so can be loaded.
- Run the test as described above - Run the test as described above
Windows: Windows:
-------- --------
- Make sure the SWIG runtime library is built and in your path. See Windows.html.
- Use the Visual C++ 6 workspace file (example.dsw). Build each project - Use the Visual C++ 6 workspace file (example.dsw). Build each project
to create the 4 DLLs. The Batch build option in the Build menu is the to create the 5 DLLs. The Batch build option in the Build menu is the
easiest way to do this. Only use the Release builds not the Debug builds. easiest way to do this. Only use the Release builds not the Debug builds.
- Run the test as described above - Run the test as described above

View file

@ -0,0 +1,3 @@
// Empty module for building the runtime library
%module runtime

View file

@ -2,16 +2,18 @@ bar.py
base.py base.py
foo.py foo.py
spam.py spam.py
runtime.py
bar.pyc bar.pyc
base.pyc base.pyc
foo.pyc foo.pyc
spam.pyc spam.pyc
runtime.pyc
*_wrap.c *_wrap.c
*_wrap.cxx *_wrap.cxx
*.dll *.dll
example.dsw example.dsw
example.exp *.exp
example.lib *.lib
example.ncb example.ncb
example.opt example.opt
example.plg example.plg

View file

@ -1,21 +1,23 @@
TOP = ../.. TOP = ../..
SWIG = $(TOP)/../swig SWIG = $(TOP)/../swig
SWIGOPT = -noruntime SWIGOPT = -noruntime
RUNTIMEDIR = $(TOP)/../Runtime/.libs LIBS = -L. -l_runtime
all:: all::
$(MAKE) -f $(TOP)/Makefile SWIG='$(SWIG)' SWIGOPT='-runtime' \
LIBPREFIX='lib' TARGET='runtime' INTERFACE='runtime.i' python_cpp
$(MAKE) -f $(TOP)/Makefile SWIG='$(SWIG)' SWIGOPT='$(SWIGOPT)' \ $(MAKE) -f $(TOP)/Makefile SWIG='$(SWIG)' SWIGOPT='$(SWIGOPT)' \
RUNTIMEDIR='$(RUNTIMEDIR)' TARGET='base' INTERFACE='base.i' python_multi_cpp LIBS='$(LIBS)' TARGET='base' INTERFACE='base.i' python_cpp
$(MAKE) -f $(TOP)/Makefile SWIG='$(SWIG)' SWIGOPT='$(SWIGOPT)' \ $(MAKE) -f $(TOP)/Makefile SWIG='$(SWIG)' SWIGOPT='$(SWIGOPT)' \
RUNTIMEDIR='$(RUNTIMEDIR)' TARGET='foo' INTERFACE='foo.i' python_multi_cpp LIBS='$(LIBS)' TARGET='foo' INTERFACE='foo.i' python_cpp
$(MAKE) -f $(TOP)/Makefile SWIG='$(SWIG)' SWIGOPT='$(SWIGOPT)' \ $(MAKE) -f $(TOP)/Makefile SWIG='$(SWIG)' SWIGOPT='$(SWIGOPT)' \
RUNTIMEDIR='$(RUNTIMEDIR)' TARGET='bar' INTERFACE='bar.i' python_multi_cpp LIBS='$(LIBS)' TARGET='bar' INTERFACE='bar.i' python_cpp
$(MAKE) -f $(TOP)/Makefile SWIG='$(SWIG)' SWIGOPT='$(SWIGOPT)' \ $(MAKE) -f $(TOP)/Makefile SWIG='$(SWIG)' SWIGOPT='$(SWIGOPT)' \
RUNTIMEDIR='$(RUNTIMEDIR)' TARGET='spam' INTERFACE='spam.i' python_multi_cpp LIBS='$(LIBS)' TARGET='spam' INTERFACE='spam.i' python_cpp
clean:: clean::
$(MAKE) -f $(TOP)/Makefile python_clean $(MAKE) -f $(TOP)/Makefile python_clean
@rm -f foo.py bar.py spam.py base.py @rm -f foo.py bar.py spam.py base.py runtime.py
check: all check: all

View file

@ -1,7 +1,4 @@
This example tests the SWIG run-time libraries and use of the This example tests the %import directive and working with multiple modules.
%import directive to work with multiple modules. However,
unlike the import example, this uses templates to really
stress test the type-system.
Use 'python runme.py' to run a test. Use 'python runme.py' to run a test.
@ -18,13 +15,20 @@ a separate C++ class.
Each module used %import to refer to another module. For Each module used %import to refer to another module. For
example, the 'foo.i' module uses '%import base.i' to get example, the 'foo.i' module uses '%import base.i' to get
definitions for its base class. definitions for its base class. These modules do not generate
any runtime code (-noruntime commandline option).
If everything is working correctly, all of the modules will load
correctly and type checking will work correctly. The
example requires the use of the SWIG run-time libraries
which must be built and properly installed.
The runtime.i file is an empty SWIG module which will generate
the runtime library code for sharing amongst the other modules
(uses -runtime commandline option).
If everything is okay, all of the modules will load correctly and
type checking will work correctly.
Unix:
-----
- Run make
- Make sure your LD_LIBRARY_PATH includes the current directory so that
lib_runtime.so can be loaded.
- Run the test as described above

View file

@ -0,0 +1,3 @@
// Empty module for building the runtime library
%module runtime

View file

@ -1,17 +1,19 @@
TOP = ../.. TOP = ../..
SWIG = $(TOP)/../swig SWIG = $(TOP)/../swig
SWIGOPT = -noruntime SWIGOPT = -noruntime
RUNTIMEDIR = $(TOP)/../Runtime/.libs LIBS = -L. -lruntime
all:: all::
$(MAKE) -f $(TOP)/Makefile SWIG='$(SWIG)' SWIGOPT='-runtime' \
LIBPREFIX='lib' TARGET='runtime' INTERFACE='runtime.i' ruby_cpp
$(MAKE) -f $(TOP)/Makefile SWIG='$(SWIG)' SWIGOPT='$(SWIGOPT)' \ $(MAKE) -f $(TOP)/Makefile SWIG='$(SWIG)' SWIGOPT='$(SWIGOPT)' \
RUNTIMEDIR='$(RUNTIMEDIR)' TARGET='base' INTERFACE='base.i' ruby_multi_cpp LIBS='$(LIBS)' TARGET='base' INTERFACE='base.i' ruby_cpp
$(MAKE) -f $(TOP)/Makefile SWIG='$(SWIG)' SWIGOPT='$(SWIGOPT)' \ $(MAKE) -f $(TOP)/Makefile SWIG='$(SWIG)' SWIGOPT='$(SWIGOPT)' \
RUNTIMEDIR='$(RUNTIMEDIR)' TARGET='foo' INTERFACE='foo.i' ruby_multi_cpp LIBS='$(LIBS)' TARGET='foo' INTERFACE='foo.i' ruby_cpp
$(MAKE) -f $(TOP)/Makefile SWIG='$(SWIG)' SWIGOPT='$(SWIGOPT)' \ $(MAKE) -f $(TOP)/Makefile SWIG='$(SWIG)' SWIGOPT='$(SWIGOPT)' \
RUNTIMEDIR='$(RUNTIMEDIR)' TARGET='bar' INTERFACE='bar.i' ruby_multi_cpp LIBS='$(LIBS)' TARGET='bar' INTERFACE='bar.i' ruby_cpp
$(MAKE) -f $(TOP)/Makefile SWIG='$(SWIG)' SWIGOPT='$(SWIGOPT)' \ $(MAKE) -f $(TOP)/Makefile SWIG='$(SWIG)' SWIGOPT='$(SWIGOPT)' \
RUNTIMEDIR='$(RUNTIMEDIR)' TARGET='spam' INTERFACE='spam.i' ruby_multi_cpp LIBS='$(LIBS)' TARGET='spam' INTERFACE='spam.i' ruby_cpp
clean:: clean::
$(MAKE) -f $(TOP)/Makefile ruby_clean $(MAKE) -f $(TOP)/Makefile ruby_clean

View file

@ -1,5 +1,4 @@
This example tests the SWIG run-time libraries and use of the This example tests the %import directive and working with multiple modules.
%import directive to work with multiple modules.
Use 'ruby runme.rb' to run a test. Use 'ruby runme.rb' to run a test.
@ -16,26 +15,27 @@ a separate C++ class.
Each module used %import to refer to another module. For Each module used %import to refer to another module. For
example, the 'foo.i' module uses '%import base.i' to get example, the 'foo.i' module uses '%import base.i' to get
definitions for its base class. definitions for its base class. These modules do not generate
any runtime code (-noruntime commandline option).
If everything is working correctly, all of the modules will load The runtime.i file is an empty SWIG module which will generate
correctly and type checking will work correctly. The the runtime library code for sharing amongst the other modules
example requires the use of the SWIG run-time libraries (uses -runtime commandline option).
which must be built and properly installed.
If everything is okay, all of the modules will load correctly and
type checking will work correctly.
Unix: Unix:
----- -----
- Make sure the SWIG runtime library is built and the path to it is
in LD_LIBRARY_PATH
- Run make - Run make
- Make sure your LD_LIBRARY_PATH includes the current directory so that
libruntime.so can be loaded.
- Run the test as described above - Run the test as described above
Windows: Windows:
-------- --------
- Make sure the SWIG runtime library is built and in your path. See Windows.html.
- Use the Visual C++ 6 workspace file (example.dsw). Build each project - Use the Visual C++ 6 workspace file (example.dsw). Build each project
to create the 4 DLLs. The Batch build option in the Build menu is the to create the 5 DLLs. The Batch build option in the Build menu is the
easiest way to do this. Only use the Release builds not the Debug builds. easiest way to do this. Only use the Release builds not the Debug builds.
- Run the test as described above - Run the test as described above

View file

@ -0,0 +1,3 @@
// Empty module for building the runtime library
%module runtime

View file

@ -1,17 +1,19 @@
TOP = ../.. TOP = ../..
SWIG = $(TOP)/../swig SWIG = $(TOP)/../swig
SWIGOPT = -noruntime SWIGOPT = -noruntime
RUNTIMEDIR = $(TOP)/../Runtime/.libs LIBS = -L. -lruntime
all:: all::
$(MAKE) -f $(TOP)/Makefile SWIG='$(SWIG)' SWIGOPT='-runtime' \
LIBPREFIX='lib' TARGET='runtime' INTERFACE='runtime.i' ruby_cpp
$(MAKE) -f $(TOP)/Makefile SWIG='$(SWIG)' SWIGOPT='$(SWIGOPT)' \ $(MAKE) -f $(TOP)/Makefile SWIG='$(SWIG)' SWIGOPT='$(SWIGOPT)' \
RUNTIMEDIR='$(RUNTIMEDIR)' TARGET='base' INTERFACE='base.i' ruby_multi_cpp LIBS='$(LIBS)' TARGET='base' INTERFACE='base.i' ruby_cpp
$(MAKE) -f $(TOP)/Makefile SWIG='$(SWIG)' SWIGOPT='$(SWIGOPT)' \ $(MAKE) -f $(TOP)/Makefile SWIG='$(SWIG)' SWIGOPT='$(SWIGOPT)' \
RUNTIMEDIR='$(RUNTIMEDIR)' TARGET='foo' INTERFACE='foo.i' ruby_multi_cpp LIBS='$(LIBS)' TARGET='foo' INTERFACE='foo.i' ruby_cpp
$(MAKE) -f $(TOP)/Makefile SWIG='$(SWIG)' SWIGOPT='$(SWIGOPT)' \ $(MAKE) -f $(TOP)/Makefile SWIG='$(SWIG)' SWIGOPT='$(SWIGOPT)' \
RUNTIMEDIR='$(RUNTIMEDIR)' TARGET='bar' INTERFACE='bar.i' ruby_multi_cpp LIBS='$(LIBS)' TARGET='bar' INTERFACE='bar.i' ruby_cpp
$(MAKE) -f $(TOP)/Makefile SWIG='$(SWIG)' SWIGOPT='$(SWIGOPT)' \ $(MAKE) -f $(TOP)/Makefile SWIG='$(SWIG)' SWIGOPT='$(SWIGOPT)' \
RUNTIMEDIR='$(RUNTIMEDIR)' TARGET='spam' INTERFACE='spam.i' ruby_multi_cpp LIBS='$(LIBS)' TARGET='spam' INTERFACE='spam.i' ruby_cpp
clean:: clean::
$(MAKE) -f $(TOP)/Makefile ruby_clean $(MAKE) -f $(TOP)/Makefile ruby_clean

View file

@ -1,7 +1,4 @@
This example tests the SWIG run-time libraries and use of the This example tests the %import directive and working with multiple modules.
%import directive to work with multiple modules. However,
unlike the import example, this uses templates to really
stress test the type-system.
Use 'ruby runme.rb' to run a test. Use 'ruby runme.rb' to run a test.
@ -18,13 +15,20 @@ a separate C++ class.
Each module used %import to refer to another module. For Each module used %import to refer to another module. For
example, the 'foo.i' module uses '%import base.i' to get example, the 'foo.i' module uses '%import base.i' to get
definitions for its base class. definitions for its base class. These modules do not generate
any runtime code (-noruntime commandline option).
If everything is working correctly, all of the modules will load
correctly and type checking will work correctly. The
example requires the use of the SWIG run-time libraries
which must be built and properly installed.
The runtime.i file is an empty SWIG module which will generate
the runtime library code for sharing amongst the other modules
(uses -runtime commandline option).
If everything is okay, all of the modules will load correctly and
type checking will work correctly.
Unix:
-----
- Run make
- Make sure your LD_LIBRARY_PATH includes the current directory so that
libruntime.so can be loaded.
- Run the test as described above

View file

@ -0,0 +1,3 @@
// Empty module for building the runtime library
%module runtime

View file

@ -1,17 +1,19 @@
TOP = ../.. TOP = ../..
SWIG = $(TOP)/../swig SWIG = $(TOP)/../swig
SWIGOPT = -noruntime SWIGOPT = -noruntime
RUNTIMEDIR = $(TOP)/../Runtime/.libs LIBS = -L. -lruntime
all:: all::
$(MAKE) -f $(TOP)/Makefile SWIG='$(SWIG)' SWIGOPT='-runtime' \
LIBPREFIX='lib' TARGET='runtime' INTERFACE='runtime.i' tcl_cpp
$(MAKE) -f $(TOP)/Makefile SWIG='$(SWIG)' SWIGOPT='$(SWIGOPT)' \ $(MAKE) -f $(TOP)/Makefile SWIG='$(SWIG)' SWIGOPT='$(SWIGOPT)' \
RUNTIMEDIR='$(RUNTIMEDIR)' TARGET='base' INTERFACE='base.i' tcl_multi_cpp LIBS='$(LIBS)' TARGET='base' INTERFACE='base.i' tcl_cpp
$(MAKE) -f $(TOP)/Makefile SWIG='$(SWIG)' SWIGOPT='$(SWIGOPT)' \ $(MAKE) -f $(TOP)/Makefile SWIG='$(SWIG)' SWIGOPT='$(SWIGOPT)' \
RUNTIMEDIR='$(RUNTIMEDIR)' TARGET='foo' INTERFACE='foo.i' tcl_multi_cpp LIBS='$(LIBS)' TARGET='foo' INTERFACE='foo.i' tcl_cpp
$(MAKE) -f $(TOP)/Makefile SWIG='$(SWIG)' SWIGOPT='$(SWIGOPT)' \ $(MAKE) -f $(TOP)/Makefile SWIG='$(SWIG)' SWIGOPT='$(SWIGOPT)' \
RUNTIMEDIR='$(RUNTIMEDIR)' TARGET='bar' INTERFACE='bar.i' tcl_multi_cpp LIBS='$(LIBS)' TARGET='bar' INTERFACE='bar.i' tcl_cpp
$(MAKE) -f $(TOP)/Makefile SWIG='$(SWIG)' SWIGOPT='$(SWIGOPT)' \ $(MAKE) -f $(TOP)/Makefile SWIG='$(SWIG)' SWIGOPT='$(SWIGOPT)' \
RUNTIMEDIR='$(RUNTIMEDIR)' TARGET='spam' INTERFACE='spam.i' tcl_multi_cpp LIBS='$(LIBS)' TARGET='spam' INTERFACE='spam.i' tcl_cpp
clean:: clean::

View file

@ -1,5 +1,4 @@
This example tests the SWIG run-time libraries and use of the This example tests the %import directive and working with multiple modules.
%import directive to work with multiple modules.
Use 'tclsh runme.tcl' to run a test. Use 'tclsh runme.tcl' to run a test.
@ -16,26 +15,27 @@ a separate C++ class.
Each module used %import to refer to another module. For Each module used %import to refer to another module. For
example, the 'foo.i' module uses '%import base.i' to get example, the 'foo.i' module uses '%import base.i' to get
definitions for its base class. definitions for its base class. These modules do not generate
any runtime code (-noruntime commandline option).
If everything is working correctly, all of the modules will load The runtime.i file is an empty SWIG module which will generate
correctly and type checking will work correctly. The the runtime library code for sharing amongst the other modules
example requires the use of the SWIG run-time libraries (uses -runtime commandline option).
which must be built and properly installed.
If everything is okay, all of the modules will load correctly and
type checking will work correctly.
Unix: Unix:
----- -----
- Make sure the SWIG runtime library is built and the path to it is
in LD_LIBRARY_PATH
- Run make - Run make
- Make sure your LD_LIBRARY_PATH includes the current directory so that
libruntime.so can be loaded.
- Run the test as described above - Run the test as described above
Windows: Windows:
-------- --------
- Make sure the SWIG runtime library is built and in your path. See Windows.html.
- Use the Visual C++ 6 workspace file (example.dsw). Build each project - Use the Visual C++ 6 workspace file (example.dsw). Build each project
to create the 4 DLLs. The Batch build option in the Build menu is the to create the 5 DLLs. The Batch build option in the Build menu is the
easiest way to do this. Only use the Release builds not the Debug builds. easiest way to do this. Only use the Release builds not the Debug builds.
- Run the test as described above - Run the test as described above

View file

@ -0,0 +1,3 @@
// Empty module for building the runtime library
%module runtime