summaryrefslogtreecommitdiff
path: root/modules/jvm/src/c
diff options
context:
space:
mode:
authorShashank2017-05-29 12:40:26 +0530
committerShashank2017-05-29 12:40:26 +0530
commit0345245e860375a32c9a437c4a9d9cae807134e9 (patch)
treead51ecbfa7bcd3cc5f09834f1bb8c08feaa526a4 /modules/jvm/src/c
downloadscilab_for_xcos_on_cloud-0345245e860375a32c9a437c4a9d9cae807134e9.tar.gz
scilab_for_xcos_on_cloud-0345245e860375a32c9a437c4a9d9cae807134e9.tar.bz2
scilab_for_xcos_on_cloud-0345245e860375a32c9a437c4a9d9cae807134e9.zip
CMSCOPE changed
Diffstat (limited to 'modules/jvm/src/c')
-rwxr-xr-xmodules/jvm/src/c/.deps/.dirstamp0
-rwxr-xr-xmodules/jvm/src/c/.deps/libscijvm_algo_la-InitializeJVM.Plo282
-rwxr-xr-xmodules/jvm/src/c/.deps/libscijvm_algo_la-JVM.Plo176
-rwxr-xr-xmodules/jvm/src/c/.deps/libscijvm_algo_la-JVM_Unix.Plo139
-rwxr-xr-xmodules/jvm/src/c/.deps/libscijvm_algo_la-JVM_commons.Plo173
-rwxr-xr-xmodules/jvm/src/c/.deps/libscijvm_algo_la-TerminateJVM.Plo222
-rwxr-xr-xmodules/jvm/src/c/.deps/libscijvm_algo_la-addToClasspath.Plo101
-rwxr-xr-xmodules/jvm/src/c/.deps/libscijvm_algo_la-addToLibrarypath.Plo84
-rwxr-xr-xmodules/jvm/src/c/.deps/libscijvm_algo_la-catchIfJavaException.Plo94
-rwxr-xr-xmodules/jvm/src/c/.deps/libscijvm_algo_la-createMainScilabObject.Plo99
-rwxr-xr-xmodules/jvm/src/c/.deps/libscijvm_algo_la-getClasspath.Plo146
-rwxr-xr-xmodules/jvm/src/c/.deps/libscijvm_algo_la-getJvmOptions.Plo284
-rwxr-xr-xmodules/jvm/src/c/.deps/libscijvm_algo_la-getLibrarypath.Plo146
-rwxr-xr-xmodules/jvm/src/c/.deps/libscijvm_algo_la-loadBackGroundClassPath.Plo91
-rwxr-xr-xmodules/jvm/src/c/.deps/libscijvm_algo_la-loadClasspath.Plo278
-rwxr-xr-xmodules/jvm/src/c/.deps/libscijvm_algo_la-loadLibrarypath.Plo269
-rwxr-xr-xmodules/jvm/src/c/.deps/libscijvm_algo_la-loadOnUseClassPath.Plo281
-rwxr-xr-xmodules/jvm/src/c/.deps/libscijvm_algo_la-system_getproperty.Plo137
-rwxr-xr-xmodules/jvm/src/c/.deps/libscijvm_algo_la-system_setproperty.Plo145
-rwxr-xr-xmodules/jvm/src/c/.dirstamp0
-rwxr-xr-xmodules/jvm/src/c/.libs/libscijvm_algo_la-InitializeJVM.obin0 -> 42472 bytes
-rwxr-xr-xmodules/jvm/src/c/.libs/libscijvm_algo_la-JVM.obin0 -> 49696 bytes
-rwxr-xr-xmodules/jvm/src/c/.libs/libscijvm_algo_la-JVM_Unix.obin0 -> 17712 bytes
-rwxr-xr-xmodules/jvm/src/c/.libs/libscijvm_algo_la-JVM_commons.obin0 -> 37928 bytes
-rwxr-xr-xmodules/jvm/src/c/.libs/libscijvm_algo_la-TerminateJVM.obin0 -> 6440 bytes
-rwxr-xr-xmodules/jvm/src/c/.libs/libscijvm_algo_la-addToClasspath.obin0 -> 33648 bytes
-rwxr-xr-xmodules/jvm/src/c/.libs/libscijvm_algo_la-addToLibrarypath.obin0 -> 32096 bytes
-rwxr-xr-xmodules/jvm/src/c/.libs/libscijvm_algo_la-catchIfJavaException.obin0 -> 31344 bytes
-rwxr-xr-xmodules/jvm/src/c/.libs/libscijvm_algo_la-createMainScilabObject.obin0 -> 41992 bytes
-rwxr-xr-xmodules/jvm/src/c/.libs/libscijvm_algo_la-getClasspath.obin0 -> 34376 bytes
-rwxr-xr-xmodules/jvm/src/c/.libs/libscijvm_algo_la-getJvmOptions.obin0 -> 33992 bytes
-rwxr-xr-xmodules/jvm/src/c/.libs/libscijvm_algo_la-getLibrarypath.obin0 -> 34400 bytes
-rwxr-xr-xmodules/jvm/src/c/.libs/libscijvm_algo_la-loadBackGroundClassPath.obin0 -> 31216 bytes
-rwxr-xr-xmodules/jvm/src/c/.libs/libscijvm_algo_la-loadClasspath.obin0 -> 35896 bytes
-rwxr-xr-xmodules/jvm/src/c/.libs/libscijvm_algo_la-loadLibrarypath.obin0 -> 29712 bytes
-rwxr-xr-xmodules/jvm/src/c/.libs/libscijvm_algo_la-loadOnUseClassPath.obin0 -> 30000 bytes
-rwxr-xr-xmodules/jvm/src/c/.libs/libscijvm_algo_la-system_getproperty.obin0 -> 33008 bytes
-rwxr-xr-xmodules/jvm/src/c/.libs/libscijvm_algo_la-system_setproperty.obin0 -> 33552 bytes
-rwxr-xr-xmodules/jvm/src/c/DllmainJvm.c35
-rwxr-xr-xmodules/jvm/src/c/InitializeJVM.c159
-rwxr-xr-xmodules/jvm/src/c/JVM.c301
-rwxr-xr-xmodules/jvm/src/c/JVM.h43
-rwxr-xr-xmodules/jvm/src/c/JVM_Unix.c218
-rwxr-xr-xmodules/jvm/src/c/JVM_Windows.c311
-rwxr-xr-xmodules/jvm/src/c/JVM_commons.c172
-rwxr-xr-xmodules/jvm/src/c/JVM_commons.h29
-rwxr-xr-xmodules/jvm/src/c/JVM_functions.h93
-rwxr-xr-xmodules/jvm/src/c/TerminateJVM.c25
-rwxr-xr-xmodules/jvm/src/c/addToClasspath.c59
-rwxr-xr-xmodules/jvm/src/c/addToLibrarypath.c55
-rwxr-xr-xmodules/jvm/src/c/catchIfJavaException.c33
-rwxr-xr-xmodules/jvm/src/c/createMainScilabObject.c166
-rwxr-xr-xmodules/jvm/src/c/createMainScilabObject.h34
-rwxr-xr-xmodules/jvm/src/c/getClasspath.c94
-rwxr-xr-xmodules/jvm/src/c/getClasspath.h25
-rwxr-xr-xmodules/jvm/src/c/getJvmOptions.c217
-rwxr-xr-xmodules/jvm/src/c/getJvmOptions.h18
-rwxr-xr-xmodules/jvm/src/c/getLibrarypath.c74
-rwxr-xr-xmodules/jvm/src/c/getLibrarypath.h25
-rwxr-xr-xmodules/jvm/src/c/libjvm.rc97
-rwxr-xr-xmodules/jvm/src/c/libscijvm_algo_la-InitializeJVM.lo12
-rwxr-xr-xmodules/jvm/src/c/libscijvm_algo_la-JVM.lo12
-rwxr-xr-xmodules/jvm/src/c/libscijvm_algo_la-JVM_Unix.lo12
-rwxr-xr-xmodules/jvm/src/c/libscijvm_algo_la-JVM_commons.lo12
-rwxr-xr-xmodules/jvm/src/c/libscijvm_algo_la-TerminateJVM.lo12
-rwxr-xr-xmodules/jvm/src/c/libscijvm_algo_la-addToClasspath.lo12
-rwxr-xr-xmodules/jvm/src/c/libscijvm_algo_la-addToLibrarypath.lo12
-rwxr-xr-xmodules/jvm/src/c/libscijvm_algo_la-catchIfJavaException.lo12
-rwxr-xr-xmodules/jvm/src/c/libscijvm_algo_la-createMainScilabObject.lo12
-rwxr-xr-xmodules/jvm/src/c/libscijvm_algo_la-getClasspath.lo12
-rwxr-xr-xmodules/jvm/src/c/libscijvm_algo_la-getJvmOptions.lo12
-rwxr-xr-xmodules/jvm/src/c/libscijvm_algo_la-getLibrarypath.lo12
-rwxr-xr-xmodules/jvm/src/c/libscijvm_algo_la-loadBackGroundClassPath.lo12
-rwxr-xr-xmodules/jvm/src/c/libscijvm_algo_la-loadClasspath.lo12
-rwxr-xr-xmodules/jvm/src/c/libscijvm_algo_la-loadLibrarypath.lo12
-rwxr-xr-xmodules/jvm/src/c/libscijvm_algo_la-loadOnUseClassPath.lo12
-rwxr-xr-xmodules/jvm/src/c/libscijvm_algo_la-system_getproperty.lo12
-rwxr-xr-xmodules/jvm/src/c/libscijvm_algo_la-system_setproperty.lo12
-rwxr-xr-xmodules/jvm/src/c/loadBackGroundClassPath.c43
-rwxr-xr-xmodules/jvm/src/c/loadClasspath.c223
-rwxr-xr-xmodules/jvm/src/c/loadClasspath.h42
-rwxr-xr-xmodules/jvm/src/c/loadLibrarypath.c157
-rwxr-xr-xmodules/jvm/src/c/loadLibrarypath.h28
-rwxr-xr-xmodules/jvm/src/c/loadOnUseClassPath.c151
-rwxr-xr-xmodules/jvm/src/c/system_getproperty.c58
-rwxr-xr-xmodules/jvm/src/c/system_getproperty.h26
-rwxr-xr-xmodules/jvm/src/c/system_setproperty.c69
-rwxr-xr-xmodules/jvm/src/c/system_setproperty.h27
-rwxr-xr-xmodules/jvm/src/c/with_java.c19
-rwxr-xr-xmodules/jvm/src/c/with_java.h17
90 files changed, 6506 insertions, 0 deletions
diff --git a/modules/jvm/src/c/.deps/.dirstamp b/modules/jvm/src/c/.deps/.dirstamp
new file mode 100755
index 000000000..e69de29bb
--- /dev/null
+++ b/modules/jvm/src/c/.deps/.dirstamp
diff --git a/modules/jvm/src/c/.deps/libscijvm_algo_la-InitializeJVM.Plo b/modules/jvm/src/c/.deps/libscijvm_algo_la-InitializeJVM.Plo
new file mode 100755
index 000000000..846ee69ad
--- /dev/null
+++ b/modules/jvm/src/c/.deps/libscijvm_algo_la-InitializeJVM.Plo
@@ -0,0 +1,282 @@
+src/c/libscijvm_algo_la-InitializeJVM.lo: src/c/InitializeJVM.c \
+ /usr/include/stdc-predef.h /usr/include/stdlib.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/x86_64-linux-gnu/bits/waitflags.h \
+ /usr/include/x86_64-linux-gnu/bits/waitstatus.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/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/stdio.h \
+ /usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/sys_errlist.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio2.h /usr/include/string.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/x86_64-linux-gnu/bits/string3.h includes/InitializeJVM.h \
+ includes/dynlib_jvm.h ../../modules/core/includes/BOOL.h \
+ src/c/loadClasspath.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlreader.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlversion.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlexports.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/tree.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 \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlstring.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlregexp.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/dict.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlmemory.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/threads.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/globals.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/parser.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/hash.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/valid.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlerror.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/list.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlautomata.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/entities.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/encoding.h \
+ /usr/include/iconv.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlIO.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/SAX.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xlink.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/SAX2.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/relaxng.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlschemas.h \
+ src/c/loadLibrarypath.h ../../modules/core/includes/setgetSCIpath.h \
+ /usr/include/x86_64-linux-gnu/bits/wchar.h \
+ /usr/include/x86_64-linux-gnu/bits/wchar2.h includes/getScilabJNIEnv.h \
+ /usr/lib/jvm/java-8-openjdk-amd64/include/jni.h \
+ /usr/lib/jvm/java-8-openjdk-amd64/include/linux/jni_md.h \
+ includes/getScilabJavaVM.h ../../modules/core/includes/MALLOC.h \
+ ../../modules/core/includes/sci_mem_alloc.h src/c/JVM.h \
+ src/c/createMainScilabObject.h \
+ ../../modules/core/includes/scilabDefaults.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/call_scilab/includes/fromjava.h \
+ ../../modules/call_scilab/includes/dynlib_call_scilab.h \
+ includes/catchIfJavaException.h
+
+/usr/include/stdc-predef.h:
+
+/usr/include/stdlib.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/x86_64-linux-gnu/bits/waitflags.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitstatus.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/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/stdio.h:
+
+/usr/include/libio.h:
+
+/usr/include/_G_config.h:
+
+/usr/include/wchar.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/sys_errlist.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio2.h:
+
+/usr/include/string.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/x86_64-linux-gnu/bits/string3.h:
+
+includes/InitializeJVM.h:
+
+includes/dynlib_jvm.h:
+
+../../modules/core/includes/BOOL.h:
+
+src/c/loadClasspath.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlreader.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlversion.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlexports.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/tree.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:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlstring.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlregexp.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/dict.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlmemory.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/threads.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/globals.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/parser.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/hash.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/valid.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlerror.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/list.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlautomata.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/entities.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/encoding.h:
+
+/usr/include/iconv.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlIO.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/SAX.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xlink.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/SAX2.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/relaxng.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlschemas.h:
+
+src/c/loadLibrarypath.h:
+
+../../modules/core/includes/setgetSCIpath.h:
+
+/usr/include/x86_64-linux-gnu/bits/wchar.h:
+
+/usr/include/x86_64-linux-gnu/bits/wchar2.h:
+
+includes/getScilabJNIEnv.h:
+
+/usr/lib/jvm/java-8-openjdk-amd64/include/jni.h:
+
+/usr/lib/jvm/java-8-openjdk-amd64/include/linux/jni_md.h:
+
+includes/getScilabJavaVM.h:
+
+../../modules/core/includes/MALLOC.h:
+
+../../modules/core/includes/sci_mem_alloc.h:
+
+src/c/JVM.h:
+
+src/c/createMainScilabObject.h:
+
+../../modules/core/includes/scilabDefaults.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/call_scilab/includes/fromjava.h:
+
+../../modules/call_scilab/includes/dynlib_call_scilab.h:
+
+includes/catchIfJavaException.h:
diff --git a/modules/jvm/src/c/.deps/libscijvm_algo_la-JVM.Plo b/modules/jvm/src/c/.deps/libscijvm_algo_la-JVM.Plo
new file mode 100755
index 000000000..c0e52f8a3
--- /dev/null
+++ b/modules/jvm/src/c/.deps/libscijvm_algo_la-JVM.Plo
@@ -0,0 +1,176 @@
+src/c/libscijvm_algo_la-JVM.lo: src/c/JVM.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 \
+ /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/stdio.h \
+ /usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/sys_errlist.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio2.h \
+ ../../modules/dynamic_link/includes/dynamiclibrary.h \
+ ../../modules/dynamic_link/includes/dynamiclibrary_others.h \
+ /usr/include/dlfcn.h /usr/include/x86_64-linux-gnu/bits/dlfcn.h \
+ ../../modules/core/includes/BOOL.h src/c/JVM.h \
+ /usr/lib/jvm/java-8-openjdk-amd64/include/jni.h \
+ /usr/lib/jvm/java-8-openjdk-amd64/include/linux/jni_md.h \
+ src/c/JVM_functions.h ../../modules/core/includes/MALLOC.h \
+ ../../modules/core/includes/sci_mem_alloc.h includes/getScilabJavaVM.h \
+ includes/getScilabJNIEnv.h ../../modules/call_scilab/includes/fromjava.h \
+ ../../modules/call_scilab/includes/dynlib_call_scilab.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 \
+ src/c/getJvmOptions.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:
+
+/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/stdio.h:
+
+/usr/include/libio.h:
+
+/usr/include/_G_config.h:
+
+/usr/include/wchar.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/sys_errlist.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio2.h:
+
+../../modules/dynamic_link/includes/dynamiclibrary.h:
+
+../../modules/dynamic_link/includes/dynamiclibrary_others.h:
+
+/usr/include/dlfcn.h:
+
+/usr/include/x86_64-linux-gnu/bits/dlfcn.h:
+
+../../modules/core/includes/BOOL.h:
+
+src/c/JVM.h:
+
+/usr/lib/jvm/java-8-openjdk-amd64/include/jni.h:
+
+/usr/lib/jvm/java-8-openjdk-amd64/include/linux/jni_md.h:
+
+src/c/JVM_functions.h:
+
+../../modules/core/includes/MALLOC.h:
+
+../../modules/core/includes/sci_mem_alloc.h:
+
+includes/getScilabJavaVM.h:
+
+includes/getScilabJNIEnv.h:
+
+../../modules/call_scilab/includes/fromjava.h:
+
+../../modules/call_scilab/includes/dynlib_call_scilab.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:
+
+src/c/getJvmOptions.h:
diff --git a/modules/jvm/src/c/.deps/libscijvm_algo_la-JVM_Unix.Plo b/modules/jvm/src/c/.deps/libscijvm_algo_la-JVM_Unix.Plo
new file mode 100755
index 000000000..3fab230f6
--- /dev/null
+++ b/modules/jvm/src/c/.deps/libscijvm_algo_la-JVM_Unix.Plo
@@ -0,0 +1,139 @@
+src/c/libscijvm_algo_la-JVM_Unix.lo: src/c/JVM_Unix.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 \
+ /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 \
+ ../../modules/core/includes/machine.h src/c/JVM_commons.h \
+ /usr/lib/jvm/java-8-openjdk-amd64/include/jni.h /usr/include/stdio.h \
+ /usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/sys_errlist.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio2.h \
+ /usr/lib/jvm/java-8-openjdk-amd64/include/linux/jni_md.h \
+ src/c/JVM_functions.h ../../modules/core/includes/BOOL.h \
+ ../../modules/core/includes/sci_mem_alloc.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:
+
+/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:
+
+../../modules/core/includes/machine.h:
+
+src/c/JVM_commons.h:
+
+/usr/lib/jvm/java-8-openjdk-amd64/include/jni.h:
+
+/usr/include/stdio.h:
+
+/usr/include/libio.h:
+
+/usr/include/_G_config.h:
+
+/usr/include/wchar.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/sys_errlist.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio2.h:
+
+/usr/lib/jvm/java-8-openjdk-amd64/include/linux/jni_md.h:
+
+src/c/JVM_functions.h:
+
+../../modules/core/includes/BOOL.h:
+
+../../modules/core/includes/sci_mem_alloc.h:
diff --git a/modules/jvm/src/c/.deps/libscijvm_algo_la-JVM_commons.Plo b/modules/jvm/src/c/.deps/libscijvm_algo_la-JVM_commons.Plo
new file mode 100755
index 000000000..2369d0d18
--- /dev/null
+++ b/modules/jvm/src/c/.deps/libscijvm_algo_la-JVM_commons.Plo
@@ -0,0 +1,173 @@
+src/c/libscijvm_algo_la-JVM_commons.lo: src/c/JVM_commons.c \
+ /usr/include/stdc-predef.h /usr/include/stdio.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/x86_64-linux-gnu/bits/types.h \
+ /usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/libio.h \
+ /usr/include/_G_config.h /usr/include/wchar.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/sys_errlist.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio2.h src/c/JVM_commons.h \
+ /usr/lib/jvm/java-8-openjdk-amd64/include/jni.h \
+ /usr/lib/jvm/java-8-openjdk-amd64/include/linux/jni_md.h \
+ src/c/JVM_functions.h ../../modules/core/includes/BOOL.h \
+ ../../modules/dynamic_link/includes/dynamiclibrary.h \
+ ../../modules/dynamic_link/includes/dynamiclibrary_others.h \
+ /usr/include/dlfcn.h /usr/include/x86_64-linux-gnu/bits/dlfcn.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 \
+ /usr/include/xlocale.h ../../modules/fileio/includes/getshortpathname.h \
+ ../../modules/fileio/includes/dynlib_fileio.h \
+ ../../modules/core/includes/MALLOC.h \
+ ../../modules/core/includes/sci_mem_alloc.h /usr/include/stdlib.h \
+ /usr/include/x86_64-linux-gnu/bits/waitflags.h \
+ /usr/include/x86_64-linux-gnu/bits/waitstatus.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/byteswap-16.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 \
+ ../../modules/localization/includes/charEncoding.h \
+ /usr/include/x86_64-linux-gnu/bits/wchar.h \
+ /usr/include/x86_64-linux-gnu/bits/wchar2.h \
+ /usr/include/x86_64-linux-gnu/sys/stat.h \
+ /usr/include/x86_64-linux-gnu/bits/stat.h
+
+/usr/include/stdc-predef.h:
+
+/usr/include/stdio.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/x86_64-linux-gnu/bits/types.h:
+
+/usr/include/x86_64-linux-gnu/bits/typesizes.h:
+
+/usr/include/libio.h:
+
+/usr/include/_G_config.h:
+
+/usr/include/wchar.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/sys_errlist.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio2.h:
+
+src/c/JVM_commons.h:
+
+/usr/lib/jvm/java-8-openjdk-amd64/include/jni.h:
+
+/usr/lib/jvm/java-8-openjdk-amd64/include/linux/jni_md.h:
+
+src/c/JVM_functions.h:
+
+../../modules/core/includes/BOOL.h:
+
+../../modules/dynamic_link/includes/dynamiclibrary.h:
+
+../../modules/dynamic_link/includes/dynamiclibrary_others.h:
+
+/usr/include/dlfcn.h:
+
+/usr/include/x86_64-linux-gnu/bits/dlfcn.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:
+
+/usr/include/xlocale.h:
+
+../../modules/fileio/includes/getshortpathname.h:
+
+../../modules/fileio/includes/dynlib_fileio.h:
+
+../../modules/core/includes/MALLOC.h:
+
+../../modules/core/includes/sci_mem_alloc.h:
+
+/usr/include/stdlib.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitflags.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitstatus.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/byteswap-16.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:
+
+../../modules/localization/includes/charEncoding.h:
+
+/usr/include/x86_64-linux-gnu/bits/wchar.h:
+
+/usr/include/x86_64-linux-gnu/bits/wchar2.h:
+
+/usr/include/x86_64-linux-gnu/sys/stat.h:
+
+/usr/include/x86_64-linux-gnu/bits/stat.h:
diff --git a/modules/jvm/src/c/.deps/libscijvm_algo_la-TerminateJVM.Plo b/modules/jvm/src/c/.deps/libscijvm_algo_la-TerminateJVM.Plo
new file mode 100755
index 000000000..106b4ad00
--- /dev/null
+++ b/modules/jvm/src/c/.deps/libscijvm_algo_la-TerminateJVM.Plo
@@ -0,0 +1,222 @@
+src/c/libscijvm_algo_la-TerminateJVM.lo: src/c/TerminateJVM.c \
+ /usr/include/stdc-predef.h includes/TerminateJVM.h includes/dynlib_jvm.h \
+ ../../modules/core/includes/BOOL.h src/c/JVM.h \
+ /usr/lib/jvm/java-8-openjdk-amd64/include/jni.h /usr/include/stdio.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/x86_64-linux-gnu/bits/types.h \
+ /usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/libio.h \
+ /usr/include/_G_config.h /usr/include/wchar.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/sys_errlist.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio2.h \
+ /usr/lib/jvm/java-8-openjdk-amd64/include/linux/jni_md.h \
+ src/c/createMainScilabObject.h src/c/loadClasspath.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlreader.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlversion.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlexports.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/tree.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 \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlstring.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlregexp.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/dict.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlmemory.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/threads.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/globals.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/parser.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/hash.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/valid.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlerror.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/list.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlautomata.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/entities.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/encoding.h \
+ /usr/include/iconv.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlIO.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/SAX.h \
+ /usr/include/stdlib.h /usr/include/x86_64-linux-gnu/bits/waitflags.h \
+ /usr/include/x86_64-linux-gnu/bits/waitstatus.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/byteswap-16.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 \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xlink.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/SAX2.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/relaxng.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlschemas.h
+
+/usr/include/stdc-predef.h:
+
+includes/TerminateJVM.h:
+
+includes/dynlib_jvm.h:
+
+../../modules/core/includes/BOOL.h:
+
+src/c/JVM.h:
+
+/usr/lib/jvm/java-8-openjdk-amd64/include/jni.h:
+
+/usr/include/stdio.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/x86_64-linux-gnu/bits/types.h:
+
+/usr/include/x86_64-linux-gnu/bits/typesizes.h:
+
+/usr/include/libio.h:
+
+/usr/include/_G_config.h:
+
+/usr/include/wchar.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/sys_errlist.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio2.h:
+
+/usr/lib/jvm/java-8-openjdk-amd64/include/linux/jni_md.h:
+
+src/c/createMainScilabObject.h:
+
+src/c/loadClasspath.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlreader.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlversion.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlexports.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/tree.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:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlstring.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlregexp.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/dict.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlmemory.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/threads.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/globals.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/parser.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/hash.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/valid.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlerror.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/list.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlautomata.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/entities.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/encoding.h:
+
+/usr/include/iconv.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlIO.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/SAX.h:
+
+/usr/include/stdlib.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitflags.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitstatus.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/byteswap-16.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:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xlink.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/SAX2.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/relaxng.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlschemas.h:
diff --git a/modules/jvm/src/c/.deps/libscijvm_algo_la-addToClasspath.Plo b/modules/jvm/src/c/.deps/libscijvm_algo_la-addToClasspath.Plo
new file mode 100755
index 000000000..ba754c919
--- /dev/null
+++ b/modules/jvm/src/c/.deps/libscijvm_algo_la-addToClasspath.Plo
@@ -0,0 +1,101 @@
+src/c/libscijvm_algo_la-addToClasspath.lo: src/c/addToClasspath.c \
+ /usr/include/stdc-predef.h \
+ /usr/lib/jvm/java-8-openjdk-amd64/include/jni.h /usr/include/stdio.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/x86_64-linux-gnu/bits/types.h \
+ /usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/libio.h \
+ /usr/include/_G_config.h /usr/include/wchar.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/sys_errlist.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio2.h \
+ /usr/lib/jvm/java-8-openjdk-amd64/include/linux/jni_md.h \
+ includes/addToClasspath.h ../../modules/core/includes/BOOL.h \
+ includes/getScilabJNIEnv.h \
+ ../../modules/core/includes/../../fileio/includes/isdir.h \
+ /usr/include/x86_64-linux-gnu/bits/wchar.h /usr/include/xlocale.h \
+ /usr/include/x86_64-linux-gnu/bits/wchar2.h \
+ ../../modules/core/includes/../../fileio/includes/dynlib_fileio.h \
+ ../../modules/core/includes/../../fileio/includes/FileExist.h \
+ ../../modules/call_scilab/includes/fromjava.h \
+ ../../modules/call_scilab/includes/dynlib_call_scilab.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
+
+/usr/include/stdc-predef.h:
+
+/usr/lib/jvm/java-8-openjdk-amd64/include/jni.h:
+
+/usr/include/stdio.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/x86_64-linux-gnu/bits/types.h:
+
+/usr/include/x86_64-linux-gnu/bits/typesizes.h:
+
+/usr/include/libio.h:
+
+/usr/include/_G_config.h:
+
+/usr/include/wchar.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/sys_errlist.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio2.h:
+
+/usr/lib/jvm/java-8-openjdk-amd64/include/linux/jni_md.h:
+
+includes/addToClasspath.h:
+
+../../modules/core/includes/BOOL.h:
+
+includes/getScilabJNIEnv.h:
+
+../../modules/core/includes/../../fileio/includes/isdir.h:
+
+/usr/include/x86_64-linux-gnu/bits/wchar.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/x86_64-linux-gnu/bits/wchar2.h:
+
+../../modules/core/includes/../../fileio/includes/dynlib_fileio.h:
+
+../../modules/core/includes/../../fileio/includes/FileExist.h:
+
+../../modules/call_scilab/includes/fromjava.h:
+
+../../modules/call_scilab/includes/dynlib_call_scilab.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:
diff --git a/modules/jvm/src/c/.deps/libscijvm_algo_la-addToLibrarypath.Plo b/modules/jvm/src/c/.deps/libscijvm_algo_la-addToLibrarypath.Plo
new file mode 100755
index 000000000..ed0b9b32d
--- /dev/null
+++ b/modules/jvm/src/c/.deps/libscijvm_algo_la-addToLibrarypath.Plo
@@ -0,0 +1,84 @@
+src/c/libscijvm_algo_la-addToLibrarypath.lo: src/c/addToLibrarypath.c \
+ /usr/include/stdc-predef.h \
+ /usr/lib/jvm/java-8-openjdk-amd64/include/jni.h /usr/include/stdio.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/x86_64-linux-gnu/bits/types.h \
+ /usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/libio.h \
+ /usr/include/_G_config.h /usr/include/wchar.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/sys_errlist.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio2.h \
+ /usr/lib/jvm/java-8-openjdk-amd64/include/linux/jni_md.h \
+ includes/addToLibrarypath.h ../../modules/core/includes/BOOL.h \
+ includes/getScilabJNIEnv.h ../../modules/fileio/includes/isdir.h \
+ /usr/include/x86_64-linux-gnu/bits/wchar.h /usr/include/xlocale.h \
+ /usr/include/x86_64-linux-gnu/bits/wchar2.h \
+ ../../modules/fileio/includes/dynlib_fileio.h \
+ ../../modules/call_scilab/includes/fromjava.h \
+ ../../modules/call_scilab/includes/dynlib_call_scilab.h
+
+/usr/include/stdc-predef.h:
+
+/usr/lib/jvm/java-8-openjdk-amd64/include/jni.h:
+
+/usr/include/stdio.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/x86_64-linux-gnu/bits/types.h:
+
+/usr/include/x86_64-linux-gnu/bits/typesizes.h:
+
+/usr/include/libio.h:
+
+/usr/include/_G_config.h:
+
+/usr/include/wchar.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/sys_errlist.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio2.h:
+
+/usr/lib/jvm/java-8-openjdk-amd64/include/linux/jni_md.h:
+
+includes/addToLibrarypath.h:
+
+../../modules/core/includes/BOOL.h:
+
+includes/getScilabJNIEnv.h:
+
+../../modules/fileio/includes/isdir.h:
+
+/usr/include/x86_64-linux-gnu/bits/wchar.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/x86_64-linux-gnu/bits/wchar2.h:
+
+../../modules/fileio/includes/dynlib_fileio.h:
+
+../../modules/call_scilab/includes/fromjava.h:
+
+../../modules/call_scilab/includes/dynlib_call_scilab.h:
diff --git a/modules/jvm/src/c/.deps/libscijvm_algo_la-catchIfJavaException.Plo b/modules/jvm/src/c/.deps/libscijvm_algo_la-catchIfJavaException.Plo
new file mode 100755
index 000000000..3865bc157
--- /dev/null
+++ b/modules/jvm/src/c/.deps/libscijvm_algo_la-catchIfJavaException.Plo
@@ -0,0 +1,94 @@
+src/c/libscijvm_algo_la-catchIfJavaException.lo: \
+ src/c/catchIfJavaException.c /usr/include/stdc-predef.h \
+ /usr/lib/jvm/java-8-openjdk-amd64/include/jni.h /usr/include/stdio.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/x86_64-linux-gnu/bits/types.h \
+ /usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/libio.h \
+ /usr/include/_G_config.h /usr/include/wchar.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/sys_errlist.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio2.h \
+ /usr/lib/jvm/java-8-openjdk-amd64/include/linux/jni_md.h \
+ /usr/include/string.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/byteswap-16.h /usr/include/stdlib.h \
+ /usr/include/x86_64-linux-gnu/bits/string3.h \
+ includes/catchIfJavaException.h ../../modules/core/includes/BOOL.h \
+ includes/dynlib_jvm.h includes/getScilabJNIEnv.h
+
+/usr/include/stdc-predef.h:
+
+/usr/lib/jvm/java-8-openjdk-amd64/include/jni.h:
+
+/usr/include/stdio.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/x86_64-linux-gnu/bits/types.h:
+
+/usr/include/x86_64-linux-gnu/bits/typesizes.h:
+
+/usr/include/libio.h:
+
+/usr/include/_G_config.h:
+
+/usr/include/wchar.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/sys_errlist.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio2.h:
+
+/usr/lib/jvm/java-8-openjdk-amd64/include/linux/jni_md.h:
+
+/usr/include/string.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/byteswap-16.h:
+
+/usr/include/stdlib.h:
+
+/usr/include/x86_64-linux-gnu/bits/string3.h:
+
+includes/catchIfJavaException.h:
+
+../../modules/core/includes/BOOL.h:
+
+includes/dynlib_jvm.h:
+
+includes/getScilabJNIEnv.h:
diff --git a/modules/jvm/src/c/.deps/libscijvm_algo_la-createMainScilabObject.Plo b/modules/jvm/src/c/.deps/libscijvm_algo_la-createMainScilabObject.Plo
new file mode 100755
index 000000000..f3fbba3a4
--- /dev/null
+++ b/modules/jvm/src/c/.deps/libscijvm_algo_la-createMainScilabObject.Plo
@@ -0,0 +1,99 @@
+src/c/libscijvm_algo_la-createMainScilabObject.lo: \
+ src/c/createMainScilabObject.c /usr/include/stdc-predef.h \
+ src/c/createMainScilabObject.h ../../modules/core/includes/BOOL.h \
+ includes/getScilabObject.h \
+ /usr/lib/jvm/java-8-openjdk-amd64/include/jni.h /usr/include/stdio.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/x86_64-linux-gnu/bits/types.h \
+ /usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/libio.h \
+ /usr/include/_G_config.h /usr/include/wchar.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/sys_errlist.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio2.h \
+ /usr/lib/jvm/java-8-openjdk-amd64/include/linux/jni_md.h \
+ includes/getScilabJNIEnv.h includes/getScilabJavaVM.h \
+ includes/catchIfJavaException.h includes/dynlib_jvm.h \
+ ../../modules/core/includes/scilabmode.h \
+ ../../modules/core/includes/machine.h ../../modules/core/includes/BOOL.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 \
+ /usr/include/xlocale.h
+
+/usr/include/stdc-predef.h:
+
+src/c/createMainScilabObject.h:
+
+../../modules/core/includes/BOOL.h:
+
+includes/getScilabObject.h:
+
+/usr/lib/jvm/java-8-openjdk-amd64/include/jni.h:
+
+/usr/include/stdio.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/x86_64-linux-gnu/bits/types.h:
+
+/usr/include/x86_64-linux-gnu/bits/typesizes.h:
+
+/usr/include/libio.h:
+
+/usr/include/_G_config.h:
+
+/usr/include/wchar.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/sys_errlist.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio2.h:
+
+/usr/lib/jvm/java-8-openjdk-amd64/include/linux/jni_md.h:
+
+includes/getScilabJNIEnv.h:
+
+includes/getScilabJavaVM.h:
+
+includes/catchIfJavaException.h:
+
+includes/dynlib_jvm.h:
+
+../../modules/core/includes/scilabmode.h:
+
+../../modules/core/includes/machine.h:
+
+../../modules/core/includes/BOOL.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:
+
+/usr/include/xlocale.h:
diff --git a/modules/jvm/src/c/.deps/libscijvm_algo_la-getClasspath.Plo b/modules/jvm/src/c/.deps/libscijvm_algo_la-getClasspath.Plo
new file mode 100755
index 000000000..3142dcdcb
--- /dev/null
+++ b/modules/jvm/src/c/.deps/libscijvm_algo_la-getClasspath.Plo
@@ -0,0 +1,146 @@
+src/c/libscijvm_algo_la-getClasspath.lo: src/c/getClasspath.c \
+ /usr/include/stdc-predef.h \
+ /usr/lib/jvm/java-8-openjdk-amd64/include/jni.h /usr/include/stdio.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/x86_64-linux-gnu/bits/types.h \
+ /usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/libio.h \
+ /usr/include/_G_config.h /usr/include/wchar.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/sys_errlist.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio2.h \
+ /usr/lib/jvm/java-8-openjdk-amd64/include/linux/jni_md.h \
+ /usr/include/string.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/byteswap-16.h /usr/include/stdlib.h \
+ /usr/include/x86_64-linux-gnu/bits/string3.h src/c/getClasspath.h \
+ includes/getScilabJNIEnv.h ../../modules/call_scilab/includes/fromjava.h \
+ ../../modules/core/includes/BOOL.h \
+ ../../modules/call_scilab/includes/dynlib_call_scilab.h \
+ ../../modules/core/includes/MALLOC.h \
+ ../../modules/core/includes/sci_mem_alloc.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/stdc-predef.h:
+
+/usr/lib/jvm/java-8-openjdk-amd64/include/jni.h:
+
+/usr/include/stdio.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/x86_64-linux-gnu/bits/types.h:
+
+/usr/include/x86_64-linux-gnu/bits/typesizes.h:
+
+/usr/include/libio.h:
+
+/usr/include/_G_config.h:
+
+/usr/include/wchar.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/sys_errlist.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio2.h:
+
+/usr/lib/jvm/java-8-openjdk-amd64/include/linux/jni_md.h:
+
+/usr/include/string.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/byteswap-16.h:
+
+/usr/include/stdlib.h:
+
+/usr/include/x86_64-linux-gnu/bits/string3.h:
+
+src/c/getClasspath.h:
+
+includes/getScilabJNIEnv.h:
+
+../../modules/call_scilab/includes/fromjava.h:
+
+../../modules/core/includes/BOOL.h:
+
+../../modules/call_scilab/includes/dynlib_call_scilab.h:
+
+../../modules/core/includes/MALLOC.h:
+
+../../modules/core/includes/sci_mem_alloc.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:
diff --git a/modules/jvm/src/c/.deps/libscijvm_algo_la-getJvmOptions.Plo b/modules/jvm/src/c/.deps/libscijvm_algo_la-getJvmOptions.Plo
new file mode 100755
index 000000000..d3002cf89
--- /dev/null
+++ b/modules/jvm/src/c/.deps/libscijvm_algo_la-getJvmOptions.Plo
@@ -0,0 +1,284 @@
+src/c/libscijvm_algo_la-getJvmOptions.lo: src/c/getJvmOptions.c \
+ /usr/include/stdc-predef.h /usr/include/stdlib.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/x86_64-linux-gnu/bits/waitflags.h \
+ /usr/include/x86_64-linux-gnu/bits/waitstatus.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/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 \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xpath.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlversion.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlexports.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlerror.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/parser.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/tree.h \
+ /usr/include/stdio.h /usr/include/libio.h /usr/include/_G_config.h \
+ /usr/include/wchar.h /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/sys_errlist.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio2.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 \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlstring.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlregexp.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/dict.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/hash.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/valid.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/list.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlautomata.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/entities.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/encoding.h \
+ /usr/include/iconv.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlIO.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/globals.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/SAX.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xlink.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/SAX2.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlmemory.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/threads.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlreader.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/relaxng.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlschemas.h \
+ src/c/getJvmOptions.h /usr/lib/jvm/java-8-openjdk-amd64/include/jni.h \
+ /usr/lib/jvm/java-8-openjdk-amd64/include/linux/jni_md.h \
+ ../../modules/core/includes/GetXmlFileEncoding.h /usr/include/string.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/x86_64-linux-gnu/bits/string3.h \
+ ../../modules/core/includes/MALLOC.h \
+ ../../modules/core/includes/sci_mem_alloc.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/string/includes/stricmp.h \
+ ../../modules/fileio/includes/FileExist.h \
+ /usr/include/x86_64-linux-gnu/bits/wchar.h \
+ /usr/include/x86_64-linux-gnu/bits/wchar2.h \
+ ../../modules/fileio/includes/dynlib_fileio.h \
+ ../../modules/core/includes/BOOL.h \
+ ../../modules/string/includes/strsubst.h \
+ ../../modules/string/includes/dynlib_string.h \
+ ../../modules/core/includes/getos.h \
+ ../../modules/fileio/includes/getshortpathname.h \
+ ../../modules/preferences/includes/getScilabPreference.h \
+ ../../modules/preferences/includes/dynlib_preferences_scilab.h
+
+/usr/include/stdc-predef.h:
+
+/usr/include/stdlib.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/x86_64-linux-gnu/bits/waitflags.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitstatus.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/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:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xpath.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlversion.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlexports.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlerror.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/parser.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/tree.h:
+
+/usr/include/stdio.h:
+
+/usr/include/libio.h:
+
+/usr/include/_G_config.h:
+
+/usr/include/wchar.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/sys_errlist.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio2.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:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlstring.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlregexp.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/dict.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/hash.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/valid.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/list.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlautomata.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/entities.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/encoding.h:
+
+/usr/include/iconv.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlIO.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/globals.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/SAX.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xlink.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/SAX2.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlmemory.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/threads.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlreader.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/relaxng.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlschemas.h:
+
+src/c/getJvmOptions.h:
+
+/usr/lib/jvm/java-8-openjdk-amd64/include/jni.h:
+
+/usr/lib/jvm/java-8-openjdk-amd64/include/linux/jni_md.h:
+
+../../modules/core/includes/GetXmlFileEncoding.h:
+
+/usr/include/string.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/x86_64-linux-gnu/bits/string3.h:
+
+../../modules/core/includes/MALLOC.h:
+
+../../modules/core/includes/sci_mem_alloc.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/string/includes/stricmp.h:
+
+../../modules/fileio/includes/FileExist.h:
+
+/usr/include/x86_64-linux-gnu/bits/wchar.h:
+
+/usr/include/x86_64-linux-gnu/bits/wchar2.h:
+
+../../modules/fileio/includes/dynlib_fileio.h:
+
+../../modules/core/includes/BOOL.h:
+
+../../modules/string/includes/strsubst.h:
+
+../../modules/string/includes/dynlib_string.h:
+
+../../modules/core/includes/getos.h:
+
+../../modules/fileio/includes/getshortpathname.h:
+
+../../modules/preferences/includes/getScilabPreference.h:
+
+../../modules/preferences/includes/dynlib_preferences_scilab.h:
diff --git a/modules/jvm/src/c/.deps/libscijvm_algo_la-getLibrarypath.Plo b/modules/jvm/src/c/.deps/libscijvm_algo_la-getLibrarypath.Plo
new file mode 100755
index 000000000..79d061d28
--- /dev/null
+++ b/modules/jvm/src/c/.deps/libscijvm_algo_la-getLibrarypath.Plo
@@ -0,0 +1,146 @@
+src/c/libscijvm_algo_la-getLibrarypath.lo: src/c/getLibrarypath.c \
+ /usr/include/stdc-predef.h \
+ /usr/lib/jvm/java-8-openjdk-amd64/include/jni.h /usr/include/stdio.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/x86_64-linux-gnu/bits/types.h \
+ /usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/libio.h \
+ /usr/include/_G_config.h /usr/include/wchar.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/sys_errlist.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio2.h \
+ /usr/lib/jvm/java-8-openjdk-amd64/include/linux/jni_md.h \
+ /usr/include/string.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/byteswap-16.h /usr/include/stdlib.h \
+ /usr/include/x86_64-linux-gnu/bits/string3.h src/c/getLibrarypath.h \
+ includes/getScilabJNIEnv.h ../../modules/call_scilab/includes/fromjava.h \
+ ../../modules/core/includes/BOOL.h \
+ ../../modules/call_scilab/includes/dynlib_call_scilab.h \
+ ../../modules/core/includes/MALLOC.h \
+ ../../modules/core/includes/sci_mem_alloc.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/stdc-predef.h:
+
+/usr/lib/jvm/java-8-openjdk-amd64/include/jni.h:
+
+/usr/include/stdio.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/x86_64-linux-gnu/bits/types.h:
+
+/usr/include/x86_64-linux-gnu/bits/typesizes.h:
+
+/usr/include/libio.h:
+
+/usr/include/_G_config.h:
+
+/usr/include/wchar.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/sys_errlist.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio2.h:
+
+/usr/lib/jvm/java-8-openjdk-amd64/include/linux/jni_md.h:
+
+/usr/include/string.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/byteswap-16.h:
+
+/usr/include/stdlib.h:
+
+/usr/include/x86_64-linux-gnu/bits/string3.h:
+
+src/c/getLibrarypath.h:
+
+includes/getScilabJNIEnv.h:
+
+../../modules/call_scilab/includes/fromjava.h:
+
+../../modules/core/includes/BOOL.h:
+
+../../modules/call_scilab/includes/dynlib_call_scilab.h:
+
+../../modules/core/includes/MALLOC.h:
+
+../../modules/core/includes/sci_mem_alloc.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:
diff --git a/modules/jvm/src/c/.deps/libscijvm_algo_la-loadBackGroundClassPath.Plo b/modules/jvm/src/c/.deps/libscijvm_algo_la-loadBackGroundClassPath.Plo
new file mode 100755
index 000000000..4e2da65b9
--- /dev/null
+++ b/modules/jvm/src/c/.deps/libscijvm_algo_la-loadBackGroundClassPath.Plo
@@ -0,0 +1,91 @@
+src/c/libscijvm_algo_la-loadBackGroundClassPath.lo: \
+ src/c/loadBackGroundClassPath.c /usr/include/stdc-predef.h \
+ /usr/lib/jvm/java-8-openjdk-amd64/include/jni.h /usr/include/stdio.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/x86_64-linux-gnu/bits/types.h \
+ /usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/libio.h \
+ /usr/include/_G_config.h /usr/include/wchar.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/sys_errlist.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio2.h \
+ /usr/lib/jvm/java-8-openjdk-amd64/include/linux/jni_md.h \
+ includes/loadBackGroundClassPath.h includes/dynlib_jvm.h \
+ ../../modules/core/includes/BOOL.h includes/addToClasspath.h \
+ includes/getScilabJNIEnv.h ../../modules/call_scilab/includes/fromjava.h \
+ ../../modules/call_scilab/includes/dynlib_call_scilab.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 \
+ /usr/include/xlocale.h
+
+/usr/include/stdc-predef.h:
+
+/usr/lib/jvm/java-8-openjdk-amd64/include/jni.h:
+
+/usr/include/stdio.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/x86_64-linux-gnu/bits/types.h:
+
+/usr/include/x86_64-linux-gnu/bits/typesizes.h:
+
+/usr/include/libio.h:
+
+/usr/include/_G_config.h:
+
+/usr/include/wchar.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/sys_errlist.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio2.h:
+
+/usr/lib/jvm/java-8-openjdk-amd64/include/linux/jni_md.h:
+
+includes/loadBackGroundClassPath.h:
+
+includes/dynlib_jvm.h:
+
+../../modules/core/includes/BOOL.h:
+
+includes/addToClasspath.h:
+
+includes/getScilabJNIEnv.h:
+
+../../modules/call_scilab/includes/fromjava.h:
+
+../../modules/call_scilab/includes/dynlib_call_scilab.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:
+
+/usr/include/xlocale.h:
diff --git a/modules/jvm/src/c/.deps/libscijvm_algo_la-loadClasspath.Plo b/modules/jvm/src/c/.deps/libscijvm_algo_la-loadClasspath.Plo
new file mode 100755
index 000000000..55f3b29e1
--- /dev/null
+++ b/modules/jvm/src/c/.deps/libscijvm_algo_la-loadClasspath.Plo
@@ -0,0 +1,278 @@
+src/c/libscijvm_algo_la-loadClasspath.lo: src/c/loadClasspath.c \
+ /usr/include/stdc-predef.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xpath.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlversion.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlexports.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlerror.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/parser.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/tree.h \
+ /usr/include/stdio.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/x86_64-linux-gnu/bits/types.h \
+ /usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/libio.h \
+ /usr/include/_G_config.h /usr/include/wchar.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/sys_errlist.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio2.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 \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlstring.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlregexp.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/dict.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/hash.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/valid.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/list.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlautomata.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/entities.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/encoding.h \
+ /usr/include/iconv.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlIO.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/globals.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/SAX.h \
+ /usr/include/stdlib.h /usr/include/x86_64-linux-gnu/bits/waitflags.h \
+ /usr/include/x86_64-linux-gnu/bits/waitstatus.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/byteswap-16.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 \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xlink.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/SAX2.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlmemory.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/threads.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlreader.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/relaxng.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlschemas.h \
+ /usr/include/string.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/x86_64-linux-gnu/bits/string3.h src/c/loadClasspath.h \
+ ../../modules/core/includes/BOOL.h \
+ ../../modules/core/includes/GetXmlFileEncoding.h \
+ ../../modules/fileio/includes/FileExist.h \
+ /usr/include/x86_64-linux-gnu/bits/wchar.h \
+ /usr/include/x86_64-linux-gnu/bits/wchar2.h \
+ ../../modules/fileio/includes/dynlib_fileio.h includes/addToClasspath.h \
+ ../../modules/core/includes/setgetSCIpath.h \
+ ../../modules/core/includes/MALLOC.h \
+ ../../modules/core/includes/sci_mem_alloc.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/core/includes/scilabmode.h \
+ ../../modules/core/includes/machine.h ../../modules/core/includes/BOOL.h \
+ ../../modules/string/includes/stricmp.h \
+ ../../modules/fileio/includes/getshortpathname.h
+
+/usr/include/stdc-predef.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xpath.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlversion.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlexports.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlerror.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/parser.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/tree.h:
+
+/usr/include/stdio.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/x86_64-linux-gnu/bits/types.h:
+
+/usr/include/x86_64-linux-gnu/bits/typesizes.h:
+
+/usr/include/libio.h:
+
+/usr/include/_G_config.h:
+
+/usr/include/wchar.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/sys_errlist.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio2.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:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlstring.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlregexp.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/dict.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/hash.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/valid.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/list.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlautomata.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/entities.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/encoding.h:
+
+/usr/include/iconv.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlIO.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/globals.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/SAX.h:
+
+/usr/include/stdlib.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitflags.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitstatus.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/byteswap-16.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:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xlink.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/SAX2.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlmemory.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/threads.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlreader.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/relaxng.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlschemas.h:
+
+/usr/include/string.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/x86_64-linux-gnu/bits/string3.h:
+
+src/c/loadClasspath.h:
+
+../../modules/core/includes/BOOL.h:
+
+../../modules/core/includes/GetXmlFileEncoding.h:
+
+../../modules/fileio/includes/FileExist.h:
+
+/usr/include/x86_64-linux-gnu/bits/wchar.h:
+
+/usr/include/x86_64-linux-gnu/bits/wchar2.h:
+
+../../modules/fileio/includes/dynlib_fileio.h:
+
+includes/addToClasspath.h:
+
+../../modules/core/includes/setgetSCIpath.h:
+
+../../modules/core/includes/MALLOC.h:
+
+../../modules/core/includes/sci_mem_alloc.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/core/includes/scilabmode.h:
+
+../../modules/core/includes/machine.h:
+
+../../modules/core/includes/BOOL.h:
+
+../../modules/string/includes/stricmp.h:
+
+../../modules/fileio/includes/getshortpathname.h:
diff --git a/modules/jvm/src/c/.deps/libscijvm_algo_la-loadLibrarypath.Plo b/modules/jvm/src/c/.deps/libscijvm_algo_la-loadLibrarypath.Plo
new file mode 100755
index 000000000..6c332d1f8
--- /dev/null
+++ b/modules/jvm/src/c/.deps/libscijvm_algo_la-loadLibrarypath.Plo
@@ -0,0 +1,269 @@
+src/c/libscijvm_algo_la-loadLibrarypath.lo: src/c/loadLibrarypath.c \
+ /usr/include/stdc-predef.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xpath.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlversion.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlexports.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlerror.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/parser.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/tree.h \
+ /usr/include/stdio.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/x86_64-linux-gnu/bits/types.h \
+ /usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/libio.h \
+ /usr/include/_G_config.h /usr/include/wchar.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/sys_errlist.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio2.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 \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlstring.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlregexp.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/dict.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/hash.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/valid.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/list.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlautomata.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/entities.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/encoding.h \
+ /usr/include/iconv.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlIO.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/globals.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/SAX.h \
+ /usr/include/stdlib.h /usr/include/x86_64-linux-gnu/bits/waitflags.h \
+ /usr/include/x86_64-linux-gnu/bits/waitstatus.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/byteswap-16.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 \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xlink.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/SAX2.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlmemory.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/threads.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlreader.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/relaxng.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlschemas.h \
+ src/c/loadLibrarypath.h ../../modules/core/includes/BOOL.h \
+ ../../modules/core/includes/GetXmlFileEncoding.h /usr/include/string.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/x86_64-linux-gnu/bits/string3.h \
+ ../../modules/fileio/includes/FileExist.h \
+ /usr/include/x86_64-linux-gnu/bits/wchar.h \
+ /usr/include/x86_64-linux-gnu/bits/wchar2.h \
+ ../../modules/fileio/includes/dynlib_fileio.h \
+ includes/addToLibrarypath.h ../../modules/core/includes/setgetSCIpath.h \
+ ../../modules/core/includes/MALLOC.h \
+ ../../modules/core/includes/sci_mem_alloc.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/string/includes/stricmp.h \
+ ../../modules/fileio/includes/getshortpathname.h
+
+/usr/include/stdc-predef.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xpath.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlversion.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlexports.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlerror.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/parser.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/tree.h:
+
+/usr/include/stdio.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/x86_64-linux-gnu/bits/types.h:
+
+/usr/include/x86_64-linux-gnu/bits/typesizes.h:
+
+/usr/include/libio.h:
+
+/usr/include/_G_config.h:
+
+/usr/include/wchar.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/sys_errlist.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio2.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:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlstring.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlregexp.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/dict.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/hash.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/valid.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/list.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlautomata.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/entities.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/encoding.h:
+
+/usr/include/iconv.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlIO.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/globals.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/SAX.h:
+
+/usr/include/stdlib.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitflags.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitstatus.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/byteswap-16.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:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xlink.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/SAX2.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlmemory.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/threads.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlreader.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/relaxng.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlschemas.h:
+
+src/c/loadLibrarypath.h:
+
+../../modules/core/includes/BOOL.h:
+
+../../modules/core/includes/GetXmlFileEncoding.h:
+
+/usr/include/string.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/x86_64-linux-gnu/bits/string3.h:
+
+../../modules/fileio/includes/FileExist.h:
+
+/usr/include/x86_64-linux-gnu/bits/wchar.h:
+
+/usr/include/x86_64-linux-gnu/bits/wchar2.h:
+
+../../modules/fileio/includes/dynlib_fileio.h:
+
+includes/addToLibrarypath.h:
+
+../../modules/core/includes/setgetSCIpath.h:
+
+../../modules/core/includes/MALLOC.h:
+
+../../modules/core/includes/sci_mem_alloc.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/string/includes/stricmp.h:
+
+../../modules/fileio/includes/getshortpathname.h:
diff --git a/modules/jvm/src/c/.deps/libscijvm_algo_la-loadOnUseClassPath.Plo b/modules/jvm/src/c/.deps/libscijvm_algo_la-loadOnUseClassPath.Plo
new file mode 100755
index 000000000..8d8a86c64
--- /dev/null
+++ b/modules/jvm/src/c/.deps/libscijvm_algo_la-loadOnUseClassPath.Plo
@@ -0,0 +1,281 @@
+src/c/libscijvm_algo_la-loadOnUseClassPath.lo: src/c/loadOnUseClassPath.c \
+ /usr/include/stdc-predef.h \
+ /usr/lib/jvm/java-8-openjdk-amd64/include/jni.h /usr/include/stdio.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/x86_64-linux-gnu/bits/types.h \
+ /usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/libio.h \
+ /usr/include/_G_config.h /usr/include/wchar.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/sys_errlist.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio2.h \
+ /usr/lib/jvm/java-8-openjdk-amd64/include/linux/jni_md.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xpath.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlversion.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlexports.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlerror.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/parser.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/tree.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 \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlstring.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlregexp.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/dict.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/hash.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/valid.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/list.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlautomata.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/entities.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/encoding.h \
+ /usr/include/iconv.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlIO.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/globals.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/SAX.h \
+ /usr/include/stdlib.h /usr/include/x86_64-linux-gnu/bits/waitflags.h \
+ /usr/include/x86_64-linux-gnu/bits/waitstatus.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/byteswap-16.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 \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xlink.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/SAX2.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlmemory.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/threads.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlreader.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/relaxng.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlschemas.h \
+ ../../modules/core/includes/MALLOC.h \
+ ../../modules/core/includes/sci_mem_alloc.h \
+ ../../modules/core/includes/scilabDefaults.h includes/getScilabJNIEnv.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 \
+ /usr/include/xlocale.h ../../modules/core/includes/setgetSCIpath.h \
+ /usr/include/x86_64-linux-gnu/bits/wchar.h \
+ /usr/include/x86_64-linux-gnu/bits/wchar2.h \
+ ../../modules/string/includes/stricmp.h /usr/include/string.h \
+ /usr/include/x86_64-linux-gnu/bits/string.h \
+ /usr/include/x86_64-linux-gnu/bits/string2.h \
+ /usr/include/x86_64-linux-gnu/bits/string3.h includes/addToClasspath.h \
+ ../../modules/core/includes/BOOL.h includes/loadOnUseClassPath.h \
+ includes/dynlib_jvm.h src/c/loadClasspath.h \
+ ../../modules/fileio/includes/FileExist.h \
+ ../../modules/fileio/includes/dynlib_fileio.h \
+ ../../modules/core/includes/GetXmlFileEncoding.h
+
+/usr/include/stdc-predef.h:
+
+/usr/lib/jvm/java-8-openjdk-amd64/include/jni.h:
+
+/usr/include/stdio.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/x86_64-linux-gnu/bits/types.h:
+
+/usr/include/x86_64-linux-gnu/bits/typesizes.h:
+
+/usr/include/libio.h:
+
+/usr/include/_G_config.h:
+
+/usr/include/wchar.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/sys_errlist.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio2.h:
+
+/usr/lib/jvm/java-8-openjdk-amd64/include/linux/jni_md.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xpath.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlversion.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlexports.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlerror.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/parser.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/tree.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:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlstring.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlregexp.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/dict.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/hash.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/valid.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/list.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlautomata.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/entities.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/encoding.h:
+
+/usr/include/iconv.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlIO.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/globals.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/SAX.h:
+
+/usr/include/stdlib.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitflags.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitstatus.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/byteswap-16.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:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xlink.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/SAX2.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlmemory.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/threads.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlreader.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/relaxng.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/libxml2/libxml/xmlschemas.h:
+
+../../modules/core/includes/MALLOC.h:
+
+../../modules/core/includes/sci_mem_alloc.h:
+
+../../modules/core/includes/scilabDefaults.h:
+
+includes/getScilabJNIEnv.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:
+
+/usr/include/xlocale.h:
+
+../../modules/core/includes/setgetSCIpath.h:
+
+/usr/include/x86_64-linux-gnu/bits/wchar.h:
+
+/usr/include/x86_64-linux-gnu/bits/wchar2.h:
+
+../../modules/string/includes/stricmp.h:
+
+/usr/include/string.h:
+
+/usr/include/x86_64-linux-gnu/bits/string.h:
+
+/usr/include/x86_64-linux-gnu/bits/string2.h:
+
+/usr/include/x86_64-linux-gnu/bits/string3.h:
+
+includes/addToClasspath.h:
+
+../../modules/core/includes/BOOL.h:
+
+includes/loadOnUseClassPath.h:
+
+includes/dynlib_jvm.h:
+
+src/c/loadClasspath.h:
+
+../../modules/fileio/includes/FileExist.h:
+
+../../modules/fileio/includes/dynlib_fileio.h:
+
+../../modules/core/includes/GetXmlFileEncoding.h:
diff --git a/modules/jvm/src/c/.deps/libscijvm_algo_la-system_getproperty.Plo b/modules/jvm/src/c/.deps/libscijvm_algo_la-system_getproperty.Plo
new file mode 100755
index 000000000..9d8ec4b38
--- /dev/null
+++ b/modules/jvm/src/c/.deps/libscijvm_algo_la-system_getproperty.Plo
@@ -0,0 +1,137 @@
+src/c/libscijvm_algo_la-system_getproperty.lo: src/c/system_getproperty.c \
+ /usr/include/stdc-predef.h \
+ /usr/lib/jvm/java-8-openjdk-amd64/include/jni.h /usr/include/stdio.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/x86_64-linux-gnu/bits/types.h \
+ /usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/libio.h \
+ /usr/include/_G_config.h /usr/include/wchar.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/sys_errlist.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio2.h \
+ /usr/lib/jvm/java-8-openjdk-amd64/include/linux/jni_md.h \
+ /usr/include/string.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/byteswap-16.h /usr/include/stdlib.h \
+ /usr/include/x86_64-linux-gnu/bits/string3.h src/c/system_getproperty.h \
+ includes/getScilabJNIEnv.h ../../modules/core/includes/MALLOC.h \
+ ../../modules/core/includes/sci_mem_alloc.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/stdc-predef.h:
+
+/usr/lib/jvm/java-8-openjdk-amd64/include/jni.h:
+
+/usr/include/stdio.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/x86_64-linux-gnu/bits/types.h:
+
+/usr/include/x86_64-linux-gnu/bits/typesizes.h:
+
+/usr/include/libio.h:
+
+/usr/include/_G_config.h:
+
+/usr/include/wchar.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/sys_errlist.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio2.h:
+
+/usr/lib/jvm/java-8-openjdk-amd64/include/linux/jni_md.h:
+
+/usr/include/string.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/byteswap-16.h:
+
+/usr/include/stdlib.h:
+
+/usr/include/x86_64-linux-gnu/bits/string3.h:
+
+src/c/system_getproperty.h:
+
+includes/getScilabJNIEnv.h:
+
+../../modules/core/includes/MALLOC.h:
+
+../../modules/core/includes/sci_mem_alloc.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:
diff --git a/modules/jvm/src/c/.deps/libscijvm_algo_la-system_setproperty.Plo b/modules/jvm/src/c/.deps/libscijvm_algo_la-system_setproperty.Plo
new file mode 100755
index 000000000..c280c6d03
--- /dev/null
+++ b/modules/jvm/src/c/.deps/libscijvm_algo_la-system_setproperty.Plo
@@ -0,0 +1,145 @@
+src/c/libscijvm_algo_la-system_setproperty.lo: src/c/system_setproperty.c \
+ /usr/include/stdc-predef.h \
+ /usr/lib/jvm/java-8-openjdk-amd64/include/jni.h /usr/include/stdio.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/x86_64-linux-gnu/bits/types.h \
+ /usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/libio.h \
+ /usr/include/_G_config.h /usr/include/wchar.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/sys_errlist.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio2.h \
+ /usr/lib/jvm/java-8-openjdk-amd64/include/linux/jni_md.h \
+ /usr/include/string.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/byteswap-16.h /usr/include/stdlib.h \
+ /usr/include/x86_64-linux-gnu/bits/string3.h src/c/system_setproperty.h \
+ includes/getScilabJNIEnv.h ../../modules/core/includes/MALLOC.h \
+ ../../modules/core/includes/sci_mem_alloc.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 \
+ includes/catchIfJavaException.h ../../modules/core/includes/BOOL.h \
+ includes/dynlib_jvm.h
+
+/usr/include/stdc-predef.h:
+
+/usr/lib/jvm/java-8-openjdk-amd64/include/jni.h:
+
+/usr/include/stdio.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/x86_64-linux-gnu/bits/types.h:
+
+/usr/include/x86_64-linux-gnu/bits/typesizes.h:
+
+/usr/include/libio.h:
+
+/usr/include/_G_config.h:
+
+/usr/include/wchar.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/sys_errlist.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio2.h:
+
+/usr/lib/jvm/java-8-openjdk-amd64/include/linux/jni_md.h:
+
+/usr/include/string.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/byteswap-16.h:
+
+/usr/include/stdlib.h:
+
+/usr/include/x86_64-linux-gnu/bits/string3.h:
+
+src/c/system_setproperty.h:
+
+includes/getScilabJNIEnv.h:
+
+../../modules/core/includes/MALLOC.h:
+
+../../modules/core/includes/sci_mem_alloc.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:
+
+includes/catchIfJavaException.h:
+
+../../modules/core/includes/BOOL.h:
+
+includes/dynlib_jvm.h:
diff --git a/modules/jvm/src/c/.dirstamp b/modules/jvm/src/c/.dirstamp
new file mode 100755
index 000000000..e69de29bb
--- /dev/null
+++ b/modules/jvm/src/c/.dirstamp
diff --git a/modules/jvm/src/c/.libs/libscijvm_algo_la-InitializeJVM.o b/modules/jvm/src/c/.libs/libscijvm_algo_la-InitializeJVM.o
new file mode 100755
index 000000000..d72339765
--- /dev/null
+++ b/modules/jvm/src/c/.libs/libscijvm_algo_la-InitializeJVM.o
Binary files differ
diff --git a/modules/jvm/src/c/.libs/libscijvm_algo_la-JVM.o b/modules/jvm/src/c/.libs/libscijvm_algo_la-JVM.o
new file mode 100755
index 000000000..fb67d1184
--- /dev/null
+++ b/modules/jvm/src/c/.libs/libscijvm_algo_la-JVM.o
Binary files differ
diff --git a/modules/jvm/src/c/.libs/libscijvm_algo_la-JVM_Unix.o b/modules/jvm/src/c/.libs/libscijvm_algo_la-JVM_Unix.o
new file mode 100755
index 000000000..f7bb7d11b
--- /dev/null
+++ b/modules/jvm/src/c/.libs/libscijvm_algo_la-JVM_Unix.o
Binary files differ
diff --git a/modules/jvm/src/c/.libs/libscijvm_algo_la-JVM_commons.o b/modules/jvm/src/c/.libs/libscijvm_algo_la-JVM_commons.o
new file mode 100755
index 000000000..e65f38175
--- /dev/null
+++ b/modules/jvm/src/c/.libs/libscijvm_algo_la-JVM_commons.o
Binary files differ
diff --git a/modules/jvm/src/c/.libs/libscijvm_algo_la-TerminateJVM.o b/modules/jvm/src/c/.libs/libscijvm_algo_la-TerminateJVM.o
new file mode 100755
index 000000000..4def2b770
--- /dev/null
+++ b/modules/jvm/src/c/.libs/libscijvm_algo_la-TerminateJVM.o
Binary files differ
diff --git a/modules/jvm/src/c/.libs/libscijvm_algo_la-addToClasspath.o b/modules/jvm/src/c/.libs/libscijvm_algo_la-addToClasspath.o
new file mode 100755
index 000000000..c2d658e4a
--- /dev/null
+++ b/modules/jvm/src/c/.libs/libscijvm_algo_la-addToClasspath.o
Binary files differ
diff --git a/modules/jvm/src/c/.libs/libscijvm_algo_la-addToLibrarypath.o b/modules/jvm/src/c/.libs/libscijvm_algo_la-addToLibrarypath.o
new file mode 100755
index 000000000..7d6fa0fff
--- /dev/null
+++ b/modules/jvm/src/c/.libs/libscijvm_algo_la-addToLibrarypath.o
Binary files differ
diff --git a/modules/jvm/src/c/.libs/libscijvm_algo_la-catchIfJavaException.o b/modules/jvm/src/c/.libs/libscijvm_algo_la-catchIfJavaException.o
new file mode 100755
index 000000000..aa4272b7d
--- /dev/null
+++ b/modules/jvm/src/c/.libs/libscijvm_algo_la-catchIfJavaException.o
Binary files differ
diff --git a/modules/jvm/src/c/.libs/libscijvm_algo_la-createMainScilabObject.o b/modules/jvm/src/c/.libs/libscijvm_algo_la-createMainScilabObject.o
new file mode 100755
index 000000000..47c741239
--- /dev/null
+++ b/modules/jvm/src/c/.libs/libscijvm_algo_la-createMainScilabObject.o
Binary files differ
diff --git a/modules/jvm/src/c/.libs/libscijvm_algo_la-getClasspath.o b/modules/jvm/src/c/.libs/libscijvm_algo_la-getClasspath.o
new file mode 100755
index 000000000..434c9db97
--- /dev/null
+++ b/modules/jvm/src/c/.libs/libscijvm_algo_la-getClasspath.o
Binary files differ
diff --git a/modules/jvm/src/c/.libs/libscijvm_algo_la-getJvmOptions.o b/modules/jvm/src/c/.libs/libscijvm_algo_la-getJvmOptions.o
new file mode 100755
index 000000000..545d53112
--- /dev/null
+++ b/modules/jvm/src/c/.libs/libscijvm_algo_la-getJvmOptions.o
Binary files differ
diff --git a/modules/jvm/src/c/.libs/libscijvm_algo_la-getLibrarypath.o b/modules/jvm/src/c/.libs/libscijvm_algo_la-getLibrarypath.o
new file mode 100755
index 000000000..4e5a3cf50
--- /dev/null
+++ b/modules/jvm/src/c/.libs/libscijvm_algo_la-getLibrarypath.o
Binary files differ
diff --git a/modules/jvm/src/c/.libs/libscijvm_algo_la-loadBackGroundClassPath.o b/modules/jvm/src/c/.libs/libscijvm_algo_la-loadBackGroundClassPath.o
new file mode 100755
index 000000000..65f588609
--- /dev/null
+++ b/modules/jvm/src/c/.libs/libscijvm_algo_la-loadBackGroundClassPath.o
Binary files differ
diff --git a/modules/jvm/src/c/.libs/libscijvm_algo_la-loadClasspath.o b/modules/jvm/src/c/.libs/libscijvm_algo_la-loadClasspath.o
new file mode 100755
index 000000000..465aeaa42
--- /dev/null
+++ b/modules/jvm/src/c/.libs/libscijvm_algo_la-loadClasspath.o
Binary files differ
diff --git a/modules/jvm/src/c/.libs/libscijvm_algo_la-loadLibrarypath.o b/modules/jvm/src/c/.libs/libscijvm_algo_la-loadLibrarypath.o
new file mode 100755
index 000000000..a8c96a9e7
--- /dev/null
+++ b/modules/jvm/src/c/.libs/libscijvm_algo_la-loadLibrarypath.o
Binary files differ
diff --git a/modules/jvm/src/c/.libs/libscijvm_algo_la-loadOnUseClassPath.o b/modules/jvm/src/c/.libs/libscijvm_algo_la-loadOnUseClassPath.o
new file mode 100755
index 000000000..0812b6d6c
--- /dev/null
+++ b/modules/jvm/src/c/.libs/libscijvm_algo_la-loadOnUseClassPath.o
Binary files differ
diff --git a/modules/jvm/src/c/.libs/libscijvm_algo_la-system_getproperty.o b/modules/jvm/src/c/.libs/libscijvm_algo_la-system_getproperty.o
new file mode 100755
index 000000000..03b2fc837
--- /dev/null
+++ b/modules/jvm/src/c/.libs/libscijvm_algo_la-system_getproperty.o
Binary files differ
diff --git a/modules/jvm/src/c/.libs/libscijvm_algo_la-system_setproperty.o b/modules/jvm/src/c/.libs/libscijvm_algo_la-system_setproperty.o
new file mode 100755
index 000000000..95b18ba27
--- /dev/null
+++ b/modules/jvm/src/c/.libs/libscijvm_algo_la-system_setproperty.o
Binary files differ
diff --git a/modules/jvm/src/c/DllmainJvm.c b/modules/jvm/src/c/DllmainJvm.c
new file mode 100755
index 000000000..ddbb0580a
--- /dev/null
+++ b/modules/jvm/src/c/DllmainJvm.c
@@ -0,0 +1,35 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 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 <windows.h>
+/*--------------------------------------------------------------------------*/
+#pragma comment(lib,"../../bin/libxml2.lib")
+#pragma comment(lib,"../../bin/libintl.lib")
+/*--------------------------------------------------------------------------*/
+int WINAPI DllMain (HINSTANCE hInstance , DWORD reason, PVOID pvReserved)
+{
+ switch (reason)
+ {
+ case DLL_PROCESS_ATTACH:
+ break;
+ case DLL_PROCESS_DETACH:
+ break;
+ case DLL_THREAD_ATTACH:
+ break;
+ case DLL_THREAD_DETACH:
+ break;
+ }
+ return 1;
+}
+/*--------------------------------------------------------------------------*/
+
diff --git a/modules/jvm/src/c/InitializeJVM.c b/modules/jvm/src/c/InitializeJVM.c
new file mode 100755
index 000000000..a3303d352
--- /dev/null
+++ b/modules/jvm/src/c/InitializeJVM.c
@@ -0,0 +1,159 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 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 <stdlib.h>
+#include <stdio.h>
+#include <string.h>
+#ifdef _MSC_VER
+#include <windows.h>
+#endif
+#include "InitializeJVM.h"
+#include "loadClasspath.h"
+#include "loadLibrarypath.h"
+#include "setgetSCIpath.h"
+#include "getScilabJNIEnv.h"
+#include "getScilabJavaVM.h"
+#include "MALLOC.h"
+#include "JVM.h"
+#include "createMainScilabObject.h"
+#include "scilabDefaults.h"
+#include "localization.h"
+#include "fromjava.h"
+#ifdef _MSC_VER
+#include "strdup_windows.h"
+#endif
+#include "catchIfJavaException.h"
+/*--------------------------------------------------------------------------*/
+static void DoLoadClasspathInEtc(char *sciPath);
+static void DoLoadLibrarypathInEtc(char *sciPath);
+/*--------------------------------------------------------------------------*/
+BOOL InitializeJVM(void)
+{
+ BOOL bOK = FALSE;
+ char *sciPath = NULL;
+
+ sciPath = getSCIpath();
+
+ if (!startJVM(sciPath))
+ {
+#ifdef _MSC_VER
+ MessageBox(NULL, gettext("\nScilab cannot open JVM library.\n"), gettext("Error"), MB_ICONEXCLAMATION | MB_OK);
+#else
+ fprintf(stderr, _("\nScilab cannot open JVM library.\n"));
+#endif
+ }
+ else
+ {
+ DoLoadLibrarypathInEtc(sciPath);
+ DoLoadClasspathInEtc(sciPath);
+
+ if (!createMainScilabObject())
+ {
+ char *errorMsg = strdup(gettext("\nScilab cannot create Scilab Java Main-Class (we have not been able to find the main Scilab class. Check if the Scilab and thirdparty packages are available).\n"));
+
+ if (IsFromJava())
+ {
+ char *errorMsg2 = gettext("If Scilab is used from Java, make sure that your IDE (ex: Netbeans, etc) is not adding extra dependencies which could not be found at runtime.\n");
+ char *tempMsg = (char*)MALLOC(sizeof(char) * (strlen(errorMsg) + strlen(errorMsg2) + 1));
+ if (tempMsg)
+ {
+ strcpy(tempMsg, errorMsg);
+ strcat(tempMsg, errorMsg2);
+ FREE(errorMsg);
+ errorMsg = tempMsg;
+ }
+ }
+#ifdef _MSC_VER
+ MessageBox(NULL, errorMsg, gettext("Error"), MB_ICONEXCLAMATION | MB_OK);
+#else
+ fprintf(stderr, "%s", errorMsg);
+#endif
+ if (errorMsg)
+ {
+ FREE(errorMsg);
+ errorMsg = NULL;
+ }
+ }
+ else
+ {
+ bOK = TRUE;
+ }
+ }
+
+ if (sciPath)
+ {
+ FREE(sciPath);
+ sciPath = NULL;
+ }
+
+ if (!bOK)
+ {
+ exit(1);
+ }
+
+ return TRUE;
+}
+/*--------------------------------------------------------------------------*/
+static void DoLoadClasspathInEtc(char *sciPath)
+{
+ char *classpathfile = (char*)MALLOC(sizeof(char) * (strlen(sciPath) + strlen(XMLCLASSPATH) + 1));
+ sprintf(classpathfile, XMLCLASSPATH, sciPath);
+ LoadClasspath(classpathfile);
+ if (classpathfile)
+ {
+ FREE(classpathfile);
+ classpathfile = NULL;
+ }
+}
+/*--------------------------------------------------------------------------*/
+static void DoLoadLibrarypathInEtc(char *sciPath)
+{
+ char *librarypathfile = (char*)MALLOC(sizeof(char) * (strlen(sciPath) + strlen(XMLLIBRARYPATH) + 1));
+ sprintf(librarypathfile, XMLLIBRARYPATH, sciPath);
+ LoadLibrarypath(librarypathfile);
+ if (librarypathfile)
+ {
+ FREE(librarypathfile);
+ librarypathfile = NULL;
+ }
+}
+/*--------------------------------------------------------------------------*/
+BOOL ExecuteInitialHooks(void)
+{
+ JNIEnv * currentENV = getScilabJNIEnv();
+ JavaVM * currentJVM = getScilabJavaVM();
+
+ jint result = (*currentJVM)->AttachCurrentThread(currentJVM, (void **) &currentENV, NULL) ;
+ if (result == 0)
+ {
+ jclass cls = NULL;
+ cls = (*currentENV)->FindClass(currentENV, "org/scilab/modules/core/Scilab");
+ catchIfJavaException(_("Could not access to the Main Scilab Class:\n"));
+ if (cls)
+ {
+ jmethodID mid = NULL;
+ mid = (*currentENV)->GetStaticMethodID(currentENV, cls, "executeInitialHooks", "()V");
+ if (mid)
+ {
+ (*currentENV)->CallStaticVoidMethod(currentENV, cls, mid);
+ }
+ catchIfJavaException(_("Cannot execute initial hooks. Error:\n"));
+
+ return TRUE;
+ }
+ }
+ return FALSE;
+}
+/*--------------------------------------------------------------------------*/
+
+
diff --git a/modules/jvm/src/c/JVM.c b/modules/jvm/src/c/JVM.c
new file mode 100755
index 000000000..655ebb962
--- /dev/null
+++ b/modules/jvm/src/c/JVM.c
@@ -0,0 +1,301 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 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 <string.h>
+#include <stdlib.h>
+#include <stdio.h>
+#include "dynamiclibrary.h"
+#include "JVM.h"
+#include "JVM_functions.h"
+#include "MALLOC.h"
+#include "getScilabJavaVM.h"
+#include "getScilabJNIEnv.h"
+#include "fromjava.h"
+#include "localization.h"
+#include "getJvmOptions.h"
+/*--------------------------------------------------------------------------*/
+static JavaVM *jvm_SCILAB = NULL;
+/*--------------------------------------------------------------------------*/
+static BOOL HadAlreadyJavaVm = FALSE;
+/*--------------------------------------------------------------------------*/
+static JavaVMOption *jvm_options = NULL;
+static int nOptions = 0;
+/*--------------------------------------------------------------------------*/
+static void freeJavaVMOption(void)
+{
+ if (jvm_options)
+ {
+ int j = 0;
+
+ for (j = 0; j < nOptions; j++)
+ {
+ if (jvm_options[j].optionString)
+ {
+ FREE(jvm_options[j].optionString);
+ jvm_options[j].optionString = NULL;
+ }
+ }
+ nOptions = 0;
+ }
+}
+
+/*--------------------------------------------------------------------------*/
+JavaVM *getScilabJavaVM(void)
+{
+ if (!jvm_SCILAB && IsFromJava())
+ {
+ /* If getScilabJavaVM is called from C called itself from JavaSci
+ * (in nwni mode) the function returns a JVM */
+ JavaVM *vm = 0;
+ JavaVM **vmBuf = MALLOC(sizeof(JavaVM *) * 1);
+ jsize size = 0;
+
+ if (!hasJvmSymbolsLoaded())
+ {
+ /* We load symbols of the current jvm already used */
+ LoadFunctionsJVM(NULL);
+ }
+
+ SciJNI_GetCreatedJavaVMs(vmBuf, 1, &size);
+
+ if (size)
+ {
+ vm = *vmBuf;
+ }
+ FREE(vmBuf);
+
+ return vm;
+ }
+
+ return jvm_SCILAB;
+}
+
+/*--------------------------------------------------------------------------*/
+JNIEnv *getScilabJNIEnv(void)
+{
+ JNIEnv *JNIEnv_SCILAB = NULL;
+ jint res = 0;
+
+ if (jvm_SCILAB)
+ {
+#ifdef JNI_VERSION_1_6
+ res = (*jvm_SCILAB)->GetEnv(jvm_SCILAB, (void **)&JNIEnv_SCILAB, JNI_VERSION_1_6);
+#elif JNI_VERSION_1_4
+ res = (*jvm_SCILAB)->GetEnv(jvm_SCILAB, (void **)&JNIEnv_SCILAB, JNI_VERSION_1_4);
+#endif
+ if (res == JNI_ERR)
+ {
+#ifdef _MSC_VER
+ MessageBox(NULL, gettext("\nError: Cannot return Scilab Java environment (JNIEnv_SCILAB).\n"), gettext("Error"),
+ MB_ICONEXCLAMATION | MB_OK);
+#else
+ fprintf(stderr, _("\nError: Cannot return Scilab Java environment (JNIEnv_SCILAB).\n"));
+#endif
+ return NULL;
+ }
+
+ if (res == JNI_EDETACHED)
+ {
+ (*jvm_SCILAB)->AttachCurrentThread(jvm_SCILAB, (void **)&JNIEnv_SCILAB, NULL);
+ }
+ }
+ else
+ {
+#ifdef _MSC_VER
+ MessageBox(NULL,
+ gettext
+ ("\nError: Cannot return Scilab Java environment (jvm_SCILAB): check if the JVM has been loaded by Scilab before calling this function.\n"),
+ gettext("Error"), MB_ICONEXCLAMATION | MB_OK);
+#else
+ fprintf(stderr,
+ _
+ ("\nError: Cannot return Scilab Java environment (jvm_SCILAB): check if the JVM has been loaded by Scilab before calling this function.\n"));
+#endif
+ }
+ return JNIEnv_SCILAB;
+}
+
+/*--------------------------------------------------------------------------*/
+BOOL startJVM(char *SCI_PATH)
+{
+ JNIEnv *env = NULL;
+ JavaVM *ptr_jvm = NULL;
+ jint res = 0;
+
+ if (IsFromJava())
+ {
+ ptr_jvm = FindCreatedJavaVM(SCI_PATH);
+ if (ptr_jvm) /* a jvm already exists in scilab process */
+ {
+ HadAlreadyJavaVm = TRUE;
+ jvm_SCILAB = ptr_jvm;
+ env = getScilabJNIEnv();
+ }
+ else
+ {
+ fprintf(stderr, _("\nWeird error. Calling from Java but haven't been able to find the already existing JVM.\n"));
+ FreeDynLibJVM();
+ return FALSE;
+ }
+ }
+ else
+ {
+ if (!LoadDynLibJVM(SCI_PATH))
+ {
+ fprintf(stderr, _("\nCould not load JVM dynamic library (libjava).\n"));
+ fprintf(stderr, _("Error: %s\n"), GetLastDynLibError());
+ fprintf(stderr, _("If you are using a binary version of Scilab, please report a bug http://bugzilla.scilab.org/.\n"));
+ fprintf(stderr, _("If you are using a self-built version of Scilab, update the script bin/scilab to provide the path to the JVM.\n"));
+
+ fprintf(stderr, _("The problem might be related to SELinux. Try to deactivate it.\n"));
+ fprintf(stderr, _("Please also check that you are not trying to run Scilab 64 bits on a 32 bits system (or vice versa).\n"));
+ return FALSE;
+ }
+ else
+ {
+ /**
+ * http://java.sun.com/javase/6/docs/technotes/guides/jni/spec/invocation.html#wp15956
+ */
+#define JVM_OPTIONS_FILENAME_FORMAT "%s/etc/jvm_options.xml"
+ char *jvm_options_filename = NULL;
+
+ long status = 0;
+ JavaVMInitArgs vm_args;
+
+ jvm_options_filename = (char *)MALLOC(sizeof(char) * ((int)strlen(JVM_OPTIONS_FILENAME_FORMAT) + (int)strlen(SCI_PATH) + 1));
+ sprintf(jvm_options_filename, JVM_OPTIONS_FILENAME_FORMAT, SCI_PATH);
+
+ jvm_options = getJvmOptions(SCI_PATH, jvm_options_filename, &nOptions);
+
+ if ((jvm_options == NULL) || (nOptions == 0))
+ {
+#ifdef _MSC_VER
+ {
+#define FORMAT_MSG "\nImpossible to read %s.\n"
+ char *msg = (char *)MALLOC(sizeof(char) * ((int)strlen(_(FORMAT_MSG)) + (int)strlen(jvm_options_filename) + 1));
+
+ if (msg)
+ {
+ sprintf(msg, _(FORMAT_MSG), jvm_options_filename);
+ MessageBox(NULL, msg, gettext("Error"), MB_ICONEXCLAMATION | MB_OK);
+ FREE(msg);
+ msg = NULL;
+ }
+ }
+#else
+ fprintf(stderr, _("\nImpossible to read %s.\n"), jvm_options_filename);
+#endif
+ if (jvm_options_filename)
+ {
+ FREE(jvm_options_filename);
+ jvm_options_filename = NULL;
+ }
+ exit(1);
+ }
+ else
+ {
+ if (jvm_options_filename)
+ {
+ FREE(jvm_options_filename);
+ jvm_options_filename = NULL;
+ }
+
+ HadAlreadyJavaVm = FALSE;
+
+ memset(&vm_args, 0, sizeof(vm_args));
+ SciJNI_GetDefaultJavaVMInitArgs(&vm_args);
+
+#ifdef JNI_VERSION_1_6
+ vm_args.version = JNI_VERSION_1_6;
+#elif JNI_VERSION_1_4
+ vm_args.version = JNI_VERSION_1_4;
+#else
+#ifdef _MSC_VER
+ MessageBox(NULL, gettext("\nIncorrect version JNI (needs at least JDK 1.4).\n"), gettext("Error"), MB_ICONEXCLAMATION | MB_OK);
+#else
+ fprintf(stderr, gettext("\nIncorrect version JNI (needs at least JDK 1.4).\n"));
+#endif
+ exit(1);
+#endif
+
+ vm_args.options = jvm_options;
+ vm_args.nOptions = nOptions;
+ vm_args.ignoreUnrecognized = FALSE;
+ status = SciJNI_CreateJavaVM(&jvm_SCILAB, (JNIEnv **) & env, &vm_args);
+
+ if (status != JNI_OK)
+ {
+ fprintf(stderr, _("Error in the creation of the Java VM: %s\n"), getJniErrorFromStatusCode(status));
+ FreeDynLibJVM();
+ if (vm_args.options)
+ {
+ int j = 0;
+
+ fprintf(stderr, _("Options:\n"));
+ for (j = 0; j < vm_args.nOptions; j++)
+ {
+ fprintf(stderr, "%d: %s\n", j, vm_args.options[j]);
+ }
+ }
+ return FALSE;
+ }
+ }
+ }
+ }
+
+ res = (*jvm_SCILAB)->AttachCurrentThread(jvm_SCILAB, (void **)&env, (void *)NULL);
+
+ if (res != 0)
+ {
+#ifdef _MSC_VER
+ MessageBox(NULL, gettext("\nJVM error in AttachCurrentThread: Could not attach to the current thread.\n"), gettext("Error"),
+ MB_ICONEXCLAMATION | MB_OK);
+#else
+ fprintf(stderr, gettext("\nJVM error in AttachCurrentThread: Could not attach to the current thread.\n"));
+#endif
+ FreeDynLibJVM();
+ freeJavaVMOption();
+ return FALSE;
+ }
+ else
+ {
+ return TRUE;
+ }
+}
+/*--------------------------------------------------------------------------*/
+BOOL finishJVM(void)
+{
+ BOOL bOK = FALSE;
+
+ if (jvm_SCILAB)
+ {
+ // Detach the shared thread, to let the JVM finish itself
+ (*jvm_SCILAB)->DetachCurrentThread(jvm_SCILAB);
+
+ // force destroy the JVM (commented due to the javasci case)
+ // (*jvm_SCILAB)->DestroyJavaVM(jvm_SCILAB);
+ }
+ if (FreeDynLibJVM())
+ {
+ jvm_SCILAB = NULL;
+ bOK = TRUE;
+ }
+ freeJavaVMOption();
+ return bOK;
+}
+/*--------------------------------------------------------------------------*/
+BOOL isItTheDisabledLib(void)
+{
+ return FALSE;
+}
+/*--------------------------------------------------------------------------*/
diff --git a/modules/jvm/src/c/JVM.h b/modules/jvm/src/c/JVM.h
new file mode 100755
index 000000000..272a5e6f1
--- /dev/null
+++ b/modules/jvm/src/c/JVM.h
@@ -0,0 +1,43 @@
+
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 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
+ *
+ */
+
+/*--------------------------------------------------------------------------*/
+#ifndef __JVM_H__
+#define __JVM_H__
+
+#include <jni.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include "BOOL.h" /* BOOL */
+ /**
+ * start JVM used in InitializeJVM function
+ * @param Scilab path
+ * @return TRUE or FALSE
+ */
+ BOOL startJVM(char *SCI_PATH);
+
+ /**
+ * finish JVM in TerminateJVM function
+ * @return TRUE or FALSE
+ */
+ BOOL finishJVM(void);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* __JVM_H__ */
+/*--------------------------------------------------------------------------*/
diff --git a/modules/jvm/src/c/JVM_Unix.c b/modules/jvm/src/c/JVM_Unix.c
new file mode 100755
index 000000000..6264bf2c2
--- /dev/null
+++ b/modules/jvm/src/c/JVM_Unix.c
@@ -0,0 +1,218 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 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 <string.h>
+#include <stdlib.h>
+#include "machine.h"
+#include "JVM_commons.h"
+#include "JVM_functions.h"
+#include "sci_mem_alloc.h"
+/*--------------------------------------------------------------------------*/
+#define JVM_TYPE "client"
+/* #define JVM_TYPE "server" */
+/* Every form of Sun's Java runtime comes with both the "client VM" and the "server VM."
+Unfortunately, Java applications and applets run by default in the client VM.
+The Server VM is much faster than the Client VM,
+but it has the downside of taking around 10% longer to start up, and it uses more memory.
+*/
+/*--------------------------------------------------------------------------*/
+static JavaVM *SearchCreatedJavaVMEmbedded(char *SCILAB_PATH);
+static JavaVM *SearchCreatedJavaVMPath(void);
+
+#ifdef __APPLE__
+/* I guess Apple likes to make my life harder ...
+ * They are renaming the name of the dynamic lib especially for jni lib...
+ * Therefor, I must change the name only for mac os X from dynlib
+ */
+#undef SHARED_LIB_EXT
+#define SHARED_LIB_EXT ".jnilib"
+#define LIBJAVANAME "libjava"
+#else
+#define LIBJAVANAME "libjvm"
+#endif
+
+/*--------------------------------------------------------------------------*/
+static BOOL EMBEDDED_JRE = FALSE;
+
+/*--------------------------------------------------------------------------*/
+BOOL LoadDynLibJVM(char *SCILAB_PATH)
+{
+ /* 1. search in SCI/java/jre
+ * 2. search in LD_LIBRARY_PATH and co (see man dlopen)
+ * else ERROR Java not found */
+
+ BOOL bOK = FALSE;
+ char *JVMLibFullName = NULL;
+
+ /* 1. search in SCI/java/jre */
+ JVMLibFullName =
+ (char *)MALLOC((strlen(SCILAB_PATH) + strlen(JRE_PATH) + strlen("/bin/") + strlen(JVM_TYPE) + strlen("/libjava") + strlen(SHARED_LIB_EXT) + 1)
+ * sizeof(char));
+ sprintf(JVMLibFullName, "%s%s%s%s%s%s", SCILAB_PATH, JRE_PATH, "/bin/", JVM_TYPE, "/libjava", SHARED_LIB_EXT);
+
+ if (LoadFunctionsJVM(JVMLibFullName) == NULL)
+ {
+ /* 2. search in LD_LIBRARY_PATH */
+ if (JVMLibFullName)
+ {
+ FREE(JVMLibFullName);
+ JVMLibFullName = NULL;
+ };
+
+ JVMLibFullName = (char *)MALLOC((strlen(LIBJAVANAME) + strlen(SHARED_LIB_EXT) + 1) * sizeof(char));
+ sprintf(JVMLibFullName, "%s%s", LIBJAVANAME, SHARED_LIB_EXT);
+ if (LoadFunctionsJVM(JVMLibFullName))
+ {
+ bOK = TRUE;
+ }
+ }
+ else
+ {
+ EMBEDDED_JRE = TRUE;
+ bOK = TRUE;
+ }
+
+ if (JVMLibFullName)
+ {
+ FREE(JVMLibFullName);
+ JVMLibFullName = NULL;
+ };
+
+ return bOK;
+
+}
+
+/*--------------------------------------------------------------------------*/
+BOOL withEmbeddedJRE(void)
+{
+ return EMBEDDED_JRE;
+}
+
+/*--------------------------------------------------------------------------*/
+static JavaVM *SearchCreatedJavaVMEmbedded(char *SCILAB_PATH)
+{
+ JavaVM *jvm = NULL;
+ jsize jvm_count = 0;
+ jint res = 0;
+ char *JVMLibFullName = NULL;
+
+ /* search in SCI/java/jre */
+ JVMLibFullName =
+ (char *)MALLOC((strlen(SCILAB_PATH) + strlen(JRE_PATH) + strlen("/bin/") + strlen(JVM_TYPE) + strlen("/libjava") + strlen(SHARED_LIB_EXT) + 1)
+ * sizeof(char));
+ sprintf(JVMLibFullName, "%s%s%s%s%s%s", SCILAB_PATH, JRE_PATH, "/bin/", JVM_TYPE, "/libjava", SHARED_LIB_EXT);
+
+ FreeDynLibJVM();
+
+ if (LoadFunctionsJVM(JVMLibFullName))
+ {
+ res = SciJNI_GetCreatedJavaVMs(&jvm, 1, &jvm_count);
+ if (res != JNI_OK)
+ {
+ fprintf(stderr, "\nJNI_GetCreatedJavaVMs failed to detect any started Java VM.\n");
+ return NULL;
+ }
+
+ if (jvm_count == 1)
+ {
+ if (JVMLibFullName)
+ {
+ FREE(JVMLibFullName);
+ JVMLibFullName = NULL;
+ }
+ return jvm;
+ }
+ else
+ {
+ jvm = NULL;
+ }
+ }
+ if (JVMLibFullName)
+ {
+ FREE(JVMLibFullName);
+ JVMLibFullName = NULL;
+ }
+ return jvm;
+}
+
+/*--------------------------------------------------------------------------*/
+static JavaVM *SearchCreatedJavaVMPath(void)
+{
+ JavaVM *jvm = NULL;
+ jsize jvm_count = 0;
+ jint res = 0;
+ char *JVMLibFullName = NULL;
+
+ FreeDynLibJVM();
+
+ JVMLibFullName = (char *)MALLOC((strlen("libjava") + strlen(SHARED_LIB_EXT) + 1) * sizeof(char));
+ sprintf(JVMLibFullName, "%s%s", "libjava", SHARED_LIB_EXT);
+
+ if (LoadFunctionsJVM(JVMLibFullName))
+ {
+ res = SciJNI_GetCreatedJavaVMs(&jvm, 1, &jvm_count);
+ if (res != JNI_OK)
+ {
+ fprintf(stderr, "\nJNI_GetCreatedJavaVMs failed to detect any started Java VM.\n");
+ return NULL;
+ }
+ if (jvm_count == 1) /* We could update this to behave differently when two (or more) JVMs are already started */
+ {
+ if (JVMLibFullName)
+ {
+ FREE(JVMLibFullName);
+ JVMLibFullName = NULL;
+ };
+ return jvm;
+ }
+ else
+ {
+ jvm = NULL;
+ }
+ }
+ if (JVMLibFullName)
+ {
+ FREE(JVMLibFullName);
+ JVMLibFullName = NULL;
+ };
+ return jvm;
+}
+
+/*--------------------------------------------------------------------------*/
+JavaVM *FindCreatedJavaVM(char *SCILAB_PATH)
+{
+ JavaVM *jvm = NULL;
+
+#ifndef __APPLE__
+ /* Under Mac OS X, we are using the JVM provided by the distribution.
+ * However, this might change with Java 7 since Apple will no longer provide
+ * Java with Mac OS X */
+ jvm = SearchCreatedJavaVMEmbedded(SCILAB_PATH);
+ if (jvm)
+ {
+ return jvm;
+ }
+ else
+ {
+#endif
+ jvm = SearchCreatedJavaVMPath();
+ if (jvm)
+ {
+ return jvm;
+ }
+#ifndef __APPLE__
+ }
+#endif
+ return NULL;
+}
+
+/*--------------------------------------------------------------------------*/
diff --git a/modules/jvm/src/c/JVM_Windows.c b/modules/jvm/src/c/JVM_Windows.c
new file mode 100755
index 000000000..7c653b139
--- /dev/null
+++ b/modules/jvm/src/c/JVM_Windows.c
@@ -0,0 +1,311 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 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 "machine.h" /* SHARED_LIB_EXT */
+#include "JVM_commons.h"
+#include "JVM_functions.h"
+#include "MALLOC.h"
+#include "PATH_MAX.h"
+#include "FileExist.h"
+#include "GetWindowsVersion.h"
+/*--------------------------------------------------------------------------*/
+#ifdef _WIN64
+/* Sun doesn't distribute "client" version of jvm with jre for x64 version */
+#define JVM_TYPE "server"
+#else
+#define JVM_TYPE "client"
+#endif
+/* #define JVM_TYPE "server" */
+/* Every form of Sun's Java runtime comes with both the "client VM" and the "server VM."
+Unfortunately, Java applications and applets run by default in the client VM.
+The Server VM is much faster than the Client VM,
+but it has the downside of taking around 10% longer to start up, and it uses more memory.
+*/
+/*--------------------------------------------------------------------------*/
+static char *Search_Java_RuntimeLib_in_Windows_Registry(void);
+static JavaVM *SearchCreatedJavaVMPath(void);
+static JavaVM *SearchCreatedJavaVMEmbedded(char *SCILAB_PATH);
+static JavaVM *SearchCreatedJavaVMRegistry(void);
+/*--------------------------------------------------------------------------*/
+static BOOL EMBEDDED_JRE = FALSE;
+/*--------------------------------------------------------------------------*/
+BOOL LoadDynLibJVM(char *SCILAB_PATH)
+{
+ /* 1] search in SCI/java/jre */
+ /* 2] search in windows registry */
+ /* 3] search in PATH */
+ /* else ERROR Java not found */
+
+ BOOL bOK = FALSE;
+ char *JVMDLLFULLNAME = NULL;
+
+ /* 1] search in scilab SCI/java/jre */
+ JVMDLLFULLNAME = (char*)MALLOC( (strlen(SCILAB_PATH) + strlen(JRE_PATH) + strlen("/bin/") + strlen(JVM_TYPE) + strlen("/jvm") + strlen(SHARED_LIB_EXT) + 1) * sizeof(char));
+ sprintf(JVMDLLFULLNAME, "%s%s%s%s%s%s", SCILAB_PATH, JRE_PATH, "/bin/", JVM_TYPE, "/jvm", SHARED_LIB_EXT);
+
+ if (!LoadFunctionsJVM(JVMDLLFULLNAME))
+ {
+ /* 2] search in windows registry */
+ /* We try to find JRE on Windows registry*/
+ if (JVMDLLFULLNAME)
+ {
+ FREE(JVMDLLFULLNAME);
+ JVMDLLFULLNAME = NULL;
+ };
+ JVMDLLFULLNAME = Search_Java_RuntimeLib_in_Windows_Registry();
+
+ /* 3] search in PATH */
+ if (!LoadFunctionsJVM(JVMDLLFULLNAME))
+ {
+ if (JVMDLLFULLNAME)
+ {
+ FREE(JVMDLLFULLNAME);
+ JVMDLLFULLNAME = NULL;
+ };
+ JVMDLLFULLNAME = (char*)MALLOC( (strlen("jvm") + strlen(SHARED_LIB_EXT) + 1) * sizeof(char));
+ sprintf(JVMDLLFULLNAME, "%s%s%s%s", SCILAB_PATH, JRE_PATH, "jvm", SHARED_LIB_EXT);
+ if ( LoadFunctionsJVM(JVMDLLFULLNAME) )
+ {
+ bOK = TRUE;
+ }
+ }
+ else
+ {
+ bOK = TRUE;
+ }
+ }
+ else
+ {
+ EMBEDDED_JRE = TRUE;
+ bOK = TRUE;
+ }
+
+ if (JVMDLLFULLNAME)
+ {
+ FREE(JVMDLLFULLNAME);
+ JVMDLLFULLNAME = NULL;
+ };
+
+ return bOK;
+}
+/*--------------------------------------------------------------------------*/
+char *Search_Java_RuntimeLib_in_Windows_Registry(void)
+{
+#define JRE_HKEY "Software\\JavaSoft\\Java Runtime Environment"
+ char *RuntimeLib = NULL;
+ char value[PATH_MAX];
+ char newKey[PATH_MAX];
+
+ HKEY regKey;
+ DWORD size = PATH_MAX;
+ int result;
+
+ DWORD OpensKeyOptions = 0;
+
+ /* if Win64 search only 64 bits JRE version */
+#ifdef _WIN64 /* Scilab x64 on x64 windows */
+ OpensKeyOptions = KEY_READ | KEY_WOW64_64KEY;
+#else
+ if (IsWow64()) /* Scilab 32 bits on x64 windows */
+ {
+ OpensKeyOptions = KEY_READ | KEY_WOW64_32KEY;
+ }
+ else /* Scilab 32 bits on windows 32 bits */
+ {
+ OpensKeyOptions = KEY_READ;
+ }
+#endif
+
+ if ((result = RegOpenKeyEx(HKEY_LOCAL_MACHINE, JRE_HKEY, 0, OpensKeyOptions, &regKey)) != ERROR_SUCCESS)
+ {
+ return NULL;
+ }
+
+ if ((result = RegQueryValueEx(regKey, "CurrentVersion", NULL, NULL, (LPBYTE)value, &size)) != ERROR_SUCCESS)
+ {
+ RegCloseKey(regKey);
+ return NULL;
+ }
+
+ RegCloseKey(regKey);
+ value[size] = '\0';
+ size = PATH_MAX;
+
+ strcpy(newKey, JRE_HKEY);
+ strcat(newKey, "\\");
+ strcat(newKey, value);
+
+
+ if ((result = RegOpenKeyEx(HKEY_LOCAL_MACHINE, newKey, 0, OpensKeyOptions, &regKey)) != ERROR_SUCCESS)
+ {
+ return NULL;
+ }
+
+ if ((result = RegQueryValueEx(regKey, "RuntimeLib", NULL, NULL, (LPBYTE)value, &size)) != ERROR_SUCCESS)
+ {
+ RegCloseKey(regKey);
+ return NULL;
+ }
+
+ RegCloseKey(regKey);
+
+ /* check file Exist */
+ if (FileExist(value))
+ {
+ RuntimeLib = (char*)MALLOC(sizeof(char) * (strlen(value) + 1));
+ strcpy(RuntimeLib, value);
+ }
+
+ return RuntimeLib;
+}
+/*--------------------------------------------------------------------------*/
+BOOL withEmbeddedJRE(void)
+{
+ return EMBEDDED_JRE;
+}
+/*--------------------------------------------------------------------------*/
+static JavaVM *SearchCreatedJavaVMEmbedded(char *SCILAB_PATH)
+{
+ JavaVM *jvm = NULL;
+ jsize jvm_count = 0;
+ jint res = 0;
+ char *JVMDLLFULLNAME = NULL;
+
+ /* search in SCI/java/jre */
+ JVMDLLFULLNAME = (char*)MALLOC( (strlen(SCILAB_PATH) + strlen(JRE_PATH) + strlen("/bin/") + strlen(JVM_TYPE) + strlen("/jvm") + strlen(SHARED_LIB_EXT) + 1) * sizeof(char));
+ sprintf(JVMDLLFULLNAME, "%s%s%s%s%s%s", SCILAB_PATH, JRE_PATH, "/bin/", JVM_TYPE, "/jvm", SHARED_LIB_EXT);
+
+ FreeDynLibJVM();
+
+ if (LoadFunctionsJVM(JVMDLLFULLNAME))
+ {
+ res = SciJNI_GetCreatedJavaVMs (&jvm, 1, &jvm_count);
+
+ if ( jvm_count == 1 )
+ {
+ if (JVMDLLFULLNAME)
+ {
+ FREE(JVMDLLFULLNAME);
+ JVMDLLFULLNAME = NULL;
+ }
+ return jvm;
+ }
+ else
+ {
+ jvm = NULL;
+ }
+ }
+ if (JVMDLLFULLNAME)
+ {
+ FREE(JVMDLLFULLNAME);
+ JVMDLLFULLNAME = NULL;
+ }
+ return jvm;
+}
+/*----------------------------------------------------------------------------------*/
+JavaVM *SearchCreatedJavaVMRegistry(void)
+{
+ JavaVM *jvm = NULL;
+ jsize jvm_count = 0;
+ jint res = 0;
+ char *JVMDLLFULLNAME = NULL;
+
+ JVMDLLFULLNAME = Search_Java_RuntimeLib_in_Windows_Registry();
+ FreeDynLibJVM();
+
+ if (LoadFunctionsJVM(JVMDLLFULLNAME))
+ {
+ res = SciJNI_GetCreatedJavaVMs (&jvm, 1, &jvm_count);
+
+ if ( jvm_count == 1 )
+ {
+ if (JVMDLLFULLNAME)
+ {
+ FREE(JVMDLLFULLNAME);
+ JVMDLLFULLNAME = NULL;
+ }
+ return jvm;
+ }
+ else
+ {
+ jvm = NULL;
+ }
+ }
+ if (JVMDLLFULLNAME)
+ {
+ FREE(JVMDLLFULLNAME);
+ JVMDLLFULLNAME = NULL;
+ }
+ return jvm;
+}
+/*----------------------------------------------------------------------------------*/
+static JavaVM *SearchCreatedJavaVMPath(void)
+{
+ JavaVM *jvm = NULL;
+ jsize jvm_count = 0;
+ jint res = 0;
+ char *JVMDLLFULLNAME = NULL;
+
+ FreeDynLibJVM();
+
+ JVMDLLFULLNAME = (char*)MALLOC( (strlen("jvm") + strlen(SHARED_LIB_EXT) + 1) * sizeof(char));
+ sprintf(JVMDLLFULLNAME, "%s%s", "jvm", SHARED_LIB_EXT);
+
+ if (LoadFunctionsJVM(JVMDLLFULLNAME))
+ {
+ res = SciJNI_GetCreatedJavaVMs (&jvm, 1, &jvm_count);
+ if ( jvm_count == 1 )
+ {
+ if (JVMDLLFULLNAME)
+ {
+ FREE(JVMDLLFULLNAME);
+ JVMDLLFULLNAME = NULL;
+ };
+ return jvm;
+ }
+ else
+ {
+ jvm = NULL;
+ }
+ }
+ return jvm;
+}
+/*----------------------------------------------------------------------------------*/
+JavaVM *FindCreatedJavaVM(char *SCILAB_PATH)
+{
+ JavaVM *jvm = NULL;
+
+ jvm = SearchCreatedJavaVMEmbedded(SCILAB_PATH);
+ if (jvm)
+ {
+ return jvm;
+ }
+ else
+ {
+ jvm = SearchCreatedJavaVMRegistry();
+ if (jvm)
+ {
+ return jvm;
+ }
+ else
+ {
+ jvm = SearchCreatedJavaVMPath();
+ if (jvm)
+ {
+ return jvm;
+ }
+ }
+ }
+ return NULL;
+}
+/*--------------------------------------------------------------------------*/
diff --git a/modules/jvm/src/c/JVM_commons.c b/modules/jvm/src/c/JVM_commons.c
new file mode 100755
index 000000000..1a7b819c9
--- /dev/null
+++ b/modules/jvm/src/c/JVM_commons.c
@@ -0,0 +1,172 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) INRIA - Allan CORNET
+ * Copyright (C) 2007-2008 - INRIA - Sylvestre LEDRU
+ * 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 <stdio.h>
+#include "JVM_commons.h"
+#include "dynamiclibrary.h"
+#include "localization.h"
+#include "getshortpathname.h"
+#include "BOOL.h"
+#include "MALLOC.h"
+#include "charEncoding.h"
+/*--------------------------------------------------------------------------*/
+static DynLibHandle hLibJVM = NULL;
+static BOOL bSymbolsLoaded = FALSE;
+/*--------------------------------------------------------------------------*/
+typedef jint (JNICALL *JNI_CreateJavaVMPROC) (JavaVM **jvm, JNIEnv **penv, JavaVMInitArgs *args);
+typedef jint (JNICALL *JNI_GetCreatedJavaVMsPROC)(JavaVM **vmBuf, jsize BufLen, jsize *nVMs);
+typedef jint (JNICALL *JNI_GetDefaultJavaVMInitArgsPROC)(JavaVMInitArgs *args);
+/*--------------------------------------------------------------------------*/
+static JNI_GetDefaultJavaVMInitArgsPROC ptr_JNI_GetDefaultJavaVMInitArgs = NULL;
+static JNI_CreateJavaVMPROC ptr_JNI_CreateJavaVM = NULL;
+static JNI_GetCreatedJavaVMsPROC ptr_JNI_GetCreatedJavaVMs = NULL;
+/*--------------------------------------------------------------------------*/
+jint SciJNI_GetDefaultJavaVMInitArgs(JavaVMInitArgs *args)
+{
+ if (ptr_JNI_GetDefaultJavaVMInitArgs)
+ {
+ return (ptr_JNI_GetDefaultJavaVMInitArgs)(args);
+ }
+ return JNI_ERR;
+}
+/*--------------------------------------------------------------------------*/
+jint SciJNI_CreateJavaVM(JavaVM **jvm, JNIEnv **penv, JavaVMInitArgs *args)
+{
+ if (ptr_JNI_CreateJavaVM)
+ {
+ return (ptr_JNI_CreateJavaVM)(jvm, penv, args);
+ }
+ return JNI_ERR;
+}
+/*--------------------------------------------------------------------------*/
+jint SciJNI_GetCreatedJavaVMs(JavaVM **vmBuf, jsize BufLen, jsize *nVMs)
+{
+ if (ptr_JNI_GetCreatedJavaVMs)
+ {
+ return (ptr_JNI_GetCreatedJavaVMs)(vmBuf, BufLen, nVMs);
+ }
+ return JNI_ERR;
+}
+/*--------------------------------------------------------------------------*/
+BOOL FreeDynLibJVM(void)
+{
+ if (hLibJVM)
+ {
+ if (FreeDynLibrary(hLibJVM))
+ {
+ ptr_JNI_GetDefaultJavaVMInitArgs = NULL;
+ ptr_JNI_CreateJavaVM = NULL;
+ ptr_JNI_GetCreatedJavaVMs = NULL;
+ hLibJVM = NULL;
+ bSymbolsLoaded = FALSE;
+ return TRUE;
+ }
+ }
+ return FALSE;
+}
+/*--------------------------------------------------------------------------*/
+BOOL LoadFunctionsJVM(char *filedynlib)
+{
+#ifdef _MSC_VER
+ if (filedynlib == NULL)
+ {
+ hLibJVM = LoadDynLibraryW(L"jvm.dll");
+ }
+ else
+ {
+ wchar_t * wcfiledynlib = to_wide_string(filedynlib);
+ if (wcfiledynlib)
+ {
+ hLibJVM = LoadDynLibraryW(wcfiledynlib);
+ FREE(wcfiledynlib);
+ wcfiledynlib = NULL;
+ }
+ }
+#else
+#ifdef __APPLE__
+ /*
+ ** After MacOSX 10.6.8 manually load libjava.jnilib make JNI_* functions crash
+ ** Rely on OS by using dlopen(NULL) to find correct symbol with dlsym
+ */
+ hLibJVM = LoadDynLibrary(NULL);
+#else
+ if (filedynlib == NULL)
+ {
+ hLibJVM = LoadDynLibrary(NULL);
+ }
+ else
+ {
+ hLibJVM = LoadDynLibrary(filedynlib);
+ }
+#endif
+#endif
+
+ if (hLibJVM)
+ {
+ ptr_JNI_GetDefaultJavaVMInitArgs = (JNI_GetDefaultJavaVMInitArgsPROC) GetDynLibFuncPtr(hLibJVM, "JNI_GetDefaultJavaVMInitArgs" );
+ ptr_JNI_CreateJavaVM = (JNI_CreateJavaVMPROC) GetDynLibFuncPtr(hLibJVM, "JNI_CreateJavaVM" );
+ ptr_JNI_GetCreatedJavaVMs = (JNI_GetCreatedJavaVMsPROC) GetDynLibFuncPtr(hLibJVM, "JNI_GetCreatedJavaVMs" );
+
+ if (ptr_JNI_GetDefaultJavaVMInitArgs && ptr_JNI_CreateJavaVM && ptr_JNI_GetCreatedJavaVMs)
+ {
+ bSymbolsLoaded = TRUE;
+ return TRUE;
+ }
+ }
+ return FALSE;
+}
+/*--------------------------------------------------------------------------*/
+char *getJniErrorFromStatusCode(long status)
+{
+ switch (status)
+ {
+ case JNI_ERR:
+ return _("Unknown JNI error");
+ break;
+ case JNI_EDETACHED:
+ return _("Thread detached from the VM");
+ break;
+ case JNI_EVERSION:
+ return _("JNI version error");
+ break;
+#ifdef JNI_ENOMEM
+ /* ifdef because not defined with some version of gcj */
+ case JNI_ENOMEM:
+ return _("JNI: not enough memory");
+ break;
+#endif
+#ifdef JNI_EEXIST
+ /* ifdef because not defined with some version of gcj */
+ case JNI_EEXIST:
+ return _("VM already created");
+ break;
+#endif
+#ifdef JNI_EINVAL
+ /* ifdef because not defined with some version of gcj */
+ case JNI_EINVAL:
+ return _("JNI: invalid arguments");
+ break;
+#endif
+ default:
+ return _("Undefined error code in the JNI. Weird problem");
+ break;
+ }
+}
+/*--------------------------------------------------------------------------*/
+BOOL hasJvmSymbolsLoaded(void)
+{
+ return bSymbolsLoaded;
+}
+/*--------------------------------------------------------------------------*/ \ No newline at end of file
diff --git a/modules/jvm/src/c/JVM_commons.h b/modules/jvm/src/c/JVM_commons.h
new file mode 100755
index 000000000..c3556bb4e
--- /dev/null
+++ b/modules/jvm/src/c/JVM_commons.h
@@ -0,0 +1,29 @@
+
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 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
+ *
+ */
+
+/*--------------------------------------------------------------------------*/
+#ifndef __JVM_COMMONS_H__
+#define __JVM_COMMONS_H__
+/*--------------------------------------------------------------------------*/
+#include <jni.h>
+#include "JVM_functions.h"
+/*--------------------------------------------------------------------------*/
+#ifdef _MSC_VER
+#define JRE_PATH "/java/jre"
+#else
+/* Always this value when we embedded JRE */
+#define JRE_PATH "/java/jre"
+#endif
+/*--------------------------------------------------------------------------*/
+#endif /* __JVM_COMMONS_H__ */
+/*--------------------------------------------------------------------------*/
diff --git a/modules/jvm/src/c/JVM_functions.h b/modules/jvm/src/c/JVM_functions.h
new file mode 100755
index 000000000..e9892df9b
--- /dev/null
+++ b/modules/jvm/src/c/JVM_functions.h
@@ -0,0 +1,93 @@
+
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 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
+ *
+ */
+
+/*--------------------------------------------------------------------------*/
+#ifndef __JVM_FUNCTIONS_H__
+#define __JVM_FUNCTIONS_H__
+
+#include <jni.h> /* JVM functions */
+#include "BOOL.h" /* BOOL */
+
+/**
+* Load JVM dynamic library
+* @return TRUE or FALSE
+*/
+BOOL LoadDynLibJVM(char *SCILAB_PATH);
+
+/**
+* Free JVM dynamic library
+* @return <ReturnValue> TRUE or FALSE
+*/
+BOOL FreeDynLibJVM(void);
+
+/**
+* wrapping JNI_CreateJavaVM
+* @param pvm
+* @param penv
+* @param args
+* @return <ReturnValue>
+*/
+jint SciJNI_CreateJavaVM(JavaVM **pvm, JNIEnv **penv, JavaVMInitArgs *args);
+
+/**
+* wrapping JNI_GetCreatedJavaVMs
+* @param vmBuf
+* @param BufLen
+* @param nVMs
+* @return <ReturnValue>
+*/
+jint SciJNI_GetCreatedJavaVMs(JavaVM **vmBuf, jsize BufLen, jsize *nVMs);
+
+/**
+* wrapping JNI_GetDefaultJavaVMInitArgs
+* @param args
+* @return <ReturnValue>
+*/
+jint SciJNI_GetDefaultJavaVMInitArgs(JavaVMInitArgs *args);
+
+/**
+* Check if Scilab uses embedded JRE
+* @return <ReturnValue> TRUE or FALSE
+*/
+BOOL withEmbeddedJRE(void);
+
+/**
+* search a Created JavaVM
+* @return a JavaVM or NULL (not found)
+*/
+JavaVM *FindCreatedJavaVM(char *SCILAB_PATH);
+
+/**
+* Load Functions for JVM
+* @return TRUE or FALSE
+*/
+BOOL LoadFunctionsJVM(char *filedynlib);
+
+
+/**
+ * Returns the description of the error message from the JNI return status
+ *
+ * @param status the JNI status
+ * @return The message describing the problem
+ */
+char *getJniErrorFromStatusCode(long status);
+
+/**
+* Returns if jvm symbols (JNI_GetCreatedJavaVMs, JNI_CreateJavaVM, ...) are already loaded
+* @return TRUE or FALSE
+*/
+BOOL hasJvmSymbolsLoaded(void);
+
+#endif /* __JVM_FUNCTIONS_H__ */
+/*--------------------------------------------------------------------------*/
+
diff --git a/modules/jvm/src/c/TerminateJVM.c b/modules/jvm/src/c/TerminateJVM.c
new file mode 100755
index 000000000..f71999d2a
--- /dev/null
+++ b/modules/jvm/src/c/TerminateJVM.c
@@ -0,0 +1,25 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 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 "TerminateJVM.h"
+#include "JVM.h"
+#include "createMainScilabObject.h"
+#include "loadClasspath.h"
+/*--------------------------------------------------------------------------*/
+BOOL TerminateJVM(void)
+{
+ freeClassPathxmlDocPtr();
+ finishMainScilabObject();
+ return finishJVM();
+}
+/*--------------------------------------------------------------------------*/
diff --git a/modules/jvm/src/c/addToClasspath.c b/modules/jvm/src/c/addToClasspath.c
new file mode 100755
index 000000000..20e7ce693
--- /dev/null
+++ b/modules/jvm/src/c/addToClasspath.c
@@ -0,0 +1,59 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) INRIA - Allan CORNET
+ * Copyright (C) 2008-2008 - INRIA - Sylvestre LEDRU
+ *
+ * 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 <jni.h>
+#include <stdio.h>
+#include "addToClasspath.h"
+#include "getScilabJNIEnv.h"
+#include "../../fileio/includes/isdir.h"
+#include "../../fileio/includes/FileExist.h"
+#include "fromjava.h"
+#include "localization.h"
+/*--------------------------------------------------------------------------*/
+BOOL addToClasspath(char *classpathstring, typeOfLoad load)
+{
+ if (classpathstring)
+ {
+ if ( isdir(classpathstring) || FileExist(classpathstring) )
+ {
+ JNIEnv * currentENV = getScilabJNIEnv();
+ if (currentENV)
+ {
+ jclass cls = NULL;
+ /* Boot loader for scilab and javasci
+ * We rely on the fact that the javasci jar has an explicit
+ * dependency on the jvm module. Class-Path in the manifest
+ */
+ cls = (*currentENV)->FindClass(currentENV, "org/scilab/modules/jvm/ClassPath");
+
+ if (cls)
+ {
+ jmethodID mid = (*currentENV)->GetStaticMethodID(currentENV, cls, "addFile", "(Ljava/lang/String;I)V");
+ if (mid)
+ {
+ jstring jstr = (*currentENV)->NewStringUTF(currentENV, classpathstring);
+ (*currentENV)->CallStaticObjectMethod(currentENV, cls, mid, jstr, (int)load);
+ return TRUE;
+ }
+ }
+ }
+ }
+ else
+ {
+ fprintf(stderr, _("Warning: Could not find Java package '%s'.\n"), classpathstring);
+ }
+ }
+ return FALSE;
+}
+/*--------------------------------------------------------------------------*/
diff --git a/modules/jvm/src/c/addToLibrarypath.c b/modules/jvm/src/c/addToLibrarypath.c
new file mode 100755
index 000000000..cbcdf0200
--- /dev/null
+++ b/modules/jvm/src/c/addToLibrarypath.c
@@ -0,0 +1,55 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 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 <jni.h>
+#include "addToLibrarypath.h"
+#include "getScilabJNIEnv.h"
+#include "isdir.h"
+#include "fromjava.h"
+#
+/*--------------------------------------------------------------------------*/
+BOOL addToLibrarypath(char *librarypathstring)
+{
+
+ if (librarypathstring)
+ {
+ if ( isdir(librarypathstring) )
+ {
+ JNIEnv * currentENV = getScilabJNIEnv();
+ if (currentENV)
+ {
+ jclass cls = NULL;
+ /* Boot loader for scilab and javasci
+ * We rely on the fact that the javasci jar has an explicit
+ * dependency on the jvm module. Class-Path in the manifest
+ */
+ cls = (*currentENV)->FindClass(currentENV, "org/scilab/modules/jvm/LibraryPath");
+
+ if (cls)
+ {
+ jmethodID mid = NULL;
+ mid = (*currentENV)->GetStaticMethodID(currentENV, cls, "addPath", "(Ljava/lang/String;)V");
+ if (mid)
+ {
+ jstring jstr;
+ jstr = (*currentENV)->NewStringUTF(currentENV, librarypathstring);
+ (*currentENV)->CallStaticObjectMethod(currentENV, cls, mid, jstr);
+ return TRUE;
+ }
+ }
+ }
+ }
+ }
+ return FALSE;
+}
+/*--------------------------------------------------------------------------*/
diff --git a/modules/jvm/src/c/catchIfJavaException.c b/modules/jvm/src/c/catchIfJavaException.c
new file mode 100755
index 000000000..cf977aa74
--- /dev/null
+++ b/modules/jvm/src/c/catchIfJavaException.c
@@ -0,0 +1,33 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) INRIA - Sylvestre LEDRU
+ *
+ * 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 <jni.h>
+#include <string.h>
+#include "catchIfJavaException.h"
+#include "getScilabJNIEnv.h"
+/*--------------------------------------------------------------------------*/
+BOOL catchIfJavaException(char *errorMsg)
+{
+ JNIEnv * currentENV = getScilabJNIEnv();
+
+ if ((*currentENV)->ExceptionCheck(currentENV) == JNI_TRUE)
+ {
+ printf("%s", errorMsg);
+ fflush(NULL);
+ (*currentENV)->ExceptionDescribe(currentENV);
+ (*currentENV)->ExceptionClear(currentENV);
+ return FALSE;
+ }
+ return TRUE;
+}
+/*--------------------------------------------------------------------------*/
diff --git a/modules/jvm/src/c/createMainScilabObject.c b/modules/jvm/src/c/createMainScilabObject.c
new file mode 100755
index 000000000..9466f96bb
--- /dev/null
+++ b/modules/jvm/src/c/createMainScilabObject.c
@@ -0,0 +1,166 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) INRIA - Allan CORNET
+ * Copyright (C) DIGITEO - 2010 - 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 "createMainScilabObject.h"
+#include "getScilabObject.h"
+#include "getScilabJNIEnv.h"
+#include "getScilabJavaVM.h"
+#include "catchIfJavaException.h"
+#include "scilabmode.h"
+#include "localization.h"
+/*--------------------------------------------------------------------------*/
+static jobject ScilabObject = NULL;
+/*--------------------------------------------------------------------------*/
+BOOL createMainScilabObject(void)
+{
+ BOOL bOK = FALSE;
+ JNIEnv * currentENV = getScilabJNIEnv();
+
+ if (currentENV)
+ {
+ jclass cls = NULL;
+ cls = (*currentENV)->FindClass(currentENV, "org/scilab/modules/core/Scilab");
+ bOK = catchIfJavaException(_("Could not access to the Main Scilab Class:\n"));
+ if (cls)
+ {
+ jmethodID mid = NULL;
+ mid = (*currentENV)->GetMethodID(currentENV, cls, "<init>", "(I)V");
+ bOK = catchIfJavaException(_("Could not access to the constructor of the Main Scilab Class:\n"));
+ if (mid)
+ {
+ jint ScilabMode = getScilabMode();
+ jobject localScilabObject = (*currentENV)->NewObject(currentENV, cls, mid, ScilabMode);
+ bOK = catchIfJavaException(_("Could not create a Scilab main class. Error:\n"));
+ if (bOK == TRUE)
+ {
+ ScilabObject = (*currentENV)->NewGlobalRef(currentENV, localScilabObject);
+ /* Catch the exception and display an human-reading error message */
+ bOK = catchIfJavaException(_("Could not create a Scilab main class. Error:\n"));
+ }
+ }
+ }
+ }
+
+ return bOK;
+}
+/*--------------------------------------------------------------------------*/
+jobject getScilabObject(void)
+{
+ return ScilabObject;
+}
+/*--------------------------------------------------------------------------*/
+BOOL finishMainScilabObject(void)
+{
+ BOOL retValue = FALSE;
+ jint result = 1;
+ JNIEnv * currentENV = getScilabJNIEnv();
+ JavaVM * currentJVM = getScilabJavaVM();
+
+ JavaVMAttachArgs args;
+ args.version = (*currentENV)->GetVersion(currentENV);
+ args.name = (char *) "Scilab - Finish";
+ args.group = NULL;
+
+ result = (*currentJVM)->AttachCurrentThread(currentJVM, (void **) &currentENV, (void*) &args) ;
+ if (result == 0)
+ {
+ jclass cls = NULL;
+ cls = (*currentENV)->FindClass(currentENV, "org/scilab/modules/core/Scilab");
+ catchIfJavaException(_("Could not access to the Main Scilab Class:\n"));
+ if (cls)
+ {
+ jmethodID mid = NULL;
+ mid = (*currentENV)->GetStaticMethodID(currentENV, cls, "executeFinalHooks", "()V");
+ if (mid)
+ {
+ (*currentENV)->CallStaticVoidMethod(currentENV, cls, mid);
+ }
+ catchIfJavaException(_("Cannot execute final hooks. Error:\n"));
+
+ (*currentENV)->DeleteGlobalRef(currentENV, ScilabObject);
+ ScilabObject = NULL;
+ retValue = TRUE;
+ }
+
+ (*currentJVM)->DetachCurrentThread(currentJVM);
+ }
+ return retValue;
+}
+/*--------------------------------------------------------------------------*/
+BOOL canCloseMainScilabObject(void)
+{
+ BOOL retValue = FALSE;
+ JNIEnv * currentENV = getScilabJNIEnv();
+ JavaVM * currentJVM = getScilabJavaVM();
+ jint result = 1;
+
+ JavaVMAttachArgs args;
+ args.version = (*currentENV)->GetVersion(currentENV);
+ args.name = (char *) "Scilab - Try finish";
+ args.group = NULL;
+
+ result = (*currentJVM)->AttachCurrentThread(currentJVM, (void **) &currentENV, (void*) &args) ;
+ if (result == 0)
+ {
+ jclass cls = NULL;
+ cls = (*currentENV)->FindClass(currentENV, "org/scilab/modules/core/Scilab");
+ catchIfJavaException(_("Could not access to the Main Scilab Class:\n"));
+ if (cls)
+ {
+ jmethodID mid = NULL;
+ mid = (*currentENV)->GetStaticMethodID(currentENV, cls, "canClose", "()Z");
+ if (mid)
+ {
+ retValue = (*currentENV)->CallStaticBooleanMethod(currentENV, cls, mid);
+ }
+ catchIfJavaException(_("Error with Scilab.canClose():\n"));
+ }
+
+ (*currentJVM)->DetachCurrentThread(currentJVM);
+ }
+
+ return retValue;
+}
+/*--------------------------------------------------------------------------*/
+void forceCloseMainScilabObject(void)
+{
+ JNIEnv * currentENV = getScilabJNIEnv();
+ JavaVM * currentJVM = getScilabJavaVM();
+ jint result = 1;
+
+ JavaVMAttachArgs args;
+ args.version = (*currentENV)->GetVersion(currentENV);
+ args.name = (char *) "Scilab - Force finish";
+ args.group = NULL;
+
+ result = (*currentJVM)->AttachCurrentThread(currentJVM, (void **) &currentENV, (void*) &args) ;
+ if (result == 0)
+ {
+ jclass cls = NULL;
+ cls = (*currentENV)->FindClass(currentENV, "org/scilab/modules/core/Scilab");
+ catchIfJavaException(_("Could not access to the Main Scilab Class:\n"));
+ if (cls)
+ {
+ jmethodID mid = NULL;
+ mid = (*currentENV)->GetStaticMethodID(currentENV, cls, "forceClose", "()V");
+ if (mid)
+ {
+ (*currentENV)->CallStaticVoidMethod(currentENV, cls, mid);
+ }
+ catchIfJavaException(_("Error with Scilab.forceClose():\n"));
+ }
+ }
+}
+/*--------------------------------------------------------------------------*/
+
diff --git a/modules/jvm/src/c/createMainScilabObject.h b/modules/jvm/src/c/createMainScilabObject.h
new file mode 100755
index 000000000..20a10e7b7
--- /dev/null
+++ b/modules/jvm/src/c/createMainScilabObject.h
@@ -0,0 +1,34 @@
+
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 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
+ *
+ */
+/*--------------------------------------------------------------------------*/
+#ifndef __CREATEMAINSCILABOBJECT_H__
+#define __CREATEMAINSCILABOBJECT_H__
+
+#include "BOOL.h" /* BOOL */
+
+/**
+* Create Scilab object (scilab main java)
+* @return TRUE or FALSE
+*/
+BOOL createMainScilabObject(void);
+
+BOOL finishMainScilabObject(void);
+
+BOOL executeInitialHooks(void);
+
+BOOL canCloseMainScilabObject(void);
+
+void forceCloseMainScilabObject(void);
+
+#endif /* __CREATEMAINSCILABOBJECT_H__ */
+/*--------------------------------------------------------------------------*/
diff --git a/modules/jvm/src/c/getClasspath.c b/modules/jvm/src/c/getClasspath.c
new file mode 100755
index 000000000..89f046a2e
--- /dev/null
+++ b/modules/jvm/src/c/getClasspath.c
@@ -0,0 +1,94 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 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 <jni.h>
+#include <string.h>
+#include "getClasspath.h"
+#include "getScilabJNIEnv.h"
+#include "fromjava.h"
+#include "MALLOC.h"
+/*--------------------------------------------------------------------------*/
+char **getClasspath(int *sizeClasspathArray)
+{
+ char **ClasspathArray = NULL;
+ JNIEnv * currentENV = getScilabJNIEnv();
+ if (currentENV)
+ {
+ jclass cls = NULL;
+ if (IsFromJava())
+ {
+ /* Boot loader for scilab and javasci */
+ /* if scilab is called from java (javasci), we need to update standard classpath */
+ /* doesn't require to add -cp SCI/modules/jvm/jar/org.scilab.modules.jvm.jar when you use javasci */
+ cls = (*currentENV)->FindClass(currentENV, "javasci/ClassPath");
+ }
+ else
+ {
+ cls = (*currentENV)->FindClass(currentENV, "org/scilab/modules/jvm/ClassPath");
+ }
+
+ if (cls)
+ {
+ jmethodID mid = NULL;
+ mid = (*currentENV)->GetStaticMethodID(currentENV, cls, "getClassPath", "()[Ljava/lang/String;");
+ if (mid)
+ {
+ jobjectArray jStrings = (*currentENV)->CallStaticObjectMethod(currentENV, cls, mid, NULL);
+ *sizeClasspathArray = (*currentENV)->GetArrayLength(currentENV, jStrings);
+ if (*sizeClasspathArray > 0)
+ {
+ int i = 0;
+
+ ClasspathArray = (char**)MALLOC(sizeof(char*) * (*sizeClasspathArray));
+ for (i = 0; i < *sizeClasspathArray; i++)
+ {
+ jstring jelement;
+ const char *str = NULL;
+ char *string = NULL;
+
+ jelement = (jstring)(*currentENV)->GetObjectArrayElement(currentENV, jStrings, i);
+ str = (*currentENV)->GetStringUTFChars(currentENV, jelement, 0);
+ if (str)
+ {
+ string = (char*)MALLOC(sizeof(char) * (strlen(str) + 1));
+ if (string)
+ {
+#if _MSC_VER
+ if (strlen(str) > 1)
+ {
+ if (str[0] == '/')
+ {
+ strcpy(string, &str[1]);
+ }
+ else
+ {
+ strcpy(string, str);
+ }
+ }
+ else
+#endif
+ {
+ strcpy(string, str);
+ }
+ }
+ }
+ ClasspathArray[i] = string;
+ (*currentENV)->ReleaseStringUTFChars(currentENV, jelement, str);
+ }
+ }
+ }
+ }
+ }
+ return ClasspathArray;
+}
+/*--------------------------------------------------------------------------*/
diff --git a/modules/jvm/src/c/getClasspath.h b/modules/jvm/src/c/getClasspath.h
new file mode 100755
index 000000000..56a2a29b6
--- /dev/null
+++ b/modules/jvm/src/c/getClasspath.h
@@ -0,0 +1,25 @@
+
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 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
+ *
+ */
+/*--------------------------------------------------------------------------*/
+#ifndef __GETCLASSPATH_H__
+#define __GETCLASSPATH_H__
+
+/**
+* get classpath
+* @param return size of Classpath Array
+* @return char ** Classpath Array
+*/
+char **getClasspath(int *sizeClasspathArray);
+
+#endif /* __GETCLASSPATH_H__ */
+/*--------------------------------------------------------------------------*/
diff --git a/modules/jvm/src/c/getJvmOptions.c b/modules/jvm/src/c/getJvmOptions.c
new file mode 100755
index 000000000..1dc0917a6
--- /dev/null
+++ b/modules/jvm/src/c/getJvmOptions.c
@@ -0,0 +1,217 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2008 - 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 <stdlib.h>
+#include <libxml/xpath.h>
+#include <libxml/xmlreader.h>
+#include "getJvmOptions.h"
+#include "GetXmlFileEncoding.h"
+#include "MALLOC.h"
+#include "localization.h"
+#include "machine.h"
+#include "stricmp.h"
+#include "FileExist.h"
+#ifdef _MSC_VER
+#include "strdup_windows.h"
+#endif
+#include "strsubst.h"
+#include "getos.h"
+#include "getshortpathname.h"
+#include "BOOL.h"
+#include "getScilabPreference.h"
+
+static char * getJavaHeapSize(void);
+/*--------------------------------------------------------------------------*/
+JavaVMOption * getJvmOptions(char *SCI_PATH, char *filename_xml_conf, int *size_JavaVMOption)
+{
+ if ( FileExist(filename_xml_conf) )
+ {
+ JavaVMOption *jvm_options = NULL;
+ char *encoding = GetXmlFileEncoding(filename_xml_conf);
+
+ /* Don't care about line return / empty line */
+ xmlKeepBlanksDefault(0);
+ /* check if the XML file has been encoded with utf8 (unicode) or not */
+ if (stricmp("utf-8", encoding) == 0)
+ {
+ xmlDocPtr doc = NULL;
+ xmlXPathContextPtr xpathCtxt = NULL;
+ xmlXPathObjectPtr xpathObj = NULL;
+ char *jvm_option_string = NULL;
+ char *xpath_query = NULL;
+
+ int indice = 0;
+ {
+ BOOL bConvert = FALSE;
+ char *shortfilename_xml_conf = getshortpathname(filename_xml_conf, &bConvert);
+ if (shortfilename_xml_conf)
+ {
+ doc = xmlParseFile (shortfilename_xml_conf);
+ FREE(shortfilename_xml_conf);
+ shortfilename_xml_conf = NULL;
+ }
+ }
+
+ if (doc == NULL)
+ {
+ fprintf(stderr, _("Error: Could not parse file %s.\n"), filename_xml_conf);
+ if (encoding)
+ {
+ FREE(encoding);
+ encoding = NULL;
+ }
+ *size_JavaVMOption = 0;
+ return NULL;
+ }
+
+ xpathCtxt = xmlXPathNewContext(doc);
+ /* Retrieve all nodes without the os tag + only the one from our operating system */
+#define XPATH_QUERY "//jvm_options/option[not(@os)] | //jvm_options/option[@os='%s']"
+
+ xpath_query = (char *)MALLOC(sizeof(char) * ((int)strlen(XPATH_QUERY) + (int)strlen(OSNAME) + 1));
+ sprintf(xpath_query, XPATH_QUERY, OSNAME);
+
+ xpathObj = xmlXPathEval((const xmlChar*)xpath_query, xpathCtxt);
+ FREE(xpath_query);
+ if (xpathObj && xpathObj->nodesetval->nodeMax)
+ {
+ /* the Xpath has been understood and there are node */
+ int i;
+ char heapSizeUsed = 0;
+ char *heapSize = getJavaHeapSize();
+
+ for (i = 0; i < xpathObj->nodesetval->nodeNr; i++)
+ {
+
+ xmlAttrPtr attrib = xpathObj->nodesetval->nodeTab[i]->properties;
+ /* Get the properties of <option> */
+ while (attrib != NULL)
+ {
+ /* loop until when have read all the attributes */
+ if (xmlStrEqual (attrib->name, (const xmlChar*) "value"))
+ {
+ /* we found the tag name */
+ const char *str = (const char*)attrib->children->content;
+ if (strstr(str, "-Xmx") == str && heapSize)
+ {
+ jvm_option_string = heapSize;
+ heapSizeUsed = 1;
+ }
+ else
+ {
+ jvm_option_string = strdup(str);
+ }
+ }
+ attrib = attrib->next;
+ }
+
+ if ( (jvm_option_string) && (strlen(jvm_option_string) > 0) )
+ {
+ char *option_string_path_separator = NULL;
+ char *option_string_sci_path = NULL;
+
+ option_string_path_separator = strsub(jvm_option_string, "$PATH_SEPARATOR", PATH_SEPARATOR);
+
+ if (jvm_option_string)
+ {
+ FREE(jvm_option_string);
+ }
+
+ option_string_sci_path = strsub(option_string_path_separator, "$SCILAB", SCI_PATH);
+ if (option_string_sci_path)
+ {
+ FREE(option_string_path_separator);
+ }
+
+ jvm_options = (JavaVMOption *)REALLOC(jvm_options, sizeof(JavaVMOption) * (indice + 1));
+ jvm_options[indice].optionString = option_string_sci_path;
+ indice++;
+ }
+
+ }
+
+ if (!heapSizeUsed)
+ {
+ FREE(heapSize);
+ }
+ }
+
+ if (xpathObj)
+ {
+ xmlXPathFreeObject(xpathObj);
+ }
+ if (xpathCtxt)
+ {
+ xmlXPathFreeContext(xpathCtxt);
+ }
+ xmlFreeDoc (doc);
+
+ /* xmlCleanupParser is called in
+ * modules/core/src/c/TerminateCore.c
+ * since it needs to be done only once.
+ */
+
+ if (getenv("SCI_JAVA_ENABLE_HEADLESS") != NULL)
+ {
+ /* When Scilab is built from a virtual machine, it needs
+ * an X11 server / input
+ * This is only called by "make doc" by the SCI/Makefile.am
+ */
+#define HEADLESS "-Djava.awt.headless=true"
+ jvm_options = (JavaVMOption *)REALLOC(jvm_options, sizeof(JavaVMOption) * (indice + 1));
+ jvm_options[indice].optionString = MALLOC((strlen(HEADLESS) + 1) * sizeof(char));
+ strcpy(jvm_options[indice].optionString, HEADLESS);
+ indice++;
+#undef HEADLESS
+ }
+
+ if (encoding)
+ {
+ FREE(encoding);
+ encoding = NULL;
+ }
+
+ *size_JavaVMOption = indice;
+ return jvm_options;
+ }
+ else
+ {
+ fprintf(stderr, _("Error: Not a valid configuration file %s (encoding not '%s') Encoding '%s' found.\n"), filename_xml_conf, "utf-8", encoding);
+ }
+ if (encoding)
+ {
+ FREE(encoding);
+ encoding = NULL;
+ }
+ }
+ return NULL;
+}
+/*--------------------------------------------------------------------------*/
+char * getJavaHeapSize(void)
+{
+ const char * value = getScilabPreferences()->heapSize;
+ char * rvalue = NULL;
+ int ivalue;
+
+ if (value)
+ {
+ ivalue = (int)atof(value);
+ if (ivalue > 0)
+ {
+ rvalue = (char *)MALLOC(24 * sizeof(char));
+ sprintf(rvalue, "-Xmx%dm", ivalue);
+ }
+ }
+
+ return rvalue;
+}
diff --git a/modules/jvm/src/c/getJvmOptions.h b/modules/jvm/src/c/getJvmOptions.h
new file mode 100755
index 000000000..9416f0413
--- /dev/null
+++ b/modules/jvm/src/c/getJvmOptions.h
@@ -0,0 +1,18 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2008 - 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 <jni.h>
+
+JavaVMOption * getJvmOptions(char *SCI_PATH, char *filename_xml_conf, int *size_JavaVMOption);
+
+/*--------------------------------------------------------------------------*/ \ No newline at end of file
diff --git a/modules/jvm/src/c/getLibrarypath.c b/modules/jvm/src/c/getLibrarypath.c
new file mode 100755
index 000000000..fea9461d8
--- /dev/null
+++ b/modules/jvm/src/c/getLibrarypath.c
@@ -0,0 +1,74 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 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 <jni.h>
+#include <string.h>
+#include "getLibrarypath.h"
+#include "getScilabJNIEnv.h"
+#include "fromjava.h"
+#include "MALLOC.h"
+/*--------------------------------------------------------------------------*/
+char **getLibrarypath(int *sizeLibrarypathArray)
+{
+ char **LibrarypathArray = NULL;
+ JNIEnv * currentENV = getScilabJNIEnv();
+ if (currentENV)
+ {
+ jclass cls = NULL;
+ if (IsFromJava())
+ {
+ /* Boot loader for scilab and javasci */
+ /* if scilab is called from java (javasci), we need to update standard java.library.path */
+ /* doesn't require to add -cp SCI/modules/jvm/jar/org.scilab.modules.jvm.jar when you use javasci */
+ cls = (*currentENV)->FindClass(currentENV, "javasci/LibraryPath");
+ }
+ else
+ {
+ cls = (*currentENV)->FindClass(currentENV, "org/scilab/modules/jvm/LibraryPath");
+ }
+
+ if (cls)
+ {
+ jmethodID mid = NULL;
+ mid = (*currentENV)->GetStaticMethodID(currentENV, cls, "getLibraryPath", "()[Ljava/lang/String;");
+ if (mid)
+ {
+ jobjectArray jStrings;
+
+ jStrings = (*currentENV)->CallStaticObjectMethod(currentENV, cls, mid, NULL);
+ *sizeLibrarypathArray = (*currentENV)->GetArrayLength(currentENV, jStrings);
+ if (*sizeLibrarypathArray > 0)
+ {
+ int i = 0;
+
+ LibrarypathArray = (char**)MALLOC(sizeof(char*) * (*sizeLibrarypathArray));
+ for (i = 0; i < *sizeLibrarypathArray; i++)
+ {
+ jstring jelement;
+ const char *str = NULL;
+ char *string = NULL;
+
+ jelement = (jstring)(*currentENV)->GetObjectArrayElement(currentENV, jStrings, i);
+ str = (*currentENV)->GetStringUTFChars(currentENV, jelement, 0);
+ string = (char*)MALLOC(sizeof(char) * (strlen(str) + 1));
+ strcpy(string, str);
+ LibrarypathArray[i] = string;
+ (*currentENV)->ReleaseStringUTFChars(currentENV, jelement, str);
+ }
+ }
+ }
+ }
+ }
+ return LibrarypathArray;
+}
+/*--------------------------------------------------------------------------*/
diff --git a/modules/jvm/src/c/getLibrarypath.h b/modules/jvm/src/c/getLibrarypath.h
new file mode 100755
index 000000000..a15fc702b
--- /dev/null
+++ b/modules/jvm/src/c/getLibrarypath.h
@@ -0,0 +1,25 @@
+
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 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
+ *
+ */
+/*--------------------------------------------------------------------------*/
+#ifndef __GETLIBRARYPATH_H__
+#define __GETLIBRARYPATH_H__
+
+/**
+* get java.library.path
+* @param return size of Librarypath Array
+* @return char ** Classpath Array
+*/
+char **getLibrarypath(int *sizeLibrarypathArray);
+
+#endif /* __GETLIBRARYPATH_H__ */
+/*--------------------------------------------------------------------------*/
diff --git a/modules/jvm/src/c/libjvm.rc b/modules/jvm/src/c/libjvm.rc
new file mode 100755
index 000000000..c186c2f67
--- /dev/null
+++ b/modules/jvm/src/c/libjvm.rc
@@ -0,0 +1,97 @@
+// Microsoft Visual C++ generated resource script.
+//
+
+
+#define APSTUDIO_READONLY_SYMBOLS
+/////////////////////////////////////////////////////////////////////////////
+//
+// Generated from the TEXTINCLUDE 2 resource.
+//
+//#include "afxres.h"
+#define APSTUDIO_HIDDEN_SYMBOLS
+#include "windows.h"
+/////////////////////////////////////////////////////////////////////////////
+#undef APSTUDIO_READONLY_SYMBOLS
+
+/////////////////////////////////////////////////////////////////////////////
+// French (France) resources
+
+#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_FRA)
+#ifdef _WIN32
+LANGUAGE LANG_FRENCH, SUBLANG_FRENCH
+#pragma code_page(1252)
+#endif //_WIN32
+
+#ifdef APSTUDIO_INVOKED
+/////////////////////////////////////////////////////////////////////////////
+//
+// TEXTINCLUDE
+//
+
+1 TEXTINCLUDE
+BEGIN
+ "resource.h\0"
+END
+
+3 TEXTINCLUDE
+BEGIN
+ "\r\n"
+ "\0"
+END
+
+#endif // APSTUDIO_INVOKED
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
+// Version
+//
+
+VS_VERSION_INFO VERSIONINFO
+ FILEVERSION 5,5,2,0
+ PRODUCTVERSION 5,5,2,0
+ FILEFLAGSMASK 0x17L
+#ifdef _DEBUG
+ FILEFLAGS 0x1L
+#else
+ FILEFLAGS 0x0L
+#endif
+ FILEOS 0x4L
+ FILETYPE 0x0L
+ FILESUBTYPE 0x0L
+BEGIN
+ BLOCK "StringFileInfo"
+ BEGIN
+ BLOCK "040c04b0"
+ BEGIN
+ VALUE "CompanyName", "Scilab"
+ VALUE "FileDescription", "jvm module"
+ VALUE "FileVersion", "5, 5, 2, 0"
+ VALUE "InternalName", "jvm"
+ VALUE "LegalCopyright", "Copyright (C) 2017"
+ VALUE "OriginalFilename", "libjvm.dll"
+ VALUE "ProductName", "jvm"
+ VALUE "ProductVersion", "5, 5, 2, 0"
+ END
+ END
+ BLOCK "VarFileInfo"
+ BEGIN
+ VALUE "Translation", 0x40c, 1200
+ END
+END
+
+#endif // French (France) resources
+/////////////////////////////////////////////////////////////////////////////
+
+
+
+#ifndef APSTUDIO_INVOKED
+/////////////////////////////////////////////////////////////////////////////
+//
+// Generated from the TEXTINCLUDE 3 resource.
+//
+
+
+/////////////////////////////////////////////////////////////////////////////
+#endif // not APSTUDIO_INVOKED
+
diff --git a/modules/jvm/src/c/libscijvm_algo_la-InitializeJVM.lo b/modules/jvm/src/c/libscijvm_algo_la-InitializeJVM.lo
new file mode 100755
index 000000000..d68708e0b
--- /dev/null
+++ b/modules/jvm/src/c/libscijvm_algo_la-InitializeJVM.lo
@@ -0,0 +1,12 @@
+# src/c/libscijvm_algo_la-InitializeJVM.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/libscijvm_algo_la-InitializeJVM.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/jvm/src/c/libscijvm_algo_la-JVM.lo b/modules/jvm/src/c/libscijvm_algo_la-JVM.lo
new file mode 100755
index 000000000..736a6f209
--- /dev/null
+++ b/modules/jvm/src/c/libscijvm_algo_la-JVM.lo
@@ -0,0 +1,12 @@
+# src/c/libscijvm_algo_la-JVM.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/libscijvm_algo_la-JVM.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/jvm/src/c/libscijvm_algo_la-JVM_Unix.lo b/modules/jvm/src/c/libscijvm_algo_la-JVM_Unix.lo
new file mode 100755
index 000000000..e48a69656
--- /dev/null
+++ b/modules/jvm/src/c/libscijvm_algo_la-JVM_Unix.lo
@@ -0,0 +1,12 @@
+# src/c/libscijvm_algo_la-JVM_Unix.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/libscijvm_algo_la-JVM_Unix.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/jvm/src/c/libscijvm_algo_la-JVM_commons.lo b/modules/jvm/src/c/libscijvm_algo_la-JVM_commons.lo
new file mode 100755
index 000000000..440ae59b0
--- /dev/null
+++ b/modules/jvm/src/c/libscijvm_algo_la-JVM_commons.lo
@@ -0,0 +1,12 @@
+# src/c/libscijvm_algo_la-JVM_commons.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/libscijvm_algo_la-JVM_commons.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/jvm/src/c/libscijvm_algo_la-TerminateJVM.lo b/modules/jvm/src/c/libscijvm_algo_la-TerminateJVM.lo
new file mode 100755
index 000000000..707dd63a0
--- /dev/null
+++ b/modules/jvm/src/c/libscijvm_algo_la-TerminateJVM.lo
@@ -0,0 +1,12 @@
+# src/c/libscijvm_algo_la-TerminateJVM.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/libscijvm_algo_la-TerminateJVM.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/jvm/src/c/libscijvm_algo_la-addToClasspath.lo b/modules/jvm/src/c/libscijvm_algo_la-addToClasspath.lo
new file mode 100755
index 000000000..43ce708d5
--- /dev/null
+++ b/modules/jvm/src/c/libscijvm_algo_la-addToClasspath.lo
@@ -0,0 +1,12 @@
+# src/c/libscijvm_algo_la-addToClasspath.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/libscijvm_algo_la-addToClasspath.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/jvm/src/c/libscijvm_algo_la-addToLibrarypath.lo b/modules/jvm/src/c/libscijvm_algo_la-addToLibrarypath.lo
new file mode 100755
index 000000000..e3e819f95
--- /dev/null
+++ b/modules/jvm/src/c/libscijvm_algo_la-addToLibrarypath.lo
@@ -0,0 +1,12 @@
+# src/c/libscijvm_algo_la-addToLibrarypath.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/libscijvm_algo_la-addToLibrarypath.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/jvm/src/c/libscijvm_algo_la-catchIfJavaException.lo b/modules/jvm/src/c/libscijvm_algo_la-catchIfJavaException.lo
new file mode 100755
index 000000000..58eef2efa
--- /dev/null
+++ b/modules/jvm/src/c/libscijvm_algo_la-catchIfJavaException.lo
@@ -0,0 +1,12 @@
+# src/c/libscijvm_algo_la-catchIfJavaException.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/libscijvm_algo_la-catchIfJavaException.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/jvm/src/c/libscijvm_algo_la-createMainScilabObject.lo b/modules/jvm/src/c/libscijvm_algo_la-createMainScilabObject.lo
new file mode 100755
index 000000000..b61f97b80
--- /dev/null
+++ b/modules/jvm/src/c/libscijvm_algo_la-createMainScilabObject.lo
@@ -0,0 +1,12 @@
+# src/c/libscijvm_algo_la-createMainScilabObject.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/libscijvm_algo_la-createMainScilabObject.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/jvm/src/c/libscijvm_algo_la-getClasspath.lo b/modules/jvm/src/c/libscijvm_algo_la-getClasspath.lo
new file mode 100755
index 000000000..8314fd3f7
--- /dev/null
+++ b/modules/jvm/src/c/libscijvm_algo_la-getClasspath.lo
@@ -0,0 +1,12 @@
+# src/c/libscijvm_algo_la-getClasspath.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/libscijvm_algo_la-getClasspath.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/jvm/src/c/libscijvm_algo_la-getJvmOptions.lo b/modules/jvm/src/c/libscijvm_algo_la-getJvmOptions.lo
new file mode 100755
index 000000000..9cd92d917
--- /dev/null
+++ b/modules/jvm/src/c/libscijvm_algo_la-getJvmOptions.lo
@@ -0,0 +1,12 @@
+# src/c/libscijvm_algo_la-getJvmOptions.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/libscijvm_algo_la-getJvmOptions.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/jvm/src/c/libscijvm_algo_la-getLibrarypath.lo b/modules/jvm/src/c/libscijvm_algo_la-getLibrarypath.lo
new file mode 100755
index 000000000..9b0440f7e
--- /dev/null
+++ b/modules/jvm/src/c/libscijvm_algo_la-getLibrarypath.lo
@@ -0,0 +1,12 @@
+# src/c/libscijvm_algo_la-getLibrarypath.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/libscijvm_algo_la-getLibrarypath.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/jvm/src/c/libscijvm_algo_la-loadBackGroundClassPath.lo b/modules/jvm/src/c/libscijvm_algo_la-loadBackGroundClassPath.lo
new file mode 100755
index 000000000..ba11cbc12
--- /dev/null
+++ b/modules/jvm/src/c/libscijvm_algo_la-loadBackGroundClassPath.lo
@@ -0,0 +1,12 @@
+# src/c/libscijvm_algo_la-loadBackGroundClassPath.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/libscijvm_algo_la-loadBackGroundClassPath.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/jvm/src/c/libscijvm_algo_la-loadClasspath.lo b/modules/jvm/src/c/libscijvm_algo_la-loadClasspath.lo
new file mode 100755
index 000000000..b65482597
--- /dev/null
+++ b/modules/jvm/src/c/libscijvm_algo_la-loadClasspath.lo
@@ -0,0 +1,12 @@
+# src/c/libscijvm_algo_la-loadClasspath.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/libscijvm_algo_la-loadClasspath.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/jvm/src/c/libscijvm_algo_la-loadLibrarypath.lo b/modules/jvm/src/c/libscijvm_algo_la-loadLibrarypath.lo
new file mode 100755
index 000000000..bf7a1acb9
--- /dev/null
+++ b/modules/jvm/src/c/libscijvm_algo_la-loadLibrarypath.lo
@@ -0,0 +1,12 @@
+# src/c/libscijvm_algo_la-loadLibrarypath.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/libscijvm_algo_la-loadLibrarypath.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/jvm/src/c/libscijvm_algo_la-loadOnUseClassPath.lo b/modules/jvm/src/c/libscijvm_algo_la-loadOnUseClassPath.lo
new file mode 100755
index 000000000..5ae1650e6
--- /dev/null
+++ b/modules/jvm/src/c/libscijvm_algo_la-loadOnUseClassPath.lo
@@ -0,0 +1,12 @@
+# src/c/libscijvm_algo_la-loadOnUseClassPath.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/libscijvm_algo_la-loadOnUseClassPath.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/jvm/src/c/libscijvm_algo_la-system_getproperty.lo b/modules/jvm/src/c/libscijvm_algo_la-system_getproperty.lo
new file mode 100755
index 000000000..965f7cfd5
--- /dev/null
+++ b/modules/jvm/src/c/libscijvm_algo_la-system_getproperty.lo
@@ -0,0 +1,12 @@
+# src/c/libscijvm_algo_la-system_getproperty.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/libscijvm_algo_la-system_getproperty.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/jvm/src/c/libscijvm_algo_la-system_setproperty.lo b/modules/jvm/src/c/libscijvm_algo_la-system_setproperty.lo
new file mode 100755
index 000000000..e78802761
--- /dev/null
+++ b/modules/jvm/src/c/libscijvm_algo_la-system_setproperty.lo
@@ -0,0 +1,12 @@
+# src/c/libscijvm_algo_la-system_setproperty.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/libscijvm_algo_la-system_setproperty.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/jvm/src/c/loadBackGroundClassPath.c b/modules/jvm/src/c/loadBackGroundClassPath.c
new file mode 100755
index 000000000..3d53c8ce6
--- /dev/null
+++ b/modules/jvm/src/c/loadBackGroundClassPath.c
@@ -0,0 +1,43 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2008-2008 - INRIA - Sylvestre LEDRU
+ *
+ * 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 <jni.h>
+#include <stdio.h>
+#include "loadBackGroundClassPath.h"
+#include "addToClasspath.h"
+#include "getScilabJNIEnv.h"
+#include "fromjava.h"
+#include "localization.h"
+/*--------------------------------------------------------------------------*/
+BOOL loadBackGroundClassPath(void)
+{
+ JNIEnv * currentENV = getScilabJNIEnv();
+ if (currentENV)
+ {
+ jclass cls = NULL;
+ cls = (*currentENV)->FindClass(currentENV, "org/scilab/modules/jvm/ClassPath");
+
+ if (cls)
+ {
+ jmethodID mid = (*currentENV)->GetStaticMethodID(currentENV, cls, "loadBackGroundClassPath", "()V");
+ if (mid)
+ {
+ (*currentENV)->CallStaticObjectMethod(currentENV, cls, mid);
+ return TRUE;
+ }
+ }
+ }
+
+ return FALSE;
+}
+/*--------------------------------------------------------------------------*/
diff --git a/modules/jvm/src/c/loadClasspath.c b/modules/jvm/src/c/loadClasspath.c
new file mode 100755
index 000000000..071545318
--- /dev/null
+++ b/modules/jvm/src/c/loadClasspath.c
@@ -0,0 +1,223 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) INRIA - Allan CORNET
+ * Copyright (C) 2008-2008 - INRIA - Sylvestre LEDRU
+ *
+ * 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 <libxml/xpath.h>
+#include <libxml/xmlreader.h>
+#include <stdio.h>
+#include <string.h>
+#include "loadClasspath.h"
+#include "GetXmlFileEncoding.h"
+#include "FileExist.h"
+#include "addToClasspath.h"
+#include "setgetSCIpath.h"
+#include "MALLOC.h"
+#include "localization.h"
+#include "scilabmode.h"
+#include "stricmp.h"
+#ifdef _MSC_VER
+#include "strdup_windows.h"
+#endif
+#include "getshortpathname.h"
+#include "BOOL.h"
+/*--------------------------------------------------------------------------*/
+static xmlDocPtr ClassPathxmlDocPtr = NULL;
+/*--------------------------------------------------------------------------*/
+xmlDocPtr getClassPathxmlDocPtr(void)
+{
+ return ClassPathxmlDocPtr;
+}
+/*--------------------------------------------------------------------------*/
+void freeClassPathxmlDocPtr(void)
+{
+ if (ClassPathxmlDocPtr)
+ {
+ xmlFreeDoc (ClassPathxmlDocPtr);
+ ClassPathxmlDocPtr = NULL;
+ }
+}
+/*--------------------------------------------------------------------------*/
+BOOL LoadClasspath(char *xmlfilename)
+{
+ BOOL bOK = FALSE;
+ BOOL errorOnLoad = FALSE;
+ if ( FileExist(xmlfilename) )
+ {
+ char *encoding = GetXmlFileEncoding(xmlfilename);
+
+ /* Don't care about line return / empty line */
+ xmlKeepBlanksDefault(0);
+ /* check if the XML file has been encoded with utf8 (unicode) or not */
+ if ( stricmp("utf-8", encoding) == 0 )
+ {
+ xmlXPathContextPtr xpathCtxt = NULL;
+ xmlXPathObjectPtr xpathObj = NULL;
+ char *classpath = NULL;
+ char *load = "";
+ typeOfLoad eLoad = STARTUP;
+ char *currentMode = getScilabModeString();
+ /* Xpath Query :
+ * Retrieve all the path which are not disabled in our mode
+ */
+#define XPATH "//classpaths/path[not(@disableUnderMode='%s')]"
+ char * XPath = (char*)MALLOC(sizeof(char) * (strlen(XPATH) + strlen(currentMode) - 2 + 1)); /* -2 = strlen(%s) */
+ sprintf(XPath, XPATH, currentMode);
+
+ {
+ BOOL bConvert = FALSE;
+ char *shortxmlfilename = getshortpathname(xmlfilename, &bConvert);
+ if (shortxmlfilename)
+ {
+ ClassPathxmlDocPtr = xmlParseFile (shortxmlfilename);
+ FREE(shortxmlfilename);
+ shortxmlfilename = NULL;
+ }
+ }
+
+ if (ClassPathxmlDocPtr == NULL)
+ {
+ fprintf(stderr, _("Error: could not parse file %s\n"), xmlfilename);
+ if (encoding)
+ {
+ FREE(encoding);
+ encoding = NULL;
+ }
+ return bOK;
+ }
+
+ xpathCtxt = xmlXPathNewContext(ClassPathxmlDocPtr);
+ xpathObj = xmlXPathEval((const xmlChar*)XPath, xpathCtxt);
+
+ if (xpathObj && xpathObj->nodesetval->nodeMax)
+ {
+ /* the Xpath has been understood and there are node */
+ int i;
+ for (i = 0; i < xpathObj->nodesetval->nodeNr; i++)
+ {
+
+ xmlAttrPtr attrib = xpathObj->nodesetval->nodeTab[i]->properties;
+ /* Get the properties of <path> */
+ while (attrib != NULL)
+ {
+ /* loop until when have read all the attributes */
+ if (xmlStrEqual (attrib->name, (const xmlChar*) "value"))
+ {
+ /* we found the tag value */
+ classpath = (char*)attrib->children->content;
+ }
+ if (xmlStrEqual (attrib->name, (const xmlChar*) "load"))
+ {
+ /* we found the tag load */
+ load = (char*)attrib->children->content;
+
+ /* By default, it is startup */
+ if (stricmp(load, "background") == 0)
+ {
+ eLoad = BACKGROUND;
+ }
+ else
+ {
+ if (stricmp(load, "onuse") == 0)
+ {
+ eLoad = ONUSE;
+ }
+ }
+ }
+ else
+ {
+ eLoad = STARTUP;
+ }
+ attrib = attrib->next;
+ }
+
+ if ( (classpath) && (strlen(classpath) > 0) && (strncmp(classpath, "@", 1) != 0) ) /* If it starts by a @ that means it hasn't been able to find it... which is normal... for example with the documentation */
+ {
+#define KEYWORDSCILAB "$SCILAB"
+ char *sciPath = getSCIpath();
+ char *FullClasspath = NULL;
+
+ if (strncmp(classpath, KEYWORDSCILAB, strlen(KEYWORDSCILAB)) == 0)
+ {
+ FullClasspath = (char*)MALLOC(sizeof(char) * (strlen(sciPath) + strlen(classpath) + 1));
+ if (FullClasspath)
+ {
+ strcpy(FullClasspath, sciPath);
+ strcat(FullClasspath, &classpath[strlen(KEYWORDSCILAB)]);
+ }
+ }
+ else
+ {
+ FullClasspath = strdup(classpath);
+ }
+
+ if (FullClasspath)
+ {
+ if (!addToClasspath(FullClasspath, eLoad))
+ {
+ errorOnLoad = TRUE;
+ }
+ FREE(FullClasspath);
+ FullClasspath = NULL;
+ }
+
+ if (sciPath)
+ {
+ FREE(sciPath);
+ sciPath = NULL;
+ }
+ classpath = NULL;
+ }
+ }
+ bOK = TRUE;
+ }
+ else
+ {
+ fprintf(stderr, _("Wrong format for %s.\n"), xmlfilename);
+ }
+
+ if (xpathObj)
+ {
+ xmlXPathFreeObject(xpathObj);
+ }
+ if (xpathCtxt)
+ {
+ xmlXPathFreeContext(xpathCtxt);
+ }
+ if (XPath)
+ {
+ FREE(XPath);
+ XPath = NULL;
+ }
+ }
+ else
+ {
+ fprintf(stderr, _("Error : Not a valid classpath file %s (encoding not 'utf-8') Encoding '%s' found\n"), xmlfilename, encoding);
+ }
+ if (encoding)
+ {
+ FREE(encoding);
+ encoding = NULL;
+ }
+ }
+ else
+ {
+ fprintf(stderr, _("Warning: could not find classpath declaration file %s.\n"), xmlfilename);
+ }
+ if (errorOnLoad)
+ {
+ fprintf(stderr, _("Some problems during the loading of the Java libraries occurred.\nThis could lead to inconsistent behaviours.\nPlease check SCI/etc/classpath.xml.\n"));
+ }
+
+ return bOK;
+}
+/*--------------------------------------------------------------------------*/
diff --git a/modules/jvm/src/c/loadClasspath.h b/modules/jvm/src/c/loadClasspath.h
new file mode 100755
index 000000000..e1b4c0beb
--- /dev/null
+++ b/modules/jvm/src/c/loadClasspath.h
@@ -0,0 +1,42 @@
+
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 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
+ *
+ */
+
+/*--------------------------------------------------------------------------*/
+#ifndef __LOADCLASSPATH_H__
+#define __LOADCLASSPATH_H__
+
+#include <libxml/xmlreader.h>
+
+#include "BOOL.h" /* BOOL */
+
+/**
+* add paths to CLASSPATH
+* @param a filename SCI/etc/classpath.xml
+* @return TRUE or FALSE
+*/
+BOOL LoadClasspath(char *xmlfilename);
+
+
+/**
+* returns xmlDocPtr of classpath.xml
+* @return xmlDocPtr
+*/
+xmlDocPtr getClassPathxmlDocPtr(void);
+
+/**
+* free xmlDocPtr of classpath.xml
+*/
+void freeClassPathxmlDocPtr(void);
+
+#endif /* __LOADCLASSPATH_H__ */
+/*--------------------------------------------------------------------------*/
diff --git a/modules/jvm/src/c/loadLibrarypath.c b/modules/jvm/src/c/loadLibrarypath.c
new file mode 100755
index 000000000..84fc96b51
--- /dev/null
+++ b/modules/jvm/src/c/loadLibrarypath.c
@@ -0,0 +1,157 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 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 <libxml/xpath.h>
+#include <libxml/xmlreader.h>
+#include <stdio.h>
+#include "loadLibrarypath.h"
+#include "GetXmlFileEncoding.h"
+#include "FileExist.h"
+#include "addToLibrarypath.h"
+#include "setgetSCIpath.h"
+#include "MALLOC.h"
+#include "localization.h"
+#include "stricmp.h"
+#ifdef _MSC_VER
+#include "strdup_windows.h"
+#endif
+#include "BOOL.h"
+#include "getshortpathname.h"
+/*--------------------------------------------------------------------------*/
+BOOL LoadLibrarypath(char *xmlfilename)
+{
+ BOOL bOK = FALSE;
+ if ( FileExist(xmlfilename) )
+ {
+ char *encoding = GetXmlFileEncoding(xmlfilename);
+
+ /* Don't care about line return / empty line */
+ xmlKeepBlanksDefault(0);
+ /* check if the XML file has been encoded with utf8 (unicode) or not */
+ if ( stricmp("utf-8", encoding) == 0 )
+ {
+ xmlDocPtr doc = NULL;
+ xmlXPathContextPtr xpathCtxt = NULL;
+ xmlXPathObjectPtr xpathObj = NULL;
+ char *libraryPath = NULL;
+
+ {
+ BOOL bConvert = FALSE;
+ char *shortxmlfilename = getshortpathname(xmlfilename, &bConvert);
+ if (shortxmlfilename)
+ {
+ doc = xmlParseFile (shortxmlfilename);
+ FREE(shortxmlfilename);
+ shortxmlfilename = NULL;
+ }
+ }
+
+ if (doc == NULL)
+ {
+ fprintf(stderr, _("Error: could not parse file %s\n"), xmlfilename);
+ if (encoding)
+ {
+ FREE(encoding);
+ encoding = NULL;
+ }
+ return bOK;
+ }
+
+ xpathCtxt = xmlXPathNewContext(doc);
+ xpathObj = xmlXPathEval((const xmlChar*)"//librarypaths/path", xpathCtxt);
+
+ if (xpathObj && xpathObj->nodesetval->nodeMax)
+ {
+ /* the Xpath has been understood and there are node */
+ int i;
+ for (i = 0; i < xpathObj->nodesetval->nodeNr; i++)
+ {
+ xmlAttrPtr attrib = xpathObj->nodesetval->nodeTab[i]->properties;
+ /* Get the properties of <path> */
+ while (attrib != NULL)
+ {
+ /* loop until when have read all the attributes */
+ if (xmlStrEqual (attrib->name, (const xmlChar*) "value"))
+ {
+ /* we found the tag value */
+ libraryPath = (char*)attrib->children->content;
+ }
+ attrib = attrib->next;
+ }
+
+ if ( (libraryPath) && (strlen(libraryPath) > 0) )
+ {
+#define KEYWORDSCILAB "$SCILAB"
+ char *FullLibrarypath = NULL;
+ char *sciPath = getSCIpath();
+
+ if (strncmp(libraryPath, KEYWORDSCILAB, strlen(KEYWORDSCILAB)) == 0)
+ {
+ FullLibrarypath = (char*)MALLOC(sizeof(char) * (strlen(sciPath) + strlen(libraryPath) + 1));
+ if (FullLibrarypath)
+ {
+ strcpy(FullLibrarypath, sciPath);
+ strcat(FullLibrarypath, &libraryPath[strlen(KEYWORDSCILAB)]);
+ }
+ }
+ else
+ {
+ FullLibrarypath = strdup(libraryPath);
+ }
+
+
+ if (FullLibrarypath)
+ {
+ addToLibrarypath(FullLibrarypath);
+ FREE(FullLibrarypath);
+ FullLibrarypath = NULL;
+ }
+
+ if (sciPath)
+ {
+ FREE(sciPath);
+ sciPath = NULL;
+ }
+ libraryPath = NULL;
+ }
+ }
+ bOK = TRUE;
+ }
+ else
+ {
+ fprintf(stderr, _("Wrong format for %s.\n"), xmlfilename);
+ }
+
+ if (xpathObj)
+ {
+ xmlXPathFreeObject(xpathObj);
+ }
+ if (xpathCtxt)
+ {
+ xmlXPathFreeContext(xpathCtxt);
+ }
+ xmlFreeDoc (doc);
+ }
+ else
+ {
+ fprintf(stderr, _("Error : Not a valid path file %s (encoding not 'utf-8') Encoding '%s' found\n"), xmlfilename, encoding);
+ }
+ if (encoding)
+ {
+ FREE(encoding);
+ encoding = NULL;
+ }
+ }
+ return bOK;
+}
+/*--------------------------------------------------------------------------*/
diff --git a/modules/jvm/src/c/loadLibrarypath.h b/modules/jvm/src/c/loadLibrarypath.h
new file mode 100755
index 000000000..f529a311d
--- /dev/null
+++ b/modules/jvm/src/c/loadLibrarypath.h
@@ -0,0 +1,28 @@
+
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 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
+ *
+ */
+
+/*--------------------------------------------------------------------------*/
+#ifndef __LOADLIBRARYPATH_H__
+#define __LOADLIBRARYPATH_H__
+
+#include "BOOL.h" /* BOOL */
+
+/**
+* add paths to java.library.path
+* @param a filename SCI/etc/librarypath.xml
+* @return TRUE or FALSE
+*/
+BOOL LoadLibrarypath(char *xmlfilename);
+
+#endif /* __LOADLIBRARYPATH_H__ */
+/*--------------------------------------------------------------------------*/
diff --git a/modules/jvm/src/c/loadOnUseClassPath.c b/modules/jvm/src/c/loadOnUseClassPath.c
new file mode 100755
index 000000000..75c28d6b5
--- /dev/null
+++ b/modules/jvm/src/c/loadOnUseClassPath.c
@@ -0,0 +1,151 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2008-2008 - INRIA - Sylvestre LEDRU
+ *
+ * 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 <jni.h>
+#include <stdio.h>
+#include <libxml/xpath.h>
+#include <libxml/xmlreader.h>
+#include "MALLOC.h"
+#include "scilabDefaults.h"
+#include "getScilabJNIEnv.h"
+#include "localization.h"
+#include "setgetSCIpath.h"
+#include "stricmp.h"
+#include "addToClasspath.h"
+#include "loadOnUseClassPath.h"
+#include "loadClasspath.h"
+#include "FileExist.h"
+#include "GetXmlFileEncoding.h"
+#ifdef _MSC_VER
+#include "strdup_windows.h"
+#endif
+/*--------------------------------------------------------------------------*/
+BOOL loadOnUseClassPath(char const* tag)
+{
+ BOOL bOK = FALSE;
+ char *sciPath = getSCIpath();
+
+ char *classpathfile = (char*)MALLOC(sizeof(char) * (strlen(sciPath) + strlen(XMLCLASSPATH) + 1));
+
+ sprintf(classpathfile, XMLCLASSPATH, sciPath);
+
+ // Load the XML
+ if ( FileExist(classpathfile) )
+ {
+ xmlXPathContextPtr xpathCtxt = NULL;
+ xmlXPathObjectPtr xpathObj = NULL;
+ xmlDocPtr doc = NULL;
+
+ char * XPath = NULL;
+
+ /*
+ * Xpath query: Retrieve all nodes what have the property
+ * load="onUse" and the tag we are looking for
+ */
+#define XPATH "//classpaths/path[@load='onUse']/load[@on='%s']"
+ XPath = (char*)MALLOC(sizeof(char) * (strlen(XPATH) + strlen(tag) - 2 + 1)); /* -2 = strlen(%s) */
+ sprintf(XPath, XPATH, tag);
+
+ doc = getClassPathxmlDocPtr();
+
+ if (doc == NULL)
+ {
+ fprintf(stderr, _("Error: could not parse file %s\n"), classpathfile);
+ if (XPath)
+ {
+ FREE(XPath);
+ XPath = NULL;
+ }
+ return bOK;
+ }
+
+ xpathCtxt = xmlXPathNewContext(doc);
+ // Look for all the tag which matches
+ xpathObj = xmlXPathEval((const xmlChar*)XPath, xpathCtxt);
+ if (xpathObj && xpathObj->nodesetval->nodeMax)
+ {
+ /* the Xpath has been understood and there are node */
+ int i;
+ for (i = 0; i < xpathObj->nodesetval->nodeNr; i++)
+ {
+ xmlAttrPtr attrib = xpathObj->nodesetval->nodeTab[i]->parent->properties;
+ while (attrib != NULL)
+ {
+ /* loop until when have read all the attributes */
+ if (xmlStrEqual (attrib->name, (const xmlChar*) "value"))
+ {
+ // @TODO Check if it has been loaded before
+ /* we found the tag value & load the jar */
+ /* replaces $SCILAB by current path of SCI */
+#define KEYWORDSCILAB "$SCILAB"
+ char *FullClasspath = NULL;
+ char *classpath = (char*)attrib->children->content;
+
+ if (strncmp(classpath, KEYWORDSCILAB, strlen(KEYWORDSCILAB)) == 0)
+ {
+ FullClasspath = (char*)MALLOC(sizeof(char) * (strlen(sciPath) + strlen(classpath) + 1));
+ if (FullClasspath)
+ {
+ strcpy(FullClasspath, sciPath);
+ strcat(FullClasspath, &classpath[strlen(KEYWORDSCILAB)]);
+ }
+ }
+ else
+ {
+ FullClasspath = strdup(classpath);
+ }
+ addToClasspath(FullClasspath, STARTUP);
+ FREE(FullClasspath);
+ }
+ attrib = attrib->next;
+ }
+ }
+ }
+ else
+ {
+ fprintf(stderr, _("Wrong format for %s.\n"), classpathfile);
+ }
+ if (xpathObj)
+ {
+ xmlXPathFreeObject(xpathObj);
+ }
+ if (xpathCtxt)
+ {
+ xmlXPathFreeContext(xpathCtxt);
+ }
+ if (XPath)
+ {
+ FREE(XPath);
+ XPath = NULL;
+ }
+
+ }
+ else
+ {
+ fprintf(stderr, _("Warning: could not find classpath declaration file %s.\n"), classpathfile);
+ }
+
+ if (classpathfile)
+ {
+ FREE(classpathfile);
+ classpathfile = NULL;
+ }
+ if (sciPath)
+ {
+ FREE(sciPath);
+ sciPath = NULL;
+ }
+
+ return FALSE;
+}
+/*--------------------------------------------------------------------------*/
diff --git a/modules/jvm/src/c/system_getproperty.c b/modules/jvm/src/c/system_getproperty.c
new file mode 100755
index 000000000..9a223b145
--- /dev/null
+++ b/modules/jvm/src/c/system_getproperty.c
@@ -0,0 +1,58 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 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 <jni.h>
+#include <string.h>
+#include "system_getproperty.h"
+#include "getScilabJNIEnv.h"
+#include "MALLOC.h"
+#ifdef _MSC_VER
+#include "strdup_windows.h"
+#endif
+/*--------------------------------------------------------------------------*/
+char * system_getproperty(char *property, char *defaultproperty)
+{
+ char *retValue = NULL;
+ JNIEnv * currentENV = getScilabJNIEnv();
+
+ if (currentENV)
+ {
+ jclass cls = NULL;
+ cls = (*currentENV)->FindClass(currentENV, "java/lang/System");
+ if (cls)
+ {
+ jmethodID mid = NULL;
+ mid = (*currentENV)->GetStaticMethodID(currentENV, cls, "getProperty", "(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;");
+ if (mid)
+ {
+ const char *strValue = NULL;
+ jstring jstrProperty;
+ jstring jstrDefaultValue;
+ jstring jstrValue;
+ jstrProperty = (*currentENV)->NewStringUTF(currentENV, property);
+ jstrDefaultValue = (*currentENV)->NewStringUTF(currentENV, defaultproperty);
+
+ jstrValue = (*currentENV)->CallStaticObjectMethod(currentENV, cls, mid, jstrProperty, jstrDefaultValue);
+
+ strValue = (*currentENV)->GetStringUTFChars(currentENV, jstrValue, 0);
+ if (strValue)
+ {
+ retValue = strdup(strValue);
+ }
+ (*currentENV)->ReleaseStringUTFChars(currentENV, jstrValue , strValue);
+ }
+ }
+ }
+ return retValue;
+}
+/*--------------------------------------------------------------------------*/
diff --git a/modules/jvm/src/c/system_getproperty.h b/modules/jvm/src/c/system_getproperty.h
new file mode 100755
index 000000000..70a4c44ea
--- /dev/null
+++ b/modules/jvm/src/c/system_getproperty.h
@@ -0,0 +1,26 @@
+
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 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
+ *
+ */
+
+/*--------------------------------------------------------------------------*/
+#ifndef __SYSTEM_GETPROPERTY_H__
+#define __SYSTEM_GETPROPERTY_H__
+
+/**
+* get system property
+* @param property name
+* @return property value
+*/
+char * system_getproperty(char *property, char *defaultproperty);
+
+#endif /* __SYSTEM_GETPROPERTY_H__ */
+/*--------------------------------------------------------------------------*/
diff --git a/modules/jvm/src/c/system_setproperty.c b/modules/jvm/src/c/system_setproperty.c
new file mode 100755
index 000000000..1d741ec3d
--- /dev/null
+++ b/modules/jvm/src/c/system_setproperty.c
@@ -0,0 +1,69 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 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 <jni.h>
+#include <string.h>
+#include "system_setproperty.h"
+#include "getScilabJNIEnv.h"
+#include "MALLOC.h"
+#include "catchIfJavaException.h"
+#ifdef _MSC_VER
+#include "strdup_windows.h"
+#endif
+/*--------------------------------------------------------------------------*/
+char * system_setproperty(char *property, char *value)
+{
+ char *retValue = NULL;
+
+ JNIEnv * currentENV = getScilabJNIEnv();
+
+ if (currentENV)
+ {
+ jclass cls = NULL;
+ cls = (*currentENV)->FindClass(currentENV, "java/lang/System");
+ if (cls)
+ {
+ jmethodID mid = NULL;
+ mid = (*currentENV)->GetStaticMethodID(currentENV, cls, "setProperty", "(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;");
+ if (mid)
+ {
+ BOOL bOK = FALSE;
+ const char *strPreviousValue = NULL;
+ jstring jstrProperty;
+ jstring jstrValue;
+ jstring jstrPreviousValue;
+
+ jstrProperty = (*currentENV)->NewStringUTF(currentENV, property);
+ jstrValue = (*currentENV)->NewStringUTF(currentENV, value);
+
+ jstrPreviousValue = (*currentENV)->CallStaticObjectMethod(currentENV, cls, mid, jstrProperty, jstrValue);
+ bOK = catchIfJavaException("");
+
+ if (bOK)
+ {
+ if (jstrPreviousValue)
+ {
+ strPreviousValue = (*currentENV)->GetStringUTFChars(currentENV, jstrPreviousValue, 0);
+ if (strPreviousValue)
+ {
+ retValue = strdup(strPreviousValue);
+ }
+ (*currentENV)->ReleaseStringUTFChars(currentENV, jstrPreviousValue , strPreviousValue);
+ }
+ }
+ }
+ }
+ }
+ return retValue;
+}
+/*--------------------------------------------------------------------------*/
diff --git a/modules/jvm/src/c/system_setproperty.h b/modules/jvm/src/c/system_setproperty.h
new file mode 100755
index 000000000..92c42ab13
--- /dev/null
+++ b/modules/jvm/src/c/system_setproperty.h
@@ -0,0 +1,27 @@
+
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 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
+ *
+ */
+
+/*--------------------------------------------------------------------------*/
+#ifndef __SYSTEM_SETPROPERTY_H__
+#define __SYSTEM_SETPROPERTY_H__
+
+/**
+* set a system property
+* @param property name
+* @param value
+* @return previous value or NULL
+*/
+char * system_setproperty(char *property, char *value);
+
+#endif /* __SYSTEM_SETPROPERTY_H__ */
+/*--------------------------------------------------------------------------*/
diff --git a/modules/jvm/src/c/with_java.c b/modules/jvm/src/c/with_java.c
new file mode 100755
index 000000000..f7501b688
--- /dev/null
+++ b/modules/jvm/src/c/with_java.c
@@ -0,0 +1,19 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 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 "with_java.h"
+/*--------------------------------------------------------------------------*/
+BOOL with_java(void)
+{
+ return TRUE;
+}
+/*-----------------------------------------------------------------------
diff --git a/modules/jvm/src/c/with_java.h b/modules/jvm/src/c/with_java.h
new file mode 100755
index 000000000..b0f675dae
--- /dev/null
+++ b/modules/jvm/src/c/with_java.h
@@ -0,0 +1,17 @@
+/*--------------------------------------------------------------------------*/
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 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 "BOOL.h"
+/*--------------------------------------------------------------------------*/
+BOOL with_java(void);
+/*--------------------------------------------------------------------------*/