diff --git a/Examples/Makefile.in b/Examples/Makefile.in index 0fa90c2cb..48483572b 100644 --- a/Examples/Makefile.in +++ b/Examples/Makefile.in @@ -1576,8 +1576,7 @@ SCILAB_INCLUDE = $(DEFS) @SCILABINCLUDE@ SCILAB_LIB = @SCILABLIB@ SCILAB = @SCILAB@ SCILABOPT = -SCILAB_START_OPT = @SCILABSTARTOPT@ -SCILAB_VERSION = @SCILABVERSION@ +SCILAB_STARTOPT = @SCILABSTARTOPT@ # ---------------------------------------------------------------- # Build a C dynamically loadable module @@ -1598,7 +1597,7 @@ scilab: $(SRCS) fi \ fi @if [ -f builder.sce ]; then \ - env LD_LIBRARY_PATH=.:$$LD_LIBRARY_PATH SCILABPATH=$(srcdir):$$SCILABPATH echo 'exit(1)' |$(SCILAB) $(SCILAB_START_OPT) -f builder.sce; \ + env LD_LIBRARY_PATH=.:$$LD_LIBRARY_PATH SCILABPATH=$(srcdir):$$SCILABPATH echo 'exit(1)' |$(SCILAB) $(SCILAB_STARTOPT) -f builder.sce; \ fi # ---------------------------------------------------------------- @@ -1620,7 +1619,7 @@ scilab_cpp: $(SRCS) fi \ fi @if [ -f builder.sce ]; then \ - env LD_LIBRARY_PATH=.:$$LD_LIBRARY_PATH SCILABPATH=$(srcdir):$$SCILABPATH echo 'exit(1)' |$(SCILAB) $(SCILAB_START_OPT) -f builder.sce; \ + env LD_LIBRARY_PATH=.:$$LD_LIBRARY_PATH SCILABPATH=$(srcdir):$$SCILABPATH echo 'exit(1)' |$(SCILAB) $(SCILAB_STARTOPT) -f builder.sce; \ fi # ----------------------------------------------------------------- @@ -1628,21 +1627,22 @@ scilab_cpp: $(SRCS) # ----------------------------------------------------------------- scilab_run: - @env LD_LIBRARY_PATH=.:$$LD_LIBRARY_PATH SCILABPATH=$(srcdir):$$SCILABPATH $(SCILAB) -nwni -noatomsautoload -nb -f runme.sci + @env LD_LIBRARY_PATH=.:$$LD_LIBRARY_PATH SCILABPATH=$(srcdir):$$SCILABPATH $(SCILAB) $(SCILAB_STARTOPT) -f runme.sci + # ----------------------------------------------------------------- # Debugging a scilab example # ----------------------------------------------------------------- scilab_debug: - @env LD_LIBRARY_PATH=.:$$LD_LIBRARY_PATH SCILABPATH=$(srcdir):$$SCILABPATH $(SCILAB) -noatomsautoload -nb -debug -f runme.sci + @env LD_LIBRARY_PATH=.:$$LD_LIBRARY_PATH SCILABPATH=$(srcdir):$$SCILABPATH $(SCILAB) $(SCILAB_STARTOPT) -f runme.sci # ----------------------------------------------------------------- -# Version display +# Scilab version # ----------------------------------------------------------------- scilab_version: - echo $(SCILAB_VERSION) + echo `$(SCILAB) -version|head -1|sed -e 's|Scilab version \"\(.*\)\"|\1|g'` # ----------------------------------------------------------------- # Cleaning the scilab examples diff --git a/Examples/scilab/check.list b/Examples/scilab/check.list index 038e99498..15d6a6a3b 100644 --- a/Examples/scilab/check.list +++ b/Examples/scilab/check.list @@ -8,7 +8,6 @@ matrix matrix2 pointer simple -std_set std_vector/std_vector std_vector/std_vector_as_function_argument struct diff --git a/Examples/scilab/class/runme.sci b/Examples/scilab/class/runme.sci index b5ec9e581..4beb64d9e 100644 --- a/Examples/scilab/class/runme.sci +++ b/Examples/scilab/class/runme.sci @@ -1,4 +1,4 @@ -// loader the *.so +lines(0); exec loader.sce; // ----- Object creation ----- diff --git a/Examples/scilab/constants/runme.sci b/Examples/scilab/constants/runme.sci index 6fba167c0..5109f857e 100644 --- a/Examples/scilab/constants/runme.sci +++ b/Examples/scilab/constants/runme.sci @@ -1,4 +1,4 @@ -// loader the *.so +lines(0); exec loader.sce; printf("ICONST = %i (should be 42)\n", ICONST_get()); diff --git a/Examples/scilab/contract/runme.sci b/Examples/scilab/contract/runme.sci index 636ab49e0..b5438d7b1 100644 --- a/Examples/scilab/contract/runme.sci +++ b/Examples/scilab/contract/runme.sci @@ -1,4 +1,4 @@ -// loader the *.so +lines(0); exec loader.sce; // Call our gcd() function diff --git a/Examples/scilab/enum/runme.sci b/Examples/scilab/enum/runme.sci index f63abd076..a5f16f3f8 100644 --- a/Examples/scilab/enum/runme.sci +++ b/Examples/scilab/enum/runme.sci @@ -1,4 +1,4 @@ -// loader the *.so +lines(0); exec loader.sce; // Print out the value of some enums diff --git a/Examples/scilab/funcptr/runme.sci b/Examples/scilab/funcptr/runme.sci index b5ca1f87c..aaedb5304 100644 --- a/Examples/scilab/funcptr/runme.sci +++ b/Examples/scilab/funcptr/runme.sci @@ -1,4 +1,4 @@ -// loader the *.so +lines(0); exec loader.sce; a = 37 diff --git a/Examples/scilab/matrix/runme.sci b/Examples/scilab/matrix/runme.sci index 033da30f5..4558fd3e0 100644 --- a/Examples/scilab/matrix/runme.sci +++ b/Examples/scilab/matrix/runme.sci @@ -1,5 +1,5 @@ -// loader the *.so -exec loader.sce +lines(0); +exec loader.sce; // create a new matrix x = new_matrix(); diff --git a/Examples/scilab/matrix2/runme.sci b/Examples/scilab/matrix2/runme.sci index e1be153b7..4aa7a8358 100644 --- a/Examples/scilab/matrix2/runme.sci +++ b/Examples/scilab/matrix2/runme.sci @@ -1,4 +1,5 @@ -exec loader.sce +lines(0); +exec loader.sce; // Test lib double matrix functions disp("Call lib function getDoubleMatrix()"); diff --git a/Examples/scilab/pointer/runme.sci b/Examples/scilab/pointer/runme.sci index b38823cad..17585bcc6 100644 --- a/Examples/scilab/pointer/runme.sci +++ b/Examples/scilab/pointer/runme.sci @@ -1,5 +1,5 @@ -// loader the *.so -exec loader.sce +lines(0); +exec loader.sce; // First create some objects using the pointer library. printf("Testing the pointer library\n") diff --git a/Examples/scilab/simple/runme.sci b/Examples/scilab/simple/runme.sci index 51cc39c70..6c89785ce 100644 --- a/Examples/scilab/simple/runme.sci +++ b/Examples/scilab/simple/runme.sci @@ -1,4 +1,4 @@ -// loader the *.so +lines(0); exec loader.sce; // Call our gcd() function diff --git a/Examples/scilab/std_list/runme.sci b/Examples/scilab/std_list/runme.sci index aba132f6b..77a943ccf 100644 --- a/Examples/scilab/std_list/runme.sci +++ b/Examples/scilab/std_list/runme.sci @@ -1,3 +1,4 @@ +lines(0); exec loader.sce; SWIG_Init(); @@ -29,3 +30,5 @@ disp("concat this list with the list of string {''cc'', ''dd'', ''ee'', ''ff''} ss3 = concat_string_list(ss, ss2); disp(ss3); +exit + diff --git a/Examples/scilab/std_set/runme.sci b/Examples/scilab/std_set/runme.sci index 68078a0fb..a2241bee8 100644 --- a/Examples/scilab/std_set/runme.sci +++ b/Examples/scilab/std_set/runme.sci @@ -1,3 +1,4 @@ +lines(0); exec loader.sce; SWIG_Init(); diff --git a/Examples/scilab/std_vector/std_vector/runme.sci b/Examples/scilab/std_vector/std_vector/runme.sci index 67f1a8eb6..a98b176db 100644 --- a/Examples/scilab/std_vector/std_vector/runme.sci +++ b/Examples/scilab/std_vector/std_vector/runme.sci @@ -1,4 +1,4 @@ -// file: runme.sci +lines(0); exec loader.sce; SWIG_Init(); diff --git a/Examples/scilab/std_vector/std_vector_as_function_argument/runme.sci b/Examples/scilab/std_vector/std_vector_as_function_argument/runme.sci index 87535d617..b0b399a68 100644 --- a/Examples/scilab/std_vector/std_vector_as_function_argument/runme.sci +++ b/Examples/scilab/std_vector/std_vector_as_function_argument/runme.sci @@ -1,3 +1,4 @@ +lines(0); exec loader.sce; SWIG_Init(); diff --git a/Examples/scilab/struct/runme.sci b/Examples/scilab/struct/runme.sci index 3340d3ab1..904d118c6 100644 --- a/Examples/scilab/struct/runme.sci +++ b/Examples/scilab/struct/runme.sci @@ -1,5 +1,5 @@ -//loader the *.so -exec loader.sce +lines(0); +exec loader.sce; //create a struct a=new_Bar(); diff --git a/Examples/scilab/template/runme.sci b/Examples/scilab/template/runme.sci index d4d21ae09..6e5515340 100644 --- a/Examples/scilab/template/runme.sci +++ b/Examples/scilab/template/runme.sci @@ -1,3 +1,6 @@ +lines(0); +exec loader.sce; + function printShape(shape, name) printf("\nShape %s position:\n", name); printf(" (x, y) = (%f, %f)\n", ShapeDouble_x_get(shape), ShapeDouble_y_get(shape)) @@ -9,8 +12,6 @@ function printShape(shape, name) printf("\n"); endfunction -exec loader.sce; - printf("Creating some objects:\n"); c = new_CircleDouble(10); s = new_SquareDouble(10); diff --git a/Examples/scilab/variables/runme.sci b/Examples/scilab/variables/runme.sci index c84a17c37..c4451a53d 100644 --- a/Examples/scilab/variables/runme.sci +++ b/Examples/scilab/variables/runme.sci @@ -1,7 +1,5 @@ lines(0); - -//loader the *.so -exec loader.sce +exec loader.sce; // Try to set the values of some global variables ivar_set(42); diff --git a/Examples/test-suite/constructor_exception.i b/Examples/test-suite/constructor_exception.i index 4c867c144..8e08904f8 100644 --- a/Examples/test-suite/constructor_exception.i +++ b/Examples/test-suite/constructor_exception.i @@ -1,5 +1,11 @@ %module constructor_exception +#ifdef SWIGSCILAB +%inline %{ +#undef Error +%} +#endif + %inline %{ class Error { }; diff --git a/Examples/test-suite/scilab/Makefile.in b/Examples/test-suite/scilab/Makefile.in index 6f11d930f..f7a2f33af 100644 --- a/Examples/test-suite/scilab/Makefile.in +++ b/Examples/test-suite/scilab/Makefile.in @@ -15,21 +15,45 @@ top_builddir = @top_builddir@ # - member_pointer (C++) # - typemap_variables (C++) +# configure cache to speed up test run +CONF_CACHE=$(CURDIR)/test-suite.config.cache +CONFIG_SITE=$(CURDIR)/test-suite.config.site +export CONFIG_SITE + +enable_config_cache = \ + echo 'cache_file=$(CONF_CACHE)' > $(CONFIG_SITE) + +disable_config_cache: + rm -f $(CONF_CACHE) + rm -f $(CONFIG_SITE) + CONFIG_SITE= + +# need reset cache before multicpptest +reset_config_cache = \ + rm -f $(CONF_CACHE) + +# disable cache at the end of test-suite +# use trick for this: 'extra test cases' end target +EXTRA_TEST_CASES = disable_config_cache + include $(srcdir)/../common.mk # Rules for the different types of tests %.cpptest: $(setup) + $(enable_config_cache) +$(swig_and_compile_cpp) $(run_testcase) %.ctest: $(setup) + $(enable_config_cache) +$(swig_and_compile_c) $(run_testcase) %.multicpptest: $(setup) + $(reset_config_cache) +$(swig_and_compile_multi_cpp) $(run_testcase) @@ -42,7 +66,7 @@ run_testcase = \ # Clean: remove the generated files %.clean: - @rm -f builder.sce loader.sce cleaner.sce $*_wrap.c $*_wrap.cxx lib$*lib.* + @rm -f builder.sce loader.sce cleaner.sce $*_wrap.c $*_wrap.cxx lib$*lib.* $(CONFIG_SITE) $(CONF_CACHE) clean: $(MAKE) -f $(top_builddir)/$(EXAMPLES)/Makefile scilab_clean diff --git a/Examples/test-suite/throw_exception.i b/Examples/test-suite/throw_exception.i index c1ad945fb..d03e49cba 100644 --- a/Examples/test-suite/throw_exception.i +++ b/Examples/test-suite/throw_exception.i @@ -12,6 +12,12 @@ %warnfilter(SWIGWARN_PARSE_KEYWORD) Namespace; #endif +#ifdef SWIGSCILAB +%inline %{ +#undef Error +%} +#endif + // Tests SWIG's automatic exception mechanism %inline %{ diff --git a/Lib/scilab/scichar.swg b/Lib/scilab/scichar.swg index b0ca9d6f0..96e855929 100644 --- a/Lib/scilab/scichar.swg +++ b/Lib/scilab/scichar.swg @@ -102,10 +102,6 @@ SwigScilabStringToCharPtr(void *_pvApiCtx, int _iVar, char *_pcValue, int _iLeng char* pcTmpValue = NULL; int iRet; - if (_pcValue == NULL) { - return SWIG_ERROR; - } - sciErr = getVarAddressFromPosition(_pvApiCtx, _iVar, &piAddrVar); if (sciErr.iErr) { printError(&sciErr, 0); @@ -117,7 +113,10 @@ SwigScilabStringToCharPtr(void *_pvApiCtx, int _iVar, char *_pcValue, int _iLeng return SWIG_ERROR; } - strncpy(_pcValue, pcTmpValue, _iLength); + if (_pcValue != NULL) { + strncpy(_pcValue, pcTmpValue, _iLength); + } + free(pcTmpValue); return SWIG_OK; @@ -244,12 +243,12 @@ SwigScilabStringFromCharPtrArray(void *_pvApiCtx, int _iVarOut, char **_charPtrA return SWIG_ERROR; } - sciErr = createMatrixOfString(_pvApiCtx, nbInputArgument(pvApiCtx) + _iVarOut, _charPtrArraySize, 1, _charPtrArray); + sciErr = createMatrixOfString(_pvApiCtx, SWIG_NbInputArgument(pvApiCtx) + _iVarOut, _charPtrArraySize, 1, _charPtrArray); if (sciErr.iErr) { printError(&sciErr, 0); return SWIG_ERROR; } - return nbInputArgument(pvApiCtx) + _iVarOut; + return SWIG_NbInputArgument(pvApiCtx) + _iVarOut; } } diff --git a/Lib/scilab/sciint.swg b/Lib/scilab/sciint.swg index 843659dd7..f45fb8524 100644 --- a/Lib/scilab/sciint.swg +++ b/Lib/scilab/sciint.swg @@ -94,7 +94,7 @@ SWIG_From_dec(int)(int _iValue) double dblDoubleValue = (double) _iValue; int iRowsOut = 1; int iColsOut = 1; - int iVarOut = nbInputArgument(pvApiCtx) + SWIG_Scilab_GetOutputPosition(); + int iVarOut = SWIG_NbInputArgument(pvApiCtx) + SWIG_Scilab_GetOutputPosition(); sciErr = createMatrixOfDouble(pvApiCtx, iVarOut, iRowsOut, iColsOut, &dblDoubleValue); if (sciErr.iErr) diff --git a/Lib/scilab/scimatrixchar.swg b/Lib/scilab/scimatrixchar.swg index 0619270fe..bd7ad7b4a 100644 --- a/Lib/scilab/scimatrixchar.swg +++ b/Lib/scilab/scimatrixchar.swg @@ -39,7 +39,7 @@ { if (SwigScilabStringFromCharPtrArray(pvApiCtx, SWIG_Scilab_GetOutputPosition(), *$1, *$2) != SWIG_ERROR) { - AssignOutputVariable(pvApiCtx, outputPosition) = nbInputArgument(pvApiCtx) + SWIG_Scilab_GetOutputPosition(); + SWIG_Scilab_SetOutput(pvApiCtx, SWIG_NbInputArgument(pvApiCtx) + SWIG_Scilab_GetOutputPosition()); } else { @@ -73,7 +73,7 @@ { if (SwigScilabStringFromCharPtrArray(pvApiCtx, SWIG_Scilab_GetOutputPosition(), *$2, *$1) != SWIG_ERROR) { - AssignOutputVariable(pvApiCtx, outputPosition) = nbInputArgument(pvApiCtx) + SWIG_Scilab_GetOutputPosition(); + SWIG_Scilab_SetOutput(pvApiCtx, SWIG_NbInputArgument(pvApiCtx) + SWIG_Scilab_GetOutputPosition()); } else { diff --git a/Lib/scilab/scimatrixdouble.swg b/Lib/scilab/scimatrixdouble.swg index 585d10e99..c0e917c45 100644 --- a/Lib/scilab/scimatrixdouble.swg +++ b/Lib/scilab/scimatrixdouble.swg @@ -82,7 +82,7 @@ { if (SWIG_SciDouble_FromDoubleArrayAndSize(pvApiCtx, SWIG_Scilab_GetOutputPosition(), *$2, *$3, *$1) != SWIG_ERROR) { - AssignOutputVariable(pvApiCtx, outputPosition) = nbInputArgument(pvApiCtx) + SWIG_Scilab_GetOutputPosition(); + SWIG_Scilab_SetOutput(pvApiCtx, SWIG_NbInputArgument(pvApiCtx) + SWIG_Scilab_GetOutputPosition()); } else { @@ -107,7 +107,7 @@ { if (SWIG_SciDouble_FromDoubleArrayAndSize(pvApiCtx, SWIG_Scilab_GetOutputPosition(), *$1, *$2, *$3) != SWIG_ERROR) { - AssignOutputVariable(pvApiCtx, outputPosition) = nbInputArgument(pvApiCtx) + SWIG_Scilab_GetOutputPosition(); + SWIG_Scilab_SetOutput(pvApiCtx, SWIG_NbInputArgument(pvApiCtx) + SWIG_Scilab_GetOutputPosition()); } else { @@ -140,7 +140,7 @@ { if (SWIG_SciDouble_FromDoubleArrayAndSize(pvApiCtx, SWIG_Scilab_GetOutputPosition(), 1, *$2, *$1) != SWIG_ERROR) { - AssignOutputVariable(pvApiCtx, outputPosition) = nbInputArgument(pvApiCtx) + SWIG_Scilab_GetOutputPosition(); + SWIG_Scilab_SetOutput(pvApiCtx, SWIG_NbInputArgument(pvApiCtx) + SWIG_Scilab_GetOutputPosition()); } else { @@ -172,7 +172,7 @@ { if (SWIG_SciDouble_FromDoubleArrayAndSize(pvApiCtx, SWIG_Scilab_GetOutputPosition(), 1, *$1, *$2) != SWIG_ERROR) { - AssignOutputVariable(pvApiCtx, outputPosition) = nbInputArgument(pvApiCtx) + SWIG_Scilab_GetOutputPosition(); + SWIG_Scilab_SetOutput(pvApiCtx, SWIG_NbInputArgument(pvApiCtx) + SWIG_Scilab_GetOutputPosition()); } else { diff --git a/Lib/scilab/scimatrixint.swg b/Lib/scilab/scimatrixint.swg index 11ffa9364..66ac8bc04 100644 --- a/Lib/scilab/scimatrixint.swg +++ b/Lib/scilab/scimatrixint.swg @@ -77,7 +77,7 @@ { if (SWIG_SciInt32_FromIntArrayAndSize(pvApiCtx, SWIG_Scilab_GetOutputPosition(), *$2, *$3, *$1) != SWIG_ERROR) { - AssignOutputVariable(pvApiCtx, outputPosition) = nbInputArgument(pvApiCtx) + SWIG_Scilab_GetOutputPosition(); + SWIG_Scilab_SetOutput(pvApiCtx, SWIG_NbInputArgument(pvApiCtx) + SWIG_Scilab_GetOutputPosition()); } else { @@ -111,7 +111,7 @@ { if (SWIG_SciInt32_FromIntArrayAndSize(pvApiCtx, SWIG_Scilab_GetOutputPosition(), *$1, *$2, *$3) != SWIG_ERROR) { - AssignOutputVariable(pvApiCtx, outputPosition) = nbInputArgument(pvApiCtx) + SWIG_Scilab_GetOutputPosition(); + SWIG_Scilab_SetOutput(pvApiCtx, SWIG_NbInputArgument(pvApiCtx) + SWIG_Scilab_GetOutputPosition()); } else { @@ -144,7 +144,7 @@ { if (SWIG_SciInt32_FromIntArrayAndSize(pvApiCtx, SWIG_Scilab_GetOutputPosition(), 1, *$2, *$1) != SWIG_ERROR) { - AssignOutputVariable(pvApiCtx, outputPosition) = nbInputArgument(pvApiCtx) + SWIG_Scilab_GetOutputPosition(); + SWIG_Scilab_SetOutput(pvApiCtx, SWIG_NbInputArgument(pvApiCtx) + SWIG_Scilab_GetOutputPosition()); } else { @@ -176,7 +176,7 @@ { if (SWIG_SciInt32_FromIntArrayAndSize(pvApiCtx, SWIG_Scilab_GetOutputPosition(), 1, *$1, *$2) != SWIG_ERROR) { - AssignOutputVariable(pvApiCtx, outputPosition) = nbInputArgument(pvApiCtx) + SWIG_Scilab_GetOutputPosition(); + SWIG_Scilab_SetOutput(pvApiCtx, SWIG_NbInputArgument(pvApiCtx) + SWIG_Scilab_GetOutputPosition()); } else { diff --git a/Lib/scilab/sciprimtypes.swg b/Lib/scilab/sciprimtypes.swg index 1d3dce136..c9f45009f 100644 --- a/Lib/scilab/sciprimtypes.swg +++ b/Lib/scilab/sciprimtypes.swg @@ -38,12 +38,12 @@ SWIGINTERN int SwigScilabInt32FromEnum(void *_pvApiCtx, int _iVarOut, int _enumValue) { int iRet; - iRet = createScalarInteger32(pvApiCtx, nbInputArgument(pvApiCtx) + _iVarOut, _enumValue); + iRet = createScalarInteger32(pvApiCtx, SWIG_NbInputArgument(pvApiCtx) + _iVarOut, _enumValue); if (iRet) { return SWIG_ERROR; } - AssignOutputVariable(pvApiCtx, _iVarOut) = nbInputArgument(pvApiCtx) + _iVarOut; + SWIG_Scilab_SetOutput(pvApiCtx, SWIG_NbInputArgument(pvApiCtx) + _iVarOut); return SWIG_OK; } } diff --git a/Lib/scilab/sciruntime.swg b/Lib/scilab/sciruntime.swg index ee6c9e792..e8b52b12b 100644 --- a/Lib/scilab/sciruntime.swg +++ b/Lib/scilab/sciruntime.swg @@ -66,7 +66,10 @@ SWIG_Scilab_ErrorMsg(int code, const char *mesg) sciprint(_("SWIG/Scilab Error : %s\n%s"),SWIG_Scilab_ErrorType(code),mesg); } - +#define SCILAB_VERSION_54_OR_HIGHER (SCI_VERSION_MAJOR > 5) || ((SCI_VERSION_MAJOR == 5) && (SCI_VERSION_MINOR >= 4)) +#if !SCILAB_VERSION_54_OR_HIGHER +#include "stack-c.h" +#endif #define SWIG_fail return SWIG_ERROR; #define SWIG_ErrorType(code) SWIG_Scilab_ErrorType(code) @@ -75,6 +78,20 @@ SWIG_Scilab_ErrorMsg(int code, const char *mesg) /* Used for C++ enums */ //#define SWIG_AsVal_int(scilabValue, valuePointer) SWIG_SciDouble_AsInt(pvApiCtx, scilabValue, valuePointer, fname) + +#if SCILAB_VERSION_54_OR_HIGHER +#define SWIG_CheckInputArgument(pvApiCtx, minInputArgument, maxInputArgument) CheckInputArgument(pvApiCtx, minInputArgument, maxInputArgument) +#define SWIG_CheckOutputArgument(pvApiCtx, minOutputArgument, maxOutputArgument) CheckOutputArgument(pvApiCtx, minOutputArgument, maxOutputArgument) +#define SWIG_NbInputArgument(pvApiCtx) nbInputArgument(pvApiCtx) + +#else + +#define SWIG_CheckInputArgument(pvApiCtx, minInputArgument, maxInputArgument) CheckRhs(minInputArgument, maxInputArgument) +#define SWIG_CheckOutputArgument(pvApiCtx, minOutputArgument, maxOutputArgument) CheckLhs(minOutputArgument, maxOutputArgument) +#define SWIG_NbInputArgument(pvApiCtx) Rhs +#endif + + SWIGINTERN int SwigScilabPtrToObject(void *_pvApiCtx, int _iVar, void **_pObjValue, swig_type_info *_descriptor, int _flags, char *_fname) { SciErr sciErr; @@ -214,7 +231,11 @@ SWIG_Scilab_SetOutput(void *_pvApiCtx, SciObject _output) { if (outputPosition < 0 || _output < 0) { return SWIG_ERROR; } - AssignOutputVariable(_pvApiCtx, outputPosition) = _output; + #if SCILAB_VERSION_54_OR_HIGHER + AssignOutputVariable(pvApiCtx, outputPosition) = _output; + #else + LhsVar(outputPosition) = _output; + #endif return SWIG_OK; } diff --git a/Lib/scilab/scisequencepointer.swg b/Lib/scilab/scisequencepointer.swg index 332b5fb7e..26c71bc8a 100644 --- a/Lib/scilab/scisequencepointer.swg +++ b/Lib/scilab/scisequencepointer.swg @@ -49,7 +49,7 @@ SWIG_FromSet_Sequence_dec(ptr)(int _size, long long *_sequence) { SciErr sciErr; int *piListAddr; - int iVarOut = nbInputArgument(pvApiCtx) + SWIG_Scilab_GetOutputPosition(); + int iVarOut = SWIG_NbInputArgument(pvApiCtx) + SWIG_Scilab_GetOutputPosition(); sciErr = createList(pvApiCtx, iVarOut, _size, &piListAddr); if (sciErr.iErr) diff --git a/Makefile.in b/Makefile.in index ed707d0f8..6614078f6 100644 --- a/Makefile.in +++ b/Makefile.in @@ -149,7 +149,7 @@ check-versions: \ check-uffi-version \ check-cffi-version \ check-r-version \ - check-scilab-version \ + check-scilab-version \ check-go-version \ check-d-version @@ -471,7 +471,7 @@ lib-languages = gcj typemaps tcl perl5 python guile java mzscheme ruby php ocaml lib-modules = std -install-lib: +install-lib: @echo "Installing the SWIG library" @$(MKINSTDIRS) $(DESTDIR)$(SWIG_LIB) @for file in $(srcdir)/Lib/*.i $(srcdir)/Lib/*.swg ; do \ diff --git a/Source/Modules/scilab.cxx b/Source/Modules/scilab.cxx index c290e5b04..7ec5849eb 100644 --- a/Source/Modules/scilab.cxx +++ b/Source/Modules/scilab.cxx @@ -285,9 +285,10 @@ public: int minInputArguments = emit_num_required(functionParamsList); int minOutputArguments = 0; int maxOutputArguments = 0; + /* Insert calls to CheckInputArgument and CheckOutputArgument */ - Printf(wrapper->code, "CheckInputArgument(pvApiCtx, $mininputarguments, $maxinputarguments);\n"); - Printf(wrapper->code, "CheckOutputArgument(pvApiCtx, $minoutputarguments, $maxoutputarguments);\n"); + Printf(wrapper->code, "SWIG_CheckInputArgument(pvApiCtx, $mininputarguments, $maxinputarguments);\n"); + Printf(wrapper->code, "SWIG_CheckOutputArgument(pvApiCtx, $minoutputarguments, $maxoutputarguments);\n"); Printf(wrapper->code, "SWIG_Scilab_SetFname(fname);\n"); for (paramIndex = 0, param = functionParamsList; paramIndex < maxInputArguments; ++paramIndex) { @@ -314,7 +315,7 @@ public: } if (paramIndex >= minInputArguments) { /* Optional input argument management */ - Printf(wrapper->code, "if (Rhs > %d) {\n%s\n}\n", paramIndex, paramTypemap); + Printf(wrapper->code, "if (SWIG_NbInputArgument(pvApiCtx) > %d) {\n%s\n}\n", paramIndex, paramTypemap); } else { Printf(wrapper->code, "%s\n", paramTypemap); } @@ -461,7 +462,7 @@ public: Printv(wrapper->def, "int ", wrapperName, " (char *fname, unsigned long fname_len) {\n", NIL); /* Get the number of the parameters */ - Wrapper_add_local(wrapper, "argc", "int argc = Rhs"); + Wrapper_add_local(wrapper, "argc", "int argc = SWIG_NbInputArgument(pvApiCtx)"); Printf(tmp, "int argv[%d] = {", maxargs); for (int j = 0; j < maxargs; ++j) { Printf(tmp, "%s%d", j ? "," : " ", j + 1); @@ -499,8 +500,8 @@ public: Printv(getFunctionWrapper->def, "int ", getFunctionName, "(char *fname, unsigned long fname_len) {\n", NIL); /* Check the number of input and output */ - Printf(getFunctionWrapper->def, "CheckInputArgument(pvApiCtx, 0, 0);\n"); - Printf(getFunctionWrapper->def, "CheckOutputArgument(pvApiCtx, 1, 1);\n"); + Printf(getFunctionWrapper->def, "SWIG_CheckInputArgument(pvApiCtx, 0, 0);\n"); + Printf(getFunctionWrapper->def, "SWIG_CheckOutputArgument(pvApiCtx, 1, 1);\n"); String *varoutTypemap = Swig_typemap_lookup("varout", node, origVariableName, 0); if (varoutTypemap != NULL) { @@ -526,8 +527,8 @@ public: Printv(setFunctionWrapper->def, "int ", setFunctionName, "(char *fname, unsigned long fname_len) {\n", NIL); /* Check the number of input and output */ - Printf(setFunctionWrapper->def, "CheckInputArgument(pvApiCtx, 1, 1);\n"); - Printf(setFunctionWrapper->def, "CheckOutputArgument(pvApiCtx, 1, 1);\n"); + Printf(setFunctionWrapper->def, "SWIG_CheckInputArgument(pvApiCtx, 1, 1);\n"); + Printf(setFunctionWrapper->def, "SWIG_CheckOutputArgument(pvApiCtx, 1, 1);\n"); String *varinTypemap = Swig_typemap_lookup("varin", node, origVariableName, 0); if (varinTypemap != NULL) { @@ -575,8 +576,8 @@ public: Printv(getFunctionWrapper->def, "int ", getFunctionName, "(char *fname, unsigned long fname_len) {\n", NIL); /* Check the number of input and output */ - Printf(getFunctionWrapper->def, "CheckInputArgument(pvApiCtx, 0, 0);\n"); - Printf(getFunctionWrapper->def, "CheckOutputArgument(pvApiCtx, 1, 1);\n"); + Printf(getFunctionWrapper->def, "SWIG_CheckInputArgument(pvApiCtx, 0, 0);\n"); + Printf(getFunctionWrapper->def, "SWIG_CheckOutputArgument(pvApiCtx, 1, 1);\n"); constantTypemap = Swig_typemap_lookup("constcode", node, nodeName, 0); if (constantTypemap != NULL) { diff --git a/configure.ac b/configure.ac index 25df0c37f..8e1419a36 100644 --- a/configure.ac +++ b/configure.ac @@ -47,7 +47,7 @@ AC_LANG_POP([C++]) dnl Look for popen AC_ARG_WITH(popen, AS_HELP_STRING([--without-popen], [Disable popen]), with_popen="$withval") -if test x"${with_popen}" = xno ; then +if test x"${with_popen}" = xno ; then AC_MSG_NOTICE([Disabling popen]) else AC_CHECK_FUNC(popen, AC_DEFINE(HAVE_POPEN, 1, [Define if popen is available]), AC_MSG_NOTICE([Disabling popen])) @@ -69,7 +69,7 @@ AC_MSG_CHECKING([whether to enable PCRE support]) AC_MSG_RESULT([$with_pcre]) dnl To make configuring easier, check for a locally built PCRE using the Tools/pcre-build.sh script -if test x"${with_pcre}" = xyes ; then +if test x"${with_pcre}" = xyes ; then AC_MSG_CHECKING([whether to use local PCRE]) local_pcre_config=no if test -z $PCRE_CONFIG; then @@ -513,7 +513,7 @@ AC_ARG_WITH(tcllib,[ --with-tcllib=path Set location of Tcl library direct TCLLIB="-L$withval"], [TCLLIB=]) # First, check for "--without-tcl" or "--with-tcl=no". -if test x"${TCLPACKAGE}" = xno -o x"${with_alllang}" = xno; then +if test x"${TCLPACKAGE}" = xno -o x"${with_alllang}" = xno; then AC_MSG_NOTICE([Disabling Tcl]) else AC_MSG_CHECKING([for Tcl configuration]) @@ -606,7 +606,7 @@ case $host in esac case $host in -*-*-darwin*) +*-*-darwin*) TCLLDSHARED='$(CC) -dynamiclib -undefined suppress -flat_namespace' TCLCXXSHARED='$(CXX) -dynamiclib -undefined suppress -flat_namespace' ;; @@ -636,7 +636,7 @@ AC_ARG_WITH(python, AS_HELP_STRING([--without-python], [Disable Python]) AS_HELP_STRING([--with-python=path], [Set location of Python executable]),[ PYBIN="$withval"], [PYBIN=yes]) # First, check for "--without-python" or "--with-python=no". -if test x"${PYBIN}" = xno -o x"${with_alllang}" = xno ; then +if test x"${PYBIN}" = xno -o x"${with_alllang}" = xno ; then AC_MSG_NOTICE([Disabling Python]) else # First figure out the name of the Python executable @@ -671,10 +671,10 @@ else PYLIBDIR=`($PYTHON -c "import sys; print sys.lib") 2>/dev/null` if test -z "$PYLIBDIR"; then # Fedora patch Python to add sys.lib, for other distros we assume "lib". - PYLIBDIR="lib" + PYLIBDIR="lib" fi AC_MSG_RESULT($PYLIBDIR) - + # Set the include directory AC_MSG_CHECKING(for Python header files) @@ -737,7 +737,7 @@ AC_ARG_WITH(python3, AS_HELP_STRING([--without-python3], [Disable Python 3.x sup AS_HELP_STRING([--with-python3=path], [Set location of Python 3.x executable]),[ PY3BIN="$withval"], [PY3BIN=yes]) # First, check for "--without-python3" or "--with-python3=no". -if test x"${PY3BIN}" = xno -o x"${with_alllang}" = xno ; then +if test x"${PY3BIN}" = xno -o x"${with_alllang}" = xno ; then AC_MSG_NOTICE([Disabling Python 3.x support]) else for py_ver in 3 3.6 3.5 3.4 3.3 3.2 3.1 3.0; do @@ -760,7 +760,7 @@ else # Note: I could not think of a standard way to get the version string from different versions. # This trick pulls it out of the file location for a standard library file. - + AC_MSG_CHECKING([for Python 3.x version]) # Need to do this hack since autoconf replaces __file__ with the name of the configure file @@ -774,10 +774,10 @@ else PY3LIBDIR=`($PYTHON3 -c "import sys; print(sys.lib)") 2>/dev/null` if test -z "$PY3LIBDIR"; then # some dists don't have sys.lib so the best we can do is assume lib - PY3LIBDIR="lib" + PY3LIBDIR="lib" fi AC_MSG_RESULT($PY3LIBDIR) - + # Set the include directory AC_MSG_CHECKING([for Python 3.x header files]) @@ -828,7 +828,7 @@ AC_ARG_WITH(perl5, AS_HELP_STRING([--without-perl5], [Disable Perl5]) AS_HELP_STRING([--with-perl5=path], [Set location of Perl5 executable]),[ PERLBIN="$withval"], [PERLBIN=yes]) # First, check for "--without-perl5" or "--with-perl5=no". -if test x"${PERLBIN}" = xno -o x"${with_alllang}" = xno ; then +if test x"${PERLBIN}" = xno -o x"${with_alllang}" = xno ; then AC_MSG_NOTICE([Disabling Perl5]) PERL= else @@ -932,7 +932,7 @@ AC_ARG_WITH(octave, AS_HELP_STRING([--without-octave], [Disable Octave]) AS_HELP_STRING([--with-octave=path], [Set location of Octave executable]),[OCTAVEBIN="$withval"], [OCTAVEBIN=yes]) # First, check for "--without-octave" or "--with-octave=no". -if test x"${OCTAVEBIN}" = xno -o x"${with_alllang}" = xno ; then +if test x"${OCTAVEBIN}" = xno -o x"${with_alllang}" = xno ; then AC_MSG_NOTICE([Disabling Octave]) OCTAVE= @@ -986,70 +986,83 @@ AC_SUBST(OCTAVE_LDFLAGS) SCILABBIN= SCILABDYNAMICLINKING= - AC_ARG_WITH(scilab, AS_HELP_STRING([--without-scilab], [Disable Scilab]) AS_HELP_STRING([--with-scilab=path], [Set location of Scilab executable]),[SCILABBIN="$withval"], [SCILABBIN=yes]) AC_ARG_WITH(scilabincl,[ --with-scilabincl=path Set location of Scilab include directory],[SCILABINCDIR="$withval"], [SCILABINCDIR="/usr/include"]) # First, check for "--without-scilab" or "--with-scilab=no". -if test x"${SCILABBIN}" = xno -o x"${with_alllang}" = xno ; then +if test x"${SCILABBIN}" = xno -o x"${with_alllang}" = xno ; then AC_MSG_NOTICE([Disabling Scilab]) SCILAB= else -# Check Scilab executable -AC_MSG_CHECKING(for Scilab executable) +# Check for Scilab executable if test "x$SCILABBIN" = xyes; then - AC_CHECK_PROGS(SCILAB, scilab) + AC_CHECK_PROGS(SCILAB, scilab) else - SCILAB="$SCILABBIN" -fi - -if test -n "$SCILAB"; then - AC_MSG_RESULT([$SCILAB found]) -else - AC_MSG_RESULT([$SCILAB not found]) -fi - -# Check Scilab header files -AC_MSG_CHECKING(for Scilab header files) -if test "$SCILABINCDIR" != ""; then - dirs="$SCILABINCDIR" - SCILABEXT="" - for i in $dirs; do - if test -r $i/scilab/api_scilab.h; then - SCILABEXT="$i" - break; - fi - if test -r $i/scilab/scilab/api_scilab.h; then - SCILABEXT="$i/scilab" - break; - fi - done - if test "$SCILABEXT" = "" ; then - AC_MSG_RESULT(not found) - else - AC_MSG_RESULT($SCILABEXT) - fi -fi - -# Get Scilab version -AC_MSG_CHECKING(for Scilab version) -SCILABVERSION=`$SCILAB -version|sed -e 's|Scilab version \"\(.*\)\"|\1|g'|head -1` -AC_MSG_RESULT($SCILABVERSION) -SCILAB_MAJOR_VERSION=`echo $SCILABVERSION | cut -d. -f1` -SCILAB_MINOR_VERSION=`echo $SCILAB_VERSION | cut -d. -f2` - -# Set Scilab startup options depending on version -AC_MSG_CHECKING(for Scilab startup options) -SCILABSTARTOPT="-nwni -nb" -if test "$SCILAB_MAJOR_VERSION" -ge 5 ; then - if test "$SCILAB_MINOR_VERSION" -ge 4 ; then - SCILABSTARTOPT+=" -noatomsautoload" + AC_MSG_CHECKING(for scilab) + if test -f "$SCILABBIN"; then + AC_MSG_RESULT($SCILABBIN) + SCILAB="$SCILABBIN" + else + AC_MSG_RESULT(not found) fi fi -AC_MSG_RESULT($SCILABSTARTOPT) + + +if test -n "$SCILAB"; then + # Check for Scilab version (needs api_scilab so needs version 5.2 or higher) + SCILAB_FULL_VERSION=`$SCILAB -version|head -1|sed -e 's|Scilab version \"\(.*\)\"|\1|g'` + AC_MSG_NOTICE([Scilab version: $SCILAB_FULL_VERSION]) + + AC_MSG_CHECKING(for Scilab version is 5.2 or higher) + SCILAB_MAJOR_VERSION=`echo $SCILAB_FULL_VERSION | cut -d. -f1` + SCILAB_MINOR_VERSION=`echo $SCILAB_FULL_VERSION | cut -d. -f2` + SCILAB_VERSION="$SCILAB_MAJOR_VERSION$SCILAB_MINOR_VERSION" + + if test $SCILAB_VERSION -ge 52; then + AC_MSG_RESULT(yes) + else + AC_MSG_RESULT(no) + fi + + # Set Scilab startup options depending on version + AC_MSG_CHECKING(for Scilab startup options) + SCILABSTARTOPT="-nwni -nb" + if test $SCILAB_VERSION -ge 54; then + SCILABSTARTOPT+=" -noatomsautoload" + fi + AC_MSG_RESULT($SCILABSTARTOPT) +fi + + +# Check for Scilab header files +AC_MSG_CHECKING(for Scilab header files) +if test "$SCILABINCDIR" != ""; then + dirs="$SCILABINCDIR" + SCILABEXT="" + for i in $dirs; do + if test -r $i/scilab/api_scilab.h; then + SCILABEXT="$i" + break; + fi + if test -r $i/scilab/scilab/api_scilab.h; then + SCILABEXT="$i/scilab" + break; + fi + done + if test "$SCILABEXT" = "" ; then + AC_MSG_RESULT(not found) + else + AC_MSG_RESULT($SCILABEXT) + fi + + AC_MSG_CHECKING(for Scilab compiler options) + SCILABCCFLAGS="" + AC_MSG_RESULT($SCILABCCFLAGS) +fi + fi @@ -1059,7 +1072,7 @@ AC_SUBST(SCILABDYNAMICLINKING) AC_SUBST(SCILABLIB) AC_SUBST(SCILABCCFLAGS) AC_SUBST(SCILABSTARTOPT) -AC_SUBST(SCILABVERSION) + #---------------------------------------------------------------- # Look for java @@ -1070,7 +1083,7 @@ AS_HELP_STRING([--with-java=path], [Set location of java executable]),[JAVABIN=" AC_ARG_WITH(javac, [ --with-javac=path Set location of javac executable],[JAVACBIN="$withval"], [JAVACBIN=]) # First, check for "--without-java" or "--with-java=no". -if test x"${JAVABIN}" = xno -o x"${with_alllang}" = xno ; then +if test x"${JAVABIN}" = xno -o x"${with_alllang}" = xno ; then AC_MSG_NOTICE([Disabling Java]) JAVA= else @@ -1136,7 +1149,7 @@ case $host in JAVADYNAMICLINKING="" JAVACFLAGS="" fi ;; -*-*-darwin*) +*-*-darwin*) JAVADYNAMICLINKING="-dynamiclib -framework JavaVM" JAVACFLAGS="" ;; @@ -1154,7 +1167,7 @@ esac # Java on Mac OS X tweaks case $host in -*-*-darwin*) +*-*-darwin*) JAVASO=".jnilib" JAVALDSHARED='$(CC)' JAVACXXSHARED='$(CXX)' @@ -1186,7 +1199,7 @@ AS_HELP_STRING([--with-gcj=path], [Set location of gcj executable]),[GCJBIN="$wi AC_ARG_WITH(gcjh, [ --with-gcjh=path Set location of gcjh executable],[GCJHBIN="$withval"], [GCJHBIN=]) # First, check for "--without-gcj" or "--with-gcj=no". -if test x"${GCJBIN}" = xno -o x"${with_alllang}" = xno ; then +if test x"${GCJBIN}" = xno -o x"${with_alllang}" = xno ; then AC_MSG_NOTICE([Disabling GCJ]) else if test "x$GCJBIN" = xyes; then @@ -1216,7 +1229,7 @@ AC_ARG_WITH(ant, [ --with-ant=path Set location of ant executable for And AC_ARG_WITH(ndk-build, [ --with-ndk-build=path Set location of Android ndk-build executable],[NDKBUILDBIN="$withval"], [NDKBUILDBIN=]) # First, check for "--without-android" or "--with-android=no". -if test x"${ANDROIDBIN}" = xno -o x"${with_alllang}" = xno ; then +if test x"${ANDROIDBIN}" = xno -o x"${with_alllang}" = xno ; then AC_MSG_NOTICE([Disabling Android]) ANDROID= else @@ -1268,7 +1281,7 @@ AC_ARG_WITH(guile-libs,[ --with-guile-libs=ldflags Set ldflags needed to lin GUILE_LIBS="$withval"]) # First, check for "--without-guile" or "--with-guile=no". -if test x"${GUILE}" = xno -o x"${with_alllang}" = xno ; then +if test x"${GUILE}" = xno -o x"${with_alllang}" = xno ; then AC_MSG_NOTICE([Disabling Guile]) else if test -z "$GUILE_CONFIG" ; then @@ -1325,7 +1338,7 @@ AS_HELP_STRING([--with-mzscheme=path], [Set location of MzScheme executable]),[ AC_ARG_WITH(mzc, AS_HELP_STRING([--with-mzc=path], [Set location of MzScheme's mzc]), [ MZCBIN="$withval"], [MZCBIN=]) # First, check for "--without-mzscheme" or "--with-mzscheme=no". -if test x"${MZSCHEMEBIN}" = xno -o x"${with_alllang}" = xno ; then +if test x"${MZSCHEMEBIN}" = xno -o x"${with_alllang}" = xno ; then AC_MSG_NOTICE([Disabling MzScheme]) MZC= else @@ -1334,13 +1347,13 @@ else else MZSCHEME="$MZSCHEMEBIN" fi - + if test -z "$MZCBIN"; then AC_PATH_PROG(MZC, mzc) fi if test -n "$MZSCHEME"; then - AC_MSG_CHECKING(for MzScheme dynext object) + AC_MSG_CHECKING(for MzScheme dynext object) MZDYNOBJ=`$MZSCHEME --eval '(begin (require dynext/link) (with-handlers (((lambda args #t) (lambda args #f))) (for-each (lambda (x) (printf "~a" x)) (expand-for-link-variant (current-standard-link-libraries)))))' 2>/dev/null` if test -f "$MZDYNOBJ"; then : @@ -1368,7 +1381,7 @@ AC_ARG_WITH(ruby, AS_HELP_STRING([--without-ruby], [Disable Ruby]) AS_HELP_STRING([--with-ruby=path], [Set location of Ruby executable]),[ RUBYBIN="$withval"], [RUBYBIN=yes]) # First, check for "--without-ruby" or "--with-ruby=no". -if test x"${RUBYBIN}" = xno -o x"${with_alllang}" = xno ; then +if test x"${RUBYBIN}" = xno -o x"${with_alllang}" = xno ; then AC_MSG_NOTICE([Disabling Ruby]) RUBY= else @@ -1427,10 +1440,10 @@ if test -n "$RUBY"; then else # 1.6.x link = "-l" + c[["RUBY_INSTALL_NAME"]] end - + # Get the target Ruby was built for target = c[["target"]] - + if target == "i386-pc-mswin32" # Need to change msvcrt-ruby*.lib to -lmsvcrt-ruby* ext = File.extname(link) @@ -1498,7 +1511,7 @@ AC_ARG_WITH(php, AS_HELP_STRING([--without-php], [Disable PHP]) AS_HELP_STRING([--with-php=path], [Set location of PHP executable]),[ PHPBIN="$withval"], [PHPBIN=yes]) # First, check for "--without-php" or "--with-php=no". -if test x"${PHPBIN}" = xno -o x"${with_alllang}" = xno ; then +if test x"${PHPBIN}" = xno -o x"${with_alllang}" = xno ; then AC_MSG_NOTICE([Disabling PHP]) PHP= else @@ -1519,7 +1532,7 @@ else esac php_version=`$PHPCONFIG --version 2>/dev/null` case $php_version in - 5*) + 5*) PHPINC=`$PHPCONFIG --includes 2>/dev/null` if test -n "$PHPINC"; then AC_MSG_RESULT($PHPINC) @@ -1546,7 +1559,7 @@ AC_ARG_WITH(ocamlfind,[ --with-ocamlfind=path Set location of ocamlfind],[OCA AC_ARG_WITH(ocamlmktop,[ --with-ocamlmktop=path Set location of ocamlmktop executable],[ OCAMLMKTOP="$withval"], [OCAMLMKTOP=]) # First, check for "--without-ocaml" or "--with-ocaml=no". -if test x"${OCAMLBIN}" = xno -o x"${with_alllang}" = xno ; then +if test x"${OCAMLBIN}" = xno -o x"${with_alllang}" = xno ; then AC_MSG_NOTICE([Disabling OCaml]) OCAMLBIN= else @@ -1632,7 +1645,7 @@ AC_ARG_WITH(pike, AS_HELP_STRING([--without-pike], [Disable Pike]) AS_HELP_STRING([--with-pike=path], [Set location of Pike executable]),[PIKEBIN="$withval"], [PIKEBIN=yes]) # First, check for "--without-pike" or "--with-pike=no". -if test x"${PIKEBIN}" = xno -o x"${with_alllang}" = xno ; then +if test x"${PIKEBIN}" = xno -o x"${with_alllang}" = xno ; then AC_MSG_NOTICE([Disabling Pike]) PIKEBIN= else @@ -1646,7 +1659,7 @@ fi # Check for pike-config # Priority: configure option, guessed from $PIKE, search from list -AC_ARG_WITH(pike-config, AS_HELP_STRING([--with-pike-config=path], +AC_ARG_WITH(pike-config, AS_HELP_STRING([--with-pike-config=path], [Set location of pike-config script]), [PIKECONFIG="$withval"], [PIKECONFIG=""]) @@ -1657,7 +1670,7 @@ fi # Check for a --with-pikeincl option to configure # Priority: configure option, info from $PIKECONFIG, guessed by pike script -AC_ARG_WITH(pikeincl, AS_HELP_STRING([--with-pikeincl=path], +AC_ARG_WITH(pikeincl, AS_HELP_STRING([--with-pikeincl=path], [Set location of Pike include directory]), [PIKEINCLUDE="-I$withval"], [PIKEINCLUDE=]) @@ -1702,7 +1715,7 @@ AC_ARG_WITH(chicken, AS_HELP_STRING([--without-chicken], [Disable CHICKEN]) AS_HELP_STRING([--with-chicken=path], [Set location of CHICKEN executable]),[ CHICKENBIN="$withval"], [CHICKENBIN=yes]) # First, check for "--without-chicken" or "--with-chicken=no". -if test x"${CHICKENBIN}" = xno -o x"${with_alllang}" = xno ; then +if test x"${CHICKENBIN}" = xno -o x"${with_alllang}" = xno ; then AC_MSG_NOTICE([Disabling CHICKEN]) else @@ -1798,7 +1811,7 @@ AC_ARG_WITH(cil-interpreter, [ --with-cil-interpreter=path Set location of AC_ARG_WITH(csharp-compiler, [ --with-csharp-compiler=path Set location of CSharp compiler],[CSHARPCOMPILERBIN="$withval"], [CSHARPCOMPILERBIN=]) # First, check for "--without-csharp" or "--with-csharp=no". -if test x"${with_csharp}" = xno -o x"${with_alllang}" = xno ; then +if test x"${with_csharp}" = xno -o x"${with_alllang}" = xno ; then AC_MSG_NOTICE([Disabling CSharp]) CSHARPCOMPILER= else @@ -1851,7 +1864,7 @@ if test -z "$CSHARPBIN" ; then if test "mcs" = "$CSHARPCOMPILER" || test "gmcs" = "$CSHARPCOMPILER"; then AC_CHECK_PROGS(CSHARPCILINTERPRETER, mono) # Mono JIT CSHARPCILINTERPRETER_FLAGS="--debug" - else + else if test "csc" = "$CSHARPCOMPILER"; then CSHARPPATHSEPARATOR="\\\\" CSHARPCYGPATH_W='cygpath -w' @@ -1926,7 +1939,7 @@ AC_ARG_WITH(lualib,[ --with-lualib=path Set location of Lua library direct LUALIB="$withval"], [LUALIB=]) # First, check for "--without-lua" or "--with-lua=no". -if test x"${LUABIN}" = xno -o x"${with_alllang}" = xno ; then +if test x"${LUABIN}" = xno -o x"${with_alllang}" = xno ; then AC_MSG_NOTICE([Disabling Lua]) else @@ -1967,8 +1980,8 @@ if test "$LUABIN"; then else LUADYNAMICLOADLIB=`$LUABIN -e '_,_,c=package.loadlib("no_such_lib","") if c~="absent" then print "1" end'` fi - - if test -z "$LUADYNAMICLOADLIB"; then + + if test -z "$LUADYNAMICLOADLIB"; then AC_MSG_RESULT(no) else AC_MSG_RESULT(yes) @@ -2008,7 +2021,7 @@ fi # look for the library files & set LUALINK accordingly # will clear LUABIN if not present lua_save_LIBS=$LIBS # the code seems to disrupt LIBS, so saving - + if test -n "$LUALIB"; then AC_CHECK_FILE($LUALIB/liblua.a,[LUALINK="-L$LUALIB -llua"],[LUABIN=]) else @@ -2039,7 +2052,7 @@ AC_ARG_WITH(allegrocl, AS_HELP_STRING([--without-allegrocl], [Disable Allegro CL AS_HELP_STRING([--with-allegrocl=path], [Set location of Allegro CL executable (alisp)]),[ ALLEGROCLBIN="$withval"], [ALLEGROCLBIN=yes]) # First, check for "--without-allegrocl" or "--with-allegrocl=no". -if test x"${ALLEGROCLBIN}" = xno -o x"${with_alllang}" = xno ; then +if test x"${ALLEGROCLBIN}" = xno -o x"${with_alllang}" = xno ; then AC_MSG_NOTICE([Disabling Allegro CL]) ALLEGROCLBIN= else @@ -2062,7 +2075,7 @@ AC_ARG_WITH(clisp, AS_HELP_STRING([--without-clisp], [Disable CLISP]) AS_HELP_STRING([--with-clisp=path], [Set location of CLISP executable (clisp)]),[ CLISPBIN="$withval"], [CLISPBIN=yes]) # First, check for "--without-clisp" or "--with-clisp=no". -if test x"${CLISPBIN}" = xno -o x"${with_alllang}" = xno ; then +if test x"${CLISPBIN}" = xno -o x"${with_alllang}" = xno ; then AC_MSG_NOTICE([Disabling CLISP]) CLISPBIN= else @@ -2085,7 +2098,7 @@ AC_ARG_WITH(r, AS_HELP_STRING([--without-r], [Disable R]) AS_HELP_STRING([--with-r=path], [Set location of R executable (r)]),[ RBIN="$withval"], [RBIN=yes]) # First, check for "--without-r" or "--with-r=no". -if test x"${RBIN}" = xno -o x"${with_alllang}" = xno ; then +if test x"${RBIN}" = xno -o x"${with_alllang}" = xno ; then AC_MSG_NOTICE([Disabling R]) RBIN= else @@ -2105,7 +2118,7 @@ AC_SUBST(RBIN) AC_ARG_WITH(go, AS_HELP_STRING([--without-go], [Disable Go]) AS_HELP_STRING([--with-go=path], [Set location of Go compiler]),[GOBIN="$withval"], [GOBIN=yes]) -if test x"${GOBIN}" = xno -o x"${with_alllang}" = xno ; then +if test x"${GOBIN}" = xno -o x"${with_alllang}" = xno ; then AC_MSG_NOTICE([Disabling Go]) GO= GOC=