diff --git a/Examples/test-suite/ignore_template_constructor.i b/Examples/test-suite/ignore_template_constructor.i index ffd541986..ae466d711 100644 --- a/Examples/test-suite/ignore_template_constructor.i +++ b/Examples/test-suite/ignore_template_constructor.i @@ -36,6 +36,8 @@ public: #endif +#if !defined(SWIGSCILAB) + %template(VectFlow) std::vector; %inline %{ @@ -43,3 +45,5 @@ std::vector inandout(std::vector v) { return v; } %} + +#endif diff --git a/Examples/test-suite/scilab/Makefile.in b/Examples/test-suite/scilab/Makefile.in index c39776217..e67a7cc6c 100644 --- a/Examples/test-suite/scilab/Makefile.in +++ b/Examples/test-suite/scilab/Makefile.in @@ -6,9 +6,9 @@ LANGUAGE = scilab SCILAB = @SCILAB@ SCILAB_STARTOPT = @SCILABSTARTOPT@ SCRIPTSUFFIX = _runme.sci -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ -top_builddir = @top_builddir@ +srcdir = $(abspath @srcdir@) +top_srcdir = $(abspath @top_srcdir@) +top_builddir = $(abspath @top_builddir@) # Overridden variables here @@ -32,14 +32,14 @@ swig_and_compile_cpp = \ $(MAKE) -f $(top_builddir)/$(EXAMPLES)/Makefile CXXSRCS="$(CXXSRCS)" \ SWIG_LIB="$(SWIG_LIB)" SWIG="$(SWIG)" \ INCLUDES="$(INCLUDES)" SWIGOPT= OUTDIR="$(OUTDIR)" \ - TARGET="$*_wrap.cxx" INTERFACEDIR="$(INTERFACEDIR)" INTERFACE="$*.i" \ + TARGET="$(OUTDIR)/$*_wrap.cxx" INTERFACEDIR="$(INTERFACEDIR)" INTERFACE="$*.i" \ scilab_cpp swig_and_compile_c = \ $(MAKE) -f $(top_builddir)/$(EXAMPLES)/Makefile CSRCS="$(CSRCS)" \ SWIG_LIB="$(SWIG_LIB)" SWIG="$(SWIG)" \ INCLUDES="$(INCLUDES)" SWIGOPT= OUTDIR="$(OUTDIR)" \ - TARGET="$*_wrap.c" INTERFACEDIR="$(INTERFACEDIR)" INTERFACE="$*.i" \ + TARGET="$(OUTDIR)/$*_wrap.c" INTERFACEDIR="$(INTERFACEDIR)" INTERFACE="$*.i" \ scilab swig_and_compile_multi_cpp = \ @@ -47,7 +47,7 @@ swig_and_compile_multi_cpp = \ $(MAKE) -f $(top_builddir)/$(EXAMPLES)/Makefile CXXSRCS="$(CXXSRCS)" \ SWIG_LIB="$(SWIG_LIB)" SWIG="$(SWIG)" \ INCLUDES="$(INCLUDES)" SWIGOPT= OUTDIR="$(OUTDIR)" \ - TARGET="$*_wrap.cxx" INTERFACEDIR="$(INTERFACEDIR)" INTERFACE="$$f.i" \ + TARGET="$(OUTDIR)/$*_wrap.cxx" INTERFACEDIR="$(INTERFACEDIR)" INTERFACE="$$f.i" \ scilab_cpp; \ done diff --git a/Examples/test-suite/scilab/swigtest.start b/Examples/test-suite/scilab/swigtest.start index 586a1bc62..42fafb833 100644 --- a/Examples/test-suite/scilab/swigtest.start +++ b/Examples/test-suite/scilab/swigtest.start @@ -1,4 +1,5 @@ lines(0); +ilib_verbose(0); // Get test name (used in swigtest.quit file) [units, typ, names] = file(1); diff --git a/Source/Modules/scilab.cxx b/Source/Modules/scilab.cxx index 35e0d3b37..365b44b07 100644 --- a/Source/Modules/scilab.cxx +++ b/Source/Modules/scilab.cxx @@ -207,12 +207,17 @@ public: /* Write all to the builder.sce file */ Printf(builderCode, "];\n"); + Printf(builderCode, "ret = 1;\n"); Printf(builderCode, "if ~isempty(table) then\n"); Printf(builderCode, " ilib_build(ilib_name, table, files, libs, [], ldflags, cflags);\n"); + Printf(builderCode, " libfilename = 'lib' + ilib_name + getdynlibext();\n"); + Printf(builderCode, " if isfile(libfilename) & isfile('loader.sce') then\n"); + Printf(builderCode, " ret = 0;\n"); + Printf(builderCode, " end\n"); Printf(builderCode, "end\n"); Printf(builderCode, "cd(originaldir);\n"); - Printf(builderCode, "exit"); + Printf(builderCode, "exit(ret)"); String *builderFilename = NewStringf("%sbuilder.sce", SWIG_output_directory()); builderFile = NewFile(builderFilename, "w", SWIG_output_files()); if (!builderFile) {