summaryrefslogtreecommitdiff
path: root/modules/functions/sci_gateway
diff options
context:
space:
mode:
Diffstat (limited to 'modules/functions/sci_gateway')
-rwxr-xr-xmodules/functions/sci_gateway/c/.deps/.dirstamp0
-rwxr-xr-xmodules/functions/sci_gateway/c/.deps/libscifunctions_la-gw_functions.Plo285
-rwxr-xr-xmodules/functions/sci_gateway/c/.deps/libscifunctions_la-sci_deff.Plo11
-rwxr-xr-xmodules/functions/sci_gateway/c/.deps/libscifunctions_la-sci_exec.Plo301
-rwxr-xr-xmodules/functions/sci_gateway/c/.deps/libscifunctions_la-sci_execstr.Plo302
-rwxr-xr-xmodules/functions/sci_gateway/c/.deps/libscifunctions_la-sci_lib.Plo307
-rwxr-xr-xmodules/functions/sci_gateway/c/.deps/libscifunctions_la-sci_librarieslist.Plo221
-rwxr-xr-xmodules/functions/sci_gateway/c/.deps/libscifunctions_la-sci_libraryinfo.Plo301
-rwxr-xr-xmodules/functions/sci_gateway/c/.deps/libscifunctions_la-sci_whereis.Plo299
-rwxr-xr-xmodules/functions/sci_gateway/c/.dirstamp0
-rwxr-xr-xmodules/functions/sci_gateway/c/.libs/libscifunctions_la-gw_functions.obin0 -> 9144 bytes
-rwxr-xr-xmodules/functions/sci_gateway/c/.libs/libscifunctions_la-sci_deff.obin0 -> 3560 bytes
-rwxr-xr-xmodules/functions/sci_gateway/c/.libs/libscifunctions_la-sci_exec.obin0 -> 18832 bytes
-rwxr-xr-xmodules/functions/sci_gateway/c/.libs/libscifunctions_la-sci_execstr.obin0 -> 17488 bytes
-rwxr-xr-xmodules/functions/sci_gateway/c/.libs/libscifunctions_la-sci_lib.obin0 -> 14456 bytes
-rwxr-xr-xmodules/functions/sci_gateway/c/.libs/libscifunctions_la-sci_librarieslist.obin0 -> 8592 bytes
-rwxr-xr-xmodules/functions/sci_gateway/c/.libs/libscifunctions_la-sci_libraryinfo.obin0 -> 13000 bytes
-rwxr-xr-xmodules/functions/sci_gateway/c/.libs/libscifunctions_la-sci_whereis.obin0 -> 12640 bytes
-rwxr-xr-xmodules/functions/sci_gateway/c/gw_functions.c78
-rwxr-xr-xmodules/functions/sci_gateway/c/libscifunctions_la-gw_functions.lo12
-rwxr-xr-xmodules/functions/sci_gateway/c/libscifunctions_la-sci_deff.lo12
-rwxr-xr-xmodules/functions/sci_gateway/c/libscifunctions_la-sci_exec.lo12
-rwxr-xr-xmodules/functions/sci_gateway/c/libscifunctions_la-sci_execstr.lo12
-rwxr-xr-xmodules/functions/sci_gateway/c/libscifunctions_la-sci_lib.lo12
-rwxr-xr-xmodules/functions/sci_gateway/c/libscifunctions_la-sci_librarieslist.lo12
-rwxr-xr-xmodules/functions/sci_gateway/c/libscifunctions_la-sci_libraryinfo.lo12
-rwxr-xr-xmodules/functions/sci_gateway/c/libscifunctions_la-sci_whereis.lo12
-rwxr-xr-xmodules/functions/sci_gateway/c/sci_deff.c22
-rwxr-xr-xmodules/functions/sci_gateway/c/sci_exec.c308
-rwxr-xr-xmodules/functions/sci_gateway/c/sci_execstr.c252
-rwxr-xr-xmodules/functions/sci_gateway/c/sci_lib.c167
-rwxr-xr-xmodules/functions/sci_gateway/c/sci_librarieslist.c48
-rwxr-xr-xmodules/functions/sci_gateway/c/sci_libraryinfo.c131
-rwxr-xr-xmodules/functions/sci_gateway/c/sci_whereis.c159
-rwxr-xr-xmodules/functions/sci_gateway/fortran/.deps/.dirstamp0
-rwxr-xr-xmodules/functions/sci_gateway/fortran/.dirstamp0
-rwxr-xr-xmodules/functions/sci_gateway/fortran/.libs/intdeff.obin0 -> 16032 bytes
-rwxr-xr-xmodules/functions/sci_gateway/fortran/.libs/intexec.obin0 -> 21984 bytes
-rwxr-xr-xmodules/functions/sci_gateway/fortran/.libs/intexecstr.obin0 -> 20816 bytes
-rwxr-xr-xmodules/functions/sci_gateway/fortran/.libs/intlib.obin0 -> 22504 bytes
-rwxr-xr-xmodules/functions/sci_gateway/fortran/intdeff.f82
-rwxr-xr-xmodules/functions/sci_gateway/fortran/intdeff.lo12
-rwxr-xr-xmodules/functions/sci_gateway/fortran/intexec.f213
-rwxr-xr-xmodules/functions/sci_gateway/fortran/intexec.lo12
-rwxr-xr-xmodules/functions/sci_gateway/fortran/intexecstr.f166
-rwxr-xr-xmodules/functions/sci_gateway/fortran/intexecstr.lo12
-rwxr-xr-xmodules/functions/sci_gateway/fortran/intlib.f109
-rwxr-xr-xmodules/functions/sci_gateway/fortran/intlib.lo12
-rwxr-xr-xmodules/functions/sci_gateway/functions_gateway.xml41
49 files changed, 3947 insertions, 0 deletions
diff --git a/modules/functions/sci_gateway/c/.deps/.dirstamp b/modules/functions/sci_gateway/c/.deps/.dirstamp
new file mode 100755
index 000000000..e69de29bb
--- /dev/null
+++ b/modules/functions/sci_gateway/c/.deps/.dirstamp
diff --git a/modules/functions/sci_gateway/c/.deps/libscifunctions_la-gw_functions.Plo b/modules/functions/sci_gateway/c/.deps/libscifunctions_la-gw_functions.Plo
new file mode 100755
index 000000000..4d465fc16
--- /dev/null
+++ b/modules/functions/sci_gateway/c/.deps/libscifunctions_la-gw_functions.Plo
@@ -0,0 +1,285 @@
+sci_gateway/c/libscifunctions_la-gw_functions.lo: \
+ sci_gateway/c/gw_functions.c /usr/include/stdc-predef.h \
+ includes/gw_functions.h includes/dynlib_functions.h \
+ ../../modules/core/includes/machine.h \
+ ../../modules/api_scilab/includes/api_scilab.h \
+ ../../modules/core/includes/stack-c.h /usr/include/string.h \
+ /usr/include/features.h /usr/include/x86_64-linux-gnu/sys/cdefs.h \
+ /usr/include/x86_64-linux-gnu/bits/wordsize.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h /usr/include/xlocale.h \
+ /usr/include/x86_64-linux-gnu/bits/string.h \
+ /usr/include/x86_64-linux-gnu/bits/string2.h /usr/include/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap.h \
+ /usr/include/x86_64-linux-gnu/bits/types.h \
+ /usr/include/x86_64-linux-gnu/bits/typesizes.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap-16.h /usr/include/stdlib.h \
+ /usr/include/x86_64-linux-gnu/bits/string3.h \
+ ../../modules/core/includes/core_math.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h \
+ /usr/include/limits.h /usr/include/x86_64-linux-gnu/bits/posix1_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/local_lim.h \
+ /usr/include/linux/limits.h \
+ /usr/include/x86_64-linux-gnu/bits/posix2_lim.h /usr/include/math.h \
+ /usr/include/x86_64-linux-gnu/bits/math-vector.h \
+ /usr/include/x86_64-linux-gnu/bits/libm-simd-decl-stubs.h \
+ /usr/include/x86_64-linux-gnu/bits/huge_val.h \
+ /usr/include/x86_64-linux-gnu/bits/huge_valf.h \
+ /usr/include/x86_64-linux-gnu/bits/huge_vall.h \
+ /usr/include/x86_64-linux-gnu/bits/inf.h \
+ /usr/include/x86_64-linux-gnu/bits/nan.h \
+ /usr/include/x86_64-linux-gnu/bits/mathdef.h \
+ /usr/include/x86_64-linux-gnu/bits/mathcalls.h \
+ /usr/include/x86_64-linux-gnu/bits/mathinline.h \
+ /usr/include/x86_64-linux-gnu/bits/waitflags.h \
+ /usr/include/x86_64-linux-gnu/bits/waitstatus.h \
+ /usr/include/x86_64-linux-gnu/sys/types.h /usr/include/time.h \
+ /usr/include/x86_64-linux-gnu/sys/select.h \
+ /usr/include/x86_64-linux-gnu/bits/select.h \
+ /usr/include/x86_64-linux-gnu/bits/sigset.h \
+ /usr/include/x86_64-linux-gnu/bits/time.h \
+ /usr/include/x86_64-linux-gnu/bits/select2.h \
+ /usr/include/x86_64-linux-gnu/sys/sysmacros.h \
+ /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h /usr/include/alloca.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib.h /usr/include/values.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/float.h \
+ ../../modules/core/includes/stack-def.h \
+ ../../modules/core/includes/machine.h \
+ ../../modules/core/includes/stackTypeVariable.h \
+ ../../modules/core/includes/BOOL.h \
+ ../../modules/core/includes/doublecomplex.h \
+ ../../modules/core/includes/stack1.h \
+ ../../modules/core/includes/scisparse.h \
+ ../../modules/core/includes/stack2.h \
+ ../../modules/core/includes/stack3.h \
+ ../../modules/core/includes/stack-optional.h \
+ ../../modules/core/includes/sci_types.h \
+ ../../modules/api_scilab/includes/api_common.h \
+ ../../modules/api_scilab/includes/api_scilab.h \
+ ../../modules/api_scilab/includes/api_double.h \
+ ../../modules/core/includes/doublecomplex.h \
+ ../../modules/api_scilab/includes/api_string.h /usr/include/wchar.h \
+ /usr/include/stdio.h /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \
+ /usr/include/x86_64-linux-gnu/bits/wchar.h \
+ /usr/include/x86_64-linux-gnu/bits/wchar2.h \
+ ../../modules/api_scilab/includes/api_int.h \
+ ../../modules/api_scilab/includes/api_poly.h \
+ ../../modules/api_scilab/includes/api_sparse.h \
+ ../../modules/api_scilab/includes/api_boolean.h \
+ ../../modules/api_scilab/includes/api_boolean_sparse.h \
+ ../../modules/api_scilab/includes/api_pointer.h \
+ ../../modules/api_scilab/includes/api_list.h \
+ ../../modules/api_scilab/includes/api_error.h \
+ ../../modules/api_scilab/includes/api_handle.h \
+ ../../modules/api_scilab/includes/api_optional.h \
+ ../../modules/core/includes/stack-optional.h \
+ ../../modules/api_scilab/includes/api_hypermat.h \
+ ../../modules/core/includes/core_math.h \
+ ../../modules/core/includes/sci_types.h \
+ ../../modules/core/includes/MALLOC.h \
+ ../../modules/core/includes/sci_mem_alloc.h \
+ ../../modules/core/includes/callFunctionFromGateway.h \
+ ../../modules/core/includes/recursionFunction.h
+
+/usr/include/stdc-predef.h:
+
+includes/gw_functions.h:
+
+includes/dynlib_functions.h:
+
+../../modules/core/includes/machine.h:
+
+../../modules/api_scilab/includes/api_scilab.h:
+
+../../modules/core/includes/stack-c.h:
+
+/usr/include/string.h:
+
+/usr/include/features.h:
+
+/usr/include/x86_64-linux-gnu/sys/cdefs.h:
+
+/usr/include/x86_64-linux-gnu/bits/wordsize.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs-64.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/x86_64-linux-gnu/bits/string.h:
+
+/usr/include/x86_64-linux-gnu/bits/string2.h:
+
+/usr/include/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap.h:
+
+/usr/include/x86_64-linux-gnu/bits/types.h:
+
+/usr/include/x86_64-linux-gnu/bits/typesizes.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap-16.h:
+
+/usr/include/stdlib.h:
+
+/usr/include/x86_64-linux-gnu/bits/string3.h:
+
+../../modules/core/includes/core_math.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h:
+
+/usr/include/limits.h:
+
+/usr/include/x86_64-linux-gnu/bits/posix1_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/local_lim.h:
+
+/usr/include/linux/limits.h:
+
+/usr/include/x86_64-linux-gnu/bits/posix2_lim.h:
+
+/usr/include/math.h:
+
+/usr/include/x86_64-linux-gnu/bits/math-vector.h:
+
+/usr/include/x86_64-linux-gnu/bits/libm-simd-decl-stubs.h:
+
+/usr/include/x86_64-linux-gnu/bits/huge_val.h:
+
+/usr/include/x86_64-linux-gnu/bits/huge_valf.h:
+
+/usr/include/x86_64-linux-gnu/bits/huge_vall.h:
+
+/usr/include/x86_64-linux-gnu/bits/inf.h:
+
+/usr/include/x86_64-linux-gnu/bits/nan.h:
+
+/usr/include/x86_64-linux-gnu/bits/mathdef.h:
+
+/usr/include/x86_64-linux-gnu/bits/mathcalls.h:
+
+/usr/include/x86_64-linux-gnu/bits/mathinline.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitflags.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitstatus.h:
+
+/usr/include/x86_64-linux-gnu/sys/types.h:
+
+/usr/include/time.h:
+
+/usr/include/x86_64-linux-gnu/sys/select.h:
+
+/usr/include/x86_64-linux-gnu/bits/select.h:
+
+/usr/include/x86_64-linux-gnu/bits/sigset.h:
+
+/usr/include/x86_64-linux-gnu/bits/time.h:
+
+/usr/include/x86_64-linux-gnu/bits/select2.h:
+
+/usr/include/x86_64-linux-gnu/sys/sysmacros.h:
+
+/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h:
+
+/usr/include/alloca.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib-float.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib.h:
+
+/usr/include/values.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/float.h:
+
+../../modules/core/includes/stack-def.h:
+
+../../modules/core/includes/machine.h:
+
+../../modules/core/includes/stackTypeVariable.h:
+
+../../modules/core/includes/BOOL.h:
+
+../../modules/core/includes/doublecomplex.h:
+
+../../modules/core/includes/stack1.h:
+
+../../modules/core/includes/scisparse.h:
+
+../../modules/core/includes/stack2.h:
+
+../../modules/core/includes/stack3.h:
+
+../../modules/core/includes/stack-optional.h:
+
+../../modules/core/includes/sci_types.h:
+
+../../modules/api_scilab/includes/api_common.h:
+
+../../modules/api_scilab/includes/api_scilab.h:
+
+../../modules/api_scilab/includes/api_double.h:
+
+../../modules/core/includes/doublecomplex.h:
+
+../../modules/api_scilab/includes/api_string.h:
+
+/usr/include/wchar.h:
+
+/usr/include/stdio.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h:
+
+/usr/include/x86_64-linux-gnu/bits/wchar.h:
+
+/usr/include/x86_64-linux-gnu/bits/wchar2.h:
+
+../../modules/api_scilab/includes/api_int.h:
+
+../../modules/api_scilab/includes/api_poly.h:
+
+../../modules/api_scilab/includes/api_sparse.h:
+
+../../modules/api_scilab/includes/api_boolean.h:
+
+../../modules/api_scilab/includes/api_boolean_sparse.h:
+
+../../modules/api_scilab/includes/api_pointer.h:
+
+../../modules/api_scilab/includes/api_list.h:
+
+../../modules/api_scilab/includes/api_error.h:
+
+../../modules/api_scilab/includes/api_handle.h:
+
+../../modules/api_scilab/includes/api_optional.h:
+
+../../modules/core/includes/stack-optional.h:
+
+../../modules/api_scilab/includes/api_hypermat.h:
+
+../../modules/core/includes/core_math.h:
+
+../../modules/core/includes/sci_types.h:
+
+../../modules/core/includes/MALLOC.h:
+
+../../modules/core/includes/sci_mem_alloc.h:
+
+../../modules/core/includes/callFunctionFromGateway.h:
+
+../../modules/core/includes/recursionFunction.h:
diff --git a/modules/functions/sci_gateway/c/.deps/libscifunctions_la-sci_deff.Plo b/modules/functions/sci_gateway/c/.deps/libscifunctions_la-sci_deff.Plo
new file mode 100755
index 000000000..6fa7d8252
--- /dev/null
+++ b/modules/functions/sci_gateway/c/.deps/libscifunctions_la-sci_deff.Plo
@@ -0,0 +1,11 @@
+sci_gateway/c/libscifunctions_la-sci_deff.lo: sci_gateway/c/sci_deff.c \
+ /usr/include/stdc-predef.h includes/gw_functions.h \
+ includes/dynlib_functions.h ../../modules/core/includes/machine.h
+
+/usr/include/stdc-predef.h:
+
+includes/gw_functions.h:
+
+includes/dynlib_functions.h:
+
+../../modules/core/includes/machine.h:
diff --git a/modules/functions/sci_gateway/c/.deps/libscifunctions_la-sci_exec.Plo b/modules/functions/sci_gateway/c/.deps/libscifunctions_la-sci_exec.Plo
new file mode 100755
index 000000000..8b5638d52
--- /dev/null
+++ b/modules/functions/sci_gateway/c/.deps/libscifunctions_la-sci_exec.Plo
@@ -0,0 +1,301 @@
+sci_gateway/c/libscifunctions_la-sci_exec.lo: sci_gateway/c/sci_exec.c \
+ /usr/include/stdc-predef.h includes/gw_functions.h \
+ includes/dynlib_functions.h ../../modules/core/includes/machine.h \
+ ../../modules/api_scilab/includes/api_scilab.h \
+ ../../modules/core/includes/stack-c.h /usr/include/string.h \
+ /usr/include/features.h /usr/include/x86_64-linux-gnu/sys/cdefs.h \
+ /usr/include/x86_64-linux-gnu/bits/wordsize.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h /usr/include/xlocale.h \
+ /usr/include/x86_64-linux-gnu/bits/string.h \
+ /usr/include/x86_64-linux-gnu/bits/string2.h /usr/include/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap.h \
+ /usr/include/x86_64-linux-gnu/bits/types.h \
+ /usr/include/x86_64-linux-gnu/bits/typesizes.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap-16.h /usr/include/stdlib.h \
+ /usr/include/x86_64-linux-gnu/bits/string3.h \
+ ../../modules/core/includes/core_math.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h \
+ /usr/include/limits.h /usr/include/x86_64-linux-gnu/bits/posix1_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/local_lim.h \
+ /usr/include/linux/limits.h \
+ /usr/include/x86_64-linux-gnu/bits/posix2_lim.h /usr/include/math.h \
+ /usr/include/x86_64-linux-gnu/bits/math-vector.h \
+ /usr/include/x86_64-linux-gnu/bits/libm-simd-decl-stubs.h \
+ /usr/include/x86_64-linux-gnu/bits/huge_val.h \
+ /usr/include/x86_64-linux-gnu/bits/huge_valf.h \
+ /usr/include/x86_64-linux-gnu/bits/huge_vall.h \
+ /usr/include/x86_64-linux-gnu/bits/inf.h \
+ /usr/include/x86_64-linux-gnu/bits/nan.h \
+ /usr/include/x86_64-linux-gnu/bits/mathdef.h \
+ /usr/include/x86_64-linux-gnu/bits/mathcalls.h \
+ /usr/include/x86_64-linux-gnu/bits/mathinline.h \
+ /usr/include/x86_64-linux-gnu/bits/waitflags.h \
+ /usr/include/x86_64-linux-gnu/bits/waitstatus.h \
+ /usr/include/x86_64-linux-gnu/sys/types.h /usr/include/time.h \
+ /usr/include/x86_64-linux-gnu/sys/select.h \
+ /usr/include/x86_64-linux-gnu/bits/select.h \
+ /usr/include/x86_64-linux-gnu/bits/sigset.h \
+ /usr/include/x86_64-linux-gnu/bits/time.h \
+ /usr/include/x86_64-linux-gnu/bits/select2.h \
+ /usr/include/x86_64-linux-gnu/sys/sysmacros.h \
+ /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h /usr/include/alloca.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib.h /usr/include/values.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/float.h \
+ ../../modules/core/includes/stack-def.h \
+ ../../modules/core/includes/machine.h \
+ ../../modules/core/includes/stackTypeVariable.h \
+ ../../modules/core/includes/BOOL.h \
+ ../../modules/core/includes/doublecomplex.h \
+ ../../modules/core/includes/stack1.h \
+ ../../modules/core/includes/scisparse.h \
+ ../../modules/core/includes/stack2.h \
+ ../../modules/core/includes/stack3.h \
+ ../../modules/core/includes/stack-optional.h \
+ ../../modules/core/includes/sci_types.h \
+ ../../modules/api_scilab/includes/api_common.h \
+ ../../modules/api_scilab/includes/api_scilab.h \
+ ../../modules/api_scilab/includes/api_double.h \
+ ../../modules/core/includes/doublecomplex.h \
+ ../../modules/api_scilab/includes/api_string.h /usr/include/wchar.h \
+ /usr/include/stdio.h /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \
+ /usr/include/x86_64-linux-gnu/bits/wchar.h \
+ /usr/include/x86_64-linux-gnu/bits/wchar2.h \
+ ../../modules/api_scilab/includes/api_int.h \
+ ../../modules/api_scilab/includes/api_poly.h \
+ ../../modules/api_scilab/includes/api_sparse.h \
+ ../../modules/api_scilab/includes/api_boolean.h \
+ ../../modules/api_scilab/includes/api_boolean_sparse.h \
+ ../../modules/api_scilab/includes/api_pointer.h \
+ ../../modules/api_scilab/includes/api_list.h \
+ ../../modules/api_scilab/includes/api_error.h \
+ ../../modules/api_scilab/includes/api_handle.h \
+ ../../modules/api_scilab/includes/api_optional.h \
+ ../../modules/core/includes/stack-optional.h \
+ ../../modules/api_scilab/includes/api_hypermat.h \
+ ../../modules/core/includes/core_math.h \
+ ../../modules/core/includes/sci_types.h \
+ ../../modules/core/includes/recursionFunction.h \
+ ../../modules/localization/includes/localization.h \
+ /usr/include/libintl.h /usr/include/locale.h \
+ /usr/include/x86_64-linux-gnu/bits/locale.h \
+ ../../modules/output_stream/includes/Scierror.h \
+ ../../modules/output_stream/includes/do_error_number.h \
+ ../../modules/core/includes/MALLOC.h \
+ ../../modules/core/includes/sci_mem_alloc.h \
+ ../../modules/core/includes/BOOL.h
+
+/usr/include/stdc-predef.h:
+
+includes/gw_functions.h:
+
+includes/dynlib_functions.h:
+
+../../modules/core/includes/machine.h:
+
+../../modules/api_scilab/includes/api_scilab.h:
+
+../../modules/core/includes/stack-c.h:
+
+/usr/include/string.h:
+
+/usr/include/features.h:
+
+/usr/include/x86_64-linux-gnu/sys/cdefs.h:
+
+/usr/include/x86_64-linux-gnu/bits/wordsize.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs-64.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/x86_64-linux-gnu/bits/string.h:
+
+/usr/include/x86_64-linux-gnu/bits/string2.h:
+
+/usr/include/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap.h:
+
+/usr/include/x86_64-linux-gnu/bits/types.h:
+
+/usr/include/x86_64-linux-gnu/bits/typesizes.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap-16.h:
+
+/usr/include/stdlib.h:
+
+/usr/include/x86_64-linux-gnu/bits/string3.h:
+
+../../modules/core/includes/core_math.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h:
+
+/usr/include/limits.h:
+
+/usr/include/x86_64-linux-gnu/bits/posix1_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/local_lim.h:
+
+/usr/include/linux/limits.h:
+
+/usr/include/x86_64-linux-gnu/bits/posix2_lim.h:
+
+/usr/include/math.h:
+
+/usr/include/x86_64-linux-gnu/bits/math-vector.h:
+
+/usr/include/x86_64-linux-gnu/bits/libm-simd-decl-stubs.h:
+
+/usr/include/x86_64-linux-gnu/bits/huge_val.h:
+
+/usr/include/x86_64-linux-gnu/bits/huge_valf.h:
+
+/usr/include/x86_64-linux-gnu/bits/huge_vall.h:
+
+/usr/include/x86_64-linux-gnu/bits/inf.h:
+
+/usr/include/x86_64-linux-gnu/bits/nan.h:
+
+/usr/include/x86_64-linux-gnu/bits/mathdef.h:
+
+/usr/include/x86_64-linux-gnu/bits/mathcalls.h:
+
+/usr/include/x86_64-linux-gnu/bits/mathinline.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitflags.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitstatus.h:
+
+/usr/include/x86_64-linux-gnu/sys/types.h:
+
+/usr/include/time.h:
+
+/usr/include/x86_64-linux-gnu/sys/select.h:
+
+/usr/include/x86_64-linux-gnu/bits/select.h:
+
+/usr/include/x86_64-linux-gnu/bits/sigset.h:
+
+/usr/include/x86_64-linux-gnu/bits/time.h:
+
+/usr/include/x86_64-linux-gnu/bits/select2.h:
+
+/usr/include/x86_64-linux-gnu/sys/sysmacros.h:
+
+/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h:
+
+/usr/include/alloca.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib-float.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib.h:
+
+/usr/include/values.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/float.h:
+
+../../modules/core/includes/stack-def.h:
+
+../../modules/core/includes/machine.h:
+
+../../modules/core/includes/stackTypeVariable.h:
+
+../../modules/core/includes/BOOL.h:
+
+../../modules/core/includes/doublecomplex.h:
+
+../../modules/core/includes/stack1.h:
+
+../../modules/core/includes/scisparse.h:
+
+../../modules/core/includes/stack2.h:
+
+../../modules/core/includes/stack3.h:
+
+../../modules/core/includes/stack-optional.h:
+
+../../modules/core/includes/sci_types.h:
+
+../../modules/api_scilab/includes/api_common.h:
+
+../../modules/api_scilab/includes/api_scilab.h:
+
+../../modules/api_scilab/includes/api_double.h:
+
+../../modules/core/includes/doublecomplex.h:
+
+../../modules/api_scilab/includes/api_string.h:
+
+/usr/include/wchar.h:
+
+/usr/include/stdio.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h:
+
+/usr/include/x86_64-linux-gnu/bits/wchar.h:
+
+/usr/include/x86_64-linux-gnu/bits/wchar2.h:
+
+../../modules/api_scilab/includes/api_int.h:
+
+../../modules/api_scilab/includes/api_poly.h:
+
+../../modules/api_scilab/includes/api_sparse.h:
+
+../../modules/api_scilab/includes/api_boolean.h:
+
+../../modules/api_scilab/includes/api_boolean_sparse.h:
+
+../../modules/api_scilab/includes/api_pointer.h:
+
+../../modules/api_scilab/includes/api_list.h:
+
+../../modules/api_scilab/includes/api_error.h:
+
+../../modules/api_scilab/includes/api_handle.h:
+
+../../modules/api_scilab/includes/api_optional.h:
+
+../../modules/core/includes/stack-optional.h:
+
+../../modules/api_scilab/includes/api_hypermat.h:
+
+../../modules/core/includes/core_math.h:
+
+../../modules/core/includes/sci_types.h:
+
+../../modules/core/includes/recursionFunction.h:
+
+../../modules/localization/includes/localization.h:
+
+/usr/include/libintl.h:
+
+/usr/include/locale.h:
+
+/usr/include/x86_64-linux-gnu/bits/locale.h:
+
+../../modules/output_stream/includes/Scierror.h:
+
+../../modules/output_stream/includes/do_error_number.h:
+
+../../modules/core/includes/MALLOC.h:
+
+../../modules/core/includes/sci_mem_alloc.h:
+
+../../modules/core/includes/BOOL.h:
diff --git a/modules/functions/sci_gateway/c/.deps/libscifunctions_la-sci_execstr.Plo b/modules/functions/sci_gateway/c/.deps/libscifunctions_la-sci_execstr.Plo
new file mode 100755
index 000000000..261b0c80c
--- /dev/null
+++ b/modules/functions/sci_gateway/c/.deps/libscifunctions_la-sci_execstr.Plo
@@ -0,0 +1,302 @@
+sci_gateway/c/libscifunctions_la-sci_execstr.lo: \
+ sci_gateway/c/sci_execstr.c /usr/include/stdc-predef.h \
+ includes/gw_functions.h includes/dynlib_functions.h \
+ ../../modules/core/includes/machine.h \
+ ../../modules/api_scilab/includes/api_scilab.h \
+ ../../modules/core/includes/stack-c.h /usr/include/string.h \
+ /usr/include/features.h /usr/include/x86_64-linux-gnu/sys/cdefs.h \
+ /usr/include/x86_64-linux-gnu/bits/wordsize.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h /usr/include/xlocale.h \
+ /usr/include/x86_64-linux-gnu/bits/string.h \
+ /usr/include/x86_64-linux-gnu/bits/string2.h /usr/include/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap.h \
+ /usr/include/x86_64-linux-gnu/bits/types.h \
+ /usr/include/x86_64-linux-gnu/bits/typesizes.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap-16.h /usr/include/stdlib.h \
+ /usr/include/x86_64-linux-gnu/bits/string3.h \
+ ../../modules/core/includes/core_math.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h \
+ /usr/include/limits.h /usr/include/x86_64-linux-gnu/bits/posix1_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/local_lim.h \
+ /usr/include/linux/limits.h \
+ /usr/include/x86_64-linux-gnu/bits/posix2_lim.h /usr/include/math.h \
+ /usr/include/x86_64-linux-gnu/bits/math-vector.h \
+ /usr/include/x86_64-linux-gnu/bits/libm-simd-decl-stubs.h \
+ /usr/include/x86_64-linux-gnu/bits/huge_val.h \
+ /usr/include/x86_64-linux-gnu/bits/huge_valf.h \
+ /usr/include/x86_64-linux-gnu/bits/huge_vall.h \
+ /usr/include/x86_64-linux-gnu/bits/inf.h \
+ /usr/include/x86_64-linux-gnu/bits/nan.h \
+ /usr/include/x86_64-linux-gnu/bits/mathdef.h \
+ /usr/include/x86_64-linux-gnu/bits/mathcalls.h \
+ /usr/include/x86_64-linux-gnu/bits/mathinline.h \
+ /usr/include/x86_64-linux-gnu/bits/waitflags.h \
+ /usr/include/x86_64-linux-gnu/bits/waitstatus.h \
+ /usr/include/x86_64-linux-gnu/sys/types.h /usr/include/time.h \
+ /usr/include/x86_64-linux-gnu/sys/select.h \
+ /usr/include/x86_64-linux-gnu/bits/select.h \
+ /usr/include/x86_64-linux-gnu/bits/sigset.h \
+ /usr/include/x86_64-linux-gnu/bits/time.h \
+ /usr/include/x86_64-linux-gnu/bits/select2.h \
+ /usr/include/x86_64-linux-gnu/sys/sysmacros.h \
+ /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h /usr/include/alloca.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib.h /usr/include/values.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/float.h \
+ ../../modules/core/includes/stack-def.h \
+ ../../modules/core/includes/machine.h \
+ ../../modules/core/includes/stackTypeVariable.h \
+ ../../modules/core/includes/BOOL.h \
+ ../../modules/core/includes/doublecomplex.h \
+ ../../modules/core/includes/stack1.h \
+ ../../modules/core/includes/scisparse.h \
+ ../../modules/core/includes/stack2.h \
+ ../../modules/core/includes/stack3.h \
+ ../../modules/core/includes/stack-optional.h \
+ ../../modules/core/includes/sci_types.h \
+ ../../modules/api_scilab/includes/api_common.h \
+ ../../modules/api_scilab/includes/api_scilab.h \
+ ../../modules/api_scilab/includes/api_double.h \
+ ../../modules/core/includes/doublecomplex.h \
+ ../../modules/api_scilab/includes/api_string.h /usr/include/wchar.h \
+ /usr/include/stdio.h /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \
+ /usr/include/x86_64-linux-gnu/bits/wchar.h \
+ /usr/include/x86_64-linux-gnu/bits/wchar2.h \
+ ../../modules/api_scilab/includes/api_int.h \
+ ../../modules/api_scilab/includes/api_poly.h \
+ ../../modules/api_scilab/includes/api_sparse.h \
+ ../../modules/api_scilab/includes/api_boolean.h \
+ ../../modules/api_scilab/includes/api_boolean_sparse.h \
+ ../../modules/api_scilab/includes/api_pointer.h \
+ ../../modules/api_scilab/includes/api_list.h \
+ ../../modules/api_scilab/includes/api_error.h \
+ ../../modules/api_scilab/includes/api_handle.h \
+ ../../modules/api_scilab/includes/api_optional.h \
+ ../../modules/core/includes/stack-optional.h \
+ ../../modules/api_scilab/includes/api_hypermat.h \
+ ../../modules/core/includes/core_math.h \
+ ../../modules/core/includes/sci_types.h \
+ ../../modules/core/includes/recursionFunction.h \
+ ../../modules/localization/includes/localization.h \
+ /usr/include/libintl.h /usr/include/locale.h \
+ /usr/include/x86_64-linux-gnu/bits/locale.h \
+ ../../modules/output_stream/includes/Scierror.h \
+ ../../modules/output_stream/includes/do_error_number.h \
+ ../../modules/core/includes/MALLOC.h \
+ ../../modules/core/includes/sci_mem_alloc.h \
+ ../../modules/core/includes/BOOL.h
+
+/usr/include/stdc-predef.h:
+
+includes/gw_functions.h:
+
+includes/dynlib_functions.h:
+
+../../modules/core/includes/machine.h:
+
+../../modules/api_scilab/includes/api_scilab.h:
+
+../../modules/core/includes/stack-c.h:
+
+/usr/include/string.h:
+
+/usr/include/features.h:
+
+/usr/include/x86_64-linux-gnu/sys/cdefs.h:
+
+/usr/include/x86_64-linux-gnu/bits/wordsize.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs-64.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/x86_64-linux-gnu/bits/string.h:
+
+/usr/include/x86_64-linux-gnu/bits/string2.h:
+
+/usr/include/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap.h:
+
+/usr/include/x86_64-linux-gnu/bits/types.h:
+
+/usr/include/x86_64-linux-gnu/bits/typesizes.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap-16.h:
+
+/usr/include/stdlib.h:
+
+/usr/include/x86_64-linux-gnu/bits/string3.h:
+
+../../modules/core/includes/core_math.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h:
+
+/usr/include/limits.h:
+
+/usr/include/x86_64-linux-gnu/bits/posix1_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/local_lim.h:
+
+/usr/include/linux/limits.h:
+
+/usr/include/x86_64-linux-gnu/bits/posix2_lim.h:
+
+/usr/include/math.h:
+
+/usr/include/x86_64-linux-gnu/bits/math-vector.h:
+
+/usr/include/x86_64-linux-gnu/bits/libm-simd-decl-stubs.h:
+
+/usr/include/x86_64-linux-gnu/bits/huge_val.h:
+
+/usr/include/x86_64-linux-gnu/bits/huge_valf.h:
+
+/usr/include/x86_64-linux-gnu/bits/huge_vall.h:
+
+/usr/include/x86_64-linux-gnu/bits/inf.h:
+
+/usr/include/x86_64-linux-gnu/bits/nan.h:
+
+/usr/include/x86_64-linux-gnu/bits/mathdef.h:
+
+/usr/include/x86_64-linux-gnu/bits/mathcalls.h:
+
+/usr/include/x86_64-linux-gnu/bits/mathinline.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitflags.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitstatus.h:
+
+/usr/include/x86_64-linux-gnu/sys/types.h:
+
+/usr/include/time.h:
+
+/usr/include/x86_64-linux-gnu/sys/select.h:
+
+/usr/include/x86_64-linux-gnu/bits/select.h:
+
+/usr/include/x86_64-linux-gnu/bits/sigset.h:
+
+/usr/include/x86_64-linux-gnu/bits/time.h:
+
+/usr/include/x86_64-linux-gnu/bits/select2.h:
+
+/usr/include/x86_64-linux-gnu/sys/sysmacros.h:
+
+/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h:
+
+/usr/include/alloca.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib-float.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib.h:
+
+/usr/include/values.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/float.h:
+
+../../modules/core/includes/stack-def.h:
+
+../../modules/core/includes/machine.h:
+
+../../modules/core/includes/stackTypeVariable.h:
+
+../../modules/core/includes/BOOL.h:
+
+../../modules/core/includes/doublecomplex.h:
+
+../../modules/core/includes/stack1.h:
+
+../../modules/core/includes/scisparse.h:
+
+../../modules/core/includes/stack2.h:
+
+../../modules/core/includes/stack3.h:
+
+../../modules/core/includes/stack-optional.h:
+
+../../modules/core/includes/sci_types.h:
+
+../../modules/api_scilab/includes/api_common.h:
+
+../../modules/api_scilab/includes/api_scilab.h:
+
+../../modules/api_scilab/includes/api_double.h:
+
+../../modules/core/includes/doublecomplex.h:
+
+../../modules/api_scilab/includes/api_string.h:
+
+/usr/include/wchar.h:
+
+/usr/include/stdio.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h:
+
+/usr/include/x86_64-linux-gnu/bits/wchar.h:
+
+/usr/include/x86_64-linux-gnu/bits/wchar2.h:
+
+../../modules/api_scilab/includes/api_int.h:
+
+../../modules/api_scilab/includes/api_poly.h:
+
+../../modules/api_scilab/includes/api_sparse.h:
+
+../../modules/api_scilab/includes/api_boolean.h:
+
+../../modules/api_scilab/includes/api_boolean_sparse.h:
+
+../../modules/api_scilab/includes/api_pointer.h:
+
+../../modules/api_scilab/includes/api_list.h:
+
+../../modules/api_scilab/includes/api_error.h:
+
+../../modules/api_scilab/includes/api_handle.h:
+
+../../modules/api_scilab/includes/api_optional.h:
+
+../../modules/core/includes/stack-optional.h:
+
+../../modules/api_scilab/includes/api_hypermat.h:
+
+../../modules/core/includes/core_math.h:
+
+../../modules/core/includes/sci_types.h:
+
+../../modules/core/includes/recursionFunction.h:
+
+../../modules/localization/includes/localization.h:
+
+/usr/include/libintl.h:
+
+/usr/include/locale.h:
+
+/usr/include/x86_64-linux-gnu/bits/locale.h:
+
+../../modules/output_stream/includes/Scierror.h:
+
+../../modules/output_stream/includes/do_error_number.h:
+
+../../modules/core/includes/MALLOC.h:
+
+../../modules/core/includes/sci_mem_alloc.h:
+
+../../modules/core/includes/BOOL.h:
diff --git a/modules/functions/sci_gateway/c/.deps/libscifunctions_la-sci_lib.Plo b/modules/functions/sci_gateway/c/.deps/libscifunctions_la-sci_lib.Plo
new file mode 100755
index 000000000..c59b01d26
--- /dev/null
+++ b/modules/functions/sci_gateway/c/.deps/libscifunctions_la-sci_lib.Plo
@@ -0,0 +1,307 @@
+sci_gateway/c/libscifunctions_la-sci_lib.lo: sci_gateway/c/sci_lib.c \
+ /usr/include/stdc-predef.h /usr/include/string.h /usr/include/features.h \
+ /usr/include/x86_64-linux-gnu/sys/cdefs.h \
+ /usr/include/x86_64-linux-gnu/bits/wordsize.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h /usr/include/xlocale.h \
+ /usr/include/x86_64-linux-gnu/bits/string.h \
+ /usr/include/x86_64-linux-gnu/bits/string2.h /usr/include/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap.h \
+ /usr/include/x86_64-linux-gnu/bits/types.h \
+ /usr/include/x86_64-linux-gnu/bits/typesizes.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap-16.h /usr/include/stdlib.h \
+ /usr/include/x86_64-linux-gnu/bits/string3.h includes/gw_functions.h \
+ includes/dynlib_functions.h ../../modules/core/includes/machine.h \
+ ../../modules/api_scilab/includes/api_scilab.h \
+ ../../modules/core/includes/stack-c.h \
+ ../../modules/core/includes/core_math.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h \
+ /usr/include/limits.h /usr/include/x86_64-linux-gnu/bits/posix1_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/local_lim.h \
+ /usr/include/linux/limits.h \
+ /usr/include/x86_64-linux-gnu/bits/posix2_lim.h /usr/include/math.h \
+ /usr/include/x86_64-linux-gnu/bits/math-vector.h \
+ /usr/include/x86_64-linux-gnu/bits/libm-simd-decl-stubs.h \
+ /usr/include/x86_64-linux-gnu/bits/huge_val.h \
+ /usr/include/x86_64-linux-gnu/bits/huge_valf.h \
+ /usr/include/x86_64-linux-gnu/bits/huge_vall.h \
+ /usr/include/x86_64-linux-gnu/bits/inf.h \
+ /usr/include/x86_64-linux-gnu/bits/nan.h \
+ /usr/include/x86_64-linux-gnu/bits/mathdef.h \
+ /usr/include/x86_64-linux-gnu/bits/mathcalls.h \
+ /usr/include/x86_64-linux-gnu/bits/mathinline.h \
+ /usr/include/x86_64-linux-gnu/bits/waitflags.h \
+ /usr/include/x86_64-linux-gnu/bits/waitstatus.h \
+ /usr/include/x86_64-linux-gnu/sys/types.h /usr/include/time.h \
+ /usr/include/x86_64-linux-gnu/sys/select.h \
+ /usr/include/x86_64-linux-gnu/bits/select.h \
+ /usr/include/x86_64-linux-gnu/bits/sigset.h \
+ /usr/include/x86_64-linux-gnu/bits/time.h \
+ /usr/include/x86_64-linux-gnu/bits/select2.h \
+ /usr/include/x86_64-linux-gnu/sys/sysmacros.h \
+ /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h /usr/include/alloca.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib.h /usr/include/values.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/float.h \
+ ../../modules/core/includes/stack-def.h \
+ ../../modules/core/includes/machine.h \
+ ../../modules/core/includes/stackTypeVariable.h \
+ ../../modules/core/includes/BOOL.h \
+ ../../modules/core/includes/doublecomplex.h \
+ ../../modules/core/includes/stack1.h \
+ ../../modules/core/includes/scisparse.h \
+ ../../modules/core/includes/stack2.h \
+ ../../modules/core/includes/stack3.h \
+ ../../modules/core/includes/stack-optional.h \
+ ../../modules/core/includes/sci_types.h \
+ ../../modules/api_scilab/includes/api_common.h \
+ ../../modules/api_scilab/includes/api_scilab.h \
+ ../../modules/api_scilab/includes/api_double.h \
+ ../../modules/core/includes/doublecomplex.h \
+ ../../modules/api_scilab/includes/api_string.h /usr/include/wchar.h \
+ /usr/include/stdio.h /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \
+ /usr/include/x86_64-linux-gnu/bits/wchar.h \
+ /usr/include/x86_64-linux-gnu/bits/wchar2.h \
+ ../../modules/api_scilab/includes/api_int.h \
+ ../../modules/api_scilab/includes/api_poly.h \
+ ../../modules/api_scilab/includes/api_sparse.h \
+ ../../modules/api_scilab/includes/api_boolean.h \
+ ../../modules/api_scilab/includes/api_boolean_sparse.h \
+ ../../modules/api_scilab/includes/api_pointer.h \
+ ../../modules/api_scilab/includes/api_list.h \
+ ../../modules/api_scilab/includes/api_error.h \
+ ../../modules/api_scilab/includes/api_handle.h \
+ ../../modules/api_scilab/includes/api_optional.h \
+ ../../modules/core/includes/stack-optional.h \
+ ../../modules/api_scilab/includes/api_hypermat.h \
+ ../../modules/core/includes/core_math.h \
+ ../../modules/core/includes/sci_types.h \
+ ../../modules/localization/includes/localization.h \
+ /usr/include/libintl.h /usr/include/locale.h \
+ /usr/include/x86_64-linux-gnu/bits/locale.h \
+ ../../modules/output_stream/includes/Scierror.h \
+ ../../modules/output_stream/includes/do_error_number.h \
+ ../../modules/core/includes/MALLOC.h \
+ ../../modules/core/includes/sci_mem_alloc.h \
+ ../../modules/fileio/includes/FileExist.h \
+ ../../modules/fileio/includes/dynlib_fileio.h \
+ ../../modules/core/includes/BOOL.h \
+ ../../modules/fileio/includes/getFullFilename.h
+
+/usr/include/stdc-predef.h:
+
+/usr/include/string.h:
+
+/usr/include/features.h:
+
+/usr/include/x86_64-linux-gnu/sys/cdefs.h:
+
+/usr/include/x86_64-linux-gnu/bits/wordsize.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs-64.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/x86_64-linux-gnu/bits/string.h:
+
+/usr/include/x86_64-linux-gnu/bits/string2.h:
+
+/usr/include/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap.h:
+
+/usr/include/x86_64-linux-gnu/bits/types.h:
+
+/usr/include/x86_64-linux-gnu/bits/typesizes.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap-16.h:
+
+/usr/include/stdlib.h:
+
+/usr/include/x86_64-linux-gnu/bits/string3.h:
+
+includes/gw_functions.h:
+
+includes/dynlib_functions.h:
+
+../../modules/core/includes/machine.h:
+
+../../modules/api_scilab/includes/api_scilab.h:
+
+../../modules/core/includes/stack-c.h:
+
+../../modules/core/includes/core_math.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h:
+
+/usr/include/limits.h:
+
+/usr/include/x86_64-linux-gnu/bits/posix1_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/local_lim.h:
+
+/usr/include/linux/limits.h:
+
+/usr/include/x86_64-linux-gnu/bits/posix2_lim.h:
+
+/usr/include/math.h:
+
+/usr/include/x86_64-linux-gnu/bits/math-vector.h:
+
+/usr/include/x86_64-linux-gnu/bits/libm-simd-decl-stubs.h:
+
+/usr/include/x86_64-linux-gnu/bits/huge_val.h:
+
+/usr/include/x86_64-linux-gnu/bits/huge_valf.h:
+
+/usr/include/x86_64-linux-gnu/bits/huge_vall.h:
+
+/usr/include/x86_64-linux-gnu/bits/inf.h:
+
+/usr/include/x86_64-linux-gnu/bits/nan.h:
+
+/usr/include/x86_64-linux-gnu/bits/mathdef.h:
+
+/usr/include/x86_64-linux-gnu/bits/mathcalls.h:
+
+/usr/include/x86_64-linux-gnu/bits/mathinline.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitflags.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitstatus.h:
+
+/usr/include/x86_64-linux-gnu/sys/types.h:
+
+/usr/include/time.h:
+
+/usr/include/x86_64-linux-gnu/sys/select.h:
+
+/usr/include/x86_64-linux-gnu/bits/select.h:
+
+/usr/include/x86_64-linux-gnu/bits/sigset.h:
+
+/usr/include/x86_64-linux-gnu/bits/time.h:
+
+/usr/include/x86_64-linux-gnu/bits/select2.h:
+
+/usr/include/x86_64-linux-gnu/sys/sysmacros.h:
+
+/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h:
+
+/usr/include/alloca.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib-float.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib.h:
+
+/usr/include/values.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/float.h:
+
+../../modules/core/includes/stack-def.h:
+
+../../modules/core/includes/machine.h:
+
+../../modules/core/includes/stackTypeVariable.h:
+
+../../modules/core/includes/BOOL.h:
+
+../../modules/core/includes/doublecomplex.h:
+
+../../modules/core/includes/stack1.h:
+
+../../modules/core/includes/scisparse.h:
+
+../../modules/core/includes/stack2.h:
+
+../../modules/core/includes/stack3.h:
+
+../../modules/core/includes/stack-optional.h:
+
+../../modules/core/includes/sci_types.h:
+
+../../modules/api_scilab/includes/api_common.h:
+
+../../modules/api_scilab/includes/api_scilab.h:
+
+../../modules/api_scilab/includes/api_double.h:
+
+../../modules/core/includes/doublecomplex.h:
+
+../../modules/api_scilab/includes/api_string.h:
+
+/usr/include/wchar.h:
+
+/usr/include/stdio.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h:
+
+/usr/include/x86_64-linux-gnu/bits/wchar.h:
+
+/usr/include/x86_64-linux-gnu/bits/wchar2.h:
+
+../../modules/api_scilab/includes/api_int.h:
+
+../../modules/api_scilab/includes/api_poly.h:
+
+../../modules/api_scilab/includes/api_sparse.h:
+
+../../modules/api_scilab/includes/api_boolean.h:
+
+../../modules/api_scilab/includes/api_boolean_sparse.h:
+
+../../modules/api_scilab/includes/api_pointer.h:
+
+../../modules/api_scilab/includes/api_list.h:
+
+../../modules/api_scilab/includes/api_error.h:
+
+../../modules/api_scilab/includes/api_handle.h:
+
+../../modules/api_scilab/includes/api_optional.h:
+
+../../modules/core/includes/stack-optional.h:
+
+../../modules/api_scilab/includes/api_hypermat.h:
+
+../../modules/core/includes/core_math.h:
+
+../../modules/core/includes/sci_types.h:
+
+../../modules/localization/includes/localization.h:
+
+/usr/include/libintl.h:
+
+/usr/include/locale.h:
+
+/usr/include/x86_64-linux-gnu/bits/locale.h:
+
+../../modules/output_stream/includes/Scierror.h:
+
+../../modules/output_stream/includes/do_error_number.h:
+
+../../modules/core/includes/MALLOC.h:
+
+../../modules/core/includes/sci_mem_alloc.h:
+
+../../modules/fileio/includes/FileExist.h:
+
+../../modules/fileio/includes/dynlib_fileio.h:
+
+../../modules/core/includes/BOOL.h:
+
+../../modules/fileio/includes/getFullFilename.h:
diff --git a/modules/functions/sci_gateway/c/.deps/libscifunctions_la-sci_librarieslist.Plo b/modules/functions/sci_gateway/c/.deps/libscifunctions_la-sci_librarieslist.Plo
new file mode 100755
index 000000000..fcfc7039f
--- /dev/null
+++ b/modules/functions/sci_gateway/c/.deps/libscifunctions_la-sci_librarieslist.Plo
@@ -0,0 +1,221 @@
+sci_gateway/c/libscifunctions_la-sci_librarieslist.lo: \
+ sci_gateway/c/sci_librarieslist.c /usr/include/stdc-predef.h \
+ ../../modules/core/includes/gw_core.h \
+ ../../modules/core/includes/machine.h \
+ ../../modules/core/includes/stack-c.h /usr/include/string.h \
+ /usr/include/features.h /usr/include/x86_64-linux-gnu/sys/cdefs.h \
+ /usr/include/x86_64-linux-gnu/bits/wordsize.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h /usr/include/xlocale.h \
+ /usr/include/x86_64-linux-gnu/bits/string.h \
+ /usr/include/x86_64-linux-gnu/bits/string2.h /usr/include/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap.h \
+ /usr/include/x86_64-linux-gnu/bits/types.h \
+ /usr/include/x86_64-linux-gnu/bits/typesizes.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap-16.h /usr/include/stdlib.h \
+ /usr/include/x86_64-linux-gnu/bits/string3.h \
+ ../../modules/core/includes/core_math.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h \
+ /usr/include/limits.h /usr/include/x86_64-linux-gnu/bits/posix1_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/local_lim.h \
+ /usr/include/linux/limits.h \
+ /usr/include/x86_64-linux-gnu/bits/posix2_lim.h /usr/include/math.h \
+ /usr/include/x86_64-linux-gnu/bits/math-vector.h \
+ /usr/include/x86_64-linux-gnu/bits/libm-simd-decl-stubs.h \
+ /usr/include/x86_64-linux-gnu/bits/huge_val.h \
+ /usr/include/x86_64-linux-gnu/bits/huge_valf.h \
+ /usr/include/x86_64-linux-gnu/bits/huge_vall.h \
+ /usr/include/x86_64-linux-gnu/bits/inf.h \
+ /usr/include/x86_64-linux-gnu/bits/nan.h \
+ /usr/include/x86_64-linux-gnu/bits/mathdef.h \
+ /usr/include/x86_64-linux-gnu/bits/mathcalls.h \
+ /usr/include/x86_64-linux-gnu/bits/mathinline.h \
+ /usr/include/x86_64-linux-gnu/bits/waitflags.h \
+ /usr/include/x86_64-linux-gnu/bits/waitstatus.h \
+ /usr/include/x86_64-linux-gnu/sys/types.h /usr/include/time.h \
+ /usr/include/x86_64-linux-gnu/sys/select.h \
+ /usr/include/x86_64-linux-gnu/bits/select.h \
+ /usr/include/x86_64-linux-gnu/bits/sigset.h \
+ /usr/include/x86_64-linux-gnu/bits/time.h \
+ /usr/include/x86_64-linux-gnu/bits/select2.h \
+ /usr/include/x86_64-linux-gnu/sys/sysmacros.h \
+ /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h /usr/include/alloca.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib.h /usr/include/values.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/float.h \
+ ../../modules/core/includes/stack-def.h \
+ ../../modules/core/includes/stackTypeVariable.h \
+ ../../modules/core/includes/BOOL.h \
+ ../../modules/core/includes/doublecomplex.h \
+ ../../modules/core/includes/stack1.h \
+ ../../modules/core/includes/scisparse.h \
+ ../../modules/core/includes/stack2.h \
+ ../../modules/core/includes/stack3.h \
+ ../../modules/core/includes/stack-optional.h \
+ ../../modules/core/includes/sci_types.h includes/librarieslist.h \
+ includes/dynlib_functions.h ../../modules/core/includes/MALLOC.h \
+ ../../modules/core/includes/sci_mem_alloc.h \
+ ../../modules/core/includes/freeArrayOfString.h /usr/include/wchar.h \
+ /usr/include/stdio.h /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \
+ /usr/include/x86_64-linux-gnu/bits/wchar.h \
+ /usr/include/x86_64-linux-gnu/bits/wchar2.h
+
+/usr/include/stdc-predef.h:
+
+../../modules/core/includes/gw_core.h:
+
+../../modules/core/includes/machine.h:
+
+../../modules/core/includes/stack-c.h:
+
+/usr/include/string.h:
+
+/usr/include/features.h:
+
+/usr/include/x86_64-linux-gnu/sys/cdefs.h:
+
+/usr/include/x86_64-linux-gnu/bits/wordsize.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs-64.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/x86_64-linux-gnu/bits/string.h:
+
+/usr/include/x86_64-linux-gnu/bits/string2.h:
+
+/usr/include/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap.h:
+
+/usr/include/x86_64-linux-gnu/bits/types.h:
+
+/usr/include/x86_64-linux-gnu/bits/typesizes.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap-16.h:
+
+/usr/include/stdlib.h:
+
+/usr/include/x86_64-linux-gnu/bits/string3.h:
+
+../../modules/core/includes/core_math.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h:
+
+/usr/include/limits.h:
+
+/usr/include/x86_64-linux-gnu/bits/posix1_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/local_lim.h:
+
+/usr/include/linux/limits.h:
+
+/usr/include/x86_64-linux-gnu/bits/posix2_lim.h:
+
+/usr/include/math.h:
+
+/usr/include/x86_64-linux-gnu/bits/math-vector.h:
+
+/usr/include/x86_64-linux-gnu/bits/libm-simd-decl-stubs.h:
+
+/usr/include/x86_64-linux-gnu/bits/huge_val.h:
+
+/usr/include/x86_64-linux-gnu/bits/huge_valf.h:
+
+/usr/include/x86_64-linux-gnu/bits/huge_vall.h:
+
+/usr/include/x86_64-linux-gnu/bits/inf.h:
+
+/usr/include/x86_64-linux-gnu/bits/nan.h:
+
+/usr/include/x86_64-linux-gnu/bits/mathdef.h:
+
+/usr/include/x86_64-linux-gnu/bits/mathcalls.h:
+
+/usr/include/x86_64-linux-gnu/bits/mathinline.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitflags.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitstatus.h:
+
+/usr/include/x86_64-linux-gnu/sys/types.h:
+
+/usr/include/time.h:
+
+/usr/include/x86_64-linux-gnu/sys/select.h:
+
+/usr/include/x86_64-linux-gnu/bits/select.h:
+
+/usr/include/x86_64-linux-gnu/bits/sigset.h:
+
+/usr/include/x86_64-linux-gnu/bits/time.h:
+
+/usr/include/x86_64-linux-gnu/bits/select2.h:
+
+/usr/include/x86_64-linux-gnu/sys/sysmacros.h:
+
+/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h:
+
+/usr/include/alloca.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib-float.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib.h:
+
+/usr/include/values.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/float.h:
+
+../../modules/core/includes/stack-def.h:
+
+../../modules/core/includes/stackTypeVariable.h:
+
+../../modules/core/includes/BOOL.h:
+
+../../modules/core/includes/doublecomplex.h:
+
+../../modules/core/includes/stack1.h:
+
+../../modules/core/includes/scisparse.h:
+
+../../modules/core/includes/stack2.h:
+
+../../modules/core/includes/stack3.h:
+
+../../modules/core/includes/stack-optional.h:
+
+../../modules/core/includes/sci_types.h:
+
+includes/librarieslist.h:
+
+includes/dynlib_functions.h:
+
+../../modules/core/includes/MALLOC.h:
+
+../../modules/core/includes/sci_mem_alloc.h:
+
+../../modules/core/includes/freeArrayOfString.h:
+
+/usr/include/wchar.h:
+
+/usr/include/stdio.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h:
+
+/usr/include/x86_64-linux-gnu/bits/wchar.h:
+
+/usr/include/x86_64-linux-gnu/bits/wchar2.h:
diff --git a/modules/functions/sci_gateway/c/.deps/libscifunctions_la-sci_libraryinfo.Plo b/modules/functions/sci_gateway/c/.deps/libscifunctions_la-sci_libraryinfo.Plo
new file mode 100755
index 000000000..aba2d37e6
--- /dev/null
+++ b/modules/functions/sci_gateway/c/.deps/libscifunctions_la-sci_libraryinfo.Plo
@@ -0,0 +1,301 @@
+sci_gateway/c/libscifunctions_la-sci_libraryinfo.lo: \
+ sci_gateway/c/sci_libraryinfo.c /usr/include/stdc-predef.h \
+ ../../modules/core/includes/gw_core.h \
+ ../../modules/core/includes/machine.h \
+ ../../modules/api_scilab/includes/api_scilab.h \
+ ../../modules/core/includes/stack-c.h /usr/include/string.h \
+ /usr/include/features.h /usr/include/x86_64-linux-gnu/sys/cdefs.h \
+ /usr/include/x86_64-linux-gnu/bits/wordsize.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h /usr/include/xlocale.h \
+ /usr/include/x86_64-linux-gnu/bits/string.h \
+ /usr/include/x86_64-linux-gnu/bits/string2.h /usr/include/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap.h \
+ /usr/include/x86_64-linux-gnu/bits/types.h \
+ /usr/include/x86_64-linux-gnu/bits/typesizes.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap-16.h /usr/include/stdlib.h \
+ /usr/include/x86_64-linux-gnu/bits/string3.h \
+ ../../modules/core/includes/core_math.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h \
+ /usr/include/limits.h /usr/include/x86_64-linux-gnu/bits/posix1_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/local_lim.h \
+ /usr/include/linux/limits.h \
+ /usr/include/x86_64-linux-gnu/bits/posix2_lim.h /usr/include/math.h \
+ /usr/include/x86_64-linux-gnu/bits/math-vector.h \
+ /usr/include/x86_64-linux-gnu/bits/libm-simd-decl-stubs.h \
+ /usr/include/x86_64-linux-gnu/bits/huge_val.h \
+ /usr/include/x86_64-linux-gnu/bits/huge_valf.h \
+ /usr/include/x86_64-linux-gnu/bits/huge_vall.h \
+ /usr/include/x86_64-linux-gnu/bits/inf.h \
+ /usr/include/x86_64-linux-gnu/bits/nan.h \
+ /usr/include/x86_64-linux-gnu/bits/mathdef.h \
+ /usr/include/x86_64-linux-gnu/bits/mathcalls.h \
+ /usr/include/x86_64-linux-gnu/bits/mathinline.h \
+ /usr/include/x86_64-linux-gnu/bits/waitflags.h \
+ /usr/include/x86_64-linux-gnu/bits/waitstatus.h \
+ /usr/include/x86_64-linux-gnu/sys/types.h /usr/include/time.h \
+ /usr/include/x86_64-linux-gnu/sys/select.h \
+ /usr/include/x86_64-linux-gnu/bits/select.h \
+ /usr/include/x86_64-linux-gnu/bits/sigset.h \
+ /usr/include/x86_64-linux-gnu/bits/time.h \
+ /usr/include/x86_64-linux-gnu/bits/select2.h \
+ /usr/include/x86_64-linux-gnu/sys/sysmacros.h \
+ /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h /usr/include/alloca.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib.h /usr/include/values.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/float.h \
+ ../../modules/core/includes/stack-def.h \
+ ../../modules/core/includes/stackTypeVariable.h \
+ ../../modules/core/includes/BOOL.h \
+ ../../modules/core/includes/doublecomplex.h \
+ ../../modules/core/includes/stack1.h \
+ ../../modules/core/includes/scisparse.h \
+ ../../modules/core/includes/stack2.h \
+ ../../modules/core/includes/stack3.h \
+ ../../modules/core/includes/stack-optional.h \
+ ../../modules/core/includes/sci_types.h \
+ ../../modules/api_scilab/includes/api_common.h \
+ ../../modules/api_scilab/includes/api_scilab.h \
+ ../../modules/api_scilab/includes/api_double.h \
+ ../../modules/core/includes/doublecomplex.h \
+ ../../modules/api_scilab/includes/api_string.h /usr/include/wchar.h \
+ /usr/include/stdio.h /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \
+ /usr/include/x86_64-linux-gnu/bits/wchar.h \
+ /usr/include/x86_64-linux-gnu/bits/wchar2.h \
+ ../../modules/api_scilab/includes/api_int.h \
+ ../../modules/api_scilab/includes/api_poly.h \
+ ../../modules/api_scilab/includes/api_sparse.h \
+ ../../modules/api_scilab/includes/api_boolean.h \
+ ../../modules/api_scilab/includes/api_boolean_sparse.h \
+ ../../modules/api_scilab/includes/api_pointer.h \
+ ../../modules/api_scilab/includes/api_list.h \
+ ../../modules/api_scilab/includes/api_error.h \
+ ../../modules/api_scilab/includes/api_handle.h \
+ ../../modules/api_scilab/includes/api_optional.h \
+ ../../modules/core/includes/stack-optional.h \
+ ../../modules/api_scilab/includes/api_hypermat.h \
+ ../../modules/core/includes/core_math.h \
+ ../../modules/core/includes/sci_types.h includes/libraryinfo.h \
+ includes/dynlib_functions.h ../../modules/core/includes/MALLOC.h \
+ ../../modules/core/includes/sci_mem_alloc.h \
+ ../../modules/output_stream/includes/Scierror.h \
+ ../../modules/output_stream/includes/do_error_number.h \
+ ../../modules/core/includes/machine.h \
+ ../../modules/localization/includes/localization.h \
+ /usr/include/libintl.h /usr/include/locale.h \
+ /usr/include/x86_64-linux-gnu/bits/locale.h \
+ ../../modules/core/includes/freeArrayOfString.h
+
+/usr/include/stdc-predef.h:
+
+../../modules/core/includes/gw_core.h:
+
+../../modules/core/includes/machine.h:
+
+../../modules/api_scilab/includes/api_scilab.h:
+
+../../modules/core/includes/stack-c.h:
+
+/usr/include/string.h:
+
+/usr/include/features.h:
+
+/usr/include/x86_64-linux-gnu/sys/cdefs.h:
+
+/usr/include/x86_64-linux-gnu/bits/wordsize.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs-64.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/x86_64-linux-gnu/bits/string.h:
+
+/usr/include/x86_64-linux-gnu/bits/string2.h:
+
+/usr/include/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap.h:
+
+/usr/include/x86_64-linux-gnu/bits/types.h:
+
+/usr/include/x86_64-linux-gnu/bits/typesizes.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap-16.h:
+
+/usr/include/stdlib.h:
+
+/usr/include/x86_64-linux-gnu/bits/string3.h:
+
+../../modules/core/includes/core_math.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h:
+
+/usr/include/limits.h:
+
+/usr/include/x86_64-linux-gnu/bits/posix1_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/local_lim.h:
+
+/usr/include/linux/limits.h:
+
+/usr/include/x86_64-linux-gnu/bits/posix2_lim.h:
+
+/usr/include/math.h:
+
+/usr/include/x86_64-linux-gnu/bits/math-vector.h:
+
+/usr/include/x86_64-linux-gnu/bits/libm-simd-decl-stubs.h:
+
+/usr/include/x86_64-linux-gnu/bits/huge_val.h:
+
+/usr/include/x86_64-linux-gnu/bits/huge_valf.h:
+
+/usr/include/x86_64-linux-gnu/bits/huge_vall.h:
+
+/usr/include/x86_64-linux-gnu/bits/inf.h:
+
+/usr/include/x86_64-linux-gnu/bits/nan.h:
+
+/usr/include/x86_64-linux-gnu/bits/mathdef.h:
+
+/usr/include/x86_64-linux-gnu/bits/mathcalls.h:
+
+/usr/include/x86_64-linux-gnu/bits/mathinline.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitflags.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitstatus.h:
+
+/usr/include/x86_64-linux-gnu/sys/types.h:
+
+/usr/include/time.h:
+
+/usr/include/x86_64-linux-gnu/sys/select.h:
+
+/usr/include/x86_64-linux-gnu/bits/select.h:
+
+/usr/include/x86_64-linux-gnu/bits/sigset.h:
+
+/usr/include/x86_64-linux-gnu/bits/time.h:
+
+/usr/include/x86_64-linux-gnu/bits/select2.h:
+
+/usr/include/x86_64-linux-gnu/sys/sysmacros.h:
+
+/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h:
+
+/usr/include/alloca.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib-float.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib.h:
+
+/usr/include/values.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/float.h:
+
+../../modules/core/includes/stack-def.h:
+
+../../modules/core/includes/stackTypeVariable.h:
+
+../../modules/core/includes/BOOL.h:
+
+../../modules/core/includes/doublecomplex.h:
+
+../../modules/core/includes/stack1.h:
+
+../../modules/core/includes/scisparse.h:
+
+../../modules/core/includes/stack2.h:
+
+../../modules/core/includes/stack3.h:
+
+../../modules/core/includes/stack-optional.h:
+
+../../modules/core/includes/sci_types.h:
+
+../../modules/api_scilab/includes/api_common.h:
+
+../../modules/api_scilab/includes/api_scilab.h:
+
+../../modules/api_scilab/includes/api_double.h:
+
+../../modules/core/includes/doublecomplex.h:
+
+../../modules/api_scilab/includes/api_string.h:
+
+/usr/include/wchar.h:
+
+/usr/include/stdio.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h:
+
+/usr/include/x86_64-linux-gnu/bits/wchar.h:
+
+/usr/include/x86_64-linux-gnu/bits/wchar2.h:
+
+../../modules/api_scilab/includes/api_int.h:
+
+../../modules/api_scilab/includes/api_poly.h:
+
+../../modules/api_scilab/includes/api_sparse.h:
+
+../../modules/api_scilab/includes/api_boolean.h:
+
+../../modules/api_scilab/includes/api_boolean_sparse.h:
+
+../../modules/api_scilab/includes/api_pointer.h:
+
+../../modules/api_scilab/includes/api_list.h:
+
+../../modules/api_scilab/includes/api_error.h:
+
+../../modules/api_scilab/includes/api_handle.h:
+
+../../modules/api_scilab/includes/api_optional.h:
+
+../../modules/core/includes/stack-optional.h:
+
+../../modules/api_scilab/includes/api_hypermat.h:
+
+../../modules/core/includes/core_math.h:
+
+../../modules/core/includes/sci_types.h:
+
+includes/libraryinfo.h:
+
+includes/dynlib_functions.h:
+
+../../modules/core/includes/MALLOC.h:
+
+../../modules/core/includes/sci_mem_alloc.h:
+
+../../modules/output_stream/includes/Scierror.h:
+
+../../modules/output_stream/includes/do_error_number.h:
+
+../../modules/core/includes/machine.h:
+
+../../modules/localization/includes/localization.h:
+
+/usr/include/libintl.h:
+
+/usr/include/locale.h:
+
+/usr/include/x86_64-linux-gnu/bits/locale.h:
+
+../../modules/core/includes/freeArrayOfString.h:
diff --git a/modules/functions/sci_gateway/c/.deps/libscifunctions_la-sci_whereis.Plo b/modules/functions/sci_gateway/c/.deps/libscifunctions_la-sci_whereis.Plo
new file mode 100755
index 000000000..2ef5af98d
--- /dev/null
+++ b/modules/functions/sci_gateway/c/.deps/libscifunctions_la-sci_whereis.Plo
@@ -0,0 +1,299 @@
+sci_gateway/c/libscifunctions_la-sci_whereis.lo: \
+ sci_gateway/c/sci_whereis.c /usr/include/stdc-predef.h \
+ ../../modules/core/includes/gw_core.h \
+ ../../modules/core/includes/machine.h \
+ ../../modules/api_scilab/includes/api_scilab.h \
+ ../../modules/core/includes/stack-c.h /usr/include/string.h \
+ /usr/include/features.h /usr/include/x86_64-linux-gnu/sys/cdefs.h \
+ /usr/include/x86_64-linux-gnu/bits/wordsize.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h /usr/include/xlocale.h \
+ /usr/include/x86_64-linux-gnu/bits/string.h \
+ /usr/include/x86_64-linux-gnu/bits/string2.h /usr/include/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap.h \
+ /usr/include/x86_64-linux-gnu/bits/types.h \
+ /usr/include/x86_64-linux-gnu/bits/typesizes.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap-16.h /usr/include/stdlib.h \
+ /usr/include/x86_64-linux-gnu/bits/string3.h \
+ ../../modules/core/includes/core_math.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h \
+ /usr/include/limits.h /usr/include/x86_64-linux-gnu/bits/posix1_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/local_lim.h \
+ /usr/include/linux/limits.h \
+ /usr/include/x86_64-linux-gnu/bits/posix2_lim.h /usr/include/math.h \
+ /usr/include/x86_64-linux-gnu/bits/math-vector.h \
+ /usr/include/x86_64-linux-gnu/bits/libm-simd-decl-stubs.h \
+ /usr/include/x86_64-linux-gnu/bits/huge_val.h \
+ /usr/include/x86_64-linux-gnu/bits/huge_valf.h \
+ /usr/include/x86_64-linux-gnu/bits/huge_vall.h \
+ /usr/include/x86_64-linux-gnu/bits/inf.h \
+ /usr/include/x86_64-linux-gnu/bits/nan.h \
+ /usr/include/x86_64-linux-gnu/bits/mathdef.h \
+ /usr/include/x86_64-linux-gnu/bits/mathcalls.h \
+ /usr/include/x86_64-linux-gnu/bits/mathinline.h \
+ /usr/include/x86_64-linux-gnu/bits/waitflags.h \
+ /usr/include/x86_64-linux-gnu/bits/waitstatus.h \
+ /usr/include/x86_64-linux-gnu/sys/types.h /usr/include/time.h \
+ /usr/include/x86_64-linux-gnu/sys/select.h \
+ /usr/include/x86_64-linux-gnu/bits/select.h \
+ /usr/include/x86_64-linux-gnu/bits/sigset.h \
+ /usr/include/x86_64-linux-gnu/bits/time.h \
+ /usr/include/x86_64-linux-gnu/bits/select2.h \
+ /usr/include/x86_64-linux-gnu/sys/sysmacros.h \
+ /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h /usr/include/alloca.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib.h /usr/include/values.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/float.h \
+ ../../modules/core/includes/stack-def.h \
+ ../../modules/core/includes/stackTypeVariable.h \
+ ../../modules/core/includes/BOOL.h \
+ ../../modules/core/includes/doublecomplex.h \
+ ../../modules/core/includes/stack1.h \
+ ../../modules/core/includes/scisparse.h \
+ ../../modules/core/includes/stack2.h \
+ ../../modules/core/includes/stack3.h \
+ ../../modules/core/includes/stack-optional.h \
+ ../../modules/core/includes/sci_types.h \
+ ../../modules/api_scilab/includes/api_common.h \
+ ../../modules/api_scilab/includes/api_scilab.h \
+ ../../modules/api_scilab/includes/api_double.h \
+ ../../modules/core/includes/doublecomplex.h \
+ ../../modules/api_scilab/includes/api_string.h /usr/include/wchar.h \
+ /usr/include/stdio.h /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \
+ /usr/include/x86_64-linux-gnu/bits/wchar.h \
+ /usr/include/x86_64-linux-gnu/bits/wchar2.h \
+ ../../modules/api_scilab/includes/api_int.h \
+ ../../modules/api_scilab/includes/api_poly.h \
+ ../../modules/api_scilab/includes/api_sparse.h \
+ ../../modules/api_scilab/includes/api_boolean.h \
+ ../../modules/api_scilab/includes/api_boolean_sparse.h \
+ ../../modules/api_scilab/includes/api_pointer.h \
+ ../../modules/api_scilab/includes/api_list.h \
+ ../../modules/api_scilab/includes/api_error.h \
+ ../../modules/api_scilab/includes/api_handle.h \
+ ../../modules/api_scilab/includes/api_optional.h \
+ ../../modules/core/includes/stack-optional.h \
+ ../../modules/api_scilab/includes/api_hypermat.h \
+ ../../modules/core/includes/core_math.h \
+ ../../modules/core/includes/sci_types.h \
+ ../../modules/localization/includes/localization.h \
+ ../../modules/core/includes/machine.h /usr/include/libintl.h \
+ /usr/include/locale.h /usr/include/x86_64-linux-gnu/bits/locale.h \
+ ../../modules/output_stream/includes/Scierror.h \
+ ../../modules/output_stream/includes/do_error_number.h \
+ ../../modules/core/includes/MALLOC.h \
+ ../../modules/core/includes/sci_mem_alloc.h \
+ src/c/searchmacroinlibraries.h \
+ ../../modules/core/includes/freeArrayOfString.h
+
+/usr/include/stdc-predef.h:
+
+../../modules/core/includes/gw_core.h:
+
+../../modules/core/includes/machine.h:
+
+../../modules/api_scilab/includes/api_scilab.h:
+
+../../modules/core/includes/stack-c.h:
+
+/usr/include/string.h:
+
+/usr/include/features.h:
+
+/usr/include/x86_64-linux-gnu/sys/cdefs.h:
+
+/usr/include/x86_64-linux-gnu/bits/wordsize.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs-64.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/x86_64-linux-gnu/bits/string.h:
+
+/usr/include/x86_64-linux-gnu/bits/string2.h:
+
+/usr/include/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap.h:
+
+/usr/include/x86_64-linux-gnu/bits/types.h:
+
+/usr/include/x86_64-linux-gnu/bits/typesizes.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap-16.h:
+
+/usr/include/stdlib.h:
+
+/usr/include/x86_64-linux-gnu/bits/string3.h:
+
+../../modules/core/includes/core_math.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h:
+
+/usr/include/limits.h:
+
+/usr/include/x86_64-linux-gnu/bits/posix1_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/local_lim.h:
+
+/usr/include/linux/limits.h:
+
+/usr/include/x86_64-linux-gnu/bits/posix2_lim.h:
+
+/usr/include/math.h:
+
+/usr/include/x86_64-linux-gnu/bits/math-vector.h:
+
+/usr/include/x86_64-linux-gnu/bits/libm-simd-decl-stubs.h:
+
+/usr/include/x86_64-linux-gnu/bits/huge_val.h:
+
+/usr/include/x86_64-linux-gnu/bits/huge_valf.h:
+
+/usr/include/x86_64-linux-gnu/bits/huge_vall.h:
+
+/usr/include/x86_64-linux-gnu/bits/inf.h:
+
+/usr/include/x86_64-linux-gnu/bits/nan.h:
+
+/usr/include/x86_64-linux-gnu/bits/mathdef.h:
+
+/usr/include/x86_64-linux-gnu/bits/mathcalls.h:
+
+/usr/include/x86_64-linux-gnu/bits/mathinline.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitflags.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitstatus.h:
+
+/usr/include/x86_64-linux-gnu/sys/types.h:
+
+/usr/include/time.h:
+
+/usr/include/x86_64-linux-gnu/sys/select.h:
+
+/usr/include/x86_64-linux-gnu/bits/select.h:
+
+/usr/include/x86_64-linux-gnu/bits/sigset.h:
+
+/usr/include/x86_64-linux-gnu/bits/time.h:
+
+/usr/include/x86_64-linux-gnu/bits/select2.h:
+
+/usr/include/x86_64-linux-gnu/sys/sysmacros.h:
+
+/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h:
+
+/usr/include/alloca.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib-float.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib.h:
+
+/usr/include/values.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/float.h:
+
+../../modules/core/includes/stack-def.h:
+
+../../modules/core/includes/stackTypeVariable.h:
+
+../../modules/core/includes/BOOL.h:
+
+../../modules/core/includes/doublecomplex.h:
+
+../../modules/core/includes/stack1.h:
+
+../../modules/core/includes/scisparse.h:
+
+../../modules/core/includes/stack2.h:
+
+../../modules/core/includes/stack3.h:
+
+../../modules/core/includes/stack-optional.h:
+
+../../modules/core/includes/sci_types.h:
+
+../../modules/api_scilab/includes/api_common.h:
+
+../../modules/api_scilab/includes/api_scilab.h:
+
+../../modules/api_scilab/includes/api_double.h:
+
+../../modules/core/includes/doublecomplex.h:
+
+../../modules/api_scilab/includes/api_string.h:
+
+/usr/include/wchar.h:
+
+/usr/include/stdio.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h:
+
+/usr/include/x86_64-linux-gnu/bits/wchar.h:
+
+/usr/include/x86_64-linux-gnu/bits/wchar2.h:
+
+../../modules/api_scilab/includes/api_int.h:
+
+../../modules/api_scilab/includes/api_poly.h:
+
+../../modules/api_scilab/includes/api_sparse.h:
+
+../../modules/api_scilab/includes/api_boolean.h:
+
+../../modules/api_scilab/includes/api_boolean_sparse.h:
+
+../../modules/api_scilab/includes/api_pointer.h:
+
+../../modules/api_scilab/includes/api_list.h:
+
+../../modules/api_scilab/includes/api_error.h:
+
+../../modules/api_scilab/includes/api_handle.h:
+
+../../modules/api_scilab/includes/api_optional.h:
+
+../../modules/core/includes/stack-optional.h:
+
+../../modules/api_scilab/includes/api_hypermat.h:
+
+../../modules/core/includes/core_math.h:
+
+../../modules/core/includes/sci_types.h:
+
+../../modules/localization/includes/localization.h:
+
+../../modules/core/includes/machine.h:
+
+/usr/include/libintl.h:
+
+/usr/include/locale.h:
+
+/usr/include/x86_64-linux-gnu/bits/locale.h:
+
+../../modules/output_stream/includes/Scierror.h:
+
+../../modules/output_stream/includes/do_error_number.h:
+
+../../modules/core/includes/MALLOC.h:
+
+../../modules/core/includes/sci_mem_alloc.h:
+
+src/c/searchmacroinlibraries.h:
+
+../../modules/core/includes/freeArrayOfString.h:
diff --git a/modules/functions/sci_gateway/c/.dirstamp b/modules/functions/sci_gateway/c/.dirstamp
new file mode 100755
index 000000000..e69de29bb
--- /dev/null
+++ b/modules/functions/sci_gateway/c/.dirstamp
diff --git a/modules/functions/sci_gateway/c/.libs/libscifunctions_la-gw_functions.o b/modules/functions/sci_gateway/c/.libs/libscifunctions_la-gw_functions.o
new file mode 100755
index 000000000..51bdf3ae0
--- /dev/null
+++ b/modules/functions/sci_gateway/c/.libs/libscifunctions_la-gw_functions.o
Binary files differ
diff --git a/modules/functions/sci_gateway/c/.libs/libscifunctions_la-sci_deff.o b/modules/functions/sci_gateway/c/.libs/libscifunctions_la-sci_deff.o
new file mode 100755
index 000000000..773c2c51f
--- /dev/null
+++ b/modules/functions/sci_gateway/c/.libs/libscifunctions_la-sci_deff.o
Binary files differ
diff --git a/modules/functions/sci_gateway/c/.libs/libscifunctions_la-sci_exec.o b/modules/functions/sci_gateway/c/.libs/libscifunctions_la-sci_exec.o
new file mode 100755
index 000000000..0cfddf152
--- /dev/null
+++ b/modules/functions/sci_gateway/c/.libs/libscifunctions_la-sci_exec.o
Binary files differ
diff --git a/modules/functions/sci_gateway/c/.libs/libscifunctions_la-sci_execstr.o b/modules/functions/sci_gateway/c/.libs/libscifunctions_la-sci_execstr.o
new file mode 100755
index 000000000..2804fcfa3
--- /dev/null
+++ b/modules/functions/sci_gateway/c/.libs/libscifunctions_la-sci_execstr.o
Binary files differ
diff --git a/modules/functions/sci_gateway/c/.libs/libscifunctions_la-sci_lib.o b/modules/functions/sci_gateway/c/.libs/libscifunctions_la-sci_lib.o
new file mode 100755
index 000000000..a62a2b7ea
--- /dev/null
+++ b/modules/functions/sci_gateway/c/.libs/libscifunctions_la-sci_lib.o
Binary files differ
diff --git a/modules/functions/sci_gateway/c/.libs/libscifunctions_la-sci_librarieslist.o b/modules/functions/sci_gateway/c/.libs/libscifunctions_la-sci_librarieslist.o
new file mode 100755
index 000000000..0821909b6
--- /dev/null
+++ b/modules/functions/sci_gateway/c/.libs/libscifunctions_la-sci_librarieslist.o
Binary files differ
diff --git a/modules/functions/sci_gateway/c/.libs/libscifunctions_la-sci_libraryinfo.o b/modules/functions/sci_gateway/c/.libs/libscifunctions_la-sci_libraryinfo.o
new file mode 100755
index 000000000..132f0d96b
--- /dev/null
+++ b/modules/functions/sci_gateway/c/.libs/libscifunctions_la-sci_libraryinfo.o
Binary files differ
diff --git a/modules/functions/sci_gateway/c/.libs/libscifunctions_la-sci_whereis.o b/modules/functions/sci_gateway/c/.libs/libscifunctions_la-sci_whereis.o
new file mode 100755
index 000000000..74411c4cf
--- /dev/null
+++ b/modules/functions/sci_gateway/c/.libs/libscifunctions_la-sci_whereis.o
Binary files differ
diff --git a/modules/functions/sci_gateway/c/gw_functions.c b/modules/functions/sci_gateway/c/gw_functions.c
new file mode 100755
index 000000000..5bf30f764
--- /dev/null
+++ b/modules/functions/sci_gateway/c/gw_functions.c
@@ -0,0 +1,78 @@
+
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2009 - DIGITEO - Allan CORNET
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ */
+
+
+#include "gw_functions.h"
+#include "api_scilab.h"
+#include "MALLOC.h"
+#include "callFunctionFromGateway.h"
+#include "recursionFunction.h"
+/*--------------------------------------------------------------------------*/
+static int sci_getf(char *fname, unsigned long fname_len)
+{
+ // Because we do not want change order in gateway
+ // empty function
+ return 0;
+}
+/*--------------------------------------------------------------------------*/
+static gw_generic_table Tab[] =
+{
+ {C2F(sci_lib), "lib"},
+ {C2F(sci_deff), "deff"},
+ {sci_getf, "getf"},
+ {C2F(sci_exec), "exec"},
+ {C2F(sci_execstr), "execstr"},
+ {sci_librarieslist, "librarieslist"},
+ {sci_libraryinfo, "libraryinfo"},
+ {sci_whereis, "whereis"}
+};
+/*--------------------------------------------------------------------------*/
+int gw_functions(void)
+{
+ Rhs = Max(0, Rhs);
+
+ if ( isRecursionCallToFunction() )
+ {
+ switch ( getRecursionFunctionToCall() )
+ {
+ case RECURSION_CALL_DEFF:
+#define deff_fname "deff"
+ C2F(sci_deff)(deff_fname, (unsigned long)strlen(deff_fname));
+ return 0;
+
+ case RECURSION_CALL_EXEC1:
+ case RECURSION_CALL_EXEC2:
+#define exec_fname "exec"
+ C2F(sci_exec)(exec_fname, (unsigned long)strlen(exec_fname));
+ return 0;
+
+ case RECURSION_CALL_EXECSTR:
+#define execstr_fname "execstr"
+ C2F(sci_execstr)(execstr_fname, (unsigned long)strlen(execstr_fname));
+ return 0;
+
+ default:
+ return 0;
+ }
+ }
+
+ if (pvApiCtx == NULL)
+ {
+ pvApiCtx = (StrCtx*)MALLOC(sizeof(StrCtx));
+ }
+
+ pvApiCtx->pstName = (char*)Tab[Fin - 1].name;
+ callFunctionFromGateway(Tab, SIZE_CURRENT_GENERIC_TABLE(Tab));
+ return 0;
+}
+/*--------------------------------------------------------------------------*/
diff --git a/modules/functions/sci_gateway/c/libscifunctions_la-gw_functions.lo b/modules/functions/sci_gateway/c/libscifunctions_la-gw_functions.lo
new file mode 100755
index 000000000..ae6488560
--- /dev/null
+++ b/modules/functions/sci_gateway/c/libscifunctions_la-gw_functions.lo
@@ -0,0 +1,12 @@
+# sci_gateway/c/libscifunctions_la-gw_functions.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/libscifunctions_la-gw_functions.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/functions/sci_gateway/c/libscifunctions_la-sci_deff.lo b/modules/functions/sci_gateway/c/libscifunctions_la-sci_deff.lo
new file mode 100755
index 000000000..bf6e7dede
--- /dev/null
+++ b/modules/functions/sci_gateway/c/libscifunctions_la-sci_deff.lo
@@ -0,0 +1,12 @@
+# sci_gateway/c/libscifunctions_la-sci_deff.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/libscifunctions_la-sci_deff.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/functions/sci_gateway/c/libscifunctions_la-sci_exec.lo b/modules/functions/sci_gateway/c/libscifunctions_la-sci_exec.lo
new file mode 100755
index 000000000..1f2f01a15
--- /dev/null
+++ b/modules/functions/sci_gateway/c/libscifunctions_la-sci_exec.lo
@@ -0,0 +1,12 @@
+# sci_gateway/c/libscifunctions_la-sci_exec.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/libscifunctions_la-sci_exec.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/functions/sci_gateway/c/libscifunctions_la-sci_execstr.lo b/modules/functions/sci_gateway/c/libscifunctions_la-sci_execstr.lo
new file mode 100755
index 000000000..c9383cda2
--- /dev/null
+++ b/modules/functions/sci_gateway/c/libscifunctions_la-sci_execstr.lo
@@ -0,0 +1,12 @@
+# sci_gateway/c/libscifunctions_la-sci_execstr.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/libscifunctions_la-sci_execstr.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/functions/sci_gateway/c/libscifunctions_la-sci_lib.lo b/modules/functions/sci_gateway/c/libscifunctions_la-sci_lib.lo
new file mode 100755
index 000000000..85841319a
--- /dev/null
+++ b/modules/functions/sci_gateway/c/libscifunctions_la-sci_lib.lo
@@ -0,0 +1,12 @@
+# sci_gateway/c/libscifunctions_la-sci_lib.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/libscifunctions_la-sci_lib.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/functions/sci_gateway/c/libscifunctions_la-sci_librarieslist.lo b/modules/functions/sci_gateway/c/libscifunctions_la-sci_librarieslist.lo
new file mode 100755
index 000000000..766116f2f
--- /dev/null
+++ b/modules/functions/sci_gateway/c/libscifunctions_la-sci_librarieslist.lo
@@ -0,0 +1,12 @@
+# sci_gateway/c/libscifunctions_la-sci_librarieslist.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/libscifunctions_la-sci_librarieslist.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/functions/sci_gateway/c/libscifunctions_la-sci_libraryinfo.lo b/modules/functions/sci_gateway/c/libscifunctions_la-sci_libraryinfo.lo
new file mode 100755
index 000000000..10a7cf235
--- /dev/null
+++ b/modules/functions/sci_gateway/c/libscifunctions_la-sci_libraryinfo.lo
@@ -0,0 +1,12 @@
+# sci_gateway/c/libscifunctions_la-sci_libraryinfo.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/libscifunctions_la-sci_libraryinfo.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/functions/sci_gateway/c/libscifunctions_la-sci_whereis.lo b/modules/functions/sci_gateway/c/libscifunctions_la-sci_whereis.lo
new file mode 100755
index 000000000..0462feec4
--- /dev/null
+++ b/modules/functions/sci_gateway/c/libscifunctions_la-sci_whereis.lo
@@ -0,0 +1,12 @@
+# sci_gateway/c/libscifunctions_la-sci_whereis.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/libscifunctions_la-sci_whereis.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/functions/sci_gateway/c/sci_deff.c b/modules/functions/sci_gateway/c/sci_deff.c
new file mode 100755
index 000000000..0acef981a
--- /dev/null
+++ b/modules/functions/sci_gateway/c/sci_deff.c
@@ -0,0 +1,22 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006 - INRIA - Allan CORNET
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ */
+
+#include "gw_functions.h"
+/*--------------------------------------------------------------------------*/
+extern int C2F(intdeff)();
+/*--------------------------------------------------------------------------*/
+int C2F(sci_deff)(char *fname, unsigned long fname_len)
+{
+ C2F(intdeff)();
+ return 0;
+}
+/*--------------------------------------------------------------------------*/
diff --git a/modules/functions/sci_gateway/c/sci_exec.c b/modules/functions/sci_gateway/c/sci_exec.c
new file mode 100755
index 000000000..37c754bda
--- /dev/null
+++ b/modules/functions/sci_gateway/c/sci_exec.c
@@ -0,0 +1,308 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006 - INRIA - Allan CORNET
+ * Copyright (C) 2009 - DIGITEO - Allan CORNET
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ */
+
+#include "gw_functions.h"
+#include "api_scilab.h"
+#include "machine.h"
+#include "recursionFunction.h"
+#include "localization.h"
+#include "Scierror.h"
+#include "MALLOC.h"
+#include "BOOL.h"
+/*--------------------------------------------------------------------------*/
+extern int C2F(intexec)(); /* fortran */
+/*--------------------------------------------------------------------------*/
+#define ERRCATCH_KEYWORD "errcatch"
+/*--------------------------------------------------------------------------*/
+int C2F(sci_exec)(char *fname, unsigned long fname_len)
+{
+ if ( isRecursionCallToFunction() )
+ {
+ C2F(intexec)(fname, fname_len);
+ }
+ else
+ {
+ SciErr sciErr;
+
+ int iType1 = 0;
+ int iType2 = 0;
+ int iType3 = 0;
+
+ int *piAddressVarOne = NULL;
+ int *piAddressVarTwo = NULL;
+ int *piAddressVarThree = NULL;
+
+ CheckRhs(1, 3);
+ CheckLhs(0, 1);
+
+ sciErr = getVarAddressFromPosition(pvApiCtx, 1, &piAddressVarOne);
+ if (sciErr.iErr)
+ {
+ printError(&sciErr, 0);
+ Scierror(999, _("%s: Can not read input argument #%d.\n"), fname, 1);
+ return 0;
+ }
+
+ sciErr = getVarType(pvApiCtx, piAddressVarOne, &iType1);
+ if (sciErr.iErr)
+ {
+ printError(&sciErr, 0);
+ Scierror(999, _("%s: Can not read input argument #%d.\n"), fname, 1);
+ return 0;
+ }
+
+ if (Rhs > 1)
+ {
+ sciErr = getVarAddressFromPosition(pvApiCtx, 2, &piAddressVarTwo);
+ if (sciErr.iErr)
+ {
+ printError(&sciErr, 0);
+ Scierror(999, _("%s: Can not read input argument #%d.\n"), fname, 2);
+ return 0;
+ }
+
+ sciErr = getVarType(pvApiCtx, piAddressVarTwo, &iType2);
+ if (sciErr.iErr)
+ {
+ printError(&sciErr, 0);
+ Scierror(999, _("%s: Can not read input argument #%d.\n"), fname, 2);
+ return 0;
+ }
+ }
+
+ if (Rhs > 2)
+ {
+ sciErr = getVarAddressFromPosition(pvApiCtx, 3, &piAddressVarThree);
+ if (sciErr.iErr)
+ {
+ printError(&sciErr, 0);
+ Scierror(999, _("%s: Can not read input argument #%d.\n"), fname, 3);
+ return 0;
+ }
+
+ sciErr = getVarType(pvApiCtx, piAddressVarThree, &iType3);
+ if (sciErr.iErr)
+ {
+ printError(&sciErr, 0);
+ Scierror(999, _("%s: Can not read input argument #%d.\n"), fname, 3);
+ return 0;
+ }
+ }
+
+ if ((iType1 == sci_matrix) || (iType1 == sci_strings) || (iType1 == sci_c_function) | (iType1 == sci_u_function))
+ {
+ int m1 = 0, n1 = 0;
+
+ /* sci_c_function, sci_u_function not managed by getVarDimension */
+ if ( (iType1 != sci_c_function) && (iType1 != sci_u_function) )
+ {
+ sciErr = getVarDimension(pvApiCtx, piAddressVarOne, &m1, &n1);
+ if (sciErr.iErr)
+ {
+ printError(&sciErr, 0);
+ Scierror(999, _("%s: Can not read input argument #%d.\n"), fname, 1);
+ return 0;
+ }
+
+ if (m1 * n1 != 1)
+ {
+ Scierror(999, _("%s: Wrong size for input argument #%d.\n"), fname, 1);
+ return 0;
+ }
+ }
+
+ if (Rhs > 1)
+ {
+ if ((iType2 != sci_matrix) && (iType2 != sci_strings))
+ {
+ Scierror(999, _("%s: Wrong type for input argument #%d: A scalar or a string expected.\n"), fname, 2);
+ return 0;
+ }
+ else
+ {
+ if (iType2 == sci_matrix)
+ {
+ int m2 = 0, n2 = 0;
+ double *pdVarTwo = NULL;
+ int iVarTwo = 0;
+
+ sciErr = getMatrixOfDouble(pvApiCtx, piAddressVarTwo, &m2, &n2, &pdVarTwo);
+ if (sciErr.iErr)
+ {
+ printError(&sciErr, 0);
+ Scierror(999, _("%s: Can not read input argument #%d.\n"), fname, 2);
+ return 0;
+ }
+
+ if (m2 * n2 != 1)
+ {
+ Scierror(999, _("%s: Wrong size for input argument #%d: A scalar expected.\n"), fname, 2);
+ return 0;
+ }
+
+ iVarTwo = (int)pdVarTwo[0];
+ if (*pdVarTwo != (double)iVarTwo)
+ {
+ Scierror(999, _("%s: Wrong value for input argument #%d: An integer expected.\n"), fname, 2);
+ return 0;
+ }
+ }
+ else /* sci_strings */
+ {
+ int m2 = 0, n2 = 0;
+ char *pStVarTwo = NULL;
+ int lenStVarTwo = 0;
+
+ sciErr = getMatrixOfString(pvApiCtx, piAddressVarTwo, &m2, &n2, &lenStVarTwo, NULL);
+ if (sciErr.iErr)
+ {
+ printError(&sciErr, 0);
+ Scierror(999, _("%s: Can not read input argument #%d.\n"), fname, 2);
+ return 0;
+ }
+
+ pStVarTwo = (char*)MALLOC(sizeof(char) * (lenStVarTwo + 1));
+ if (pStVarTwo)
+ {
+ sciErr = getMatrixOfString(pvApiCtx, piAddressVarTwo, &m2, &n2, &lenStVarTwo, &pStVarTwo);
+ if (sciErr.iErr)
+ {
+ printError(&sciErr, 0);
+ Scierror(999, _("%s: Can not read input argument #%d.\n"), fname, 2);
+ return 0;
+ }
+
+ if (strcmp(pStVarTwo, ERRCATCH_KEYWORD))
+ {
+ Scierror(999, _("%s: Wrong value for input argument #%d: 'errcatch' expected.\n"), fname, 2);
+ FREE(pStVarTwo);
+ pStVarTwo = NULL;
+ return 0;
+ }
+
+ FREE(pStVarTwo);
+ pStVarTwo = NULL;
+ }
+ else
+ {
+ Scierror(999, _("%s: Memory allocation error.\n"), fname);
+ return 0;
+ }
+ }
+ }
+ }
+
+ if (Rhs > 2)
+ {
+ BOOL bCombo = FALSE;
+ if ((iType3 != sci_matrix) && (iType3 != sci_strings))
+ {
+ Scierror(999, _("%s: Wrong type for input argument #%d: A scalar or a string expected.\n"), fname, 3);
+ return 0;
+ }
+ else
+ {
+ if (iType3 == sci_matrix)
+ {
+ int m3 = 0, n3 = 0;
+ double *pdVarThree = NULL;
+ int iVarThree = 0;
+
+ sciErr = getMatrixOfDouble(pvApiCtx, piAddressVarThree, &m3, &n3, &pdVarThree);
+ if (sciErr.iErr)
+ {
+ printError(&sciErr, 0);
+ Scierror(999, _("%s: Can not read input argument #%d.\n"), fname, 3);
+ return 0;
+ }
+
+ if (m3 * n3 != 1)
+ {
+ Scierror(999, _("%s: Wrong size for input argument #%d: A scalar expected.\n"), fname, 3);
+ return 0;
+ }
+
+ iVarThree = (int)pdVarThree[0];
+ if (*pdVarThree != (double)iVarThree)
+ {
+ Scierror(999, _("%s: Wrong value for input argument #%d: An integer expected.\n"), fname, 3);
+ return 0;
+ }
+ }
+ else /* sci_strings */
+ {
+ int m3 = 0, n3 = 0;
+ char *pStVarThree = NULL;
+ int lenStVarThree = 0;
+
+ sciErr = getMatrixOfString(pvApiCtx, piAddressVarThree, &m3, &n3, &lenStVarThree, NULL);
+ if (sciErr.iErr)
+ {
+ printError(&sciErr, 0);
+ Scierror(999, _("%s: Can not read input argument #%d.\n"), fname, 3);
+ return 0;
+ }
+
+ pStVarThree = (char*)MALLOC(sizeof(char) * (lenStVarThree + 1));
+ if (pStVarThree)
+ {
+ sciErr = getMatrixOfString(pvApiCtx, piAddressVarThree, &m3, &n3, &lenStVarThree, &pStVarThree);
+ if (sciErr.iErr)
+ {
+ printError(&sciErr, 0);
+ Scierror(999, _("%s: Can not read input argument #%d.\n"), fname, 3);
+ return 0;
+ }
+
+ if (strcmp(pStVarThree, ERRCATCH_KEYWORD))
+ {
+ Scierror(999, _("%s: Wrong value for input argument #%d: 'errcatch' expected.\n"), fname, 3);
+ FREE(pStVarThree);
+ pStVarThree = NULL;
+ return 0;
+ }
+
+ FREE(pStVarThree);
+ pStVarThree = NULL;
+ }
+ else
+ {
+ Scierror(999, _("%s : Memory allocation error.\n"), fname);
+ return 0;
+ }
+ }
+ }
+
+ if ((iType2 == sci_strings) && (iType3 == sci_matrix))
+ {
+ bCombo = TRUE;
+ }
+
+ if (!bCombo)
+ {
+ Scierror(999, _("%s: Wrong value(s) for input argument(s).\n"), fname, 3);
+ return 0;
+ }
+ }
+
+ /* input parameters seem good */
+ C2F(intexec)(fname, fname_len);
+ }
+ else
+ {
+ Scierror(999, _("%s: Wrong type for input argument #%d: A scalar or a string expected.\n"), fname, 1);
+ }
+ }
+ return 0;
+}
+/*--------------------------------------------------------------------------*/
diff --git a/modules/functions/sci_gateway/c/sci_execstr.c b/modules/functions/sci_gateway/c/sci_execstr.c
new file mode 100755
index 000000000..30e43476a
--- /dev/null
+++ b/modules/functions/sci_gateway/c/sci_execstr.c
@@ -0,0 +1,252 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006 - INRIA - Allan CORNET
+ * Copyright (C) 2009 - DIGITEO - Allan CORNET
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ */
+
+#include "gw_functions.h"
+#include "api_scilab.h"
+#include "machine.h"
+#include "recursionFunction.h"
+#include "localization.h"
+#include "Scierror.h"
+#include "MALLOC.h"
+#include "BOOL.h"
+/*--------------------------------------------------------------------------*/
+extern int C2F(intexecstr)(); /* fortran */
+/*--------------------------------------------------------------------------*/
+#define ERRCATCH_KEYWORD "errcatch"
+#define MESSAGE_KEYWORD "m"
+#define MESSAGE_DEFAULT_KEYWORD "n"
+/*--------------------------------------------------------------------------*/
+int C2F(sci_execstr)(char *fname, unsigned long fname_len)
+{
+ if ( isRecursionCallToFunction() )
+ {
+ C2F(intexecstr)(fname, fname_len);
+ }
+ else
+ {
+ SciErr sciErr;
+
+ int *piAddressVarOne = NULL;
+ int iType1 = 0;
+
+ CheckRhs(1, 3);
+ CheckLhs(0, 1);
+
+ sciErr = getVarAddressFromPosition(pvApiCtx, 1, &piAddressVarOne);
+ if (sciErr.iErr)
+ {
+ printError(&sciErr, 0);
+ Scierror(999, _("%s: Can not read input argument #%d.\n"), fname, 1);
+ return 0;
+ }
+
+ sciErr = getVarType(pvApiCtx, piAddressVarOne, &iType1);
+ if (sciErr.iErr)
+ {
+ printError(&sciErr, 0);
+ Scierror(999, _("%s: Can not read input argument #%d.\n"), fname, 1);
+ return 0;
+ }
+
+ /* execstr([])*/
+ if (iType1 == sci_matrix)
+ {
+ int m1 = 0, n1 = 0;
+
+ sciErr = getVarDimension(pvApiCtx, piAddressVarOne, &m1, &n1);
+ if (sciErr.iErr)
+ {
+ printError(&sciErr, 0);
+ Scierror(999, _("%s: Can not read input argument #%d.\n"), fname, 1);
+ return 0;
+ }
+
+ if ((m1 == n1) && (m1 == 0)) /* [] */
+ {
+ sciErr = createMatrixOfDouble(pvApiCtx, Rhs + 1, 0, 0, NULL);
+ if (sciErr.iErr)
+ {
+ printError(&sciErr, 0);
+ Scierror(999, _("%s: Memory allocation error.\n"), fname);
+ return 0;
+ }
+
+ LhsVar(1) = Rhs + 1;
+
+ PutLhsVar();
+ return 0;
+ }
+ else
+ {
+ Scierror(999, _("%s: Wrong type for input argument #%d: A string expected.\n"), fname, 1);
+ return 0;
+ }
+ }
+
+ if (iType1 != sci_strings)
+ {
+ Scierror(999, _("%s: Wrong type for input argument #%d: A string expected.\n"), fname, 1);
+ return 0;
+ }
+
+ if (Rhs > 1)
+ {
+ int m2 = 0, n2 = 0;
+ int *piAddressVarTwo = NULL;
+ char *pStVarTwo = NULL;
+ int lenStVarTwo = 0;
+ int iType2 = 0;
+
+ sciErr = getVarAddressFromPosition(pvApiCtx, 2, &piAddressVarTwo);
+ if (sciErr.iErr)
+ {
+ printError(&sciErr, 0);
+ Scierror(999, _("%s: Can not read input argument #%d.\n"), fname, 2);
+ return 0;
+ }
+
+ sciErr = getVarType(pvApiCtx, piAddressVarTwo, &iType2);
+ if (sciErr.iErr)
+ {
+ printError(&sciErr, 0);
+ Scierror(999, _("%s: Can not read input argument #%d.\n"), fname, 2);
+ return 0;
+ }
+
+ if (iType2 != sci_strings)
+ {
+ Scierror(999, _("%s: Wrong type for input argument #%d: A string expected.\n"), fname, 2);
+ return 0;
+ }
+
+ sciErr = getMatrixOfString(pvApiCtx, piAddressVarTwo, &m2, &n2, &lenStVarTwo, NULL);
+ if (sciErr.iErr)
+ {
+ printError(&sciErr, 0);
+ Scierror(999, _("%s: Can not read input argument #%d.\n"), fname, 2);
+ return 0;
+ }
+
+ if (m2 * n2 != 1)
+ {
+ Scierror(999, _("%s: Wrong size for input argument #%d: A string expected.\n"), fname, 2);
+ return 0;
+ }
+
+ pStVarTwo = (char*)MALLOC(sizeof(char) * (lenStVarTwo + 1));
+ if (pStVarTwo)
+ {
+ sciErr = getMatrixOfString(pvApiCtx, piAddressVarTwo, &m2, &n2, &lenStVarTwo, &pStVarTwo);
+ if (sciErr.iErr)
+ {
+ printError(&sciErr, 0);
+ Scierror(999, _("%s: Can not read input argument #%d.\n"), fname, 2);
+ return 0;
+ }
+
+ if (strcmp(pStVarTwo, ERRCATCH_KEYWORD))
+ {
+ Scierror(999, _("%s: Wrong value for input argument #%d: 'errcatch' expected.\n"), fname, 2);
+ FREE(pStVarTwo);
+ pStVarTwo = NULL;
+ return 0;
+ }
+
+ FREE(pStVarTwo);
+ pStVarTwo = NULL;
+ }
+ else
+ {
+ Scierror(999, _("%s: Memory allocation error.\n"), fname);
+ return 0;
+ }
+ }
+
+ if (Rhs > 2)
+ {
+ int m3 = 0, n3 = 0;
+ int *piAddressVarThree = NULL;
+ char *pStVarThree = NULL;
+ int lenStVarThree = 0;
+ int iType3 = 0;
+
+ sciErr = getVarAddressFromPosition(pvApiCtx, 3, &piAddressVarThree);
+ if (sciErr.iErr)
+ {
+ printError(&sciErr, 0);
+ Scierror(999, _("%s: Can not read input argument #%d.\n"), fname, 3);
+ return 0;
+ }
+
+ sciErr = getVarType(pvApiCtx, piAddressVarThree, &iType3);
+ if (sciErr.iErr)
+ {
+ printError(&sciErr, 0);
+ Scierror(999, _("%s: Can not read input argument #%d.\n"), fname, 3);
+ return 0;
+ }
+
+ if (iType3 != sci_strings)
+ {
+ Scierror(999, _("%s: Wrong type for input argument #%d: A string expected.\n"), fname, 3);
+ return 0;
+ }
+
+ sciErr = getMatrixOfString(pvApiCtx, piAddressVarThree, &m3, &n3, &lenStVarThree, NULL);
+ if (sciErr.iErr)
+ {
+ printError(&sciErr, 0);
+ Scierror(999, _("%s: Can not read input argument #%d.\n"), fname, 3);
+ return 0;
+ }
+
+ if (m3 * n3 != 1)
+ {
+ Scierror(999, _("%s: Wrong size for input argument #%d: A string expected.\n"), fname, 3);
+ return 0;
+ }
+
+ pStVarThree = (char*)MALLOC(sizeof(char) * (lenStVarThree + 1));
+ if (pStVarThree)
+ {
+ sciErr = getMatrixOfString(pvApiCtx, piAddressVarThree, &m3, &n3, &lenStVarThree, &pStVarThree);
+ if (sciErr.iErr)
+ {
+ printError(&sciErr, 0);
+ Scierror(999, _("%s: Can not read input argument #%d.\n"), fname, 3);
+ return 0;
+ }
+
+ if ( strcmp(pStVarThree, MESSAGE_KEYWORD) && strcmp(pStVarThree, MESSAGE_DEFAULT_KEYWORD) )
+ {
+ Scierror(999, _("%s: Wrong value for input argument #%d: 'm' or 'n' expected.\n"), fname, 3);
+ FREE(pStVarThree);
+ pStVarThree = NULL;
+ return 0;
+ }
+
+ FREE(pStVarThree);
+ pStVarThree = NULL;
+ }
+ else
+ {
+ Scierror(999, _("%s: Memory allocation error.\n"), fname);
+ return 0;
+ }
+ }
+
+ C2F(intexecstr)(fname, fname_len);
+ }
+ return 0;
+}
+/*--------------------------------------------------------------------------*/
diff --git a/modules/functions/sci_gateway/c/sci_lib.c b/modules/functions/sci_gateway/c/sci_lib.c
new file mode 100755
index 000000000..583aaffd8
--- /dev/null
+++ b/modules/functions/sci_gateway/c/sci_lib.c
@@ -0,0 +1,167 @@
+/*
+* Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+* Copyright (C) 2006 - INRIA - Allan CORNET
+* Copyright (C) 2009 - DIGITEO - Allan CORNET
+*
+* This file must be used under the terms of the CeCILL.
+* This source file is licensed as described in the file COPYING, which
+* you should have received as part of this distribution. The terms
+* are also available at
+* http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+*
+*/
+/*--------------------------------------------------------------------------*/
+#include <string.h>
+#include "gw_functions.h"
+#include "api_scilab.h"
+#include "localization.h"
+#include "Scierror.h"
+#include "MALLOC.h"
+#include "machine.h"
+#include "FileExist.h"
+#include "getFullFilename.h"
+#ifdef _MSC_VER
+#include "strdup_windows.h"
+#endif
+/*--------------------------------------------------------------------------*/
+extern int C2F(intlib)();
+/*--------------------------------------------------------------------------*/
+int C2F(sci_lib)(char *fname, unsigned long fname_len)
+{
+ SciErr sciErr;
+ int m1 = 0, n1 = 0;
+ int *piAddressVarOne = NULL;
+ int iType1 = 0;
+ char *pStVarOne = NULL;
+ char lib_filename[bsiz];
+ char *fullfilename = NULL;
+ int lenStVarOne = 0;
+
+ int len = 0;
+
+ /* Check the number of input argument */
+ CheckRhs(1, 1);
+
+ /* Check the number of output argument */
+ CheckLhs(1, 1);
+
+ /* get Address of inputs */
+ sciErr = getVarAddressFromPosition(pvApiCtx, 1, &piAddressVarOne);
+ if (sciErr.iErr)
+ {
+ printError(&sciErr, 0);
+ Scierror(999, _("%s: Can not read input argument #%d.\n"), fname, 1);
+ return 0;
+ }
+
+ sciErr = getVarType(pvApiCtx, piAddressVarOne, &iType1);
+ if (sciErr.iErr)
+ {
+ printError(&sciErr, 0);
+ Scierror(999, _("%s: Can not read input argument #%d.\n"), fname, 1);
+ return 0;
+ }
+
+ if (iType1 != sci_strings )
+ {
+ Scierror(999, _("%s: Wrong type for input argument #%d: A string expected.\n"), fname, 1);
+ return 0;
+ }
+
+ sciErr = getMatrixOfString(pvApiCtx, piAddressVarOne, &m1, &n1, &lenStVarOne, NULL);
+ if (sciErr.iErr)
+ {
+ printError(&sciErr, 0);
+ Scierror(999, _("%s: Can not read input argument #%d.\n"), fname, 1);
+ return 0;
+ }
+
+ /* check size */
+ if ( (m1 != n1) && (n1 != 1) )
+ {
+ Scierror(999, "%s: Wrong size for input argument #%d: A string expected.\n", fname, 1);
+ return 0;
+ }
+
+ pStVarOne = (char*)MALLOC(sizeof(char) * (lenStVarOne + 1));
+
+ if (pStVarOne == NULL)
+ {
+ Scierror(999, "%s: Memory allocation error.\n", fname);
+ return 0;
+ }
+
+ /* get string One */
+ sciErr = getMatrixOfString(pvApiCtx, piAddressVarOne, &m1, &n1, &lenStVarOne, &pStVarOne);
+ if (sciErr.iErr)
+ {
+ printError(&sciErr, 0);
+ Scierror(999, _("%s: Can not read input argument #%d.\n"), fname, 1);
+ return 0;
+ }
+
+ if ( (pStVarOne[strlen(pStVarOne) - 1] != '/') &&
+ (pStVarOne[strlen(pStVarOne) - 1] != '\\') )
+ {
+ pStVarOne = (char*)REALLOC(pStVarOne, (strlen(pStVarOne) + strlen(DIR_SEPARATOR) + 1) * sizeof(char));
+ if (pStVarOne)
+ {
+ strcat(pStVarOne, DIR_SEPARATOR);
+ }
+ else
+ {
+ Scierror(999, "%s: Memory allocation error.\n", fname);
+ return 0;
+ }
+ }
+
+ /* getfullfilename only if we need */
+ if (strchr(pStVarOne, '.') != NULL)
+ {
+ fullfilename = getFullFilename(pStVarOne);
+ }
+ else
+ {
+ fullfilename = strdup(pStVarOne);
+ }
+
+ if (fullfilename)
+ {
+ if ((int)strlen(fullfilename) >= bsiz)
+ {
+ strncpy(lib_filename, fullfilename, bsiz - 1);
+ lib_filename[bsiz - 1] = '\0';
+ }
+ else
+ {
+ strcpy(lib_filename, fullfilename);
+ }
+
+ FREE(fullfilename);
+ fullfilename = NULL;
+ }
+ else
+ {
+ if ((int)strlen(pStVarOne) >= bsiz)
+ {
+ strncpy(lib_filename, pStVarOne, bsiz - 1);
+ lib_filename[bsiz - 1] = '\0';
+ }
+ else
+ {
+ strcpy(lib_filename, pStVarOne);
+ }
+ }
+
+ if (pStVarOne)
+ {
+ FREE(pStVarOne);
+ pStVarOne = NULL;
+ }
+
+ len = (int)strlen(lib_filename);
+ C2F(intlib)(&len, lib_filename);
+
+ return 0;
+}
+/*--------------------------------------------------------------------------*/
diff --git a/modules/functions/sci_gateway/c/sci_librarieslist.c b/modules/functions/sci_gateway/c/sci_librarieslist.c
new file mode 100755
index 000000000..50178d71e
--- /dev/null
+++ b/modules/functions/sci_gateway/c/sci_librarieslist.c
@@ -0,0 +1,48 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2007 - INRIA - Allan CORNET
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ */
+#include "gw_core.h"
+#include "stack-c.h"
+#include "librarieslist.h"
+#include "MALLOC.h"
+#include "freeArrayOfString.h"
+/*--------------------------------------------------------------------------*/
+int sci_librarieslist(char *fname, unsigned long fname_len)
+{
+ char **libraries = NULL;
+ int sizelibraries = 0;
+
+ CheckRhs(0, 0);
+ CheckLhs(0, 1);
+
+ libraries = getlibrarieslist(&sizelibraries);
+
+ if (libraries)
+ {
+ int m = 0, n = 0;
+ m = sizelibraries;
+ n = 1;
+ CreateVarFromPtr(Rhs + 1, MATRIX_OF_STRING_DATATYPE, &m, &n, libraries);
+ }
+ else
+ {
+ int m = 0, n = 0, l = 0;
+ CreateVarFromPtr(Rhs + 1, MATRIX_OF_DOUBLE_DATATYPE, &n, &m, &l);
+ }
+
+ LhsVar(1) = Rhs + 1;
+
+ freeArrayOfString(libraries, sizelibraries);
+
+ PutLhsVar();
+ return 0;
+}
+/*--------------------------------------------------------------------------*/
diff --git a/modules/functions/sci_gateway/c/sci_libraryinfo.c b/modules/functions/sci_gateway/c/sci_libraryinfo.c
new file mode 100755
index 000000000..d1fbc1f0e
--- /dev/null
+++ b/modules/functions/sci_gateway/c/sci_libraryinfo.c
@@ -0,0 +1,131 @@
+/*
+* Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+* Copyright (C) 2007 - INRIA - Allan CORNET
+* Copyright (C) 2010 - DIGITEO - Allan CORNET
+*
+* This file must be used under the terms of the CeCILL.
+* This source file is licensed as described in the file COPYING, which
+* you should have received as part of this distribution. The terms
+* are also available at
+* http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+*
+*/
+#include "gw_core.h"
+#include "api_scilab.h"
+#include "libraryinfo.h"
+#include "MALLOC.h"
+#include "Scierror.h"
+#include "localization.h"
+#include "freeArrayOfString.h"
+/*--------------------------------------------------------------------------*/
+int sci_libraryinfo(char *fname, unsigned long fname_len)
+{
+ SciErr sciErr;
+ int *piAddressVarOne = NULL;
+
+ CheckRhs(1, 1);
+ CheckLhs(1, 2);
+
+ sciErr = getVarAddressFromPosition(pvApiCtx, 1, &piAddressVarOne);
+ if (sciErr.iErr)
+ {
+ printError(&sciErr, 0);
+ Scierror(999, _("%s: Can not read input argument #%d.\n"), fname, 1);
+ return 0;
+ }
+
+ if (isStringType(pvApiCtx, piAddressVarOne))
+ {
+ char *libraryname = NULL;
+
+ if (!isScalar(pvApiCtx, piAddressVarOne))
+ {
+ Scierror(999, _("%s: Wrong size for input argument #%d: String expected.\n"), fname, 1);
+ return 0;
+ }
+
+ if (getAllocatedSingleString(pvApiCtx, piAddressVarOne, &libraryname) == 0)
+ {
+ if (libraryname)
+ {
+ char *pathlibrary = getlibrarypath(libraryname);
+ if (pathlibrary)
+ {
+ int sizemacrosarray = 0;
+ char **macros = getlistmacrosfromlibrary(libraryname, &sizemacrosarray);
+ if (macros)
+ {
+ int m = sizemacrosarray;
+ int n = 1;
+
+ sciErr = createMatrixOfString(pvApiCtx, Rhs + 1, m, n, macros);
+ if (sciErr.iErr)
+ {
+ freeArrayOfString(macros, sizemacrosarray);
+ if (pathlibrary)
+ {
+ FREE(pathlibrary);
+ pathlibrary = NULL;
+ }
+
+ if (libraryname)
+ {
+ freeAllocatedSingleString(libraryname);
+ libraryname = NULL;
+ }
+ printError(&sciErr, 0);
+ Scierror(999, _("%s: Memory allocation error.\n"), fname);
+ return 0;
+ }
+ }
+ else
+ {
+ createEmptyMatrix(pvApiCtx, Rhs + 1);
+ }
+ LhsVar(1) = Rhs + 1;
+
+ freeArrayOfString(macros, sizemacrosarray);
+
+ if (Lhs == 2)
+ {
+ createSingleString(pvApiCtx, Rhs + 2, pathlibrary);
+ LhsVar(2) = Rhs + 2;
+ }
+
+ if (pathlibrary)
+ {
+ FREE(pathlibrary);
+ pathlibrary = NULL;
+ }
+
+ PutLhsVar();
+ }
+ else
+ {
+ Scierror(999, _("%s: Invalid library %s.\n"), fname, libraryname);
+ }
+
+ if (libraryname)
+ {
+ freeAllocatedSingleString(libraryname);
+ libraryname = NULL;
+ }
+ }
+ else
+ {
+ Scierror(999, _("%s: Memory allocation error.\n"), fname);
+ }
+ }
+ else
+ {
+ Scierror(999, _("%s: Memory allocation error.\n"), fname);
+ }
+ }
+ else
+ {
+ Scierror(999, _("%s: Wrong type of input argument #%d: String expected.\n"), fname, 1);
+ }
+
+ return 0;
+}
+/*--------------------------------------------------------------------------*/
diff --git a/modules/functions/sci_gateway/c/sci_whereis.c b/modules/functions/sci_gateway/c/sci_whereis.c
new file mode 100755
index 000000000..658a7f57c
--- /dev/null
+++ b/modules/functions/sci_gateway/c/sci_whereis.c
@@ -0,0 +1,159 @@
+/*
+* Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+* Copyright (C) 2009 - DIGITEO - Allan CORNET
+*
+* This file must be used under the terms of the CeCILL.
+* This source file is licensed as described in the file COPYING, which
+* you should have received as part of this distribution. The terms
+* are also available at
+* http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+*
+*/
+/*--------------------------------------------------------------------------*/
+#include "gw_core.h"
+#include "api_scilab.h"
+#include "localization.h"
+#include "Scierror.h"
+#include "MALLOC.h"
+#include "searchmacroinlibraries.h"
+#include "freeArrayOfString.h"
+/*--------------------------------------------------------------------------*/
+extern int C2F(whereismacro)();
+/*--------------------------------------------------------------------------*/
+int sci_whereis(char *fname, unsigned long fname_len)
+{
+ SciErr sciErr;
+ int *piAddressVarOne = NULL;
+ int iType1 = 0;
+
+ /* Check the number of input argument */
+ CheckRhs(1, 1);
+
+ /* Check the number of output argument */
+ CheckLhs(1, 1);
+
+ sciErr = getVarAddressFromPosition(pvApiCtx, 1, &piAddressVarOne);
+ if (sciErr.iErr)
+ {
+ printError(&sciErr, 0);
+ Scierror(999, _("%s: Can not read input argument #%d.\n"), fname, 1);
+ return 0;
+ }
+
+ sciErr = getVarType(pvApiCtx, piAddressVarOne, &iType1);
+ if (sciErr.iErr)
+ {
+ printError(&sciErr, 0);
+ Scierror(999, _("%s: Can not read input argument #%d.\n"), fname, 1);
+ return 0;
+ }
+
+
+ if ( (iType1 == sci_u_function) || (iType1 == sci_c_function) )
+ {
+ /* bug 5507 */
+ /* getVarDimension does not (yet) manage theses scilab types. */
+
+ /*
+ int m = 0, n = 0;
+
+ sciErr = getVarDimension(pvApiCtx, piAddressVarOne, &m, &n);
+ if(sciErr.iErr)
+ {
+ printError(&sciErr, 0);
+ return 0;
+ }
+
+ if ( (m != n) && (n != 1) )
+ {
+ Scierror(999,_("%s: Wrong size for input argument #%d: A function-name expected.\n"),fname,1);
+ return 0;
+ }
+ */
+
+ /* to rewrite with new API when it will be possible */
+ C2F(whereismacro)();
+ }
+ else if (iType1 == sci_strings)
+ {
+ char *pStVarOne = NULL;
+ int lenStVarOne = 0;
+ int m = 0, n = 0;
+
+ char **librariesResult = NULL;
+ int librariesResultSize = 0;
+
+ sciErr = getMatrixOfString(pvApiCtx, piAddressVarOne, &m, &n, &lenStVarOne, NULL);
+ if (sciErr.iErr)
+ {
+ printError(&sciErr, 0);
+ Scierror(999, _("%s: Can not read input argument #%d.\n"), fname, 1);
+ return 0;
+ }
+
+ if ( (m != n) && (n != 1) )
+ {
+ Scierror(999, _("%s: Wrong size for input argument #%d: A string expected.\n"), fname, 1);
+ return 0;
+ }
+
+ pStVarOne = (char*)MALLOC(sizeof(char) * (lenStVarOne + 1));
+ if (pStVarOne == NULL)
+ {
+ Scierror(999, _("%s: Memory allocation error.\n"), fname);
+ return 0;
+ }
+
+ sciErr = getMatrixOfString(pvApiCtx, piAddressVarOne, &m, &n, &lenStVarOne, &pStVarOne);
+ if (sciErr.iErr)
+ {
+ printError(&sciErr, 0);
+ Scierror(999, _("%s: Can not read input argument #%d.\n"), fname, 1);
+ return 0;
+ }
+
+ librariesResult = searchmacroinlibraries(pStVarOne, &librariesResultSize);
+
+ if ( (librariesResultSize == 0) || (librariesResult == NULL) )
+ {
+ // return []
+ sciErr = createMatrixOfDouble(pvApiCtx, Rhs + 1, 0, 0, NULL);
+ if (sciErr.iErr)
+ {
+ printError(&sciErr, 0);
+ Scierror(999, _("%s: Memory allocation error.\n"), fname);
+ return 0;
+ }
+ }
+ else
+ {
+ int m_out = librariesResultSize;
+ int n_out = 1;
+
+ sciErr = createMatrixOfString(pvApiCtx, Rhs + 1, m_out, n_out, librariesResult);
+ if (sciErr.iErr)
+ {
+ printError(&sciErr, 0);
+ Scierror(999, _("%s: Memory allocation error.\n"), fname);
+ return 0;
+ }
+ }
+
+ LhsVar(1) = Rhs + 1;
+
+ freeArrayOfString(librariesResult, librariesResultSize);
+ if (pStVarOne)
+ {
+ FREE(pStVarOne);
+ pStVarOne = NULL;
+ }
+
+ PutLhsVar();
+ }
+ else
+ {
+ Scierror(999, _("%s: Wrong type for input argument #%d.\n"), fname, 1);
+ }
+ return 0;
+}
+/*--------------------------------------------------------------------------*/
diff --git a/modules/functions/sci_gateway/fortran/.deps/.dirstamp b/modules/functions/sci_gateway/fortran/.deps/.dirstamp
new file mode 100755
index 000000000..e69de29bb
--- /dev/null
+++ b/modules/functions/sci_gateway/fortran/.deps/.dirstamp
diff --git a/modules/functions/sci_gateway/fortran/.dirstamp b/modules/functions/sci_gateway/fortran/.dirstamp
new file mode 100755
index 000000000..e69de29bb
--- /dev/null
+++ b/modules/functions/sci_gateway/fortran/.dirstamp
diff --git a/modules/functions/sci_gateway/fortran/.libs/intdeff.o b/modules/functions/sci_gateway/fortran/.libs/intdeff.o
new file mode 100755
index 000000000..c36ec68c5
--- /dev/null
+++ b/modules/functions/sci_gateway/fortran/.libs/intdeff.o
Binary files differ
diff --git a/modules/functions/sci_gateway/fortran/.libs/intexec.o b/modules/functions/sci_gateway/fortran/.libs/intexec.o
new file mode 100755
index 000000000..322ab9a19
--- /dev/null
+++ b/modules/functions/sci_gateway/fortran/.libs/intexec.o
Binary files differ
diff --git a/modules/functions/sci_gateway/fortran/.libs/intexecstr.o b/modules/functions/sci_gateway/fortran/.libs/intexecstr.o
new file mode 100755
index 000000000..466ae1732
--- /dev/null
+++ b/modules/functions/sci_gateway/fortran/.libs/intexecstr.o
Binary files differ
diff --git a/modules/functions/sci_gateway/fortran/.libs/intlib.o b/modules/functions/sci_gateway/fortran/.libs/intlib.o
new file mode 100755
index 000000000..c3730cc85
--- /dev/null
+++ b/modules/functions/sci_gateway/fortran/.libs/intlib.o
Binary files differ
diff --git a/modules/functions/sci_gateway/fortran/intdeff.f b/modules/functions/sci_gateway/fortran/intdeff.f
new file mode 100755
index 000000000..acbffe32a
--- /dev/null
+++ b/modules/functions/sci_gateway/fortran/intdeff.f
@@ -0,0 +1,82 @@
+c Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+c Copyright (C) INRIA
+c Copyright (C) ENPC
+c
+c This file must be used under the terms of the CeCILL.
+c This source file is licensed as described in the file COPYING, which
+c you should have received as part of this distribution. The terms
+c are also available at
+c http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ subroutine intdeff
+
+ INCLUDE 'stack.h'
+c
+ integer top0
+ integer nocomp,profile
+
+ logical cremat
+ integer iadr
+ character *8 caller
+
+ save icomp
+c
+ data nocomp/23/,profile/25/
+c
+ iadr(l)=l+l-1
+c
+ icomp=1
+ caller='deff'
+ if(rhs.eq.3) then
+ ilc=iadr(lstk(top))
+ if(istk(ilc).eq.10) then
+ if(istk(ilc+5+istk(ilc+1)*istk(ilc+2)).eq.nocomp) then
+ icomp=0
+ elseif(istk(ilc+5+istk(ilc+1)*istk(ilc+2)).eq.profile) then
+ icomp=2
+ endif
+ else
+ caller='function'
+ endif
+ rhs=rhs-1
+ top=top-1
+ endif
+ if(rhs.ne.2) then
+ call error(42)
+ return
+ endif
+ if(lhs.gt.1) then
+ call error(41)
+ return
+ endif
+ top0=top-rhs+1
+ il=iadr(lstk(top))
+ nlines=1
+ call getfun(0,nlines,caller)
+ if(err.gt.0.or.err1.gt.0) goto 999
+ if(icomp.ne.0) then
+ call unsfdcopy(lstk(top+1)-lstk(top),stk(lstk(top)),1,
+ $ stk(lstk(top0)),1)
+ lstk(top0+1)=lstk(top0)+lstk(top+1)-lstk(top)
+ call putid(idstk(1,top0),idstk(1,top))
+ top=top0
+ if(icomp.eq.2) then
+ top=top+1
+ if (.not.cremat('getf',top,0,1,1,lr1,lc1)) return
+ stk(lr1)=2
+ rhs=2
+ else
+ rhs=1
+ endif
+ lhs=1
+c *call* comp
+ fun=13
+ fin=06
+ else
+ call stackp(idstk(1,top),0)
+ top=top-1
+ call objvide('deff',top)
+ fun=0
+ endif
+
+ 999 return
+ end
diff --git a/modules/functions/sci_gateway/fortran/intdeff.lo b/modules/functions/sci_gateway/fortran/intdeff.lo
new file mode 100755
index 000000000..d31549e8f
--- /dev/null
+++ b/modules/functions/sci_gateway/fortran/intdeff.lo
@@ -0,0 +1,12 @@
+# sci_gateway/fortran/intdeff.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/intdeff.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/functions/sci_gateway/fortran/intexec.f b/modules/functions/sci_gateway/fortran/intexec.f
new file mode 100755
index 000000000..59e05a252
--- /dev/null
+++ b/modules/functions/sci_gateway/fortran/intexec.f
@@ -0,0 +1,213 @@
+c Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+c Copyright (C) INRIA
+c Copyright (C) ENPC
+c
+c This file must be used under the terms of the CeCILL.
+c This source file is licensed as described in the file COPYING, which
+c you should have received as part of this distribution. The terms
+c are also available at
+c http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ subroutine intexec
+c interface of exec function
+
+ INCLUDE 'stack.h'
+c
+ integer flag,semi,typ
+ integer mode(2)
+ logical opened
+ integer iadr,sadr
+c
+ save opened,lunit
+c
+ data semi/43/
+
+c
+ iadr(l)=l+l-1
+ sadr(l)=(l/2)+1
+c
+ if (ddt .eq. 4) then
+ call writebufexec(buf,fin)
+ call basout(io,wte,' intexec '//buf(1:4))
+ endif
+c
+ if(int(rstk(pt)/100).ne.9) goto 01
+ if(rstk(pt).eq.902) goto 12
+ if(rstk(pt).eq.909) goto 16
+
+ 01 lw=lstk(top+1)
+
+ if(rhs.gt.3.or.rhs.lt.1) then
+ call error(42)
+ return
+ endif
+ if(lhs.gt.1) then
+ call error(41)
+ return
+ endif
+
+c options handling
+c---------------------
+c default options values
+ flag = 3
+ if (sym .eq. semi) flag = 0
+ icheck=0
+c
+ if(rhs.gt.1) then
+c . specified options
+ do 11 ir=2,rhs
+ ilopt=iadr(lstk(top))
+ if(istk(ilopt).lt.0) ilopt=iadr(istk(ilopt+1))
+ if(istk(ilopt).eq.1) then
+c . mode given
+ flag = int(stk(sadr(ilopt+4)))
+ elseif(istk(ilopt).eq.10) then
+c . error control
+ icheck=1
+ else
+ call error(44)
+ return
+ endif
+ top=top-1
+ 11 continue
+ endif
+ if(flag.ge.4) then
+ call basout(io,wte,
+ $ 'step-by-step mode: enter carriage return to proceed')
+ endif
+ il=iadr(lstk(top))
+ typ=abs(istk(il))
+ if(typ.eq.1.or.typ.eq.10) then
+c . exec of a file , opening file
+ call v2cunit(top,'rb',lunit,opened,ierr)
+ if(ierr.gt.0) return
+ top=top-1
+ typ=1
+ elseif(typ.eq.11.or.typ.eq.13) then
+c . exec of a function
+ typ=0
+ else
+ err=1
+ call error(44)
+ return
+ endif
+c
+ pt=pt+1
+c preserve current error recovery modes
+ ids(2,pt)=errct
+ ids(3,pt)=err2
+ ids(4,pt)=err1
+ ids(5,pt)=errpt
+c set error recovery modes
+ if(icheck.eq.0) then
+ ids(1,pt)=0
+ else
+c ids(1,pt)=1+toperr
+c toperr=top
+ ids(1,pt)=1+top
+ errpt=pt
+ imode=1
+ imess=1
+ num=-1
+ errct=(8*imess+imode)*100000+abs(num)
+ if(num.lt.0) errct=-errct
+ endif
+
+ if(typ.eq.0) goto 15
+
+c exec of a file
+c ---------------
+ pstk(pt)=rio
+ rio = lunit
+ rstk(pt)=902
+
+ ids(6,pt)=0
+ if(opened) ids(6,pt)=1
+ icall=5
+ fin=flag
+c *call* macro
+ go to 999
+ 12 continue
+ opened=ids(6,pt).eq.1
+ if(.not.opened) call clunit(-rio,buf,mode)
+ rio=pstk(pt)
+ top=top+1
+ lhs=1
+ if(ids(1,pt).gt.0) then
+c return error number
+ top=ids(1,pt)
+ il=iadr(lstk(top))
+ istk(il)=1
+ istk(il+1)=1
+ istk(il+2)=1
+ istk(il+3)=0
+ l=sadr(il+4)
+ stk(l)=max(err1,err2)
+ lstk(top+1)=l+1
+ fun=0
+ err2=ids(3,pt)
+ err1=ids(4,pt)
+ else
+ il=iadr(lstk(top))
+ istk(il)=0
+ lstk(top+1)=lstk(top)+1
+ err2=max(ids(3,pt),err2)
+ err1=max(ids(4,pt),err1)
+ endif
+c restore error recovery modes
+ errct=ids(2,pt)
+ errpt=ids(5,pt)
+ pt=pt-1
+ goto 999
+
+
+c exec of a function
+c ------------------
+ 15 continue
+ fin=lstk(top)
+ pstk(pt)=flag
+
+ rstk(pt)=909
+ icall=5
+c *call* macro
+ go to 999
+ 16 lhs=1
+ if(ids(1,pt).gt.0) then
+c return error number
+ top=ids(1,pt)-1
+ il=iadr(lstk(top))
+ istk(il)=1
+ istk(il+1)=1
+ istk(il+2)=1
+ istk(il+3)=0
+ l=sadr(il+4)
+ stk(l)=max(err1,err2)
+ lstk(top+1)=l+1
+ fun=0
+ err2=ids(3,pt)
+ err1=ids(4,pt)
+ else
+ il=iadr(lstk(top))
+ istk(il)=0
+ lstk(top+1)=lstk(top)+1
+ err2=max(ids(3,pt),err2)
+ err1=max(ids(4,pt),err1)
+ endif
+c restore error recovery modes
+ errct=ids(2,pt)
+ errpt=ids(5,pt)
+ pt=pt-1
+ goto 999
+c
+ 999 return
+ end
+c ====================================
+c required by f2c :(
+c ====================================
+ subroutine writebufexec(buffer,line)
+
+ character*(*) buffer
+ integer line
+ write(buffer(1:4),'(i4)') line
+
+ end
+c ==================================== \ No newline at end of file
diff --git a/modules/functions/sci_gateway/fortran/intexec.lo b/modules/functions/sci_gateway/fortran/intexec.lo
new file mode 100755
index 000000000..2b13fecd2
--- /dev/null
+++ b/modules/functions/sci_gateway/fortran/intexec.lo
@@ -0,0 +1,12 @@
+# sci_gateway/fortran/intexec.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/intexec.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/functions/sci_gateway/fortran/intexecstr.f b/modules/functions/sci_gateway/fortran/intexecstr.f
new file mode 100755
index 000000000..ec7f6820a
--- /dev/null
+++ b/modules/functions/sci_gateway/fortran/intexecstr.f
@@ -0,0 +1,166 @@
+c Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+c Copyright (C) INRIA
+c Copyright (C) ENPC
+c ...
+c
+c This file must be used under the terms of the CeCILL.
+c This source file is licensed as described in the file COPYING, which
+c you should have received as part of this distribution. The terms
+c are also available at
+c http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ subroutine intexecstr
+c Bug 1054 corrected by Francois VOGEL, October 2004
+ INCLUDE 'stack.h'
+c
+ integer retu(6),comma,eol,topk
+ logical getsmat,checklhs,checkrhs,checkval
+ integer iadr,sadr
+c
+ data retu/27,14,29,30,27,23/,comma/52/,eol/99/
+c
+ iadr(l)=l+l-1
+ sadr(l)=(l/2)+1
+c
+ if(rstk(pt).eq.903) goto 24
+
+
+ rhs=max(0,rhs)
+ topk=top
+
+ if(.not.checklhs('execstr',0,1)) return
+ if(.not.checkrhs('execstr',1,3)) return
+
+ imess=1
+ if(rhs.eq.3) then
+ if(.not.getsmat('execstr',topk,top,m,n,1,1,il1,n1)) return
+ if(.not.checkval('execstr',m*n,1) ) return
+ l=abs(istk(il1))
+ if(l.eq.22) imess=0
+ top=top-1
+ endif
+ if(rhs.ge.2) then
+ if(.not.getsmat('execstr',topk,top,m,n,1,1,il1,n1)) return
+ if(.not.checkval('execstr',m*n,1) ) return
+ top=top-1
+ icheck=1
+ else
+ icheck=0
+ endif
+ rhs=1
+ lw=lstk(top+1)
+ il=iadr(lstk(top))
+ if(lhs.gt.1) then
+ call error(41)
+ return
+ endif
+ if(istk(il).ne.10) then
+ if(istk(il).eq.1.and.istk(il+1).eq.0) then
+ if (icheck.eq.1) then
+ istk(il)=1
+ istk(il+1)=1
+ istk(il+2)=1
+ istk(il+3)=0
+ l=sadr(il+4)
+ stk(l)=0
+ lstk(top+1)=l+1
+ else
+ istk(il)=0
+ lstk(top+1)=lstk(top)+1
+ endif
+ return
+ endif
+ err=1
+ call error(55)
+ return
+ endif
+ n=istk(il+1)*istk(il+2)
+ l=il+5+n
+ if(n.gt.1) then
+c . add <eol> at the end of the first n-1 lines
+ i1=n-1
+ do 21 i=n,2,-1
+ ld=l+istk(il+3+i)-1
+ ln=istk(il+4+i)-istk(il+3+i)
+ call icopy(ln,istk(ld),-1,istk(ld+i1),-1)
+ i1=i1-1
+ istk(ld+i1)=eol
+ istk(il+4+i)=istk(il+4+i)+i-1
+ 21 continue
+ endif
+c add "<eol>,return,<eol><eol>" at the end of the last line
+ l1=l-1+istk(l-1)
+ istk(l1)=eol
+ l1=l1+1
+ istk(l1)=comma
+ l1=l1+1
+ call icopy(6,retu,1,istk(l1),1)
+ l1=l1+6
+ istk(l1)=comma
+ l1=l1+1
+ istk(l1)=eol
+ l1=l1+1
+ istk(l1)=eol
+ istk(l-1)=istk(l-1)+11
+ lstk(top+1)=sadr(l1)+1
+c
+ fin=lstk(top)
+ pt=pt+1
+ pstk(pt)=top
+ rstk(pt)=903
+c error control
+ ids(2,pt)=errct
+ ids(3,pt)=err2
+ ids(4,pt)=err1
+ ids(5,pt)=errpt
+ ids(6,pt)=(lct(4)+100)+10000*sym
+ if(icheck.eq.0) then
+ ids(1,pt)=0
+ if(errct.ne.0) then
+ imode=abs(errct/100000)
+ imode=imode-8*int(imode/8)
+ endif
+ if (imode.ne.0) errpt=pt
+ else
+ errpt=pt
+ ids(1,pt)=1
+ imode=1
+ num=-1
+ errct=(8*imess+imode)*100000+abs(num)
+ if(num.lt.0) errct=-errct
+ endif
+ icall=5
+c *call* macro
+ go to 999
+ 24 continue
+ if(ids(1,pt).eq.1) then
+c . error recovery required: return error number
+ top=pstk(pt)
+ il=iadr(lstk(top))
+ istk(il)=1
+ istk(il+1)=1
+ istk(il+2)=1
+ istk(il+3)=0
+ l=sadr(il+4)
+ stk(l)=max(err2,err1)
+ lstk(top+1)=l+1
+ sym=ids(6,pt)/10000
+ lct(4)=ids(6,pt)-10000*sym-100
+ fun=0
+ err2=ids(3,pt)
+ err1=ids(4,pt)
+ else
+ il=iadr(lstk(top))
+ istk(il)=0
+ lstk(top+1)=lstk(top)+1
+ err2=max(ids(3,pt),err2)
+ err1=max(ids(4,pt),err1)
+ endif
+c restore error recovery modes
+ errct=ids(2,pt)
+ errpt=ids(5,pt)
+
+ pt=pt-1
+
+ goto 999
+ 999 return
+ end
diff --git a/modules/functions/sci_gateway/fortran/intexecstr.lo b/modules/functions/sci_gateway/fortran/intexecstr.lo
new file mode 100755
index 000000000..3ad7db545
--- /dev/null
+++ b/modules/functions/sci_gateway/fortran/intexecstr.lo
@@ -0,0 +1,12 @@
+# sci_gateway/fortran/intexecstr.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/intexecstr.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/functions/sci_gateway/fortran/intlib.f b/modules/functions/sci_gateway/fortran/intlib.f
new file mode 100755
index 000000000..1d32aea55
--- /dev/null
+++ b/modules/functions/sci_gateway/fortran/intlib.f
@@ -0,0 +1,109 @@
+c Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+c Copyright (C) INRIA
+c
+c This file must be used under the terms of the CeCILL.
+c This source file is licensed as described in the file COPYING, which
+c you should have received as part of this distribution. The terms
+c are also available at
+c http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ subroutine intlib(lendirlib, libdir)
+ INCLUDE 'stack.h'
+ CHARACTER*(*) libdir
+ integer lendirlib
+ integer percen,mode(2),id(nlgh)
+ integer iadr,sadr
+c
+ data percen/56/
+ data nclas/29/
+c
+ iadr(l)=l+l-1
+ sadr(l)=(l/2)+1
+c
+
+c path du repertoire
+ il=iadr(lstk(top))
+ n=lendirlib
+ call cvstr(lendirlib,istk(il+2),libdir,0)
+
+ istk(il+1)=lendirlib
+ istk(il)=14
+ il0=il+2+lendirlib
+ ilc=il0+1
+ iln=ilc+nclas+1
+c
+c ouverture du fichier names
+ call cvstr(n,istk(il+2),buf,1)
+ buf=libdir(1:n)//'names'
+ mode(1)=-1
+ lunit=0
+ len = n + 5
+ call getshortpathname(buf(1:len),len)
+ call clunit(lunit,buf(1:len),mode)
+ if(err.gt.0) then
+ buf(n+6:)=' '
+ call error(err)
+ return
+ endif
+ m=0
+ il=iln
+c lecture des noms
+ 131 read(lunit,'(a)',err=139,end=132) buf
+ err=sadr(il+nsiz)-lstk(bot)
+ if(err.gt.0) then
+ call error(17)
+ return
+ endif
+ call cvname(istk(il),buf(1:nlgh),0)
+ il=il+nsiz
+ m=m+1
+ goto 131
+ 132 continue
+ mode(1)=0
+ mode(2)=0
+ call clunit(-lunit,' ',mode)
+c tri dans l'ordre alphabetique
+ il2=il+1
+ err=sadr(il2+(nsiz+1)*m)-lstk(bot)
+ if(err.gt.0) then
+ call error(17)
+ return
+ endif
+ call icopy(nsiz*m,istk(iln),1,istk(il2),1)
+ call iset(nclas+1,0,istk(ilc),1)
+ il=iln
+ il1=il
+ do 133 i=1,m
+ call namstr(istk(il),id,nn,1)
+ ic=abs(id(1))
+ if(ic.eq.percen) then
+ ic=abs(id(2))
+ endif
+ ic=min(nclas,max(1,ic-9))
+ istk(ilc+ic)=istk(ilc+ic)+1
+ istk(il1)=ic
+ il=il+nsiz
+ il1=il1+1
+ 133 continue
+ il1=il2+m*nsiz
+ call isort(istk(iln),m,istk(il1))
+ il1=il1+m
+ il=iln
+ do 134 i=1,m
+ il1=il1-1
+ ic=istk(il1)
+ call putid(istk(il),istk(il2+nsiz*(ic-1)))
+ il=il+nsiz
+ 134 continue
+c table des pointeurs
+ istk(ilc)=1
+ do 135 i=1,nclas
+ istk(ilc+i)=istk(ilc+i-1)+istk(ilc+i)
+ 135 continue
+ istk(il0)=m
+ lstk(top+1)=sadr(iln+m*nsiz)
+ goto 999
+c
+ 139 call error(49)
+ call clunit(-lunit,buf,mode)
+ 999 return
+ end
diff --git a/modules/functions/sci_gateway/fortran/intlib.lo b/modules/functions/sci_gateway/fortran/intlib.lo
new file mode 100755
index 000000000..831d8993b
--- /dev/null
+++ b/modules/functions/sci_gateway/fortran/intlib.lo
@@ -0,0 +1,12 @@
+# sci_gateway/fortran/intlib.lo - a libtool object file
+# Generated by libtool (GNU libtool) 2.4.2
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object='.libs/intlib.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/functions/sci_gateway/functions_gateway.xml b/modules/functions/sci_gateway/functions_gateway.xml
new file mode 100755
index 000000000..0cb7b6f6d
--- /dev/null
+++ b/modules/functions/sci_gateway/functions_gateway.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2009 - DIGITEO - Allan CORNET
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ -->
+
+<!--
+ Scilab
+ Interface description. In this file, we define the list of the function which
+ will be available into Scilab and the link to the "native" function.
+
+ gatewayId is the position in the hashtable 'Interfaces' defined in the
+ file SCI/modules/core/src/c/callinterf.h
+
+ primitiveId is the position in the hashtable '<module>Table Tab[]' defined
+ in the file modules/<module>/sci_gateway/c/gw_<module>.c
+
+ primitiveName is the name of the Scilab function
+
+ Don't touch if you do not know what you are doing
+-->
+
+<!DOCTYPE GATEWAY SYSTEM "../../functions/xml/gateway.dtd">
+<GATEWAY name="functions">
+ <PRIMITIVE gatewayId="31" primitiveId="1" primitiveName="lib" />
+ <PRIMITIVE gatewayId="31" primitiveId="2" primitiveName="deff" />
+ <PRIMITIVE gatewayId="31" primitiveId="4" primitiveName="exec" />
+ <PRIMITIVE gatewayId="31" primitiveId="5" primitiveName="execstr" />
+ <PRIMITIVE gatewayId="31" primitiveId="6" primitiveName="librarieslist" />
+ <PRIMITIVE gatewayId="31" primitiveId="7" primitiveName="libraryinfo" />
+ <PRIMITIVE gatewayId="31" primitiveId="8" primitiveName="whereis" />
+
+</GATEWAY>