summaryrefslogtreecommitdiff
path: root/modules/hdf5/src/cpp
diff options
context:
space:
mode:
Diffstat (limited to 'modules/hdf5/src/cpp')
-rwxr-xr-xmodules/hdf5/src/cpp/.deps/.dirstamp0
-rwxr-xr-xmodules/hdf5/src/cpp/.deps/libscihdf5_algo_la-H5ArrayData.Plo802
-rwxr-xr-xmodules/hdf5/src/cpp/.deps/libscihdf5_algo_la-H5Attribute.Plo802
-rwxr-xr-xmodules/hdf5/src/cpp/.deps/libscihdf5_algo_la-H5AttributesList.Plo750
-rwxr-xr-xmodules/hdf5/src/cpp/.deps/libscihdf5_algo_la-H5CompoundData.Plo802
-rwxr-xr-xmodules/hdf5/src/cpp/.deps/libscihdf5_algo_la-H5DataConverter.Plo732
-rwxr-xr-xmodules/hdf5/src/cpp/.deps/libscihdf5_algo_la-H5DataFactory.Plo802
-rwxr-xr-xmodules/hdf5/src/cpp/.deps/libscihdf5_algo_la-H5Dataset.Plo804
-rwxr-xr-xmodules/hdf5/src/cpp/.deps/libscihdf5_algo_la-H5Dataspace.Plo737
-rwxr-xr-xmodules/hdf5/src/cpp/.deps/libscihdf5_algo_la-H5ExternalLink.Plo740
-rwxr-xr-xmodules/hdf5/src/cpp/.deps/libscihdf5_algo_la-H5File.Plo772
-rwxr-xr-xmodules/hdf5/src/cpp/.deps/libscihdf5_algo_la-H5Group.Plo779
-rwxr-xr-xmodules/hdf5/src/cpp/.deps/libscihdf5_algo_la-H5HardLink.Plo739
-rwxr-xr-xmodules/hdf5/src/cpp/.deps/libscihdf5_algo_la-H5Link.Plo745
-rwxr-xr-xmodules/hdf5/src/cpp/.deps/libscihdf5_algo_la-H5Object.Plo764
-rwxr-xr-xmodules/hdf5/src/cpp/.deps/libscihdf5_algo_la-H5Options.Plo519
-rwxr-xr-xmodules/hdf5/src/cpp/.deps/libscihdf5_algo_la-H5ReferenceData.Plo772
-rwxr-xr-xmodules/hdf5/src/cpp/.deps/libscihdf5_algo_la-H5SoftLink.Plo740
-rwxr-xr-xmodules/hdf5/src/cpp/.deps/libscihdf5_algo_la-H5StringData.Plo737
-rwxr-xr-xmodules/hdf5/src/cpp/.deps/libscihdf5_algo_la-H5Type.Plo739
-rwxr-xr-xmodules/hdf5/src/cpp/.deps/libscihdf5_algo_la-H5VariableScope.Plo728
-rwxr-xr-xmodules/hdf5/src/cpp/.deps/libscihdf5_algo_la-H5VlenData.Plo802
-rwxr-xr-xmodules/hdf5/src/cpp/.deps/libscihdf5_algo_la-HDF5Scilab.Plo780
-rwxr-xr-xmodules/hdf5/src/cpp/.deps/libscihdf5_algo_la-import_from_hdf5_v1.Plo445
-rwxr-xr-xmodules/hdf5/src/cpp/.deps/libscihdf5_algo_la-listvar_in_hdf5_v1.Plo528
-rwxr-xr-xmodules/hdf5/src/cpp/.dirstamp0
-rwxr-xr-xmodules/hdf5/src/cpp/.libs/libscihdf5_algo_la-H5ArrayData.obin0 -> 697512 bytes
-rwxr-xr-xmodules/hdf5/src/cpp/.libs/libscihdf5_algo_la-H5Attribute.obin0 -> 557496 bytes
-rwxr-xr-xmodules/hdf5/src/cpp/.libs/libscihdf5_algo_la-H5AttributesList.obin0 -> 372648 bytes
-rwxr-xr-xmodules/hdf5/src/cpp/.libs/libscihdf5_algo_la-H5CompoundData.obin0 -> 1050984 bytes
-rwxr-xr-xmodules/hdf5/src/cpp/.libs/libscihdf5_algo_la-H5DataConverter.obin0 -> 201696 bytes
-rwxr-xr-xmodules/hdf5/src/cpp/.libs/libscihdf5_algo_la-H5DataFactory.obin0 -> 2097032 bytes
-rwxr-xr-xmodules/hdf5/src/cpp/.libs/libscihdf5_algo_la-H5Dataset.obin0 -> 1069872 bytes
-rwxr-xr-xmodules/hdf5/src/cpp/.libs/libscihdf5_algo_la-H5Dataspace.obin0 -> 533456 bytes
-rwxr-xr-xmodules/hdf5/src/cpp/.libs/libscihdf5_algo_la-H5ExternalLink.obin0 -> 533528 bytes
-rwxr-xr-xmodules/hdf5/src/cpp/.libs/libscihdf5_algo_la-H5File.obin0 -> 526136 bytes
-rwxr-xr-xmodules/hdf5/src/cpp/.libs/libscihdf5_algo_la-H5Group.obin0 -> 1718256 bytes
-rwxr-xr-xmodules/hdf5/src/cpp/.libs/libscihdf5_algo_la-H5HardLink.obin0 -> 393016 bytes
-rwxr-xr-xmodules/hdf5/src/cpp/.libs/libscihdf5_algo_la-H5Link.obin0 -> 292600 bytes
-rwxr-xr-xmodules/hdf5/src/cpp/.libs/libscihdf5_algo_la-H5Object.obin0 -> 734728 bytes
-rwxr-xr-xmodules/hdf5/src/cpp/.libs/libscihdf5_algo_la-H5Options.obin0 -> 58256 bytes
-rwxr-xr-xmodules/hdf5/src/cpp/.libs/libscihdf5_algo_la-H5ReferenceData.obin0 -> 722568 bytes
-rwxr-xr-xmodules/hdf5/src/cpp/.libs/libscihdf5_algo_la-H5SoftLink.obin0 -> 458736 bytes
-rwxr-xr-xmodules/hdf5/src/cpp/.libs/libscihdf5_algo_la-H5StringData.obin0 -> 547672 bytes
-rwxr-xr-xmodules/hdf5/src/cpp/.libs/libscihdf5_algo_la-H5Type.obin0 -> 9726992 bytes
-rwxr-xr-xmodules/hdf5/src/cpp/.libs/libscihdf5_algo_la-H5VariableScope.obin0 -> 452896 bytes
-rwxr-xr-xmodules/hdf5/src/cpp/.libs/libscihdf5_algo_la-H5VlenData.obin0 -> 699240 bytes
-rwxr-xr-xmodules/hdf5/src/cpp/.libs/libscihdf5_algo_la-HDF5Scilab.obin0 -> 1259504 bytes
-rwxr-xr-xmodules/hdf5/src/cpp/.libs/libscihdf5_algo_la-import_from_hdf5_v1.obin0 -> 73528 bytes
-rwxr-xr-xmodules/hdf5/src/cpp/.libs/libscihdf5_algo_la-listvar_in_hdf5_v1.obin0 -> 49928 bytes
-rwxr-xr-xmodules/hdf5/src/cpp/H5ArrayData.cpp124
-rwxr-xr-xmodules/hdf5/src/cpp/H5ArrayData.hxx56
-rwxr-xr-xmodules/hdf5/src/cpp/H5Attribute.cpp266
-rwxr-xr-xmodules/hdf5/src/cpp/H5Attribute.hxx60
-rwxr-xr-xmodules/hdf5/src/cpp/H5AttributesList.cpp125
-rwxr-xr-xmodules/hdf5/src/cpp/H5AttributesList.hxx45
-rwxr-xr-xmodules/hdf5/src/cpp/H5BasicData.hxx251
-rwxr-xr-xmodules/hdf5/src/cpp/H5BitfieldData.hxx113
-rwxr-xr-xmodules/hdf5/src/cpp/H5CharData.hxx43
-rwxr-xr-xmodules/hdf5/src/cpp/H5CompoundData.cpp182
-rwxr-xr-xmodules/hdf5/src/cpp/H5CompoundData.hxx84
-rwxr-xr-xmodules/hdf5/src/cpp/H5Data.hxx125
-rwxr-xr-xmodules/hdf5/src/cpp/H5DataConverter.cpp59
-rwxr-xr-xmodules/hdf5/src/cpp/H5DataConverter.hxx171
-rwxr-xr-xmodules/hdf5/src/cpp/H5DataFactory.cpp375
-rwxr-xr-xmodules/hdf5/src/cpp/H5DataFactory.hxx50
-rwxr-xr-xmodules/hdf5/src/cpp/H5Dataset.cpp473
-rwxr-xr-xmodules/hdf5/src/cpp/H5Dataset.hxx193
-rwxr-xr-xmodules/hdf5/src/cpp/H5DatasetsList.cpp28
-rwxr-xr-xmodules/hdf5/src/cpp/H5DatasetsList.hxx35
-rwxr-xr-xmodules/hdf5/src/cpp/H5Dataspace.cpp257
-rwxr-xr-xmodules/hdf5/src/cpp/H5Dataspace.hxx131
-rwxr-xr-xmodules/hdf5/src/cpp/H5EnumData.hxx63
-rwxr-xr-xmodules/hdf5/src/cpp/H5Exception.hxx144
-rwxr-xr-xmodules/hdf5/src/cpp/H5ExternalLink.cpp153
-rwxr-xr-xmodules/hdf5/src/cpp/H5ExternalLink.hxx42
-rwxr-xr-xmodules/hdf5/src/cpp/H5File.cpp452
-rwxr-xr-xmodules/hdf5/src/cpp/H5File.hxx111
-rwxr-xr-xmodules/hdf5/src/cpp/H5FloatData.hxx107
-rwxr-xr-xmodules/hdf5/src/cpp/H5Group.cpp476
-rwxr-xr-xmodules/hdf5/src/cpp/H5Group.hxx90
-rwxr-xr-xmodules/hdf5/src/cpp/H5GroupsList.cpp121
-rwxr-xr-xmodules/hdf5/src/cpp/H5GroupsList.hxx36
-rwxr-xr-xmodules/hdf5/src/cpp/H5HardLink.cpp110
-rwxr-xr-xmodules/hdf5/src/cpp/H5HardLink.hxx42
-rwxr-xr-xmodules/hdf5/src/cpp/H5Link.cpp70
-rwxr-xr-xmodules/hdf5/src/cpp/H5Link.hxx48
-rwxr-xr-xmodules/hdf5/src/cpp/H5LinksList.cpp101
-rwxr-xr-xmodules/hdf5/src/cpp/H5LinksList.hxx49
-rwxr-xr-xmodules/hdf5/src/cpp/H5ListObject.hxx73
-rwxr-xr-xmodules/hdf5/src/cpp/H5NamedObjectsList.hxx320
-rwxr-xr-xmodules/hdf5/src/cpp/H5Object.cpp713
-rwxr-xr-xmodules/hdf5/src/cpp/H5Object.hxx429
-rwxr-xr-xmodules/hdf5/src/cpp/H5OpaqueData.hxx84
-rwxr-xr-xmodules/hdf5/src/cpp/H5Options.cpp19
-rwxr-xr-xmodules/hdf5/src/cpp/H5Options.hxx100
-rwxr-xr-xmodules/hdf5/src/cpp/H5ReferenceData.cpp300
-rwxr-xr-xmodules/hdf5/src/cpp/H5ReferenceData.hxx64
-rwxr-xr-xmodules/hdf5/src/cpp/H5SoftLink.cpp123
-rwxr-xr-xmodules/hdf5/src/cpp/H5SoftLink.hxx42
-rwxr-xr-xmodules/hdf5/src/cpp/H5SoftLinksList.hxx37
-rwxr-xr-xmodules/hdf5/src/cpp/H5StringData.cpp168
-rwxr-xr-xmodules/hdf5/src/cpp/H5StringData.hxx46
-rwxr-xr-xmodules/hdf5/src/cpp/H5TimeData.hxx37
-rwxr-xr-xmodules/hdf5/src/cpp/H5TransformedData.hxx112
-rwxr-xr-xmodules/hdf5/src/cpp/H5Type.cpp1729
-rwxr-xr-xmodules/hdf5/src/cpp/H5Type.hxx288
-rwxr-xr-xmodules/hdf5/src/cpp/H5TypesList.hxx38
-rwxr-xr-xmodules/hdf5/src/cpp/H5UnsignedCharData.hxx43
-rwxr-xr-xmodules/hdf5/src/cpp/H5VariableScope.cpp84
-rwxr-xr-xmodules/hdf5/src/cpp/H5VariableScope.hxx50
-rwxr-xr-xmodules/hdf5/src/cpp/H5VlenData.cpp128
-rwxr-xr-xmodules/hdf5/src/cpp/H5VlenData.hxx53
-rwxr-xr-xmodules/hdf5/src/cpp/HDF5Scilab.cpp1165
-rwxr-xr-xmodules/hdf5/src/cpp/HDF5Scilab.hxx526
-rwxr-xr-xmodules/hdf5/src/cpp/h5create.hpp181
-rwxr-xr-xmodules/hdf5/src/cpp/import_from_hdf5_v1.cpp1182
-rwxr-xr-xmodules/hdf5/src/cpp/libscihdf5_algo_la-H5ArrayData.lo12
-rwxr-xr-xmodules/hdf5/src/cpp/libscihdf5_algo_la-H5Attribute.lo12
-rwxr-xr-xmodules/hdf5/src/cpp/libscihdf5_algo_la-H5AttributesList.lo12
-rwxr-xr-xmodules/hdf5/src/cpp/libscihdf5_algo_la-H5CompoundData.lo12
-rwxr-xr-xmodules/hdf5/src/cpp/libscihdf5_algo_la-H5DataConverter.lo12
-rwxr-xr-xmodules/hdf5/src/cpp/libscihdf5_algo_la-H5DataFactory.lo12
-rwxr-xr-xmodules/hdf5/src/cpp/libscihdf5_algo_la-H5Dataset.lo12
-rwxr-xr-xmodules/hdf5/src/cpp/libscihdf5_algo_la-H5Dataspace.lo12
-rwxr-xr-xmodules/hdf5/src/cpp/libscihdf5_algo_la-H5ExternalLink.lo12
-rwxr-xr-xmodules/hdf5/src/cpp/libscihdf5_algo_la-H5File.lo12
-rwxr-xr-xmodules/hdf5/src/cpp/libscihdf5_algo_la-H5Group.lo12
-rwxr-xr-xmodules/hdf5/src/cpp/libscihdf5_algo_la-H5HardLink.lo12
-rwxr-xr-xmodules/hdf5/src/cpp/libscihdf5_algo_la-H5Link.lo12
-rwxr-xr-xmodules/hdf5/src/cpp/libscihdf5_algo_la-H5Object.lo12
-rwxr-xr-xmodules/hdf5/src/cpp/libscihdf5_algo_la-H5Options.lo12
-rwxr-xr-xmodules/hdf5/src/cpp/libscihdf5_algo_la-H5ReferenceData.lo12
-rwxr-xr-xmodules/hdf5/src/cpp/libscihdf5_algo_la-H5SoftLink.lo12
-rwxr-xr-xmodules/hdf5/src/cpp/libscihdf5_algo_la-H5StringData.lo12
-rwxr-xr-xmodules/hdf5/src/cpp/libscihdf5_algo_la-H5Type.lo12
-rwxr-xr-xmodules/hdf5/src/cpp/libscihdf5_algo_la-H5VariableScope.lo12
-rwxr-xr-xmodules/hdf5/src/cpp/libscihdf5_algo_la-H5VlenData.lo12
-rwxr-xr-xmodules/hdf5/src/cpp/libscihdf5_algo_la-HDF5Scilab.lo12
-rwxr-xr-xmodules/hdf5/src/cpp/libscihdf5_algo_la-import_from_hdf5_v1.lo12
-rwxr-xr-xmodules/hdf5/src/cpp/libscihdf5_algo_la-listvar_in_hdf5_v1.lo12
-rwxr-xr-xmodules/hdf5/src/cpp/listvar_in_hdf5_v1.cpp584
142 files changed, 32027 insertions, 0 deletions
diff --git a/modules/hdf5/src/cpp/.deps/.dirstamp b/modules/hdf5/src/cpp/.deps/.dirstamp
new file mode 100755
index 000000000..e69de29bb
--- /dev/null
+++ b/modules/hdf5/src/cpp/.deps/.dirstamp
diff --git a/modules/hdf5/src/cpp/.deps/libscihdf5_algo_la-H5ArrayData.Plo b/modules/hdf5/src/cpp/.deps/libscihdf5_algo_la-H5ArrayData.Plo
new file mode 100755
index 000000000..d2382610c
--- /dev/null
+++ b/modules/hdf5/src/cpp/.deps/libscihdf5_algo_la-H5ArrayData.Plo
@@ -0,0 +1,802 @@
+src/cpp/libscihdf5_algo_la-H5ArrayData.lo: src/cpp/H5ArrayData.cpp \
+ /usr/include/stdc-predef.h src/cpp/H5ArrayData.hxx \
+ src/cpp/H5BasicData.hxx src/cpp/H5Data.hxx src/cpp/H5Object.hxx \
+ includes/HDF5Objects.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/hdf5.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5public.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5pubconf.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5version.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/include/x86_64-linux-gnu/sys/types.h \
+ /usr/include/x86_64-linux-gnu/bits/types.h \
+ /usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/time.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.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/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/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h \
+ /usr/include/limits.h /usr/include/x86_64-linux-gnu/bits/posix1_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/local_lim.h \
+ /usr/include/linux/limits.h \
+ /usr/include/x86_64-linux-gnu/bits/posix2_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/xopen_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio_lim.h /usr/include/inttypes.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stdint.h /usr/include/stdint.h \
+ /usr/include/x86_64-linux-gnu/bits/wchar.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5api_adpt.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Apublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Ipublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Opublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Lpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Tpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5ACpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Cpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Dpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Epublic.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/sys_errlist.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio2.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Epubgen.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Fpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Gpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5MMpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Ppublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Zpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Rpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Spublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDcore.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDfamily.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDlog.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDmpi.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDmpio.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDmpiposix.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDmulti.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDsec2.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDstdio.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDdirect.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/hdf5_hl.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5DSpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5LTpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5IMpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5TBpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5PTpublic.h \
+ /usr/include/c++/5/algorithm /usr/include/c++/5/utility \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/c++config.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/os_defines.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/cpu_defines.h \
+ /usr/include/c++/5/bits/stl_relops.h /usr/include/c++/5/bits/stl_pair.h \
+ /usr/include/c++/5/bits/move.h /usr/include/c++/5/bits/concept_check.h \
+ /usr/include/c++/5/bits/stl_algobase.h \
+ /usr/include/c++/5/bits/functexcept.h \
+ /usr/include/c++/5/bits/exception_defines.h \
+ /usr/include/c++/5/bits/cpp_type_traits.h \
+ /usr/include/c++/5/ext/type_traits.h \
+ /usr/include/c++/5/ext/numeric_traits.h \
+ /usr/include/c++/5/bits/stl_iterator_base_types.h \
+ /usr/include/c++/5/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/5/debug/debug.h /usr/include/c++/5/bits/stl_iterator.h \
+ /usr/include/c++/5/bits/ptr_traits.h \
+ /usr/include/c++/5/bits/predefined_ops.h \
+ /usr/include/c++/5/bits/stl_algo.h /usr/include/c++/5/cstdlib \
+ /usr/include/stdlib.h /usr/include/x86_64-linux-gnu/bits/waitflags.h \
+ /usr/include/x86_64-linux-gnu/bits/waitstatus.h /usr/include/xlocale.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/c++/5/bits/algorithmfwd.h \
+ /usr/include/c++/5/bits/stl_heap.h /usr/include/c++/5/bits/stl_tempbuf.h \
+ /usr/include/c++/5/bits/stl_construct.h /usr/include/c++/5/new \
+ /usr/include/c++/5/exception \
+ /usr/include/c++/5/bits/atomic_lockfree_defines.h \
+ /usr/include/c++/5/ext/alloc_traits.h \
+ /usr/include/c++/5/bits/allocator.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/c++allocator.h \
+ /usr/include/c++/5/ext/new_allocator.h \
+ /usr/include/c++/5/bits/memoryfwd.h /usr/include/c++/5/iostream \
+ /usr/include/c++/5/ostream /usr/include/c++/5/ios \
+ /usr/include/c++/5/iosfwd /usr/include/c++/5/bits/stringfwd.h \
+ /usr/include/c++/5/bits/postypes.h /usr/include/c++/5/cwchar \
+ /usr/include/x86_64-linux-gnu/bits/wchar2.h \
+ /usr/include/c++/5/bits/char_traits.h \
+ /usr/include/c++/5/bits/localefwd.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/c++locale.h \
+ /usr/include/c++/5/clocale /usr/include/locale.h \
+ /usr/include/x86_64-linux-gnu/bits/locale.h /usr/include/c++/5/cctype \
+ /usr/include/ctype.h /usr/include/c++/5/bits/ios_base.h \
+ /usr/include/c++/5/ext/atomicity.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/gthr.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/x86_64-linux-gnu/bits/sched.h \
+ /usr/include/x86_64-linux-gnu/bits/timex.h \
+ /usr/include/x86_64-linux-gnu/bits/setjmp.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/atomic_word.h \
+ /usr/include/c++/5/bits/locale_classes.h /usr/include/c++/5/string \
+ /usr/include/c++/5/bits/ostream_insert.h \
+ /usr/include/c++/5/bits/cxxabi_forced.h \
+ /usr/include/c++/5/bits/stl_function.h \
+ /usr/include/c++/5/backward/binders.h \
+ /usr/include/c++/5/bits/range_access.h \
+ /usr/include/c++/5/bits/basic_string.h \
+ /usr/include/c++/5/bits/basic_string.tcc \
+ /usr/include/c++/5/bits/locale_classes.tcc /usr/include/c++/5/stdexcept \
+ /usr/include/c++/5/streambuf /usr/include/c++/5/bits/streambuf.tcc \
+ /usr/include/c++/5/bits/basic_ios.h \
+ /usr/include/c++/5/bits/locale_facets.h /usr/include/c++/5/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/ctype_base.h \
+ /usr/include/c++/5/bits/streambuf_iterator.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/ctype_inline.h \
+ /usr/include/c++/5/bits/locale_facets.tcc \
+ /usr/include/c++/5/bits/basic_ios.tcc \
+ /usr/include/c++/5/bits/ostream.tcc /usr/include/c++/5/istream \
+ /usr/include/c++/5/bits/istream.tcc /usr/include/c++/5/iomanip \
+ /usr/include/c++/5/limits /usr/include/c++/5/map \
+ /usr/include/c++/5/bits/stl_tree.h /usr/include/c++/5/bits/stl_map.h \
+ /usr/include/c++/5/bits/stl_multimap.h /usr/include/c++/5/set \
+ /usr/include/c++/5/bits/stl_set.h /usr/include/c++/5/bits/stl_multiset.h \
+ ../../modules/core/includes/MALLOC.h \
+ ../../modules/core/includes/sci_mem_alloc.h \
+ ../../modules/output_stream/includes/Scierror.h \
+ ../../modules/output_stream/includes/do_error_number.h \
+ ../../modules/core/includes/machine.h \
+ ../../modules/api_scilab/includes/api_scilab.h \
+ ../../modules/core/includes/stack-c.h /usr/include/string.h \
+ /usr/include/x86_64-linux-gnu/bits/string3.h \
+ ../../modules/core/includes/core_math.h /usr/include/math.h \
+ /usr/include/x86_64-linux-gnu/bits/math-vector.h \
+ /usr/include/x86_64-linux-gnu/bits/libm-simd-decl-stubs.h \
+ /usr/include/x86_64-linux-gnu/bits/huge_val.h \
+ /usr/include/x86_64-linux-gnu/bits/huge_valf.h \
+ /usr/include/x86_64-linux-gnu/bits/huge_vall.h \
+ /usr/include/x86_64-linux-gnu/bits/inf.h \
+ /usr/include/x86_64-linux-gnu/bits/nan.h \
+ /usr/include/x86_64-linux-gnu/bits/mathdef.h \
+ /usr/include/x86_64-linux-gnu/bits/mathcalls.h \
+ /usr/include/x86_64-linux-gnu/bits/mathinline.h /usr/include/values.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/float.h \
+ ../../modules/core/includes/stack-def.h \
+ ../../modules/core/includes/machine.h \
+ ../../modules/core/includes/stackTypeVariable.h \
+ ../../modules/core/includes/BOOL.h \
+ ../../modules/core/includes/doublecomplex.h \
+ ../../modules/core/includes/stack1.h \
+ ../../modules/core/includes/scisparse.h \
+ ../../modules/core/includes/stack2.h \
+ ../../modules/core/includes/stack3.h \
+ ../../modules/core/includes/stack-optional.h \
+ ../../modules/core/includes/sci_types.h \
+ ../../modules/api_scilab/includes/api_common.h \
+ ../../modules/api_scilab/includes/api_scilab.h \
+ ../../modules/api_scilab/includes/api_double.h \
+ ../../modules/core/includes/doublecomplex.h \
+ ../../modules/api_scilab/includes/api_string.h \
+ ../../modules/api_scilab/includes/api_int.h \
+ ../../modules/api_scilab/includes/api_poly.h \
+ ../../modules/api_scilab/includes/api_sparse.h \
+ ../../modules/api_scilab/includes/api_boolean.h \
+ ../../modules/api_scilab/includes/api_boolean_sparse.h \
+ ../../modules/api_scilab/includes/api_pointer.h \
+ ../../modules/api_scilab/includes/api_list.h \
+ ../../modules/api_scilab/includes/api_error.h \
+ ../../modules/api_scilab/includes/api_handle.h \
+ ../../modules/api_scilab/includes/api_optional.h \
+ ../../modules/core/includes/stack-optional.h \
+ ../../modules/api_scilab/includes/api_hypermat.h \
+ ../../modules/core/includes/core_math.h \
+ ../../modules/core/includes/sci_types.h \
+ ../../modules/localization/includes/localization.h \
+ /usr/include/libintl.h src/cpp/H5VariableScope.hxx \
+ /usr/include/c++/5/stack /usr/include/c++/5/deque \
+ /usr/include/c++/5/bits/stl_uninitialized.h \
+ /usr/include/c++/5/bits/stl_deque.h /usr/include/c++/5/bits/deque.tcc \
+ /usr/include/c++/5/bits/stl_stack.h /usr/include/c++/5/vector \
+ /usr/include/c++/5/bits/stl_vector.h \
+ /usr/include/c++/5/bits/stl_bvector.h /usr/include/c++/5/bits/vector.tcc \
+ src/cpp/H5Exception.hxx ../../modules/core/includes/backtrace_print.h \
+ /usr/include/c++/5/sstream /usr/include/c++/5/bits/sstream.tcc \
+ /usr/include/c++/5/cstdio src/cpp/H5DataConverter.hxx \
+ src/cpp/H5DataFactory.hxx src/cpp/H5StringData.hxx \
+ src/cpp/H5TimeData.hxx src/cpp/H5BitfieldData.hxx \
+ src/cpp/H5ReferenceData.hxx src/cpp/H5File.hxx \
+ /usr/include/x86_64-linux-gnu/sys/stat.h \
+ /usr/include/x86_64-linux-gnu/bits/stat.h src/cpp/H5Group.hxx \
+ src/cpp/H5Type.hxx src/cpp/H5Dataset.hxx src/cpp/H5Dataspace.hxx \
+ src/cpp/H5AttributesList.hxx src/cpp/H5ListObject.hxx \
+ src/cpp/H5Attribute.hxx src/cpp/H5SoftLink.hxx src/cpp/H5Link.hxx \
+ src/cpp/H5ExternalLink.hxx src/cpp/H5NamedObjectsList.hxx \
+ src/cpp/H5CompoundData.hxx src/cpp/H5OpaqueData.hxx \
+ src/cpp/H5TransformedData.hxx src/cpp/H5EnumData.hxx \
+ src/cpp/H5VlenData.hxx src/cpp/H5CharData.hxx \
+ src/cpp/H5UnsignedCharData.hxx
+
+/usr/include/stdc-predef.h:
+
+src/cpp/H5ArrayData.hxx:
+
+src/cpp/H5BasicData.hxx:
+
+src/cpp/H5Data.hxx:
+
+src/cpp/H5Object.hxx:
+
+includes/HDF5Objects.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/hdf5.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5public.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5pubconf.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5version.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/include/x86_64-linux-gnu/sys/types.h:
+
+/usr/include/x86_64-linux-gnu/bits/types.h:
+
+/usr/include/x86_64-linux-gnu/bits/typesizes.h:
+
+/usr/include/time.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.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/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/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h:
+
+/usr/include/limits.h:
+
+/usr/include/x86_64-linux-gnu/bits/posix1_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/local_lim.h:
+
+/usr/include/linux/limits.h:
+
+/usr/include/x86_64-linux-gnu/bits/posix2_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/xopen_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio_lim.h:
+
+/usr/include/inttypes.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stdint.h:
+
+/usr/include/stdint.h:
+
+/usr/include/x86_64-linux-gnu/bits/wchar.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5api_adpt.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Apublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Ipublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Opublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Lpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Tpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5ACpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Cpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Dpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Epublic.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/sys_errlist.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio2.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Epubgen.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Fpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Gpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5MMpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Ppublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Zpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Rpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Spublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDcore.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDfamily.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDlog.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDmpi.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDmpio.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDmpiposix.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDmulti.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDsec2.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDstdio.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDdirect.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/hdf5_hl.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5DSpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5LTpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5IMpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5TBpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5PTpublic.h:
+
+/usr/include/c++/5/algorithm:
+
+/usr/include/c++/5/utility:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/c++config.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/os_defines.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/cpu_defines.h:
+
+/usr/include/c++/5/bits/stl_relops.h:
+
+/usr/include/c++/5/bits/stl_pair.h:
+
+/usr/include/c++/5/bits/move.h:
+
+/usr/include/c++/5/bits/concept_check.h:
+
+/usr/include/c++/5/bits/stl_algobase.h:
+
+/usr/include/c++/5/bits/functexcept.h:
+
+/usr/include/c++/5/bits/exception_defines.h:
+
+/usr/include/c++/5/bits/cpp_type_traits.h:
+
+/usr/include/c++/5/ext/type_traits.h:
+
+/usr/include/c++/5/ext/numeric_traits.h:
+
+/usr/include/c++/5/bits/stl_iterator_base_types.h:
+
+/usr/include/c++/5/bits/stl_iterator_base_funcs.h:
+
+/usr/include/c++/5/debug/debug.h:
+
+/usr/include/c++/5/bits/stl_iterator.h:
+
+/usr/include/c++/5/bits/ptr_traits.h:
+
+/usr/include/c++/5/bits/predefined_ops.h:
+
+/usr/include/c++/5/bits/stl_algo.h:
+
+/usr/include/c++/5/cstdlib:
+
+/usr/include/stdlib.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitflags.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitstatus.h:
+
+/usr/include/xlocale.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/c++/5/bits/algorithmfwd.h:
+
+/usr/include/c++/5/bits/stl_heap.h:
+
+/usr/include/c++/5/bits/stl_tempbuf.h:
+
+/usr/include/c++/5/bits/stl_construct.h:
+
+/usr/include/c++/5/new:
+
+/usr/include/c++/5/exception:
+
+/usr/include/c++/5/bits/atomic_lockfree_defines.h:
+
+/usr/include/c++/5/ext/alloc_traits.h:
+
+/usr/include/c++/5/bits/allocator.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/c++allocator.h:
+
+/usr/include/c++/5/ext/new_allocator.h:
+
+/usr/include/c++/5/bits/memoryfwd.h:
+
+/usr/include/c++/5/iostream:
+
+/usr/include/c++/5/ostream:
+
+/usr/include/c++/5/ios:
+
+/usr/include/c++/5/iosfwd:
+
+/usr/include/c++/5/bits/stringfwd.h:
+
+/usr/include/c++/5/bits/postypes.h:
+
+/usr/include/c++/5/cwchar:
+
+/usr/include/x86_64-linux-gnu/bits/wchar2.h:
+
+/usr/include/c++/5/bits/char_traits.h:
+
+/usr/include/c++/5/bits/localefwd.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/c++locale.h:
+
+/usr/include/c++/5/clocale:
+
+/usr/include/locale.h:
+
+/usr/include/x86_64-linux-gnu/bits/locale.h:
+
+/usr/include/c++/5/cctype:
+
+/usr/include/ctype.h:
+
+/usr/include/c++/5/bits/ios_base.h:
+
+/usr/include/c++/5/ext/atomicity.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/gthr.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/gthr-default.h:
+
+/usr/include/pthread.h:
+
+/usr/include/sched.h:
+
+/usr/include/x86_64-linux-gnu/bits/sched.h:
+
+/usr/include/x86_64-linux-gnu/bits/timex.h:
+
+/usr/include/x86_64-linux-gnu/bits/setjmp.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/atomic_word.h:
+
+/usr/include/c++/5/bits/locale_classes.h:
+
+/usr/include/c++/5/string:
+
+/usr/include/c++/5/bits/ostream_insert.h:
+
+/usr/include/c++/5/bits/cxxabi_forced.h:
+
+/usr/include/c++/5/bits/stl_function.h:
+
+/usr/include/c++/5/backward/binders.h:
+
+/usr/include/c++/5/bits/range_access.h:
+
+/usr/include/c++/5/bits/basic_string.h:
+
+/usr/include/c++/5/bits/basic_string.tcc:
+
+/usr/include/c++/5/bits/locale_classes.tcc:
+
+/usr/include/c++/5/stdexcept:
+
+/usr/include/c++/5/streambuf:
+
+/usr/include/c++/5/bits/streambuf.tcc:
+
+/usr/include/c++/5/bits/basic_ios.h:
+
+/usr/include/c++/5/bits/locale_facets.h:
+
+/usr/include/c++/5/cwctype:
+
+/usr/include/wctype.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/ctype_base.h:
+
+/usr/include/c++/5/bits/streambuf_iterator.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/ctype_inline.h:
+
+/usr/include/c++/5/bits/locale_facets.tcc:
+
+/usr/include/c++/5/bits/basic_ios.tcc:
+
+/usr/include/c++/5/bits/ostream.tcc:
+
+/usr/include/c++/5/istream:
+
+/usr/include/c++/5/bits/istream.tcc:
+
+/usr/include/c++/5/iomanip:
+
+/usr/include/c++/5/limits:
+
+/usr/include/c++/5/map:
+
+/usr/include/c++/5/bits/stl_tree.h:
+
+/usr/include/c++/5/bits/stl_map.h:
+
+/usr/include/c++/5/bits/stl_multimap.h:
+
+/usr/include/c++/5/set:
+
+/usr/include/c++/5/bits/stl_set.h:
+
+/usr/include/c++/5/bits/stl_multiset.h:
+
+../../modules/core/includes/MALLOC.h:
+
+../../modules/core/includes/sci_mem_alloc.h:
+
+../../modules/output_stream/includes/Scierror.h:
+
+../../modules/output_stream/includes/do_error_number.h:
+
+../../modules/core/includes/machine.h:
+
+../../modules/api_scilab/includes/api_scilab.h:
+
+../../modules/core/includes/stack-c.h:
+
+/usr/include/string.h:
+
+/usr/include/x86_64-linux-gnu/bits/string3.h:
+
+../../modules/core/includes/core_math.h:
+
+/usr/include/math.h:
+
+/usr/include/x86_64-linux-gnu/bits/math-vector.h:
+
+/usr/include/x86_64-linux-gnu/bits/libm-simd-decl-stubs.h:
+
+/usr/include/x86_64-linux-gnu/bits/huge_val.h:
+
+/usr/include/x86_64-linux-gnu/bits/huge_valf.h:
+
+/usr/include/x86_64-linux-gnu/bits/huge_vall.h:
+
+/usr/include/x86_64-linux-gnu/bits/inf.h:
+
+/usr/include/x86_64-linux-gnu/bits/nan.h:
+
+/usr/include/x86_64-linux-gnu/bits/mathdef.h:
+
+/usr/include/x86_64-linux-gnu/bits/mathcalls.h:
+
+/usr/include/x86_64-linux-gnu/bits/mathinline.h:
+
+/usr/include/values.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/float.h:
+
+../../modules/core/includes/stack-def.h:
+
+../../modules/core/includes/machine.h:
+
+../../modules/core/includes/stackTypeVariable.h:
+
+../../modules/core/includes/BOOL.h:
+
+../../modules/core/includes/doublecomplex.h:
+
+../../modules/core/includes/stack1.h:
+
+../../modules/core/includes/scisparse.h:
+
+../../modules/core/includes/stack2.h:
+
+../../modules/core/includes/stack3.h:
+
+../../modules/core/includes/stack-optional.h:
+
+../../modules/core/includes/sci_types.h:
+
+../../modules/api_scilab/includes/api_common.h:
+
+../../modules/api_scilab/includes/api_scilab.h:
+
+../../modules/api_scilab/includes/api_double.h:
+
+../../modules/core/includes/doublecomplex.h:
+
+../../modules/api_scilab/includes/api_string.h:
+
+../../modules/api_scilab/includes/api_int.h:
+
+../../modules/api_scilab/includes/api_poly.h:
+
+../../modules/api_scilab/includes/api_sparse.h:
+
+../../modules/api_scilab/includes/api_boolean.h:
+
+../../modules/api_scilab/includes/api_boolean_sparse.h:
+
+../../modules/api_scilab/includes/api_pointer.h:
+
+../../modules/api_scilab/includes/api_list.h:
+
+../../modules/api_scilab/includes/api_error.h:
+
+../../modules/api_scilab/includes/api_handle.h:
+
+../../modules/api_scilab/includes/api_optional.h:
+
+../../modules/core/includes/stack-optional.h:
+
+../../modules/api_scilab/includes/api_hypermat.h:
+
+../../modules/core/includes/core_math.h:
+
+../../modules/core/includes/sci_types.h:
+
+../../modules/localization/includes/localization.h:
+
+/usr/include/libintl.h:
+
+src/cpp/H5VariableScope.hxx:
+
+/usr/include/c++/5/stack:
+
+/usr/include/c++/5/deque:
+
+/usr/include/c++/5/bits/stl_uninitialized.h:
+
+/usr/include/c++/5/bits/stl_deque.h:
+
+/usr/include/c++/5/bits/deque.tcc:
+
+/usr/include/c++/5/bits/stl_stack.h:
+
+/usr/include/c++/5/vector:
+
+/usr/include/c++/5/bits/stl_vector.h:
+
+/usr/include/c++/5/bits/stl_bvector.h:
+
+/usr/include/c++/5/bits/vector.tcc:
+
+src/cpp/H5Exception.hxx:
+
+../../modules/core/includes/backtrace_print.h:
+
+/usr/include/c++/5/sstream:
+
+/usr/include/c++/5/bits/sstream.tcc:
+
+/usr/include/c++/5/cstdio:
+
+src/cpp/H5DataConverter.hxx:
+
+src/cpp/H5DataFactory.hxx:
+
+src/cpp/H5StringData.hxx:
+
+src/cpp/H5TimeData.hxx:
+
+src/cpp/H5BitfieldData.hxx:
+
+src/cpp/H5ReferenceData.hxx:
+
+src/cpp/H5File.hxx:
+
+/usr/include/x86_64-linux-gnu/sys/stat.h:
+
+/usr/include/x86_64-linux-gnu/bits/stat.h:
+
+src/cpp/H5Group.hxx:
+
+src/cpp/H5Type.hxx:
+
+src/cpp/H5Dataset.hxx:
+
+src/cpp/H5Dataspace.hxx:
+
+src/cpp/H5AttributesList.hxx:
+
+src/cpp/H5ListObject.hxx:
+
+src/cpp/H5Attribute.hxx:
+
+src/cpp/H5SoftLink.hxx:
+
+src/cpp/H5Link.hxx:
+
+src/cpp/H5ExternalLink.hxx:
+
+src/cpp/H5NamedObjectsList.hxx:
+
+src/cpp/H5CompoundData.hxx:
+
+src/cpp/H5OpaqueData.hxx:
+
+src/cpp/H5TransformedData.hxx:
+
+src/cpp/H5EnumData.hxx:
+
+src/cpp/H5VlenData.hxx:
+
+src/cpp/H5CharData.hxx:
+
+src/cpp/H5UnsignedCharData.hxx:
diff --git a/modules/hdf5/src/cpp/.deps/libscihdf5_algo_la-H5Attribute.Plo b/modules/hdf5/src/cpp/.deps/libscihdf5_algo_la-H5Attribute.Plo
new file mode 100755
index 000000000..99f2be73e
--- /dev/null
+++ b/modules/hdf5/src/cpp/.deps/libscihdf5_algo_la-H5Attribute.Plo
@@ -0,0 +1,802 @@
+src/cpp/libscihdf5_algo_la-H5Attribute.lo: src/cpp/H5Attribute.cpp \
+ /usr/include/stdc-predef.h src/cpp/H5Options.hxx \
+ /usr/include/c++/5/algorithm /usr/include/c++/5/utility \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/c++config.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/os_defines.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/include/x86_64-linux-gnu/c++/5/bits/cpu_defines.h \
+ /usr/include/c++/5/bits/stl_relops.h /usr/include/c++/5/bits/stl_pair.h \
+ /usr/include/c++/5/bits/move.h /usr/include/c++/5/bits/concept_check.h \
+ /usr/include/c++/5/bits/stl_algobase.h \
+ /usr/include/c++/5/bits/functexcept.h \
+ /usr/include/c++/5/bits/exception_defines.h \
+ /usr/include/c++/5/bits/cpp_type_traits.h \
+ /usr/include/c++/5/ext/type_traits.h \
+ /usr/include/c++/5/ext/numeric_traits.h \
+ /usr/include/c++/5/bits/stl_iterator_base_types.h \
+ /usr/include/c++/5/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/5/debug/debug.h /usr/include/c++/5/bits/stl_iterator.h \
+ /usr/include/c++/5/bits/ptr_traits.h \
+ /usr/include/c++/5/bits/predefined_ops.h \
+ /usr/include/c++/5/bits/stl_algo.h /usr/include/c++/5/cstdlib \
+ /usr/include/stdlib.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/xlocale.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/c++/5/bits/algorithmfwd.h \
+ /usr/include/c++/5/bits/stl_heap.h /usr/include/c++/5/bits/stl_tempbuf.h \
+ /usr/include/c++/5/bits/stl_construct.h /usr/include/c++/5/new \
+ /usr/include/c++/5/exception \
+ /usr/include/c++/5/bits/atomic_lockfree_defines.h \
+ /usr/include/c++/5/ext/alloc_traits.h \
+ /usr/include/c++/5/bits/allocator.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/c++allocator.h \
+ /usr/include/c++/5/ext/new_allocator.h \
+ /usr/include/c++/5/bits/memoryfwd.h /usr/include/c++/5/string \
+ /usr/include/c++/5/bits/stringfwd.h \
+ /usr/include/c++/5/bits/char_traits.h /usr/include/c++/5/bits/postypes.h \
+ /usr/include/c++/5/cwchar /usr/include/wchar.h /usr/include/stdio.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \
+ /usr/include/x86_64-linux-gnu/bits/wchar.h \
+ /usr/include/x86_64-linux-gnu/bits/wchar2.h \
+ /usr/include/c++/5/bits/localefwd.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/c++locale.h \
+ /usr/include/c++/5/clocale /usr/include/locale.h \
+ /usr/include/x86_64-linux-gnu/bits/locale.h /usr/include/c++/5/iosfwd \
+ /usr/include/c++/5/cctype /usr/include/ctype.h \
+ /usr/include/c++/5/bits/ostream_insert.h \
+ /usr/include/c++/5/bits/cxxabi_forced.h \
+ /usr/include/c++/5/bits/stl_function.h \
+ /usr/include/c++/5/backward/binders.h \
+ /usr/include/c++/5/bits/range_access.h \
+ /usr/include/c++/5/bits/basic_string.h \
+ /usr/include/c++/5/ext/atomicity.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/gthr.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/x86_64-linux-gnu/bits/sched.h \
+ /usr/include/x86_64-linux-gnu/bits/timex.h \
+ /usr/include/x86_64-linux-gnu/bits/setjmp.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/atomic_word.h \
+ /usr/include/c++/5/bits/basic_string.tcc src/cpp/H5Exception.hxx \
+ ../../modules/localization/includes/localization.h \
+ ../../modules/core/includes/machine.h /usr/include/libintl.h \
+ ../../modules/core/includes/backtrace_print.h includes/HDF5Objects.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/hdf5.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5public.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5pubconf.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5version.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h \
+ /usr/include/limits.h /usr/include/x86_64-linux-gnu/bits/posix1_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/local_lim.h \
+ /usr/include/linux/limits.h \
+ /usr/include/x86_64-linux-gnu/bits/posix2_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/xopen_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio_lim.h /usr/include/inttypes.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stdint.h /usr/include/stdint.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5api_adpt.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Apublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Ipublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Opublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Lpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Tpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5ACpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Cpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Dpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Epublic.h \
+ /usr/include/libio.h /usr/include/_G_config.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 \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Epubgen.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Fpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Gpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5MMpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Ppublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Zpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Rpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Spublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDcore.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDfamily.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDlog.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDmpi.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDmpio.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDmpiposix.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDmulti.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDsec2.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDstdio.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDdirect.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/hdf5_hl.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5DSpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5LTpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5IMpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5TBpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5PTpublic.h \
+ /usr/include/c++/5/sstream /usr/include/c++/5/istream \
+ /usr/include/c++/5/ios /usr/include/c++/5/bits/ios_base.h \
+ /usr/include/c++/5/bits/locale_classes.h \
+ /usr/include/c++/5/bits/locale_classes.tcc /usr/include/c++/5/stdexcept \
+ /usr/include/c++/5/streambuf /usr/include/c++/5/bits/streambuf.tcc \
+ /usr/include/c++/5/bits/basic_ios.h \
+ /usr/include/c++/5/bits/locale_facets.h /usr/include/c++/5/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/ctype_base.h \
+ /usr/include/c++/5/bits/streambuf_iterator.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/ctype_inline.h \
+ /usr/include/c++/5/bits/locale_facets.tcc \
+ /usr/include/c++/5/bits/basic_ios.tcc /usr/include/c++/5/ostream \
+ /usr/include/c++/5/bits/ostream.tcc /usr/include/c++/5/bits/istream.tcc \
+ /usr/include/c++/5/bits/sstream.tcc /usr/include/c++/5/cstdio \
+ src/cpp/H5Attribute.hxx src/cpp/H5Object.hxx /usr/include/c++/5/iostream \
+ /usr/include/c++/5/iomanip /usr/include/c++/5/limits \
+ /usr/include/c++/5/map /usr/include/c++/5/bits/stl_tree.h \
+ /usr/include/c++/5/bits/stl_map.h /usr/include/c++/5/bits/stl_multimap.h \
+ /usr/include/c++/5/set /usr/include/c++/5/bits/stl_set.h \
+ /usr/include/c++/5/bits/stl_multiset.h \
+ ../../modules/core/includes/MALLOC.h \
+ ../../modules/core/includes/sci_mem_alloc.h \
+ ../../modules/output_stream/includes/Scierror.h \
+ ../../modules/output_stream/includes/do_error_number.h \
+ ../../modules/api_scilab/includes/api_scilab.h \
+ ../../modules/core/includes/stack-c.h /usr/include/string.h \
+ /usr/include/x86_64-linux-gnu/bits/string3.h \
+ ../../modules/core/includes/core_math.h /usr/include/math.h \
+ /usr/include/x86_64-linux-gnu/bits/math-vector.h \
+ /usr/include/x86_64-linux-gnu/bits/libm-simd-decl-stubs.h \
+ /usr/include/x86_64-linux-gnu/bits/huge_val.h \
+ /usr/include/x86_64-linux-gnu/bits/huge_valf.h \
+ /usr/include/x86_64-linux-gnu/bits/huge_vall.h \
+ /usr/include/x86_64-linux-gnu/bits/inf.h \
+ /usr/include/x86_64-linux-gnu/bits/nan.h \
+ /usr/include/x86_64-linux-gnu/bits/mathdef.h \
+ /usr/include/x86_64-linux-gnu/bits/mathcalls.h \
+ /usr/include/x86_64-linux-gnu/bits/mathinline.h /usr/include/values.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/float.h \
+ ../../modules/core/includes/stack-def.h \
+ ../../modules/core/includes/machine.h \
+ ../../modules/core/includes/stackTypeVariable.h \
+ ../../modules/core/includes/BOOL.h \
+ ../../modules/core/includes/doublecomplex.h \
+ ../../modules/core/includes/stack1.h \
+ ../../modules/core/includes/scisparse.h \
+ ../../modules/core/includes/stack2.h \
+ ../../modules/core/includes/stack3.h \
+ ../../modules/core/includes/stack-optional.h \
+ ../../modules/core/includes/sci_types.h \
+ ../../modules/api_scilab/includes/api_common.h \
+ ../../modules/api_scilab/includes/api_scilab.h \
+ ../../modules/api_scilab/includes/api_double.h \
+ ../../modules/core/includes/doublecomplex.h \
+ ../../modules/api_scilab/includes/api_string.h \
+ ../../modules/api_scilab/includes/api_int.h \
+ ../../modules/api_scilab/includes/api_poly.h \
+ ../../modules/api_scilab/includes/api_sparse.h \
+ ../../modules/api_scilab/includes/api_boolean.h \
+ ../../modules/api_scilab/includes/api_boolean_sparse.h \
+ ../../modules/api_scilab/includes/api_pointer.h \
+ ../../modules/api_scilab/includes/api_list.h \
+ ../../modules/api_scilab/includes/api_error.h \
+ ../../modules/api_scilab/includes/api_handle.h \
+ ../../modules/api_scilab/includes/api_optional.h \
+ ../../modules/core/includes/stack-optional.h \
+ ../../modules/api_scilab/includes/api_hypermat.h \
+ ../../modules/core/includes/core_math.h \
+ ../../modules/core/includes/sci_types.h src/cpp/H5VariableScope.hxx \
+ /usr/include/c++/5/stack /usr/include/c++/5/deque \
+ /usr/include/c++/5/bits/stl_uninitialized.h \
+ /usr/include/c++/5/bits/stl_deque.h /usr/include/c++/5/bits/deque.tcc \
+ /usr/include/c++/5/bits/stl_stack.h /usr/include/c++/5/vector \
+ /usr/include/c++/5/bits/stl_vector.h \
+ /usr/include/c++/5/bits/stl_bvector.h /usr/include/c++/5/bits/vector.tcc \
+ src/cpp/H5Type.hxx src/cpp/H5File.hxx \
+ /usr/include/x86_64-linux-gnu/sys/stat.h \
+ /usr/include/x86_64-linux-gnu/bits/stat.h src/cpp/H5Data.hxx \
+ src/cpp/H5Dataspace.hxx src/cpp/H5DataFactory.hxx \
+ src/cpp/H5StringData.hxx src/cpp/H5BasicData.hxx \
+ src/cpp/H5DataConverter.hxx src/cpp/H5TimeData.hxx \
+ src/cpp/H5BitfieldData.hxx src/cpp/H5ReferenceData.hxx \
+ src/cpp/H5Group.hxx src/cpp/H5Dataset.hxx src/cpp/H5AttributesList.hxx \
+ src/cpp/H5ListObject.hxx src/cpp/H5SoftLink.hxx src/cpp/H5Link.hxx \
+ src/cpp/H5ExternalLink.hxx src/cpp/H5NamedObjectsList.hxx \
+ src/cpp/H5CompoundData.hxx src/cpp/H5ArrayData.hxx \
+ src/cpp/H5OpaqueData.hxx src/cpp/H5TransformedData.hxx \
+ src/cpp/H5EnumData.hxx src/cpp/H5VlenData.hxx src/cpp/H5CharData.hxx \
+ src/cpp/H5UnsignedCharData.hxx
+
+/usr/include/stdc-predef.h:
+
+src/cpp/H5Options.hxx:
+
+/usr/include/c++/5/algorithm:
+
+/usr/include/c++/5/utility:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/c++config.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/os_defines.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/include/x86_64-linux-gnu/c++/5/bits/cpu_defines.h:
+
+/usr/include/c++/5/bits/stl_relops.h:
+
+/usr/include/c++/5/bits/stl_pair.h:
+
+/usr/include/c++/5/bits/move.h:
+
+/usr/include/c++/5/bits/concept_check.h:
+
+/usr/include/c++/5/bits/stl_algobase.h:
+
+/usr/include/c++/5/bits/functexcept.h:
+
+/usr/include/c++/5/bits/exception_defines.h:
+
+/usr/include/c++/5/bits/cpp_type_traits.h:
+
+/usr/include/c++/5/ext/type_traits.h:
+
+/usr/include/c++/5/ext/numeric_traits.h:
+
+/usr/include/c++/5/bits/stl_iterator_base_types.h:
+
+/usr/include/c++/5/bits/stl_iterator_base_funcs.h:
+
+/usr/include/c++/5/debug/debug.h:
+
+/usr/include/c++/5/bits/stl_iterator.h:
+
+/usr/include/c++/5/bits/ptr_traits.h:
+
+/usr/include/c++/5/bits/predefined_ops.h:
+
+/usr/include/c++/5/bits/stl_algo.h:
+
+/usr/include/c++/5/cstdlib:
+
+/usr/include/stdlib.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/xlocale.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/c++/5/bits/algorithmfwd.h:
+
+/usr/include/c++/5/bits/stl_heap.h:
+
+/usr/include/c++/5/bits/stl_tempbuf.h:
+
+/usr/include/c++/5/bits/stl_construct.h:
+
+/usr/include/c++/5/new:
+
+/usr/include/c++/5/exception:
+
+/usr/include/c++/5/bits/atomic_lockfree_defines.h:
+
+/usr/include/c++/5/ext/alloc_traits.h:
+
+/usr/include/c++/5/bits/allocator.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/c++allocator.h:
+
+/usr/include/c++/5/ext/new_allocator.h:
+
+/usr/include/c++/5/bits/memoryfwd.h:
+
+/usr/include/c++/5/string:
+
+/usr/include/c++/5/bits/stringfwd.h:
+
+/usr/include/c++/5/bits/char_traits.h:
+
+/usr/include/c++/5/bits/postypes.h:
+
+/usr/include/c++/5/cwchar:
+
+/usr/include/wchar.h:
+
+/usr/include/stdio.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h:
+
+/usr/include/x86_64-linux-gnu/bits/wchar.h:
+
+/usr/include/x86_64-linux-gnu/bits/wchar2.h:
+
+/usr/include/c++/5/bits/localefwd.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/c++locale.h:
+
+/usr/include/c++/5/clocale:
+
+/usr/include/locale.h:
+
+/usr/include/x86_64-linux-gnu/bits/locale.h:
+
+/usr/include/c++/5/iosfwd:
+
+/usr/include/c++/5/cctype:
+
+/usr/include/ctype.h:
+
+/usr/include/c++/5/bits/ostream_insert.h:
+
+/usr/include/c++/5/bits/cxxabi_forced.h:
+
+/usr/include/c++/5/bits/stl_function.h:
+
+/usr/include/c++/5/backward/binders.h:
+
+/usr/include/c++/5/bits/range_access.h:
+
+/usr/include/c++/5/bits/basic_string.h:
+
+/usr/include/c++/5/ext/atomicity.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/gthr.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/gthr-default.h:
+
+/usr/include/pthread.h:
+
+/usr/include/sched.h:
+
+/usr/include/x86_64-linux-gnu/bits/sched.h:
+
+/usr/include/x86_64-linux-gnu/bits/timex.h:
+
+/usr/include/x86_64-linux-gnu/bits/setjmp.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/atomic_word.h:
+
+/usr/include/c++/5/bits/basic_string.tcc:
+
+src/cpp/H5Exception.hxx:
+
+../../modules/localization/includes/localization.h:
+
+../../modules/core/includes/machine.h:
+
+/usr/include/libintl.h:
+
+../../modules/core/includes/backtrace_print.h:
+
+includes/HDF5Objects.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/hdf5.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5public.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5pubconf.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5version.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h:
+
+/usr/include/limits.h:
+
+/usr/include/x86_64-linux-gnu/bits/posix1_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/local_lim.h:
+
+/usr/include/linux/limits.h:
+
+/usr/include/x86_64-linux-gnu/bits/posix2_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/xopen_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio_lim.h:
+
+/usr/include/inttypes.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stdint.h:
+
+/usr/include/stdint.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5api_adpt.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Apublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Ipublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Opublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Lpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Tpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5ACpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Cpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Dpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Epublic.h:
+
+/usr/include/libio.h:
+
+/usr/include/_G_config.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:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Epubgen.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Fpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Gpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5MMpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Ppublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Zpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Rpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Spublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDcore.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDfamily.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDlog.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDmpi.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDmpio.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDmpiposix.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDmulti.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDsec2.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDstdio.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDdirect.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/hdf5_hl.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5DSpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5LTpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5IMpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5TBpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5PTpublic.h:
+
+/usr/include/c++/5/sstream:
+
+/usr/include/c++/5/istream:
+
+/usr/include/c++/5/ios:
+
+/usr/include/c++/5/bits/ios_base.h:
+
+/usr/include/c++/5/bits/locale_classes.h:
+
+/usr/include/c++/5/bits/locale_classes.tcc:
+
+/usr/include/c++/5/stdexcept:
+
+/usr/include/c++/5/streambuf:
+
+/usr/include/c++/5/bits/streambuf.tcc:
+
+/usr/include/c++/5/bits/basic_ios.h:
+
+/usr/include/c++/5/bits/locale_facets.h:
+
+/usr/include/c++/5/cwctype:
+
+/usr/include/wctype.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/ctype_base.h:
+
+/usr/include/c++/5/bits/streambuf_iterator.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/ctype_inline.h:
+
+/usr/include/c++/5/bits/locale_facets.tcc:
+
+/usr/include/c++/5/bits/basic_ios.tcc:
+
+/usr/include/c++/5/ostream:
+
+/usr/include/c++/5/bits/ostream.tcc:
+
+/usr/include/c++/5/bits/istream.tcc:
+
+/usr/include/c++/5/bits/sstream.tcc:
+
+/usr/include/c++/5/cstdio:
+
+src/cpp/H5Attribute.hxx:
+
+src/cpp/H5Object.hxx:
+
+/usr/include/c++/5/iostream:
+
+/usr/include/c++/5/iomanip:
+
+/usr/include/c++/5/limits:
+
+/usr/include/c++/5/map:
+
+/usr/include/c++/5/bits/stl_tree.h:
+
+/usr/include/c++/5/bits/stl_map.h:
+
+/usr/include/c++/5/bits/stl_multimap.h:
+
+/usr/include/c++/5/set:
+
+/usr/include/c++/5/bits/stl_set.h:
+
+/usr/include/c++/5/bits/stl_multiset.h:
+
+../../modules/core/includes/MALLOC.h:
+
+../../modules/core/includes/sci_mem_alloc.h:
+
+../../modules/output_stream/includes/Scierror.h:
+
+../../modules/output_stream/includes/do_error_number.h:
+
+../../modules/api_scilab/includes/api_scilab.h:
+
+../../modules/core/includes/stack-c.h:
+
+/usr/include/string.h:
+
+/usr/include/x86_64-linux-gnu/bits/string3.h:
+
+../../modules/core/includes/core_math.h:
+
+/usr/include/math.h:
+
+/usr/include/x86_64-linux-gnu/bits/math-vector.h:
+
+/usr/include/x86_64-linux-gnu/bits/libm-simd-decl-stubs.h:
+
+/usr/include/x86_64-linux-gnu/bits/huge_val.h:
+
+/usr/include/x86_64-linux-gnu/bits/huge_valf.h:
+
+/usr/include/x86_64-linux-gnu/bits/huge_vall.h:
+
+/usr/include/x86_64-linux-gnu/bits/inf.h:
+
+/usr/include/x86_64-linux-gnu/bits/nan.h:
+
+/usr/include/x86_64-linux-gnu/bits/mathdef.h:
+
+/usr/include/x86_64-linux-gnu/bits/mathcalls.h:
+
+/usr/include/x86_64-linux-gnu/bits/mathinline.h:
+
+/usr/include/values.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/float.h:
+
+../../modules/core/includes/stack-def.h:
+
+../../modules/core/includes/machine.h:
+
+../../modules/core/includes/stackTypeVariable.h:
+
+../../modules/core/includes/BOOL.h:
+
+../../modules/core/includes/doublecomplex.h:
+
+../../modules/core/includes/stack1.h:
+
+../../modules/core/includes/scisparse.h:
+
+../../modules/core/includes/stack2.h:
+
+../../modules/core/includes/stack3.h:
+
+../../modules/core/includes/stack-optional.h:
+
+../../modules/core/includes/sci_types.h:
+
+../../modules/api_scilab/includes/api_common.h:
+
+../../modules/api_scilab/includes/api_scilab.h:
+
+../../modules/api_scilab/includes/api_double.h:
+
+../../modules/core/includes/doublecomplex.h:
+
+../../modules/api_scilab/includes/api_string.h:
+
+../../modules/api_scilab/includes/api_int.h:
+
+../../modules/api_scilab/includes/api_poly.h:
+
+../../modules/api_scilab/includes/api_sparse.h:
+
+../../modules/api_scilab/includes/api_boolean.h:
+
+../../modules/api_scilab/includes/api_boolean_sparse.h:
+
+../../modules/api_scilab/includes/api_pointer.h:
+
+../../modules/api_scilab/includes/api_list.h:
+
+../../modules/api_scilab/includes/api_error.h:
+
+../../modules/api_scilab/includes/api_handle.h:
+
+../../modules/api_scilab/includes/api_optional.h:
+
+../../modules/core/includes/stack-optional.h:
+
+../../modules/api_scilab/includes/api_hypermat.h:
+
+../../modules/core/includes/core_math.h:
+
+../../modules/core/includes/sci_types.h:
+
+src/cpp/H5VariableScope.hxx:
+
+/usr/include/c++/5/stack:
+
+/usr/include/c++/5/deque:
+
+/usr/include/c++/5/bits/stl_uninitialized.h:
+
+/usr/include/c++/5/bits/stl_deque.h:
+
+/usr/include/c++/5/bits/deque.tcc:
+
+/usr/include/c++/5/bits/stl_stack.h:
+
+/usr/include/c++/5/vector:
+
+/usr/include/c++/5/bits/stl_vector.h:
+
+/usr/include/c++/5/bits/stl_bvector.h:
+
+/usr/include/c++/5/bits/vector.tcc:
+
+src/cpp/H5Type.hxx:
+
+src/cpp/H5File.hxx:
+
+/usr/include/x86_64-linux-gnu/sys/stat.h:
+
+/usr/include/x86_64-linux-gnu/bits/stat.h:
+
+src/cpp/H5Data.hxx:
+
+src/cpp/H5Dataspace.hxx:
+
+src/cpp/H5DataFactory.hxx:
+
+src/cpp/H5StringData.hxx:
+
+src/cpp/H5BasicData.hxx:
+
+src/cpp/H5DataConverter.hxx:
+
+src/cpp/H5TimeData.hxx:
+
+src/cpp/H5BitfieldData.hxx:
+
+src/cpp/H5ReferenceData.hxx:
+
+src/cpp/H5Group.hxx:
+
+src/cpp/H5Dataset.hxx:
+
+src/cpp/H5AttributesList.hxx:
+
+src/cpp/H5ListObject.hxx:
+
+src/cpp/H5SoftLink.hxx:
+
+src/cpp/H5Link.hxx:
+
+src/cpp/H5ExternalLink.hxx:
+
+src/cpp/H5NamedObjectsList.hxx:
+
+src/cpp/H5CompoundData.hxx:
+
+src/cpp/H5ArrayData.hxx:
+
+src/cpp/H5OpaqueData.hxx:
+
+src/cpp/H5TransformedData.hxx:
+
+src/cpp/H5EnumData.hxx:
+
+src/cpp/H5VlenData.hxx:
+
+src/cpp/H5CharData.hxx:
+
+src/cpp/H5UnsignedCharData.hxx:
diff --git a/modules/hdf5/src/cpp/.deps/libscihdf5_algo_la-H5AttributesList.Plo b/modules/hdf5/src/cpp/.deps/libscihdf5_algo_la-H5AttributesList.Plo
new file mode 100755
index 000000000..f9f53479a
--- /dev/null
+++ b/modules/hdf5/src/cpp/.deps/libscihdf5_algo_la-H5AttributesList.Plo
@@ -0,0 +1,750 @@
+src/cpp/libscihdf5_algo_la-H5AttributesList.lo: \
+ src/cpp/H5AttributesList.cpp /usr/include/stdc-predef.h \
+ src/cpp/H5AttributesList.hxx src/cpp/H5ListObject.hxx \
+ src/cpp/H5Object.hxx includes/HDF5Objects.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/hdf5.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5public.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5pubconf.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5version.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/include/x86_64-linux-gnu/sys/types.h \
+ /usr/include/x86_64-linux-gnu/bits/types.h \
+ /usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/time.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.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/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/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h \
+ /usr/include/limits.h /usr/include/x86_64-linux-gnu/bits/posix1_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/local_lim.h \
+ /usr/include/linux/limits.h \
+ /usr/include/x86_64-linux-gnu/bits/posix2_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/xopen_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio_lim.h /usr/include/inttypes.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stdint.h /usr/include/stdint.h \
+ /usr/include/x86_64-linux-gnu/bits/wchar.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5api_adpt.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Apublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Ipublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Opublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Lpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Tpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5ACpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Cpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Dpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Epublic.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/sys_errlist.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio2.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Epubgen.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Fpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Gpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5MMpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Ppublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Zpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Rpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Spublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDcore.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDfamily.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDlog.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDmpi.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDmpio.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDmpiposix.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDmulti.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDsec2.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDstdio.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDdirect.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/hdf5_hl.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5DSpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5LTpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5IMpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5TBpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5PTpublic.h \
+ /usr/include/c++/5/algorithm /usr/include/c++/5/utility \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/c++config.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/os_defines.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/cpu_defines.h \
+ /usr/include/c++/5/bits/stl_relops.h /usr/include/c++/5/bits/stl_pair.h \
+ /usr/include/c++/5/bits/move.h /usr/include/c++/5/bits/concept_check.h \
+ /usr/include/c++/5/bits/stl_algobase.h \
+ /usr/include/c++/5/bits/functexcept.h \
+ /usr/include/c++/5/bits/exception_defines.h \
+ /usr/include/c++/5/bits/cpp_type_traits.h \
+ /usr/include/c++/5/ext/type_traits.h \
+ /usr/include/c++/5/ext/numeric_traits.h \
+ /usr/include/c++/5/bits/stl_iterator_base_types.h \
+ /usr/include/c++/5/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/5/debug/debug.h /usr/include/c++/5/bits/stl_iterator.h \
+ /usr/include/c++/5/bits/ptr_traits.h \
+ /usr/include/c++/5/bits/predefined_ops.h \
+ /usr/include/c++/5/bits/stl_algo.h /usr/include/c++/5/cstdlib \
+ /usr/include/stdlib.h /usr/include/x86_64-linux-gnu/bits/waitflags.h \
+ /usr/include/x86_64-linux-gnu/bits/waitstatus.h /usr/include/xlocale.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/c++/5/bits/algorithmfwd.h \
+ /usr/include/c++/5/bits/stl_heap.h /usr/include/c++/5/bits/stl_tempbuf.h \
+ /usr/include/c++/5/bits/stl_construct.h /usr/include/c++/5/new \
+ /usr/include/c++/5/exception \
+ /usr/include/c++/5/bits/atomic_lockfree_defines.h \
+ /usr/include/c++/5/ext/alloc_traits.h \
+ /usr/include/c++/5/bits/allocator.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/c++allocator.h \
+ /usr/include/c++/5/ext/new_allocator.h \
+ /usr/include/c++/5/bits/memoryfwd.h /usr/include/c++/5/iostream \
+ /usr/include/c++/5/ostream /usr/include/c++/5/ios \
+ /usr/include/c++/5/iosfwd /usr/include/c++/5/bits/stringfwd.h \
+ /usr/include/c++/5/bits/postypes.h /usr/include/c++/5/cwchar \
+ /usr/include/x86_64-linux-gnu/bits/wchar2.h \
+ /usr/include/c++/5/bits/char_traits.h \
+ /usr/include/c++/5/bits/localefwd.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/c++locale.h \
+ /usr/include/c++/5/clocale /usr/include/locale.h \
+ /usr/include/x86_64-linux-gnu/bits/locale.h /usr/include/c++/5/cctype \
+ /usr/include/ctype.h /usr/include/c++/5/bits/ios_base.h \
+ /usr/include/c++/5/ext/atomicity.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/gthr.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/x86_64-linux-gnu/bits/sched.h \
+ /usr/include/x86_64-linux-gnu/bits/timex.h \
+ /usr/include/x86_64-linux-gnu/bits/setjmp.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/atomic_word.h \
+ /usr/include/c++/5/bits/locale_classes.h /usr/include/c++/5/string \
+ /usr/include/c++/5/bits/ostream_insert.h \
+ /usr/include/c++/5/bits/cxxabi_forced.h \
+ /usr/include/c++/5/bits/stl_function.h \
+ /usr/include/c++/5/backward/binders.h \
+ /usr/include/c++/5/bits/range_access.h \
+ /usr/include/c++/5/bits/basic_string.h \
+ /usr/include/c++/5/bits/basic_string.tcc \
+ /usr/include/c++/5/bits/locale_classes.tcc /usr/include/c++/5/stdexcept \
+ /usr/include/c++/5/streambuf /usr/include/c++/5/bits/streambuf.tcc \
+ /usr/include/c++/5/bits/basic_ios.h \
+ /usr/include/c++/5/bits/locale_facets.h /usr/include/c++/5/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/ctype_base.h \
+ /usr/include/c++/5/bits/streambuf_iterator.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/ctype_inline.h \
+ /usr/include/c++/5/bits/locale_facets.tcc \
+ /usr/include/c++/5/bits/basic_ios.tcc \
+ /usr/include/c++/5/bits/ostream.tcc /usr/include/c++/5/istream \
+ /usr/include/c++/5/bits/istream.tcc /usr/include/c++/5/iomanip \
+ /usr/include/c++/5/limits /usr/include/c++/5/map \
+ /usr/include/c++/5/bits/stl_tree.h /usr/include/c++/5/bits/stl_map.h \
+ /usr/include/c++/5/bits/stl_multimap.h /usr/include/c++/5/set \
+ /usr/include/c++/5/bits/stl_set.h /usr/include/c++/5/bits/stl_multiset.h \
+ ../../modules/core/includes/MALLOC.h \
+ ../../modules/core/includes/sci_mem_alloc.h \
+ ../../modules/output_stream/includes/Scierror.h \
+ ../../modules/output_stream/includes/do_error_number.h \
+ ../../modules/core/includes/machine.h \
+ ../../modules/api_scilab/includes/api_scilab.h \
+ ../../modules/core/includes/stack-c.h /usr/include/string.h \
+ /usr/include/x86_64-linux-gnu/bits/string3.h \
+ ../../modules/core/includes/core_math.h /usr/include/math.h \
+ /usr/include/x86_64-linux-gnu/bits/math-vector.h \
+ /usr/include/x86_64-linux-gnu/bits/libm-simd-decl-stubs.h \
+ /usr/include/x86_64-linux-gnu/bits/huge_val.h \
+ /usr/include/x86_64-linux-gnu/bits/huge_valf.h \
+ /usr/include/x86_64-linux-gnu/bits/huge_vall.h \
+ /usr/include/x86_64-linux-gnu/bits/inf.h \
+ /usr/include/x86_64-linux-gnu/bits/nan.h \
+ /usr/include/x86_64-linux-gnu/bits/mathdef.h \
+ /usr/include/x86_64-linux-gnu/bits/mathcalls.h \
+ /usr/include/x86_64-linux-gnu/bits/mathinline.h /usr/include/values.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/float.h \
+ ../../modules/core/includes/stack-def.h \
+ ../../modules/core/includes/machine.h \
+ ../../modules/core/includes/stackTypeVariable.h \
+ ../../modules/core/includes/BOOL.h \
+ ../../modules/core/includes/doublecomplex.h \
+ ../../modules/core/includes/stack1.h \
+ ../../modules/core/includes/scisparse.h \
+ ../../modules/core/includes/stack2.h \
+ ../../modules/core/includes/stack3.h \
+ ../../modules/core/includes/stack-optional.h \
+ ../../modules/core/includes/sci_types.h \
+ ../../modules/api_scilab/includes/api_common.h \
+ ../../modules/api_scilab/includes/api_scilab.h \
+ ../../modules/api_scilab/includes/api_double.h \
+ ../../modules/core/includes/doublecomplex.h \
+ ../../modules/api_scilab/includes/api_string.h \
+ ../../modules/api_scilab/includes/api_int.h \
+ ../../modules/api_scilab/includes/api_poly.h \
+ ../../modules/api_scilab/includes/api_sparse.h \
+ ../../modules/api_scilab/includes/api_boolean.h \
+ ../../modules/api_scilab/includes/api_boolean_sparse.h \
+ ../../modules/api_scilab/includes/api_pointer.h \
+ ../../modules/api_scilab/includes/api_list.h \
+ ../../modules/api_scilab/includes/api_error.h \
+ ../../modules/api_scilab/includes/api_handle.h \
+ ../../modules/api_scilab/includes/api_optional.h \
+ ../../modules/core/includes/stack-optional.h \
+ ../../modules/api_scilab/includes/api_hypermat.h \
+ ../../modules/core/includes/core_math.h \
+ ../../modules/core/includes/sci_types.h \
+ ../../modules/localization/includes/localization.h \
+ /usr/include/libintl.h src/cpp/H5VariableScope.hxx \
+ /usr/include/c++/5/stack /usr/include/c++/5/deque \
+ /usr/include/c++/5/bits/stl_uninitialized.h \
+ /usr/include/c++/5/bits/stl_deque.h /usr/include/c++/5/bits/deque.tcc \
+ /usr/include/c++/5/bits/stl_stack.h /usr/include/c++/5/vector \
+ /usr/include/c++/5/bits/stl_vector.h \
+ /usr/include/c++/5/bits/stl_bvector.h /usr/include/c++/5/bits/vector.tcc \
+ src/cpp/H5Exception.hxx ../../modules/core/includes/backtrace_print.h \
+ /usr/include/c++/5/sstream /usr/include/c++/5/bits/sstream.tcc \
+ /usr/include/c++/5/cstdio src/cpp/H5Attribute.hxx src/cpp/H5Type.hxx \
+ src/cpp/H5File.hxx /usr/include/x86_64-linux-gnu/sys/stat.h \
+ /usr/include/x86_64-linux-gnu/bits/stat.h src/cpp/H5Data.hxx \
+ src/cpp/H5Dataspace.hxx
+
+/usr/include/stdc-predef.h:
+
+src/cpp/H5AttributesList.hxx:
+
+src/cpp/H5ListObject.hxx:
+
+src/cpp/H5Object.hxx:
+
+includes/HDF5Objects.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/hdf5.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5public.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5pubconf.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5version.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/include/x86_64-linux-gnu/sys/types.h:
+
+/usr/include/x86_64-linux-gnu/bits/types.h:
+
+/usr/include/x86_64-linux-gnu/bits/typesizes.h:
+
+/usr/include/time.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.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/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/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h:
+
+/usr/include/limits.h:
+
+/usr/include/x86_64-linux-gnu/bits/posix1_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/local_lim.h:
+
+/usr/include/linux/limits.h:
+
+/usr/include/x86_64-linux-gnu/bits/posix2_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/xopen_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio_lim.h:
+
+/usr/include/inttypes.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stdint.h:
+
+/usr/include/stdint.h:
+
+/usr/include/x86_64-linux-gnu/bits/wchar.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5api_adpt.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Apublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Ipublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Opublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Lpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Tpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5ACpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Cpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Dpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Epublic.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/sys_errlist.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio2.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Epubgen.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Fpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Gpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5MMpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Ppublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Zpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Rpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Spublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDcore.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDfamily.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDlog.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDmpi.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDmpio.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDmpiposix.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDmulti.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDsec2.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDstdio.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDdirect.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/hdf5_hl.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5DSpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5LTpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5IMpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5TBpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5PTpublic.h:
+
+/usr/include/c++/5/algorithm:
+
+/usr/include/c++/5/utility:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/c++config.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/os_defines.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/cpu_defines.h:
+
+/usr/include/c++/5/bits/stl_relops.h:
+
+/usr/include/c++/5/bits/stl_pair.h:
+
+/usr/include/c++/5/bits/move.h:
+
+/usr/include/c++/5/bits/concept_check.h:
+
+/usr/include/c++/5/bits/stl_algobase.h:
+
+/usr/include/c++/5/bits/functexcept.h:
+
+/usr/include/c++/5/bits/exception_defines.h:
+
+/usr/include/c++/5/bits/cpp_type_traits.h:
+
+/usr/include/c++/5/ext/type_traits.h:
+
+/usr/include/c++/5/ext/numeric_traits.h:
+
+/usr/include/c++/5/bits/stl_iterator_base_types.h:
+
+/usr/include/c++/5/bits/stl_iterator_base_funcs.h:
+
+/usr/include/c++/5/debug/debug.h:
+
+/usr/include/c++/5/bits/stl_iterator.h:
+
+/usr/include/c++/5/bits/ptr_traits.h:
+
+/usr/include/c++/5/bits/predefined_ops.h:
+
+/usr/include/c++/5/bits/stl_algo.h:
+
+/usr/include/c++/5/cstdlib:
+
+/usr/include/stdlib.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitflags.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitstatus.h:
+
+/usr/include/xlocale.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/c++/5/bits/algorithmfwd.h:
+
+/usr/include/c++/5/bits/stl_heap.h:
+
+/usr/include/c++/5/bits/stl_tempbuf.h:
+
+/usr/include/c++/5/bits/stl_construct.h:
+
+/usr/include/c++/5/new:
+
+/usr/include/c++/5/exception:
+
+/usr/include/c++/5/bits/atomic_lockfree_defines.h:
+
+/usr/include/c++/5/ext/alloc_traits.h:
+
+/usr/include/c++/5/bits/allocator.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/c++allocator.h:
+
+/usr/include/c++/5/ext/new_allocator.h:
+
+/usr/include/c++/5/bits/memoryfwd.h:
+
+/usr/include/c++/5/iostream:
+
+/usr/include/c++/5/ostream:
+
+/usr/include/c++/5/ios:
+
+/usr/include/c++/5/iosfwd:
+
+/usr/include/c++/5/bits/stringfwd.h:
+
+/usr/include/c++/5/bits/postypes.h:
+
+/usr/include/c++/5/cwchar:
+
+/usr/include/x86_64-linux-gnu/bits/wchar2.h:
+
+/usr/include/c++/5/bits/char_traits.h:
+
+/usr/include/c++/5/bits/localefwd.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/c++locale.h:
+
+/usr/include/c++/5/clocale:
+
+/usr/include/locale.h:
+
+/usr/include/x86_64-linux-gnu/bits/locale.h:
+
+/usr/include/c++/5/cctype:
+
+/usr/include/ctype.h:
+
+/usr/include/c++/5/bits/ios_base.h:
+
+/usr/include/c++/5/ext/atomicity.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/gthr.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/gthr-default.h:
+
+/usr/include/pthread.h:
+
+/usr/include/sched.h:
+
+/usr/include/x86_64-linux-gnu/bits/sched.h:
+
+/usr/include/x86_64-linux-gnu/bits/timex.h:
+
+/usr/include/x86_64-linux-gnu/bits/setjmp.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/atomic_word.h:
+
+/usr/include/c++/5/bits/locale_classes.h:
+
+/usr/include/c++/5/string:
+
+/usr/include/c++/5/bits/ostream_insert.h:
+
+/usr/include/c++/5/bits/cxxabi_forced.h:
+
+/usr/include/c++/5/bits/stl_function.h:
+
+/usr/include/c++/5/backward/binders.h:
+
+/usr/include/c++/5/bits/range_access.h:
+
+/usr/include/c++/5/bits/basic_string.h:
+
+/usr/include/c++/5/bits/basic_string.tcc:
+
+/usr/include/c++/5/bits/locale_classes.tcc:
+
+/usr/include/c++/5/stdexcept:
+
+/usr/include/c++/5/streambuf:
+
+/usr/include/c++/5/bits/streambuf.tcc:
+
+/usr/include/c++/5/bits/basic_ios.h:
+
+/usr/include/c++/5/bits/locale_facets.h:
+
+/usr/include/c++/5/cwctype:
+
+/usr/include/wctype.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/ctype_base.h:
+
+/usr/include/c++/5/bits/streambuf_iterator.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/ctype_inline.h:
+
+/usr/include/c++/5/bits/locale_facets.tcc:
+
+/usr/include/c++/5/bits/basic_ios.tcc:
+
+/usr/include/c++/5/bits/ostream.tcc:
+
+/usr/include/c++/5/istream:
+
+/usr/include/c++/5/bits/istream.tcc:
+
+/usr/include/c++/5/iomanip:
+
+/usr/include/c++/5/limits:
+
+/usr/include/c++/5/map:
+
+/usr/include/c++/5/bits/stl_tree.h:
+
+/usr/include/c++/5/bits/stl_map.h:
+
+/usr/include/c++/5/bits/stl_multimap.h:
+
+/usr/include/c++/5/set:
+
+/usr/include/c++/5/bits/stl_set.h:
+
+/usr/include/c++/5/bits/stl_multiset.h:
+
+../../modules/core/includes/MALLOC.h:
+
+../../modules/core/includes/sci_mem_alloc.h:
+
+../../modules/output_stream/includes/Scierror.h:
+
+../../modules/output_stream/includes/do_error_number.h:
+
+../../modules/core/includes/machine.h:
+
+../../modules/api_scilab/includes/api_scilab.h:
+
+../../modules/core/includes/stack-c.h:
+
+/usr/include/string.h:
+
+/usr/include/x86_64-linux-gnu/bits/string3.h:
+
+../../modules/core/includes/core_math.h:
+
+/usr/include/math.h:
+
+/usr/include/x86_64-linux-gnu/bits/math-vector.h:
+
+/usr/include/x86_64-linux-gnu/bits/libm-simd-decl-stubs.h:
+
+/usr/include/x86_64-linux-gnu/bits/huge_val.h:
+
+/usr/include/x86_64-linux-gnu/bits/huge_valf.h:
+
+/usr/include/x86_64-linux-gnu/bits/huge_vall.h:
+
+/usr/include/x86_64-linux-gnu/bits/inf.h:
+
+/usr/include/x86_64-linux-gnu/bits/nan.h:
+
+/usr/include/x86_64-linux-gnu/bits/mathdef.h:
+
+/usr/include/x86_64-linux-gnu/bits/mathcalls.h:
+
+/usr/include/x86_64-linux-gnu/bits/mathinline.h:
+
+/usr/include/values.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/float.h:
+
+../../modules/core/includes/stack-def.h:
+
+../../modules/core/includes/machine.h:
+
+../../modules/core/includes/stackTypeVariable.h:
+
+../../modules/core/includes/BOOL.h:
+
+../../modules/core/includes/doublecomplex.h:
+
+../../modules/core/includes/stack1.h:
+
+../../modules/core/includes/scisparse.h:
+
+../../modules/core/includes/stack2.h:
+
+../../modules/core/includes/stack3.h:
+
+../../modules/core/includes/stack-optional.h:
+
+../../modules/core/includes/sci_types.h:
+
+../../modules/api_scilab/includes/api_common.h:
+
+../../modules/api_scilab/includes/api_scilab.h:
+
+../../modules/api_scilab/includes/api_double.h:
+
+../../modules/core/includes/doublecomplex.h:
+
+../../modules/api_scilab/includes/api_string.h:
+
+../../modules/api_scilab/includes/api_int.h:
+
+../../modules/api_scilab/includes/api_poly.h:
+
+../../modules/api_scilab/includes/api_sparse.h:
+
+../../modules/api_scilab/includes/api_boolean.h:
+
+../../modules/api_scilab/includes/api_boolean_sparse.h:
+
+../../modules/api_scilab/includes/api_pointer.h:
+
+../../modules/api_scilab/includes/api_list.h:
+
+../../modules/api_scilab/includes/api_error.h:
+
+../../modules/api_scilab/includes/api_handle.h:
+
+../../modules/api_scilab/includes/api_optional.h:
+
+../../modules/core/includes/stack-optional.h:
+
+../../modules/api_scilab/includes/api_hypermat.h:
+
+../../modules/core/includes/core_math.h:
+
+../../modules/core/includes/sci_types.h:
+
+../../modules/localization/includes/localization.h:
+
+/usr/include/libintl.h:
+
+src/cpp/H5VariableScope.hxx:
+
+/usr/include/c++/5/stack:
+
+/usr/include/c++/5/deque:
+
+/usr/include/c++/5/bits/stl_uninitialized.h:
+
+/usr/include/c++/5/bits/stl_deque.h:
+
+/usr/include/c++/5/bits/deque.tcc:
+
+/usr/include/c++/5/bits/stl_stack.h:
+
+/usr/include/c++/5/vector:
+
+/usr/include/c++/5/bits/stl_vector.h:
+
+/usr/include/c++/5/bits/stl_bvector.h:
+
+/usr/include/c++/5/bits/vector.tcc:
+
+src/cpp/H5Exception.hxx:
+
+../../modules/core/includes/backtrace_print.h:
+
+/usr/include/c++/5/sstream:
+
+/usr/include/c++/5/bits/sstream.tcc:
+
+/usr/include/c++/5/cstdio:
+
+src/cpp/H5Attribute.hxx:
+
+src/cpp/H5Type.hxx:
+
+src/cpp/H5File.hxx:
+
+/usr/include/x86_64-linux-gnu/sys/stat.h:
+
+/usr/include/x86_64-linux-gnu/bits/stat.h:
+
+src/cpp/H5Data.hxx:
+
+src/cpp/H5Dataspace.hxx:
diff --git a/modules/hdf5/src/cpp/.deps/libscihdf5_algo_la-H5CompoundData.Plo b/modules/hdf5/src/cpp/.deps/libscihdf5_algo_la-H5CompoundData.Plo
new file mode 100755
index 000000000..ef51a6530
--- /dev/null
+++ b/modules/hdf5/src/cpp/.deps/libscihdf5_algo_la-H5CompoundData.Plo
@@ -0,0 +1,802 @@
+src/cpp/libscihdf5_algo_la-H5CompoundData.lo: src/cpp/H5CompoundData.cpp \
+ /usr/include/stdc-predef.h src/cpp/H5Options.hxx \
+ /usr/include/c++/5/algorithm /usr/include/c++/5/utility \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/c++config.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/os_defines.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/include/x86_64-linux-gnu/c++/5/bits/cpu_defines.h \
+ /usr/include/c++/5/bits/stl_relops.h /usr/include/c++/5/bits/stl_pair.h \
+ /usr/include/c++/5/bits/move.h /usr/include/c++/5/bits/concept_check.h \
+ /usr/include/c++/5/bits/stl_algobase.h \
+ /usr/include/c++/5/bits/functexcept.h \
+ /usr/include/c++/5/bits/exception_defines.h \
+ /usr/include/c++/5/bits/cpp_type_traits.h \
+ /usr/include/c++/5/ext/type_traits.h \
+ /usr/include/c++/5/ext/numeric_traits.h \
+ /usr/include/c++/5/bits/stl_iterator_base_types.h \
+ /usr/include/c++/5/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/5/debug/debug.h /usr/include/c++/5/bits/stl_iterator.h \
+ /usr/include/c++/5/bits/ptr_traits.h \
+ /usr/include/c++/5/bits/predefined_ops.h \
+ /usr/include/c++/5/bits/stl_algo.h /usr/include/c++/5/cstdlib \
+ /usr/include/stdlib.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/xlocale.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/c++/5/bits/algorithmfwd.h \
+ /usr/include/c++/5/bits/stl_heap.h /usr/include/c++/5/bits/stl_tempbuf.h \
+ /usr/include/c++/5/bits/stl_construct.h /usr/include/c++/5/new \
+ /usr/include/c++/5/exception \
+ /usr/include/c++/5/bits/atomic_lockfree_defines.h \
+ /usr/include/c++/5/ext/alloc_traits.h \
+ /usr/include/c++/5/bits/allocator.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/c++allocator.h \
+ /usr/include/c++/5/ext/new_allocator.h \
+ /usr/include/c++/5/bits/memoryfwd.h /usr/include/c++/5/string \
+ /usr/include/c++/5/bits/stringfwd.h \
+ /usr/include/c++/5/bits/char_traits.h /usr/include/c++/5/bits/postypes.h \
+ /usr/include/c++/5/cwchar /usr/include/wchar.h /usr/include/stdio.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \
+ /usr/include/x86_64-linux-gnu/bits/wchar.h \
+ /usr/include/x86_64-linux-gnu/bits/wchar2.h \
+ /usr/include/c++/5/bits/localefwd.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/c++locale.h \
+ /usr/include/c++/5/clocale /usr/include/locale.h \
+ /usr/include/x86_64-linux-gnu/bits/locale.h /usr/include/c++/5/iosfwd \
+ /usr/include/c++/5/cctype /usr/include/ctype.h \
+ /usr/include/c++/5/bits/ostream_insert.h \
+ /usr/include/c++/5/bits/cxxabi_forced.h \
+ /usr/include/c++/5/bits/stl_function.h \
+ /usr/include/c++/5/backward/binders.h \
+ /usr/include/c++/5/bits/range_access.h \
+ /usr/include/c++/5/bits/basic_string.h \
+ /usr/include/c++/5/ext/atomicity.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/gthr.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/x86_64-linux-gnu/bits/sched.h \
+ /usr/include/x86_64-linux-gnu/bits/timex.h \
+ /usr/include/x86_64-linux-gnu/bits/setjmp.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/atomic_word.h \
+ /usr/include/c++/5/bits/basic_string.tcc src/cpp/H5Exception.hxx \
+ ../../modules/localization/includes/localization.h \
+ ../../modules/core/includes/machine.h /usr/include/libintl.h \
+ ../../modules/core/includes/backtrace_print.h includes/HDF5Objects.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/hdf5.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5public.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5pubconf.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5version.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h \
+ /usr/include/limits.h /usr/include/x86_64-linux-gnu/bits/posix1_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/local_lim.h \
+ /usr/include/linux/limits.h \
+ /usr/include/x86_64-linux-gnu/bits/posix2_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/xopen_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio_lim.h /usr/include/inttypes.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stdint.h /usr/include/stdint.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5api_adpt.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Apublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Ipublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Opublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Lpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Tpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5ACpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Cpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Dpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Epublic.h \
+ /usr/include/libio.h /usr/include/_G_config.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 \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Epubgen.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Fpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Gpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5MMpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Ppublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Zpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Rpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Spublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDcore.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDfamily.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDlog.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDmpi.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDmpio.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDmpiposix.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDmulti.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDsec2.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDstdio.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDdirect.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/hdf5_hl.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5DSpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5LTpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5IMpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5TBpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5PTpublic.h \
+ /usr/include/c++/5/sstream /usr/include/c++/5/istream \
+ /usr/include/c++/5/ios /usr/include/c++/5/bits/ios_base.h \
+ /usr/include/c++/5/bits/locale_classes.h \
+ /usr/include/c++/5/bits/locale_classes.tcc /usr/include/c++/5/stdexcept \
+ /usr/include/c++/5/streambuf /usr/include/c++/5/bits/streambuf.tcc \
+ /usr/include/c++/5/bits/basic_ios.h \
+ /usr/include/c++/5/bits/locale_facets.h /usr/include/c++/5/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/ctype_base.h \
+ /usr/include/c++/5/bits/streambuf_iterator.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/ctype_inline.h \
+ /usr/include/c++/5/bits/locale_facets.tcc \
+ /usr/include/c++/5/bits/basic_ios.tcc /usr/include/c++/5/ostream \
+ /usr/include/c++/5/bits/ostream.tcc /usr/include/c++/5/bits/istream.tcc \
+ /usr/include/c++/5/bits/sstream.tcc /usr/include/c++/5/cstdio \
+ src/cpp/H5CompoundData.hxx src/cpp/H5BasicData.hxx src/cpp/H5Data.hxx \
+ src/cpp/H5Object.hxx /usr/include/c++/5/iostream \
+ /usr/include/c++/5/iomanip /usr/include/c++/5/limits \
+ /usr/include/c++/5/map /usr/include/c++/5/bits/stl_tree.h \
+ /usr/include/c++/5/bits/stl_map.h /usr/include/c++/5/bits/stl_multimap.h \
+ /usr/include/c++/5/set /usr/include/c++/5/bits/stl_set.h \
+ /usr/include/c++/5/bits/stl_multiset.h \
+ ../../modules/core/includes/MALLOC.h \
+ ../../modules/core/includes/sci_mem_alloc.h \
+ ../../modules/output_stream/includes/Scierror.h \
+ ../../modules/output_stream/includes/do_error_number.h \
+ ../../modules/api_scilab/includes/api_scilab.h \
+ ../../modules/core/includes/stack-c.h /usr/include/string.h \
+ /usr/include/x86_64-linux-gnu/bits/string3.h \
+ ../../modules/core/includes/core_math.h /usr/include/math.h \
+ /usr/include/x86_64-linux-gnu/bits/math-vector.h \
+ /usr/include/x86_64-linux-gnu/bits/libm-simd-decl-stubs.h \
+ /usr/include/x86_64-linux-gnu/bits/huge_val.h \
+ /usr/include/x86_64-linux-gnu/bits/huge_valf.h \
+ /usr/include/x86_64-linux-gnu/bits/huge_vall.h \
+ /usr/include/x86_64-linux-gnu/bits/inf.h \
+ /usr/include/x86_64-linux-gnu/bits/nan.h \
+ /usr/include/x86_64-linux-gnu/bits/mathdef.h \
+ /usr/include/x86_64-linux-gnu/bits/mathcalls.h \
+ /usr/include/x86_64-linux-gnu/bits/mathinline.h /usr/include/values.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/float.h \
+ ../../modules/core/includes/stack-def.h \
+ ../../modules/core/includes/machine.h \
+ ../../modules/core/includes/stackTypeVariable.h \
+ ../../modules/core/includes/BOOL.h \
+ ../../modules/core/includes/doublecomplex.h \
+ ../../modules/core/includes/stack1.h \
+ ../../modules/core/includes/scisparse.h \
+ ../../modules/core/includes/stack2.h \
+ ../../modules/core/includes/stack3.h \
+ ../../modules/core/includes/stack-optional.h \
+ ../../modules/core/includes/sci_types.h \
+ ../../modules/api_scilab/includes/api_common.h \
+ ../../modules/api_scilab/includes/api_scilab.h \
+ ../../modules/api_scilab/includes/api_double.h \
+ ../../modules/core/includes/doublecomplex.h \
+ ../../modules/api_scilab/includes/api_string.h \
+ ../../modules/api_scilab/includes/api_int.h \
+ ../../modules/api_scilab/includes/api_poly.h \
+ ../../modules/api_scilab/includes/api_sparse.h \
+ ../../modules/api_scilab/includes/api_boolean.h \
+ ../../modules/api_scilab/includes/api_boolean_sparse.h \
+ ../../modules/api_scilab/includes/api_pointer.h \
+ ../../modules/api_scilab/includes/api_list.h \
+ ../../modules/api_scilab/includes/api_error.h \
+ ../../modules/api_scilab/includes/api_handle.h \
+ ../../modules/api_scilab/includes/api_optional.h \
+ ../../modules/core/includes/stack-optional.h \
+ ../../modules/api_scilab/includes/api_hypermat.h \
+ ../../modules/core/includes/core_math.h \
+ ../../modules/core/includes/sci_types.h src/cpp/H5VariableScope.hxx \
+ /usr/include/c++/5/stack /usr/include/c++/5/deque \
+ /usr/include/c++/5/bits/stl_uninitialized.h \
+ /usr/include/c++/5/bits/stl_deque.h /usr/include/c++/5/bits/deque.tcc \
+ /usr/include/c++/5/bits/stl_stack.h /usr/include/c++/5/vector \
+ /usr/include/c++/5/bits/stl_vector.h \
+ /usr/include/c++/5/bits/stl_bvector.h /usr/include/c++/5/bits/vector.tcc \
+ src/cpp/H5DataConverter.hxx src/cpp/H5DataFactory.hxx \
+ src/cpp/H5StringData.hxx src/cpp/H5TimeData.hxx \
+ src/cpp/H5BitfieldData.hxx src/cpp/H5ReferenceData.hxx \
+ src/cpp/H5File.hxx /usr/include/x86_64-linux-gnu/sys/stat.h \
+ /usr/include/x86_64-linux-gnu/bits/stat.h src/cpp/H5Group.hxx \
+ src/cpp/H5Type.hxx src/cpp/H5Dataset.hxx src/cpp/H5Dataspace.hxx \
+ src/cpp/H5AttributesList.hxx src/cpp/H5ListObject.hxx \
+ src/cpp/H5Attribute.hxx src/cpp/H5SoftLink.hxx src/cpp/H5Link.hxx \
+ src/cpp/H5ExternalLink.hxx src/cpp/H5NamedObjectsList.hxx \
+ src/cpp/H5ArrayData.hxx src/cpp/H5OpaqueData.hxx \
+ src/cpp/H5TransformedData.hxx src/cpp/H5EnumData.hxx \
+ src/cpp/H5VlenData.hxx src/cpp/H5CharData.hxx \
+ src/cpp/H5UnsignedCharData.hxx
+
+/usr/include/stdc-predef.h:
+
+src/cpp/H5Options.hxx:
+
+/usr/include/c++/5/algorithm:
+
+/usr/include/c++/5/utility:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/c++config.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/os_defines.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/include/x86_64-linux-gnu/c++/5/bits/cpu_defines.h:
+
+/usr/include/c++/5/bits/stl_relops.h:
+
+/usr/include/c++/5/bits/stl_pair.h:
+
+/usr/include/c++/5/bits/move.h:
+
+/usr/include/c++/5/bits/concept_check.h:
+
+/usr/include/c++/5/bits/stl_algobase.h:
+
+/usr/include/c++/5/bits/functexcept.h:
+
+/usr/include/c++/5/bits/exception_defines.h:
+
+/usr/include/c++/5/bits/cpp_type_traits.h:
+
+/usr/include/c++/5/ext/type_traits.h:
+
+/usr/include/c++/5/ext/numeric_traits.h:
+
+/usr/include/c++/5/bits/stl_iterator_base_types.h:
+
+/usr/include/c++/5/bits/stl_iterator_base_funcs.h:
+
+/usr/include/c++/5/debug/debug.h:
+
+/usr/include/c++/5/bits/stl_iterator.h:
+
+/usr/include/c++/5/bits/ptr_traits.h:
+
+/usr/include/c++/5/bits/predefined_ops.h:
+
+/usr/include/c++/5/bits/stl_algo.h:
+
+/usr/include/c++/5/cstdlib:
+
+/usr/include/stdlib.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/xlocale.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/c++/5/bits/algorithmfwd.h:
+
+/usr/include/c++/5/bits/stl_heap.h:
+
+/usr/include/c++/5/bits/stl_tempbuf.h:
+
+/usr/include/c++/5/bits/stl_construct.h:
+
+/usr/include/c++/5/new:
+
+/usr/include/c++/5/exception:
+
+/usr/include/c++/5/bits/atomic_lockfree_defines.h:
+
+/usr/include/c++/5/ext/alloc_traits.h:
+
+/usr/include/c++/5/bits/allocator.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/c++allocator.h:
+
+/usr/include/c++/5/ext/new_allocator.h:
+
+/usr/include/c++/5/bits/memoryfwd.h:
+
+/usr/include/c++/5/string:
+
+/usr/include/c++/5/bits/stringfwd.h:
+
+/usr/include/c++/5/bits/char_traits.h:
+
+/usr/include/c++/5/bits/postypes.h:
+
+/usr/include/c++/5/cwchar:
+
+/usr/include/wchar.h:
+
+/usr/include/stdio.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h:
+
+/usr/include/x86_64-linux-gnu/bits/wchar.h:
+
+/usr/include/x86_64-linux-gnu/bits/wchar2.h:
+
+/usr/include/c++/5/bits/localefwd.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/c++locale.h:
+
+/usr/include/c++/5/clocale:
+
+/usr/include/locale.h:
+
+/usr/include/x86_64-linux-gnu/bits/locale.h:
+
+/usr/include/c++/5/iosfwd:
+
+/usr/include/c++/5/cctype:
+
+/usr/include/ctype.h:
+
+/usr/include/c++/5/bits/ostream_insert.h:
+
+/usr/include/c++/5/bits/cxxabi_forced.h:
+
+/usr/include/c++/5/bits/stl_function.h:
+
+/usr/include/c++/5/backward/binders.h:
+
+/usr/include/c++/5/bits/range_access.h:
+
+/usr/include/c++/5/bits/basic_string.h:
+
+/usr/include/c++/5/ext/atomicity.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/gthr.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/gthr-default.h:
+
+/usr/include/pthread.h:
+
+/usr/include/sched.h:
+
+/usr/include/x86_64-linux-gnu/bits/sched.h:
+
+/usr/include/x86_64-linux-gnu/bits/timex.h:
+
+/usr/include/x86_64-linux-gnu/bits/setjmp.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/atomic_word.h:
+
+/usr/include/c++/5/bits/basic_string.tcc:
+
+src/cpp/H5Exception.hxx:
+
+../../modules/localization/includes/localization.h:
+
+../../modules/core/includes/machine.h:
+
+/usr/include/libintl.h:
+
+../../modules/core/includes/backtrace_print.h:
+
+includes/HDF5Objects.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/hdf5.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5public.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5pubconf.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5version.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h:
+
+/usr/include/limits.h:
+
+/usr/include/x86_64-linux-gnu/bits/posix1_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/local_lim.h:
+
+/usr/include/linux/limits.h:
+
+/usr/include/x86_64-linux-gnu/bits/posix2_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/xopen_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio_lim.h:
+
+/usr/include/inttypes.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stdint.h:
+
+/usr/include/stdint.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5api_adpt.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Apublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Ipublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Opublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Lpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Tpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5ACpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Cpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Dpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Epublic.h:
+
+/usr/include/libio.h:
+
+/usr/include/_G_config.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:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Epubgen.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Fpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Gpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5MMpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Ppublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Zpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Rpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Spublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDcore.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDfamily.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDlog.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDmpi.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDmpio.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDmpiposix.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDmulti.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDsec2.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDstdio.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDdirect.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/hdf5_hl.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5DSpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5LTpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5IMpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5TBpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5PTpublic.h:
+
+/usr/include/c++/5/sstream:
+
+/usr/include/c++/5/istream:
+
+/usr/include/c++/5/ios:
+
+/usr/include/c++/5/bits/ios_base.h:
+
+/usr/include/c++/5/bits/locale_classes.h:
+
+/usr/include/c++/5/bits/locale_classes.tcc:
+
+/usr/include/c++/5/stdexcept:
+
+/usr/include/c++/5/streambuf:
+
+/usr/include/c++/5/bits/streambuf.tcc:
+
+/usr/include/c++/5/bits/basic_ios.h:
+
+/usr/include/c++/5/bits/locale_facets.h:
+
+/usr/include/c++/5/cwctype:
+
+/usr/include/wctype.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/ctype_base.h:
+
+/usr/include/c++/5/bits/streambuf_iterator.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/ctype_inline.h:
+
+/usr/include/c++/5/bits/locale_facets.tcc:
+
+/usr/include/c++/5/bits/basic_ios.tcc:
+
+/usr/include/c++/5/ostream:
+
+/usr/include/c++/5/bits/ostream.tcc:
+
+/usr/include/c++/5/bits/istream.tcc:
+
+/usr/include/c++/5/bits/sstream.tcc:
+
+/usr/include/c++/5/cstdio:
+
+src/cpp/H5CompoundData.hxx:
+
+src/cpp/H5BasicData.hxx:
+
+src/cpp/H5Data.hxx:
+
+src/cpp/H5Object.hxx:
+
+/usr/include/c++/5/iostream:
+
+/usr/include/c++/5/iomanip:
+
+/usr/include/c++/5/limits:
+
+/usr/include/c++/5/map:
+
+/usr/include/c++/5/bits/stl_tree.h:
+
+/usr/include/c++/5/bits/stl_map.h:
+
+/usr/include/c++/5/bits/stl_multimap.h:
+
+/usr/include/c++/5/set:
+
+/usr/include/c++/5/bits/stl_set.h:
+
+/usr/include/c++/5/bits/stl_multiset.h:
+
+../../modules/core/includes/MALLOC.h:
+
+../../modules/core/includes/sci_mem_alloc.h:
+
+../../modules/output_stream/includes/Scierror.h:
+
+../../modules/output_stream/includes/do_error_number.h:
+
+../../modules/api_scilab/includes/api_scilab.h:
+
+../../modules/core/includes/stack-c.h:
+
+/usr/include/string.h:
+
+/usr/include/x86_64-linux-gnu/bits/string3.h:
+
+../../modules/core/includes/core_math.h:
+
+/usr/include/math.h:
+
+/usr/include/x86_64-linux-gnu/bits/math-vector.h:
+
+/usr/include/x86_64-linux-gnu/bits/libm-simd-decl-stubs.h:
+
+/usr/include/x86_64-linux-gnu/bits/huge_val.h:
+
+/usr/include/x86_64-linux-gnu/bits/huge_valf.h:
+
+/usr/include/x86_64-linux-gnu/bits/huge_vall.h:
+
+/usr/include/x86_64-linux-gnu/bits/inf.h:
+
+/usr/include/x86_64-linux-gnu/bits/nan.h:
+
+/usr/include/x86_64-linux-gnu/bits/mathdef.h:
+
+/usr/include/x86_64-linux-gnu/bits/mathcalls.h:
+
+/usr/include/x86_64-linux-gnu/bits/mathinline.h:
+
+/usr/include/values.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/float.h:
+
+../../modules/core/includes/stack-def.h:
+
+../../modules/core/includes/machine.h:
+
+../../modules/core/includes/stackTypeVariable.h:
+
+../../modules/core/includes/BOOL.h:
+
+../../modules/core/includes/doublecomplex.h:
+
+../../modules/core/includes/stack1.h:
+
+../../modules/core/includes/scisparse.h:
+
+../../modules/core/includes/stack2.h:
+
+../../modules/core/includes/stack3.h:
+
+../../modules/core/includes/stack-optional.h:
+
+../../modules/core/includes/sci_types.h:
+
+../../modules/api_scilab/includes/api_common.h:
+
+../../modules/api_scilab/includes/api_scilab.h:
+
+../../modules/api_scilab/includes/api_double.h:
+
+../../modules/core/includes/doublecomplex.h:
+
+../../modules/api_scilab/includes/api_string.h:
+
+../../modules/api_scilab/includes/api_int.h:
+
+../../modules/api_scilab/includes/api_poly.h:
+
+../../modules/api_scilab/includes/api_sparse.h:
+
+../../modules/api_scilab/includes/api_boolean.h:
+
+../../modules/api_scilab/includes/api_boolean_sparse.h:
+
+../../modules/api_scilab/includes/api_pointer.h:
+
+../../modules/api_scilab/includes/api_list.h:
+
+../../modules/api_scilab/includes/api_error.h:
+
+../../modules/api_scilab/includes/api_handle.h:
+
+../../modules/api_scilab/includes/api_optional.h:
+
+../../modules/core/includes/stack-optional.h:
+
+../../modules/api_scilab/includes/api_hypermat.h:
+
+../../modules/core/includes/core_math.h:
+
+../../modules/core/includes/sci_types.h:
+
+src/cpp/H5VariableScope.hxx:
+
+/usr/include/c++/5/stack:
+
+/usr/include/c++/5/deque:
+
+/usr/include/c++/5/bits/stl_uninitialized.h:
+
+/usr/include/c++/5/bits/stl_deque.h:
+
+/usr/include/c++/5/bits/deque.tcc:
+
+/usr/include/c++/5/bits/stl_stack.h:
+
+/usr/include/c++/5/vector:
+
+/usr/include/c++/5/bits/stl_vector.h:
+
+/usr/include/c++/5/bits/stl_bvector.h:
+
+/usr/include/c++/5/bits/vector.tcc:
+
+src/cpp/H5DataConverter.hxx:
+
+src/cpp/H5DataFactory.hxx:
+
+src/cpp/H5StringData.hxx:
+
+src/cpp/H5TimeData.hxx:
+
+src/cpp/H5BitfieldData.hxx:
+
+src/cpp/H5ReferenceData.hxx:
+
+src/cpp/H5File.hxx:
+
+/usr/include/x86_64-linux-gnu/sys/stat.h:
+
+/usr/include/x86_64-linux-gnu/bits/stat.h:
+
+src/cpp/H5Group.hxx:
+
+src/cpp/H5Type.hxx:
+
+src/cpp/H5Dataset.hxx:
+
+src/cpp/H5Dataspace.hxx:
+
+src/cpp/H5AttributesList.hxx:
+
+src/cpp/H5ListObject.hxx:
+
+src/cpp/H5Attribute.hxx:
+
+src/cpp/H5SoftLink.hxx:
+
+src/cpp/H5Link.hxx:
+
+src/cpp/H5ExternalLink.hxx:
+
+src/cpp/H5NamedObjectsList.hxx:
+
+src/cpp/H5ArrayData.hxx:
+
+src/cpp/H5OpaqueData.hxx:
+
+src/cpp/H5TransformedData.hxx:
+
+src/cpp/H5EnumData.hxx:
+
+src/cpp/H5VlenData.hxx:
+
+src/cpp/H5CharData.hxx:
+
+src/cpp/H5UnsignedCharData.hxx:
diff --git a/modules/hdf5/src/cpp/.deps/libscihdf5_algo_la-H5DataConverter.Plo b/modules/hdf5/src/cpp/.deps/libscihdf5_algo_la-H5DataConverter.Plo
new file mode 100755
index 000000000..382d3b350
--- /dev/null
+++ b/modules/hdf5/src/cpp/.deps/libscihdf5_algo_la-H5DataConverter.Plo
@@ -0,0 +1,732 @@
+src/cpp/libscihdf5_algo_la-H5DataConverter.lo: \
+ src/cpp/H5DataConverter.cpp /usr/include/stdc-predef.h \
+ src/cpp/H5DataConverter.hxx src/cpp/H5Exception.hxx \
+ ../../modules/localization/includes/localization.h \
+ ../../modules/core/includes/machine.h /usr/include/libintl.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 \
+ ../../modules/core/includes/backtrace_print.h includes/HDF5Objects.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/hdf5.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5public.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5pubconf.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5version.h \
+ /usr/include/x86_64-linux-gnu/sys/types.h \
+ /usr/include/x86_64-linux-gnu/bits/types.h \
+ /usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/time.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.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/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/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h \
+ /usr/include/limits.h /usr/include/x86_64-linux-gnu/bits/posix1_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/local_lim.h \
+ /usr/include/linux/limits.h \
+ /usr/include/x86_64-linux-gnu/bits/posix2_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/xopen_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio_lim.h /usr/include/inttypes.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stdint.h /usr/include/stdint.h \
+ /usr/include/x86_64-linux-gnu/bits/wchar.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5api_adpt.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Apublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Ipublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Opublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Lpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Tpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5ACpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Cpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Dpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Epublic.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/sys_errlist.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio2.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Epubgen.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Fpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Gpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5MMpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Ppublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Zpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Rpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Spublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDcore.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDfamily.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDlog.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDmpi.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDmpio.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDmpiposix.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDmulti.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDsec2.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDstdio.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDdirect.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/hdf5_hl.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5DSpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5LTpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5IMpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5TBpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5PTpublic.h \
+ /usr/include/c++/5/cstdlib \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/c++config.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/os_defines.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/cpu_defines.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/xlocale.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/c++/5/exception \
+ /usr/include/c++/5/bits/atomic_lockfree_defines.h \
+ /usr/include/c++/5/sstream /usr/include/c++/5/istream \
+ /usr/include/c++/5/ios /usr/include/c++/5/iosfwd \
+ /usr/include/c++/5/bits/stringfwd.h /usr/include/c++/5/bits/memoryfwd.h \
+ /usr/include/c++/5/bits/postypes.h /usr/include/c++/5/cwchar \
+ /usr/include/x86_64-linux-gnu/bits/wchar2.h \
+ /usr/include/c++/5/bits/char_traits.h \
+ /usr/include/c++/5/bits/stl_algobase.h \
+ /usr/include/c++/5/bits/functexcept.h \
+ /usr/include/c++/5/bits/exception_defines.h \
+ /usr/include/c++/5/bits/cpp_type_traits.h \
+ /usr/include/c++/5/ext/type_traits.h \
+ /usr/include/c++/5/ext/numeric_traits.h \
+ /usr/include/c++/5/bits/stl_pair.h /usr/include/c++/5/bits/move.h \
+ /usr/include/c++/5/bits/concept_check.h \
+ /usr/include/c++/5/bits/stl_iterator_base_types.h \
+ /usr/include/c++/5/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/5/debug/debug.h /usr/include/c++/5/bits/stl_iterator.h \
+ /usr/include/c++/5/bits/ptr_traits.h \
+ /usr/include/c++/5/bits/predefined_ops.h \
+ /usr/include/c++/5/bits/localefwd.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/c++locale.h \
+ /usr/include/c++/5/clocale /usr/include/locale.h \
+ /usr/include/x86_64-linux-gnu/bits/locale.h /usr/include/c++/5/cctype \
+ /usr/include/ctype.h /usr/include/c++/5/bits/ios_base.h \
+ /usr/include/c++/5/ext/atomicity.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/gthr.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/x86_64-linux-gnu/bits/sched.h \
+ /usr/include/x86_64-linux-gnu/bits/timex.h \
+ /usr/include/x86_64-linux-gnu/bits/setjmp.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/atomic_word.h \
+ /usr/include/c++/5/bits/locale_classes.h /usr/include/c++/5/string \
+ /usr/include/c++/5/bits/allocator.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/c++allocator.h \
+ /usr/include/c++/5/ext/new_allocator.h /usr/include/c++/5/new \
+ /usr/include/c++/5/bits/ostream_insert.h \
+ /usr/include/c++/5/bits/cxxabi_forced.h \
+ /usr/include/c++/5/bits/stl_function.h \
+ /usr/include/c++/5/backward/binders.h \
+ /usr/include/c++/5/bits/range_access.h \
+ /usr/include/c++/5/bits/basic_string.h \
+ /usr/include/c++/5/ext/alloc_traits.h \
+ /usr/include/c++/5/bits/basic_string.tcc \
+ /usr/include/c++/5/bits/locale_classes.tcc /usr/include/c++/5/stdexcept \
+ /usr/include/c++/5/streambuf /usr/include/c++/5/bits/streambuf.tcc \
+ /usr/include/c++/5/bits/basic_ios.h \
+ /usr/include/c++/5/bits/locale_facets.h /usr/include/c++/5/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/ctype_base.h \
+ /usr/include/c++/5/bits/streambuf_iterator.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/ctype_inline.h \
+ /usr/include/c++/5/bits/locale_facets.tcc \
+ /usr/include/c++/5/bits/basic_ios.tcc /usr/include/c++/5/ostream \
+ /usr/include/c++/5/bits/ostream.tcc /usr/include/c++/5/bits/istream.tcc \
+ /usr/include/c++/5/bits/sstream.tcc /usr/include/c++/5/cstdio \
+ src/cpp/H5Object.hxx /usr/include/c++/5/algorithm \
+ /usr/include/c++/5/utility /usr/include/c++/5/bits/stl_relops.h \
+ /usr/include/c++/5/bits/stl_algo.h \
+ /usr/include/c++/5/bits/algorithmfwd.h \
+ /usr/include/c++/5/bits/stl_heap.h /usr/include/c++/5/bits/stl_tempbuf.h \
+ /usr/include/c++/5/bits/stl_construct.h /usr/include/c++/5/iostream \
+ /usr/include/c++/5/iomanip /usr/include/c++/5/limits \
+ /usr/include/c++/5/map /usr/include/c++/5/bits/stl_tree.h \
+ /usr/include/c++/5/bits/stl_map.h /usr/include/c++/5/bits/stl_multimap.h \
+ /usr/include/c++/5/set /usr/include/c++/5/bits/stl_set.h \
+ /usr/include/c++/5/bits/stl_multiset.h \
+ ../../modules/core/includes/MALLOC.h \
+ ../../modules/core/includes/sci_mem_alloc.h \
+ ../../modules/output_stream/includes/Scierror.h \
+ ../../modules/output_stream/includes/do_error_number.h \
+ ../../modules/api_scilab/includes/api_scilab.h \
+ ../../modules/core/includes/stack-c.h /usr/include/string.h \
+ /usr/include/x86_64-linux-gnu/bits/string3.h \
+ ../../modules/core/includes/core_math.h /usr/include/math.h \
+ /usr/include/x86_64-linux-gnu/bits/math-vector.h \
+ /usr/include/x86_64-linux-gnu/bits/libm-simd-decl-stubs.h \
+ /usr/include/x86_64-linux-gnu/bits/huge_val.h \
+ /usr/include/x86_64-linux-gnu/bits/huge_valf.h \
+ /usr/include/x86_64-linux-gnu/bits/huge_vall.h \
+ /usr/include/x86_64-linux-gnu/bits/inf.h \
+ /usr/include/x86_64-linux-gnu/bits/nan.h \
+ /usr/include/x86_64-linux-gnu/bits/mathdef.h \
+ /usr/include/x86_64-linux-gnu/bits/mathcalls.h \
+ /usr/include/x86_64-linux-gnu/bits/mathinline.h /usr/include/values.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/float.h \
+ ../../modules/core/includes/stack-def.h \
+ ../../modules/core/includes/machine.h \
+ ../../modules/core/includes/stackTypeVariable.h \
+ ../../modules/core/includes/BOOL.h \
+ ../../modules/core/includes/doublecomplex.h \
+ ../../modules/core/includes/stack1.h \
+ ../../modules/core/includes/scisparse.h \
+ ../../modules/core/includes/stack2.h \
+ ../../modules/core/includes/stack3.h \
+ ../../modules/core/includes/stack-optional.h \
+ ../../modules/core/includes/sci_types.h \
+ ../../modules/api_scilab/includes/api_common.h \
+ ../../modules/api_scilab/includes/api_scilab.h \
+ ../../modules/api_scilab/includes/api_double.h \
+ ../../modules/core/includes/doublecomplex.h \
+ ../../modules/api_scilab/includes/api_string.h \
+ ../../modules/api_scilab/includes/api_int.h \
+ ../../modules/api_scilab/includes/api_poly.h \
+ ../../modules/api_scilab/includes/api_sparse.h \
+ ../../modules/api_scilab/includes/api_boolean.h \
+ ../../modules/api_scilab/includes/api_boolean_sparse.h \
+ ../../modules/api_scilab/includes/api_pointer.h \
+ ../../modules/api_scilab/includes/api_list.h \
+ ../../modules/api_scilab/includes/api_error.h \
+ ../../modules/api_scilab/includes/api_handle.h \
+ ../../modules/api_scilab/includes/api_optional.h \
+ ../../modules/core/includes/stack-optional.h \
+ ../../modules/api_scilab/includes/api_hypermat.h \
+ ../../modules/core/includes/core_math.h \
+ ../../modules/core/includes/sci_types.h src/cpp/H5VariableScope.hxx \
+ /usr/include/c++/5/stack /usr/include/c++/5/deque \
+ /usr/include/c++/5/bits/stl_uninitialized.h \
+ /usr/include/c++/5/bits/stl_deque.h /usr/include/c++/5/bits/deque.tcc \
+ /usr/include/c++/5/bits/stl_stack.h /usr/include/c++/5/vector \
+ /usr/include/c++/5/bits/stl_vector.h \
+ /usr/include/c++/5/bits/stl_bvector.h /usr/include/c++/5/bits/vector.tcc \
+ src/cpp/H5Data.hxx
+
+/usr/include/stdc-predef.h:
+
+src/cpp/H5DataConverter.hxx:
+
+src/cpp/H5Exception.hxx:
+
+../../modules/localization/includes/localization.h:
+
+../../modules/core/includes/machine.h:
+
+/usr/include/libintl.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:
+
+../../modules/core/includes/backtrace_print.h:
+
+includes/HDF5Objects.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/hdf5.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5public.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5pubconf.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5version.h:
+
+/usr/include/x86_64-linux-gnu/sys/types.h:
+
+/usr/include/x86_64-linux-gnu/bits/types.h:
+
+/usr/include/x86_64-linux-gnu/bits/typesizes.h:
+
+/usr/include/time.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.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/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/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h:
+
+/usr/include/limits.h:
+
+/usr/include/x86_64-linux-gnu/bits/posix1_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/local_lim.h:
+
+/usr/include/linux/limits.h:
+
+/usr/include/x86_64-linux-gnu/bits/posix2_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/xopen_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio_lim.h:
+
+/usr/include/inttypes.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stdint.h:
+
+/usr/include/stdint.h:
+
+/usr/include/x86_64-linux-gnu/bits/wchar.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5api_adpt.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Apublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Ipublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Opublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Lpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Tpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5ACpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Cpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Dpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Epublic.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/sys_errlist.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio2.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Epubgen.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Fpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Gpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5MMpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Ppublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Zpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Rpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Spublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDcore.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDfamily.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDlog.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDmpi.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDmpio.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDmpiposix.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDmulti.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDsec2.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDstdio.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDdirect.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/hdf5_hl.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5DSpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5LTpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5IMpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5TBpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5PTpublic.h:
+
+/usr/include/c++/5/cstdlib:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/c++config.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/os_defines.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/cpu_defines.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/xlocale.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/c++/5/exception:
+
+/usr/include/c++/5/bits/atomic_lockfree_defines.h:
+
+/usr/include/c++/5/sstream:
+
+/usr/include/c++/5/istream:
+
+/usr/include/c++/5/ios:
+
+/usr/include/c++/5/iosfwd:
+
+/usr/include/c++/5/bits/stringfwd.h:
+
+/usr/include/c++/5/bits/memoryfwd.h:
+
+/usr/include/c++/5/bits/postypes.h:
+
+/usr/include/c++/5/cwchar:
+
+/usr/include/x86_64-linux-gnu/bits/wchar2.h:
+
+/usr/include/c++/5/bits/char_traits.h:
+
+/usr/include/c++/5/bits/stl_algobase.h:
+
+/usr/include/c++/5/bits/functexcept.h:
+
+/usr/include/c++/5/bits/exception_defines.h:
+
+/usr/include/c++/5/bits/cpp_type_traits.h:
+
+/usr/include/c++/5/ext/type_traits.h:
+
+/usr/include/c++/5/ext/numeric_traits.h:
+
+/usr/include/c++/5/bits/stl_pair.h:
+
+/usr/include/c++/5/bits/move.h:
+
+/usr/include/c++/5/bits/concept_check.h:
+
+/usr/include/c++/5/bits/stl_iterator_base_types.h:
+
+/usr/include/c++/5/bits/stl_iterator_base_funcs.h:
+
+/usr/include/c++/5/debug/debug.h:
+
+/usr/include/c++/5/bits/stl_iterator.h:
+
+/usr/include/c++/5/bits/ptr_traits.h:
+
+/usr/include/c++/5/bits/predefined_ops.h:
+
+/usr/include/c++/5/bits/localefwd.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/c++locale.h:
+
+/usr/include/c++/5/clocale:
+
+/usr/include/locale.h:
+
+/usr/include/x86_64-linux-gnu/bits/locale.h:
+
+/usr/include/c++/5/cctype:
+
+/usr/include/ctype.h:
+
+/usr/include/c++/5/bits/ios_base.h:
+
+/usr/include/c++/5/ext/atomicity.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/gthr.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/gthr-default.h:
+
+/usr/include/pthread.h:
+
+/usr/include/sched.h:
+
+/usr/include/x86_64-linux-gnu/bits/sched.h:
+
+/usr/include/x86_64-linux-gnu/bits/timex.h:
+
+/usr/include/x86_64-linux-gnu/bits/setjmp.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/atomic_word.h:
+
+/usr/include/c++/5/bits/locale_classes.h:
+
+/usr/include/c++/5/string:
+
+/usr/include/c++/5/bits/allocator.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/c++allocator.h:
+
+/usr/include/c++/5/ext/new_allocator.h:
+
+/usr/include/c++/5/new:
+
+/usr/include/c++/5/bits/ostream_insert.h:
+
+/usr/include/c++/5/bits/cxxabi_forced.h:
+
+/usr/include/c++/5/bits/stl_function.h:
+
+/usr/include/c++/5/backward/binders.h:
+
+/usr/include/c++/5/bits/range_access.h:
+
+/usr/include/c++/5/bits/basic_string.h:
+
+/usr/include/c++/5/ext/alloc_traits.h:
+
+/usr/include/c++/5/bits/basic_string.tcc:
+
+/usr/include/c++/5/bits/locale_classes.tcc:
+
+/usr/include/c++/5/stdexcept:
+
+/usr/include/c++/5/streambuf:
+
+/usr/include/c++/5/bits/streambuf.tcc:
+
+/usr/include/c++/5/bits/basic_ios.h:
+
+/usr/include/c++/5/bits/locale_facets.h:
+
+/usr/include/c++/5/cwctype:
+
+/usr/include/wctype.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/ctype_base.h:
+
+/usr/include/c++/5/bits/streambuf_iterator.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/ctype_inline.h:
+
+/usr/include/c++/5/bits/locale_facets.tcc:
+
+/usr/include/c++/5/bits/basic_ios.tcc:
+
+/usr/include/c++/5/ostream:
+
+/usr/include/c++/5/bits/ostream.tcc:
+
+/usr/include/c++/5/bits/istream.tcc:
+
+/usr/include/c++/5/bits/sstream.tcc:
+
+/usr/include/c++/5/cstdio:
+
+src/cpp/H5Object.hxx:
+
+/usr/include/c++/5/algorithm:
+
+/usr/include/c++/5/utility:
+
+/usr/include/c++/5/bits/stl_relops.h:
+
+/usr/include/c++/5/bits/stl_algo.h:
+
+/usr/include/c++/5/bits/algorithmfwd.h:
+
+/usr/include/c++/5/bits/stl_heap.h:
+
+/usr/include/c++/5/bits/stl_tempbuf.h:
+
+/usr/include/c++/5/bits/stl_construct.h:
+
+/usr/include/c++/5/iostream:
+
+/usr/include/c++/5/iomanip:
+
+/usr/include/c++/5/limits:
+
+/usr/include/c++/5/map:
+
+/usr/include/c++/5/bits/stl_tree.h:
+
+/usr/include/c++/5/bits/stl_map.h:
+
+/usr/include/c++/5/bits/stl_multimap.h:
+
+/usr/include/c++/5/set:
+
+/usr/include/c++/5/bits/stl_set.h:
+
+/usr/include/c++/5/bits/stl_multiset.h:
+
+../../modules/core/includes/MALLOC.h:
+
+../../modules/core/includes/sci_mem_alloc.h:
+
+../../modules/output_stream/includes/Scierror.h:
+
+../../modules/output_stream/includes/do_error_number.h:
+
+../../modules/api_scilab/includes/api_scilab.h:
+
+../../modules/core/includes/stack-c.h:
+
+/usr/include/string.h:
+
+/usr/include/x86_64-linux-gnu/bits/string3.h:
+
+../../modules/core/includes/core_math.h:
+
+/usr/include/math.h:
+
+/usr/include/x86_64-linux-gnu/bits/math-vector.h:
+
+/usr/include/x86_64-linux-gnu/bits/libm-simd-decl-stubs.h:
+
+/usr/include/x86_64-linux-gnu/bits/huge_val.h:
+
+/usr/include/x86_64-linux-gnu/bits/huge_valf.h:
+
+/usr/include/x86_64-linux-gnu/bits/huge_vall.h:
+
+/usr/include/x86_64-linux-gnu/bits/inf.h:
+
+/usr/include/x86_64-linux-gnu/bits/nan.h:
+
+/usr/include/x86_64-linux-gnu/bits/mathdef.h:
+
+/usr/include/x86_64-linux-gnu/bits/mathcalls.h:
+
+/usr/include/x86_64-linux-gnu/bits/mathinline.h:
+
+/usr/include/values.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/float.h:
+
+../../modules/core/includes/stack-def.h:
+
+../../modules/core/includes/machine.h:
+
+../../modules/core/includes/stackTypeVariable.h:
+
+../../modules/core/includes/BOOL.h:
+
+../../modules/core/includes/doublecomplex.h:
+
+../../modules/core/includes/stack1.h:
+
+../../modules/core/includes/scisparse.h:
+
+../../modules/core/includes/stack2.h:
+
+../../modules/core/includes/stack3.h:
+
+../../modules/core/includes/stack-optional.h:
+
+../../modules/core/includes/sci_types.h:
+
+../../modules/api_scilab/includes/api_common.h:
+
+../../modules/api_scilab/includes/api_scilab.h:
+
+../../modules/api_scilab/includes/api_double.h:
+
+../../modules/core/includes/doublecomplex.h:
+
+../../modules/api_scilab/includes/api_string.h:
+
+../../modules/api_scilab/includes/api_int.h:
+
+../../modules/api_scilab/includes/api_poly.h:
+
+../../modules/api_scilab/includes/api_sparse.h:
+
+../../modules/api_scilab/includes/api_boolean.h:
+
+../../modules/api_scilab/includes/api_boolean_sparse.h:
+
+../../modules/api_scilab/includes/api_pointer.h:
+
+../../modules/api_scilab/includes/api_list.h:
+
+../../modules/api_scilab/includes/api_error.h:
+
+../../modules/api_scilab/includes/api_handle.h:
+
+../../modules/api_scilab/includes/api_optional.h:
+
+../../modules/core/includes/stack-optional.h:
+
+../../modules/api_scilab/includes/api_hypermat.h:
+
+../../modules/core/includes/core_math.h:
+
+../../modules/core/includes/sci_types.h:
+
+src/cpp/H5VariableScope.hxx:
+
+/usr/include/c++/5/stack:
+
+/usr/include/c++/5/deque:
+
+/usr/include/c++/5/bits/stl_uninitialized.h:
+
+/usr/include/c++/5/bits/stl_deque.h:
+
+/usr/include/c++/5/bits/deque.tcc:
+
+/usr/include/c++/5/bits/stl_stack.h:
+
+/usr/include/c++/5/vector:
+
+/usr/include/c++/5/bits/stl_vector.h:
+
+/usr/include/c++/5/bits/stl_bvector.h:
+
+/usr/include/c++/5/bits/vector.tcc:
+
+src/cpp/H5Data.hxx:
diff --git a/modules/hdf5/src/cpp/.deps/libscihdf5_algo_la-H5DataFactory.Plo b/modules/hdf5/src/cpp/.deps/libscihdf5_algo_la-H5DataFactory.Plo
new file mode 100755
index 000000000..de2da5b46
--- /dev/null
+++ b/modules/hdf5/src/cpp/.deps/libscihdf5_algo_la-H5DataFactory.Plo
@@ -0,0 +1,802 @@
+src/cpp/libscihdf5_algo_la-H5DataFactory.lo: src/cpp/H5DataFactory.cpp \
+ /usr/include/stdc-predef.h src/cpp/H5DataFactory.hxx \
+ includes/HDF5Objects.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/hdf5.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5public.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5pubconf.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5version.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/include/x86_64-linux-gnu/sys/types.h \
+ /usr/include/x86_64-linux-gnu/bits/types.h \
+ /usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/time.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.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/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/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h \
+ /usr/include/limits.h /usr/include/x86_64-linux-gnu/bits/posix1_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/local_lim.h \
+ /usr/include/linux/limits.h \
+ /usr/include/x86_64-linux-gnu/bits/posix2_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/xopen_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio_lim.h /usr/include/inttypes.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stdint.h /usr/include/stdint.h \
+ /usr/include/x86_64-linux-gnu/bits/wchar.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5api_adpt.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Apublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Ipublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Opublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Lpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Tpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5ACpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Cpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Dpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Epublic.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/sys_errlist.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio2.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Epubgen.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Fpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Gpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5MMpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Ppublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Zpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Rpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Spublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDcore.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDfamily.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDlog.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDmpi.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDmpio.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDmpiposix.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDmulti.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDsec2.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDstdio.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDdirect.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/hdf5_hl.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5DSpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5LTpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5IMpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5TBpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5PTpublic.h \
+ src/cpp/H5Object.hxx /usr/include/c++/5/algorithm \
+ /usr/include/c++/5/utility \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/c++config.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/os_defines.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/cpu_defines.h \
+ /usr/include/c++/5/bits/stl_relops.h /usr/include/c++/5/bits/stl_pair.h \
+ /usr/include/c++/5/bits/move.h /usr/include/c++/5/bits/concept_check.h \
+ /usr/include/c++/5/bits/stl_algobase.h \
+ /usr/include/c++/5/bits/functexcept.h \
+ /usr/include/c++/5/bits/exception_defines.h \
+ /usr/include/c++/5/bits/cpp_type_traits.h \
+ /usr/include/c++/5/ext/type_traits.h \
+ /usr/include/c++/5/ext/numeric_traits.h \
+ /usr/include/c++/5/bits/stl_iterator_base_types.h \
+ /usr/include/c++/5/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/5/debug/debug.h /usr/include/c++/5/bits/stl_iterator.h \
+ /usr/include/c++/5/bits/ptr_traits.h \
+ /usr/include/c++/5/bits/predefined_ops.h \
+ /usr/include/c++/5/bits/stl_algo.h /usr/include/c++/5/cstdlib \
+ /usr/include/stdlib.h /usr/include/x86_64-linux-gnu/bits/waitflags.h \
+ /usr/include/x86_64-linux-gnu/bits/waitstatus.h /usr/include/xlocale.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/c++/5/bits/algorithmfwd.h \
+ /usr/include/c++/5/bits/stl_heap.h /usr/include/c++/5/bits/stl_tempbuf.h \
+ /usr/include/c++/5/bits/stl_construct.h /usr/include/c++/5/new \
+ /usr/include/c++/5/exception \
+ /usr/include/c++/5/bits/atomic_lockfree_defines.h \
+ /usr/include/c++/5/ext/alloc_traits.h \
+ /usr/include/c++/5/bits/allocator.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/c++allocator.h \
+ /usr/include/c++/5/ext/new_allocator.h \
+ /usr/include/c++/5/bits/memoryfwd.h /usr/include/c++/5/iostream \
+ /usr/include/c++/5/ostream /usr/include/c++/5/ios \
+ /usr/include/c++/5/iosfwd /usr/include/c++/5/bits/stringfwd.h \
+ /usr/include/c++/5/bits/postypes.h /usr/include/c++/5/cwchar \
+ /usr/include/x86_64-linux-gnu/bits/wchar2.h \
+ /usr/include/c++/5/bits/char_traits.h \
+ /usr/include/c++/5/bits/localefwd.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/c++locale.h \
+ /usr/include/c++/5/clocale /usr/include/locale.h \
+ /usr/include/x86_64-linux-gnu/bits/locale.h /usr/include/c++/5/cctype \
+ /usr/include/ctype.h /usr/include/c++/5/bits/ios_base.h \
+ /usr/include/c++/5/ext/atomicity.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/gthr.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/x86_64-linux-gnu/bits/sched.h \
+ /usr/include/x86_64-linux-gnu/bits/timex.h \
+ /usr/include/x86_64-linux-gnu/bits/setjmp.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/atomic_word.h \
+ /usr/include/c++/5/bits/locale_classes.h /usr/include/c++/5/string \
+ /usr/include/c++/5/bits/ostream_insert.h \
+ /usr/include/c++/5/bits/cxxabi_forced.h \
+ /usr/include/c++/5/bits/stl_function.h \
+ /usr/include/c++/5/backward/binders.h \
+ /usr/include/c++/5/bits/range_access.h \
+ /usr/include/c++/5/bits/basic_string.h \
+ /usr/include/c++/5/bits/basic_string.tcc \
+ /usr/include/c++/5/bits/locale_classes.tcc /usr/include/c++/5/stdexcept \
+ /usr/include/c++/5/streambuf /usr/include/c++/5/bits/streambuf.tcc \
+ /usr/include/c++/5/bits/basic_ios.h \
+ /usr/include/c++/5/bits/locale_facets.h /usr/include/c++/5/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/ctype_base.h \
+ /usr/include/c++/5/bits/streambuf_iterator.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/ctype_inline.h \
+ /usr/include/c++/5/bits/locale_facets.tcc \
+ /usr/include/c++/5/bits/basic_ios.tcc \
+ /usr/include/c++/5/bits/ostream.tcc /usr/include/c++/5/istream \
+ /usr/include/c++/5/bits/istream.tcc /usr/include/c++/5/iomanip \
+ /usr/include/c++/5/limits /usr/include/c++/5/map \
+ /usr/include/c++/5/bits/stl_tree.h /usr/include/c++/5/bits/stl_map.h \
+ /usr/include/c++/5/bits/stl_multimap.h /usr/include/c++/5/set \
+ /usr/include/c++/5/bits/stl_set.h /usr/include/c++/5/bits/stl_multiset.h \
+ ../../modules/core/includes/MALLOC.h \
+ ../../modules/core/includes/sci_mem_alloc.h \
+ ../../modules/output_stream/includes/Scierror.h \
+ ../../modules/output_stream/includes/do_error_number.h \
+ ../../modules/core/includes/machine.h \
+ ../../modules/api_scilab/includes/api_scilab.h \
+ ../../modules/core/includes/stack-c.h /usr/include/string.h \
+ /usr/include/x86_64-linux-gnu/bits/string3.h \
+ ../../modules/core/includes/core_math.h /usr/include/math.h \
+ /usr/include/x86_64-linux-gnu/bits/math-vector.h \
+ /usr/include/x86_64-linux-gnu/bits/libm-simd-decl-stubs.h \
+ /usr/include/x86_64-linux-gnu/bits/huge_val.h \
+ /usr/include/x86_64-linux-gnu/bits/huge_valf.h \
+ /usr/include/x86_64-linux-gnu/bits/huge_vall.h \
+ /usr/include/x86_64-linux-gnu/bits/inf.h \
+ /usr/include/x86_64-linux-gnu/bits/nan.h \
+ /usr/include/x86_64-linux-gnu/bits/mathdef.h \
+ /usr/include/x86_64-linux-gnu/bits/mathcalls.h \
+ /usr/include/x86_64-linux-gnu/bits/mathinline.h /usr/include/values.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/float.h \
+ ../../modules/core/includes/stack-def.h \
+ ../../modules/core/includes/machine.h \
+ ../../modules/core/includes/stackTypeVariable.h \
+ ../../modules/core/includes/BOOL.h \
+ ../../modules/core/includes/doublecomplex.h \
+ ../../modules/core/includes/stack1.h \
+ ../../modules/core/includes/scisparse.h \
+ ../../modules/core/includes/stack2.h \
+ ../../modules/core/includes/stack3.h \
+ ../../modules/core/includes/stack-optional.h \
+ ../../modules/core/includes/sci_types.h \
+ ../../modules/api_scilab/includes/api_common.h \
+ ../../modules/api_scilab/includes/api_scilab.h \
+ ../../modules/api_scilab/includes/api_double.h \
+ ../../modules/core/includes/doublecomplex.h \
+ ../../modules/api_scilab/includes/api_string.h \
+ ../../modules/api_scilab/includes/api_int.h \
+ ../../modules/api_scilab/includes/api_poly.h \
+ ../../modules/api_scilab/includes/api_sparse.h \
+ ../../modules/api_scilab/includes/api_boolean.h \
+ ../../modules/api_scilab/includes/api_boolean_sparse.h \
+ ../../modules/api_scilab/includes/api_pointer.h \
+ ../../modules/api_scilab/includes/api_list.h \
+ ../../modules/api_scilab/includes/api_error.h \
+ ../../modules/api_scilab/includes/api_handle.h \
+ ../../modules/api_scilab/includes/api_optional.h \
+ ../../modules/core/includes/stack-optional.h \
+ ../../modules/api_scilab/includes/api_hypermat.h \
+ ../../modules/core/includes/core_math.h \
+ ../../modules/core/includes/sci_types.h \
+ ../../modules/localization/includes/localization.h \
+ /usr/include/libintl.h src/cpp/H5VariableScope.hxx \
+ /usr/include/c++/5/stack /usr/include/c++/5/deque \
+ /usr/include/c++/5/bits/stl_uninitialized.h \
+ /usr/include/c++/5/bits/stl_deque.h /usr/include/c++/5/bits/deque.tcc \
+ /usr/include/c++/5/bits/stl_stack.h /usr/include/c++/5/vector \
+ /usr/include/c++/5/bits/stl_vector.h \
+ /usr/include/c++/5/bits/stl_bvector.h /usr/include/c++/5/bits/vector.tcc \
+ src/cpp/H5Exception.hxx ../../modules/core/includes/backtrace_print.h \
+ /usr/include/c++/5/sstream /usr/include/c++/5/bits/sstream.tcc \
+ /usr/include/c++/5/cstdio src/cpp/H5Data.hxx src/cpp/H5StringData.hxx \
+ src/cpp/H5BasicData.hxx src/cpp/H5DataConverter.hxx \
+ src/cpp/H5TimeData.hxx src/cpp/H5BitfieldData.hxx \
+ src/cpp/H5ReferenceData.hxx src/cpp/H5File.hxx \
+ /usr/include/x86_64-linux-gnu/sys/stat.h \
+ /usr/include/x86_64-linux-gnu/bits/stat.h src/cpp/H5Group.hxx \
+ src/cpp/H5Type.hxx src/cpp/H5Dataset.hxx src/cpp/H5Dataspace.hxx \
+ src/cpp/H5AttributesList.hxx src/cpp/H5ListObject.hxx \
+ src/cpp/H5Attribute.hxx src/cpp/H5SoftLink.hxx src/cpp/H5Link.hxx \
+ src/cpp/H5ExternalLink.hxx src/cpp/H5NamedObjectsList.hxx \
+ src/cpp/H5CompoundData.hxx src/cpp/H5ArrayData.hxx \
+ src/cpp/H5OpaqueData.hxx src/cpp/H5TransformedData.hxx \
+ src/cpp/H5EnumData.hxx src/cpp/H5VlenData.hxx src/cpp/H5CharData.hxx \
+ src/cpp/H5UnsignedCharData.hxx
+
+/usr/include/stdc-predef.h:
+
+src/cpp/H5DataFactory.hxx:
+
+includes/HDF5Objects.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/hdf5.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5public.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5pubconf.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5version.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/include/x86_64-linux-gnu/sys/types.h:
+
+/usr/include/x86_64-linux-gnu/bits/types.h:
+
+/usr/include/x86_64-linux-gnu/bits/typesizes.h:
+
+/usr/include/time.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.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/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/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h:
+
+/usr/include/limits.h:
+
+/usr/include/x86_64-linux-gnu/bits/posix1_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/local_lim.h:
+
+/usr/include/linux/limits.h:
+
+/usr/include/x86_64-linux-gnu/bits/posix2_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/xopen_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio_lim.h:
+
+/usr/include/inttypes.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stdint.h:
+
+/usr/include/stdint.h:
+
+/usr/include/x86_64-linux-gnu/bits/wchar.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5api_adpt.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Apublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Ipublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Opublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Lpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Tpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5ACpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Cpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Dpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Epublic.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/sys_errlist.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio2.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Epubgen.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Fpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Gpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5MMpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Ppublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Zpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Rpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Spublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDcore.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDfamily.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDlog.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDmpi.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDmpio.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDmpiposix.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDmulti.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDsec2.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDstdio.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDdirect.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/hdf5_hl.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5DSpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5LTpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5IMpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5TBpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5PTpublic.h:
+
+src/cpp/H5Object.hxx:
+
+/usr/include/c++/5/algorithm:
+
+/usr/include/c++/5/utility:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/c++config.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/os_defines.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/cpu_defines.h:
+
+/usr/include/c++/5/bits/stl_relops.h:
+
+/usr/include/c++/5/bits/stl_pair.h:
+
+/usr/include/c++/5/bits/move.h:
+
+/usr/include/c++/5/bits/concept_check.h:
+
+/usr/include/c++/5/bits/stl_algobase.h:
+
+/usr/include/c++/5/bits/functexcept.h:
+
+/usr/include/c++/5/bits/exception_defines.h:
+
+/usr/include/c++/5/bits/cpp_type_traits.h:
+
+/usr/include/c++/5/ext/type_traits.h:
+
+/usr/include/c++/5/ext/numeric_traits.h:
+
+/usr/include/c++/5/bits/stl_iterator_base_types.h:
+
+/usr/include/c++/5/bits/stl_iterator_base_funcs.h:
+
+/usr/include/c++/5/debug/debug.h:
+
+/usr/include/c++/5/bits/stl_iterator.h:
+
+/usr/include/c++/5/bits/ptr_traits.h:
+
+/usr/include/c++/5/bits/predefined_ops.h:
+
+/usr/include/c++/5/bits/stl_algo.h:
+
+/usr/include/c++/5/cstdlib:
+
+/usr/include/stdlib.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitflags.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitstatus.h:
+
+/usr/include/xlocale.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/c++/5/bits/algorithmfwd.h:
+
+/usr/include/c++/5/bits/stl_heap.h:
+
+/usr/include/c++/5/bits/stl_tempbuf.h:
+
+/usr/include/c++/5/bits/stl_construct.h:
+
+/usr/include/c++/5/new:
+
+/usr/include/c++/5/exception:
+
+/usr/include/c++/5/bits/atomic_lockfree_defines.h:
+
+/usr/include/c++/5/ext/alloc_traits.h:
+
+/usr/include/c++/5/bits/allocator.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/c++allocator.h:
+
+/usr/include/c++/5/ext/new_allocator.h:
+
+/usr/include/c++/5/bits/memoryfwd.h:
+
+/usr/include/c++/5/iostream:
+
+/usr/include/c++/5/ostream:
+
+/usr/include/c++/5/ios:
+
+/usr/include/c++/5/iosfwd:
+
+/usr/include/c++/5/bits/stringfwd.h:
+
+/usr/include/c++/5/bits/postypes.h:
+
+/usr/include/c++/5/cwchar:
+
+/usr/include/x86_64-linux-gnu/bits/wchar2.h:
+
+/usr/include/c++/5/bits/char_traits.h:
+
+/usr/include/c++/5/bits/localefwd.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/c++locale.h:
+
+/usr/include/c++/5/clocale:
+
+/usr/include/locale.h:
+
+/usr/include/x86_64-linux-gnu/bits/locale.h:
+
+/usr/include/c++/5/cctype:
+
+/usr/include/ctype.h:
+
+/usr/include/c++/5/bits/ios_base.h:
+
+/usr/include/c++/5/ext/atomicity.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/gthr.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/gthr-default.h:
+
+/usr/include/pthread.h:
+
+/usr/include/sched.h:
+
+/usr/include/x86_64-linux-gnu/bits/sched.h:
+
+/usr/include/x86_64-linux-gnu/bits/timex.h:
+
+/usr/include/x86_64-linux-gnu/bits/setjmp.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/atomic_word.h:
+
+/usr/include/c++/5/bits/locale_classes.h:
+
+/usr/include/c++/5/string:
+
+/usr/include/c++/5/bits/ostream_insert.h:
+
+/usr/include/c++/5/bits/cxxabi_forced.h:
+
+/usr/include/c++/5/bits/stl_function.h:
+
+/usr/include/c++/5/backward/binders.h:
+
+/usr/include/c++/5/bits/range_access.h:
+
+/usr/include/c++/5/bits/basic_string.h:
+
+/usr/include/c++/5/bits/basic_string.tcc:
+
+/usr/include/c++/5/bits/locale_classes.tcc:
+
+/usr/include/c++/5/stdexcept:
+
+/usr/include/c++/5/streambuf:
+
+/usr/include/c++/5/bits/streambuf.tcc:
+
+/usr/include/c++/5/bits/basic_ios.h:
+
+/usr/include/c++/5/bits/locale_facets.h:
+
+/usr/include/c++/5/cwctype:
+
+/usr/include/wctype.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/ctype_base.h:
+
+/usr/include/c++/5/bits/streambuf_iterator.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/ctype_inline.h:
+
+/usr/include/c++/5/bits/locale_facets.tcc:
+
+/usr/include/c++/5/bits/basic_ios.tcc:
+
+/usr/include/c++/5/bits/ostream.tcc:
+
+/usr/include/c++/5/istream:
+
+/usr/include/c++/5/bits/istream.tcc:
+
+/usr/include/c++/5/iomanip:
+
+/usr/include/c++/5/limits:
+
+/usr/include/c++/5/map:
+
+/usr/include/c++/5/bits/stl_tree.h:
+
+/usr/include/c++/5/bits/stl_map.h:
+
+/usr/include/c++/5/bits/stl_multimap.h:
+
+/usr/include/c++/5/set:
+
+/usr/include/c++/5/bits/stl_set.h:
+
+/usr/include/c++/5/bits/stl_multiset.h:
+
+../../modules/core/includes/MALLOC.h:
+
+../../modules/core/includes/sci_mem_alloc.h:
+
+../../modules/output_stream/includes/Scierror.h:
+
+../../modules/output_stream/includes/do_error_number.h:
+
+../../modules/core/includes/machine.h:
+
+../../modules/api_scilab/includes/api_scilab.h:
+
+../../modules/core/includes/stack-c.h:
+
+/usr/include/string.h:
+
+/usr/include/x86_64-linux-gnu/bits/string3.h:
+
+../../modules/core/includes/core_math.h:
+
+/usr/include/math.h:
+
+/usr/include/x86_64-linux-gnu/bits/math-vector.h:
+
+/usr/include/x86_64-linux-gnu/bits/libm-simd-decl-stubs.h:
+
+/usr/include/x86_64-linux-gnu/bits/huge_val.h:
+
+/usr/include/x86_64-linux-gnu/bits/huge_valf.h:
+
+/usr/include/x86_64-linux-gnu/bits/huge_vall.h:
+
+/usr/include/x86_64-linux-gnu/bits/inf.h:
+
+/usr/include/x86_64-linux-gnu/bits/nan.h:
+
+/usr/include/x86_64-linux-gnu/bits/mathdef.h:
+
+/usr/include/x86_64-linux-gnu/bits/mathcalls.h:
+
+/usr/include/x86_64-linux-gnu/bits/mathinline.h:
+
+/usr/include/values.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/float.h:
+
+../../modules/core/includes/stack-def.h:
+
+../../modules/core/includes/machine.h:
+
+../../modules/core/includes/stackTypeVariable.h:
+
+../../modules/core/includes/BOOL.h:
+
+../../modules/core/includes/doublecomplex.h:
+
+../../modules/core/includes/stack1.h:
+
+../../modules/core/includes/scisparse.h:
+
+../../modules/core/includes/stack2.h:
+
+../../modules/core/includes/stack3.h:
+
+../../modules/core/includes/stack-optional.h:
+
+../../modules/core/includes/sci_types.h:
+
+../../modules/api_scilab/includes/api_common.h:
+
+../../modules/api_scilab/includes/api_scilab.h:
+
+../../modules/api_scilab/includes/api_double.h:
+
+../../modules/core/includes/doublecomplex.h:
+
+../../modules/api_scilab/includes/api_string.h:
+
+../../modules/api_scilab/includes/api_int.h:
+
+../../modules/api_scilab/includes/api_poly.h:
+
+../../modules/api_scilab/includes/api_sparse.h:
+
+../../modules/api_scilab/includes/api_boolean.h:
+
+../../modules/api_scilab/includes/api_boolean_sparse.h:
+
+../../modules/api_scilab/includes/api_pointer.h:
+
+../../modules/api_scilab/includes/api_list.h:
+
+../../modules/api_scilab/includes/api_error.h:
+
+../../modules/api_scilab/includes/api_handle.h:
+
+../../modules/api_scilab/includes/api_optional.h:
+
+../../modules/core/includes/stack-optional.h:
+
+../../modules/api_scilab/includes/api_hypermat.h:
+
+../../modules/core/includes/core_math.h:
+
+../../modules/core/includes/sci_types.h:
+
+../../modules/localization/includes/localization.h:
+
+/usr/include/libintl.h:
+
+src/cpp/H5VariableScope.hxx:
+
+/usr/include/c++/5/stack:
+
+/usr/include/c++/5/deque:
+
+/usr/include/c++/5/bits/stl_uninitialized.h:
+
+/usr/include/c++/5/bits/stl_deque.h:
+
+/usr/include/c++/5/bits/deque.tcc:
+
+/usr/include/c++/5/bits/stl_stack.h:
+
+/usr/include/c++/5/vector:
+
+/usr/include/c++/5/bits/stl_vector.h:
+
+/usr/include/c++/5/bits/stl_bvector.h:
+
+/usr/include/c++/5/bits/vector.tcc:
+
+src/cpp/H5Exception.hxx:
+
+../../modules/core/includes/backtrace_print.h:
+
+/usr/include/c++/5/sstream:
+
+/usr/include/c++/5/bits/sstream.tcc:
+
+/usr/include/c++/5/cstdio:
+
+src/cpp/H5Data.hxx:
+
+src/cpp/H5StringData.hxx:
+
+src/cpp/H5BasicData.hxx:
+
+src/cpp/H5DataConverter.hxx:
+
+src/cpp/H5TimeData.hxx:
+
+src/cpp/H5BitfieldData.hxx:
+
+src/cpp/H5ReferenceData.hxx:
+
+src/cpp/H5File.hxx:
+
+/usr/include/x86_64-linux-gnu/sys/stat.h:
+
+/usr/include/x86_64-linux-gnu/bits/stat.h:
+
+src/cpp/H5Group.hxx:
+
+src/cpp/H5Type.hxx:
+
+src/cpp/H5Dataset.hxx:
+
+src/cpp/H5Dataspace.hxx:
+
+src/cpp/H5AttributesList.hxx:
+
+src/cpp/H5ListObject.hxx:
+
+src/cpp/H5Attribute.hxx:
+
+src/cpp/H5SoftLink.hxx:
+
+src/cpp/H5Link.hxx:
+
+src/cpp/H5ExternalLink.hxx:
+
+src/cpp/H5NamedObjectsList.hxx:
+
+src/cpp/H5CompoundData.hxx:
+
+src/cpp/H5ArrayData.hxx:
+
+src/cpp/H5OpaqueData.hxx:
+
+src/cpp/H5TransformedData.hxx:
+
+src/cpp/H5EnumData.hxx:
+
+src/cpp/H5VlenData.hxx:
+
+src/cpp/H5CharData.hxx:
+
+src/cpp/H5UnsignedCharData.hxx:
diff --git a/modules/hdf5/src/cpp/.deps/libscihdf5_algo_la-H5Dataset.Plo b/modules/hdf5/src/cpp/.deps/libscihdf5_algo_la-H5Dataset.Plo
new file mode 100755
index 000000000..3ff2a8206
--- /dev/null
+++ b/modules/hdf5/src/cpp/.deps/libscihdf5_algo_la-H5Dataset.Plo
@@ -0,0 +1,804 @@
+src/cpp/libscihdf5_algo_la-H5Dataset.lo: src/cpp/H5Dataset.cpp \
+ /usr/include/stdc-predef.h src/cpp/H5Options.hxx \
+ /usr/include/c++/5/algorithm /usr/include/c++/5/utility \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/c++config.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/os_defines.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/include/x86_64-linux-gnu/c++/5/bits/cpu_defines.h \
+ /usr/include/c++/5/bits/stl_relops.h /usr/include/c++/5/bits/stl_pair.h \
+ /usr/include/c++/5/bits/move.h /usr/include/c++/5/bits/concept_check.h \
+ /usr/include/c++/5/bits/stl_algobase.h \
+ /usr/include/c++/5/bits/functexcept.h \
+ /usr/include/c++/5/bits/exception_defines.h \
+ /usr/include/c++/5/bits/cpp_type_traits.h \
+ /usr/include/c++/5/ext/type_traits.h \
+ /usr/include/c++/5/ext/numeric_traits.h \
+ /usr/include/c++/5/bits/stl_iterator_base_types.h \
+ /usr/include/c++/5/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/5/debug/debug.h /usr/include/c++/5/bits/stl_iterator.h \
+ /usr/include/c++/5/bits/ptr_traits.h \
+ /usr/include/c++/5/bits/predefined_ops.h \
+ /usr/include/c++/5/bits/stl_algo.h /usr/include/c++/5/cstdlib \
+ /usr/include/stdlib.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/xlocale.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/c++/5/bits/algorithmfwd.h \
+ /usr/include/c++/5/bits/stl_heap.h /usr/include/c++/5/bits/stl_tempbuf.h \
+ /usr/include/c++/5/bits/stl_construct.h /usr/include/c++/5/new \
+ /usr/include/c++/5/exception \
+ /usr/include/c++/5/bits/atomic_lockfree_defines.h \
+ /usr/include/c++/5/ext/alloc_traits.h \
+ /usr/include/c++/5/bits/allocator.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/c++allocator.h \
+ /usr/include/c++/5/ext/new_allocator.h \
+ /usr/include/c++/5/bits/memoryfwd.h /usr/include/c++/5/string \
+ /usr/include/c++/5/bits/stringfwd.h \
+ /usr/include/c++/5/bits/char_traits.h /usr/include/c++/5/bits/postypes.h \
+ /usr/include/c++/5/cwchar /usr/include/wchar.h /usr/include/stdio.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \
+ /usr/include/x86_64-linux-gnu/bits/wchar.h \
+ /usr/include/x86_64-linux-gnu/bits/wchar2.h \
+ /usr/include/c++/5/bits/localefwd.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/c++locale.h \
+ /usr/include/c++/5/clocale /usr/include/locale.h \
+ /usr/include/x86_64-linux-gnu/bits/locale.h /usr/include/c++/5/iosfwd \
+ /usr/include/c++/5/cctype /usr/include/ctype.h \
+ /usr/include/c++/5/bits/ostream_insert.h \
+ /usr/include/c++/5/bits/cxxabi_forced.h \
+ /usr/include/c++/5/bits/stl_function.h \
+ /usr/include/c++/5/backward/binders.h \
+ /usr/include/c++/5/bits/range_access.h \
+ /usr/include/c++/5/bits/basic_string.h \
+ /usr/include/c++/5/ext/atomicity.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/gthr.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/x86_64-linux-gnu/bits/sched.h \
+ /usr/include/x86_64-linux-gnu/bits/timex.h \
+ /usr/include/x86_64-linux-gnu/bits/setjmp.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/atomic_word.h \
+ /usr/include/c++/5/bits/basic_string.tcc src/cpp/H5Exception.hxx \
+ ../../modules/localization/includes/localization.h \
+ ../../modules/core/includes/machine.h /usr/include/libintl.h \
+ ../../modules/core/includes/backtrace_print.h includes/HDF5Objects.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/hdf5.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5public.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5pubconf.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5version.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h \
+ /usr/include/limits.h /usr/include/x86_64-linux-gnu/bits/posix1_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/local_lim.h \
+ /usr/include/linux/limits.h \
+ /usr/include/x86_64-linux-gnu/bits/posix2_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/xopen_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio_lim.h /usr/include/inttypes.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stdint.h /usr/include/stdint.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5api_adpt.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Apublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Ipublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Opublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Lpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Tpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5ACpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Cpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Dpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Epublic.h \
+ /usr/include/libio.h /usr/include/_G_config.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 \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Epubgen.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Fpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Gpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5MMpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Ppublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Zpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Rpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Spublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDcore.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDfamily.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDlog.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDmpi.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDmpio.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDmpiposix.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDmulti.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDsec2.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDstdio.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDdirect.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/hdf5_hl.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5DSpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5LTpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5IMpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5TBpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5PTpublic.h \
+ /usr/include/c++/5/sstream /usr/include/c++/5/istream \
+ /usr/include/c++/5/ios /usr/include/c++/5/bits/ios_base.h \
+ /usr/include/c++/5/bits/locale_classes.h \
+ /usr/include/c++/5/bits/locale_classes.tcc /usr/include/c++/5/stdexcept \
+ /usr/include/c++/5/streambuf /usr/include/c++/5/bits/streambuf.tcc \
+ /usr/include/c++/5/bits/basic_ios.h \
+ /usr/include/c++/5/bits/locale_facets.h /usr/include/c++/5/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/ctype_base.h \
+ /usr/include/c++/5/bits/streambuf_iterator.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/ctype_inline.h \
+ /usr/include/c++/5/bits/locale_facets.tcc \
+ /usr/include/c++/5/bits/basic_ios.tcc /usr/include/c++/5/ostream \
+ /usr/include/c++/5/bits/ostream.tcc /usr/include/c++/5/bits/istream.tcc \
+ /usr/include/c++/5/bits/sstream.tcc /usr/include/c++/5/cstdio \
+ src/cpp/H5Dataset.hxx src/cpp/H5Object.hxx /usr/include/c++/5/iostream \
+ /usr/include/c++/5/iomanip /usr/include/c++/5/limits \
+ /usr/include/c++/5/map /usr/include/c++/5/bits/stl_tree.h \
+ /usr/include/c++/5/bits/stl_map.h /usr/include/c++/5/bits/stl_multimap.h \
+ /usr/include/c++/5/set /usr/include/c++/5/bits/stl_set.h \
+ /usr/include/c++/5/bits/stl_multiset.h \
+ ../../modules/core/includes/MALLOC.h \
+ ../../modules/core/includes/sci_mem_alloc.h \
+ ../../modules/output_stream/includes/Scierror.h \
+ ../../modules/output_stream/includes/do_error_number.h \
+ ../../modules/api_scilab/includes/api_scilab.h \
+ ../../modules/core/includes/stack-c.h /usr/include/string.h \
+ /usr/include/x86_64-linux-gnu/bits/string3.h \
+ ../../modules/core/includes/core_math.h /usr/include/math.h \
+ /usr/include/x86_64-linux-gnu/bits/math-vector.h \
+ /usr/include/x86_64-linux-gnu/bits/libm-simd-decl-stubs.h \
+ /usr/include/x86_64-linux-gnu/bits/huge_val.h \
+ /usr/include/x86_64-linux-gnu/bits/huge_valf.h \
+ /usr/include/x86_64-linux-gnu/bits/huge_vall.h \
+ /usr/include/x86_64-linux-gnu/bits/inf.h \
+ /usr/include/x86_64-linux-gnu/bits/nan.h \
+ /usr/include/x86_64-linux-gnu/bits/mathdef.h \
+ /usr/include/x86_64-linux-gnu/bits/mathcalls.h \
+ /usr/include/x86_64-linux-gnu/bits/mathinline.h /usr/include/values.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/float.h \
+ ../../modules/core/includes/stack-def.h \
+ ../../modules/core/includes/machine.h \
+ ../../modules/core/includes/stackTypeVariable.h \
+ ../../modules/core/includes/BOOL.h \
+ ../../modules/core/includes/doublecomplex.h \
+ ../../modules/core/includes/stack1.h \
+ ../../modules/core/includes/scisparse.h \
+ ../../modules/core/includes/stack2.h \
+ ../../modules/core/includes/stack3.h \
+ ../../modules/core/includes/stack-optional.h \
+ ../../modules/core/includes/sci_types.h \
+ ../../modules/api_scilab/includes/api_common.h \
+ ../../modules/api_scilab/includes/api_scilab.h \
+ ../../modules/api_scilab/includes/api_double.h \
+ ../../modules/core/includes/doublecomplex.h \
+ ../../modules/api_scilab/includes/api_string.h \
+ ../../modules/api_scilab/includes/api_int.h \
+ ../../modules/api_scilab/includes/api_poly.h \
+ ../../modules/api_scilab/includes/api_sparse.h \
+ ../../modules/api_scilab/includes/api_boolean.h \
+ ../../modules/api_scilab/includes/api_boolean_sparse.h \
+ ../../modules/api_scilab/includes/api_pointer.h \
+ ../../modules/api_scilab/includes/api_list.h \
+ ../../modules/api_scilab/includes/api_error.h \
+ ../../modules/api_scilab/includes/api_handle.h \
+ ../../modules/api_scilab/includes/api_optional.h \
+ ../../modules/core/includes/stack-optional.h \
+ ../../modules/api_scilab/includes/api_hypermat.h \
+ ../../modules/core/includes/core_math.h \
+ ../../modules/core/includes/sci_types.h src/cpp/H5VariableScope.hxx \
+ /usr/include/c++/5/stack /usr/include/c++/5/deque \
+ /usr/include/c++/5/bits/stl_uninitialized.h \
+ /usr/include/c++/5/bits/stl_deque.h /usr/include/c++/5/bits/deque.tcc \
+ /usr/include/c++/5/bits/stl_stack.h /usr/include/c++/5/vector \
+ /usr/include/c++/5/bits/stl_vector.h \
+ /usr/include/c++/5/bits/stl_bvector.h /usr/include/c++/5/bits/vector.tcc \
+ src/cpp/H5Data.hxx src/cpp/H5Dataspace.hxx src/cpp/H5Type.hxx \
+ src/cpp/H5File.hxx /usr/include/x86_64-linux-gnu/sys/stat.h \
+ /usr/include/x86_64-linux-gnu/bits/stat.h src/cpp/H5AttributesList.hxx \
+ src/cpp/H5ListObject.hxx src/cpp/H5Attribute.hxx \
+ src/cpp/H5DataFactory.hxx src/cpp/H5StringData.hxx \
+ src/cpp/H5BasicData.hxx src/cpp/H5DataConverter.hxx \
+ src/cpp/H5TimeData.hxx src/cpp/H5BitfieldData.hxx \
+ src/cpp/H5ReferenceData.hxx src/cpp/H5Group.hxx src/cpp/H5SoftLink.hxx \
+ src/cpp/H5Link.hxx src/cpp/H5ExternalLink.hxx \
+ src/cpp/H5NamedObjectsList.hxx src/cpp/H5CompoundData.hxx \
+ src/cpp/H5ArrayData.hxx src/cpp/H5OpaqueData.hxx \
+ src/cpp/H5TransformedData.hxx src/cpp/H5EnumData.hxx \
+ src/cpp/H5VlenData.hxx src/cpp/H5CharData.hxx \
+ src/cpp/H5UnsignedCharData.hxx src/cpp/H5HardLink.hxx
+
+/usr/include/stdc-predef.h:
+
+src/cpp/H5Options.hxx:
+
+/usr/include/c++/5/algorithm:
+
+/usr/include/c++/5/utility:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/c++config.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/os_defines.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/include/x86_64-linux-gnu/c++/5/bits/cpu_defines.h:
+
+/usr/include/c++/5/bits/stl_relops.h:
+
+/usr/include/c++/5/bits/stl_pair.h:
+
+/usr/include/c++/5/bits/move.h:
+
+/usr/include/c++/5/bits/concept_check.h:
+
+/usr/include/c++/5/bits/stl_algobase.h:
+
+/usr/include/c++/5/bits/functexcept.h:
+
+/usr/include/c++/5/bits/exception_defines.h:
+
+/usr/include/c++/5/bits/cpp_type_traits.h:
+
+/usr/include/c++/5/ext/type_traits.h:
+
+/usr/include/c++/5/ext/numeric_traits.h:
+
+/usr/include/c++/5/bits/stl_iterator_base_types.h:
+
+/usr/include/c++/5/bits/stl_iterator_base_funcs.h:
+
+/usr/include/c++/5/debug/debug.h:
+
+/usr/include/c++/5/bits/stl_iterator.h:
+
+/usr/include/c++/5/bits/ptr_traits.h:
+
+/usr/include/c++/5/bits/predefined_ops.h:
+
+/usr/include/c++/5/bits/stl_algo.h:
+
+/usr/include/c++/5/cstdlib:
+
+/usr/include/stdlib.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/xlocale.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/c++/5/bits/algorithmfwd.h:
+
+/usr/include/c++/5/bits/stl_heap.h:
+
+/usr/include/c++/5/bits/stl_tempbuf.h:
+
+/usr/include/c++/5/bits/stl_construct.h:
+
+/usr/include/c++/5/new:
+
+/usr/include/c++/5/exception:
+
+/usr/include/c++/5/bits/atomic_lockfree_defines.h:
+
+/usr/include/c++/5/ext/alloc_traits.h:
+
+/usr/include/c++/5/bits/allocator.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/c++allocator.h:
+
+/usr/include/c++/5/ext/new_allocator.h:
+
+/usr/include/c++/5/bits/memoryfwd.h:
+
+/usr/include/c++/5/string:
+
+/usr/include/c++/5/bits/stringfwd.h:
+
+/usr/include/c++/5/bits/char_traits.h:
+
+/usr/include/c++/5/bits/postypes.h:
+
+/usr/include/c++/5/cwchar:
+
+/usr/include/wchar.h:
+
+/usr/include/stdio.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h:
+
+/usr/include/x86_64-linux-gnu/bits/wchar.h:
+
+/usr/include/x86_64-linux-gnu/bits/wchar2.h:
+
+/usr/include/c++/5/bits/localefwd.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/c++locale.h:
+
+/usr/include/c++/5/clocale:
+
+/usr/include/locale.h:
+
+/usr/include/x86_64-linux-gnu/bits/locale.h:
+
+/usr/include/c++/5/iosfwd:
+
+/usr/include/c++/5/cctype:
+
+/usr/include/ctype.h:
+
+/usr/include/c++/5/bits/ostream_insert.h:
+
+/usr/include/c++/5/bits/cxxabi_forced.h:
+
+/usr/include/c++/5/bits/stl_function.h:
+
+/usr/include/c++/5/backward/binders.h:
+
+/usr/include/c++/5/bits/range_access.h:
+
+/usr/include/c++/5/bits/basic_string.h:
+
+/usr/include/c++/5/ext/atomicity.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/gthr.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/gthr-default.h:
+
+/usr/include/pthread.h:
+
+/usr/include/sched.h:
+
+/usr/include/x86_64-linux-gnu/bits/sched.h:
+
+/usr/include/x86_64-linux-gnu/bits/timex.h:
+
+/usr/include/x86_64-linux-gnu/bits/setjmp.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/atomic_word.h:
+
+/usr/include/c++/5/bits/basic_string.tcc:
+
+src/cpp/H5Exception.hxx:
+
+../../modules/localization/includes/localization.h:
+
+../../modules/core/includes/machine.h:
+
+/usr/include/libintl.h:
+
+../../modules/core/includes/backtrace_print.h:
+
+includes/HDF5Objects.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/hdf5.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5public.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5pubconf.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5version.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h:
+
+/usr/include/limits.h:
+
+/usr/include/x86_64-linux-gnu/bits/posix1_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/local_lim.h:
+
+/usr/include/linux/limits.h:
+
+/usr/include/x86_64-linux-gnu/bits/posix2_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/xopen_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio_lim.h:
+
+/usr/include/inttypes.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stdint.h:
+
+/usr/include/stdint.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5api_adpt.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Apublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Ipublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Opublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Lpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Tpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5ACpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Cpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Dpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Epublic.h:
+
+/usr/include/libio.h:
+
+/usr/include/_G_config.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:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Epubgen.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Fpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Gpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5MMpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Ppublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Zpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Rpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Spublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDcore.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDfamily.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDlog.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDmpi.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDmpio.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDmpiposix.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDmulti.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDsec2.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDstdio.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDdirect.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/hdf5_hl.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5DSpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5LTpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5IMpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5TBpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5PTpublic.h:
+
+/usr/include/c++/5/sstream:
+
+/usr/include/c++/5/istream:
+
+/usr/include/c++/5/ios:
+
+/usr/include/c++/5/bits/ios_base.h:
+
+/usr/include/c++/5/bits/locale_classes.h:
+
+/usr/include/c++/5/bits/locale_classes.tcc:
+
+/usr/include/c++/5/stdexcept:
+
+/usr/include/c++/5/streambuf:
+
+/usr/include/c++/5/bits/streambuf.tcc:
+
+/usr/include/c++/5/bits/basic_ios.h:
+
+/usr/include/c++/5/bits/locale_facets.h:
+
+/usr/include/c++/5/cwctype:
+
+/usr/include/wctype.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/ctype_base.h:
+
+/usr/include/c++/5/bits/streambuf_iterator.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/ctype_inline.h:
+
+/usr/include/c++/5/bits/locale_facets.tcc:
+
+/usr/include/c++/5/bits/basic_ios.tcc:
+
+/usr/include/c++/5/ostream:
+
+/usr/include/c++/5/bits/ostream.tcc:
+
+/usr/include/c++/5/bits/istream.tcc:
+
+/usr/include/c++/5/bits/sstream.tcc:
+
+/usr/include/c++/5/cstdio:
+
+src/cpp/H5Dataset.hxx:
+
+src/cpp/H5Object.hxx:
+
+/usr/include/c++/5/iostream:
+
+/usr/include/c++/5/iomanip:
+
+/usr/include/c++/5/limits:
+
+/usr/include/c++/5/map:
+
+/usr/include/c++/5/bits/stl_tree.h:
+
+/usr/include/c++/5/bits/stl_map.h:
+
+/usr/include/c++/5/bits/stl_multimap.h:
+
+/usr/include/c++/5/set:
+
+/usr/include/c++/5/bits/stl_set.h:
+
+/usr/include/c++/5/bits/stl_multiset.h:
+
+../../modules/core/includes/MALLOC.h:
+
+../../modules/core/includes/sci_mem_alloc.h:
+
+../../modules/output_stream/includes/Scierror.h:
+
+../../modules/output_stream/includes/do_error_number.h:
+
+../../modules/api_scilab/includes/api_scilab.h:
+
+../../modules/core/includes/stack-c.h:
+
+/usr/include/string.h:
+
+/usr/include/x86_64-linux-gnu/bits/string3.h:
+
+../../modules/core/includes/core_math.h:
+
+/usr/include/math.h:
+
+/usr/include/x86_64-linux-gnu/bits/math-vector.h:
+
+/usr/include/x86_64-linux-gnu/bits/libm-simd-decl-stubs.h:
+
+/usr/include/x86_64-linux-gnu/bits/huge_val.h:
+
+/usr/include/x86_64-linux-gnu/bits/huge_valf.h:
+
+/usr/include/x86_64-linux-gnu/bits/huge_vall.h:
+
+/usr/include/x86_64-linux-gnu/bits/inf.h:
+
+/usr/include/x86_64-linux-gnu/bits/nan.h:
+
+/usr/include/x86_64-linux-gnu/bits/mathdef.h:
+
+/usr/include/x86_64-linux-gnu/bits/mathcalls.h:
+
+/usr/include/x86_64-linux-gnu/bits/mathinline.h:
+
+/usr/include/values.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/float.h:
+
+../../modules/core/includes/stack-def.h:
+
+../../modules/core/includes/machine.h:
+
+../../modules/core/includes/stackTypeVariable.h:
+
+../../modules/core/includes/BOOL.h:
+
+../../modules/core/includes/doublecomplex.h:
+
+../../modules/core/includes/stack1.h:
+
+../../modules/core/includes/scisparse.h:
+
+../../modules/core/includes/stack2.h:
+
+../../modules/core/includes/stack3.h:
+
+../../modules/core/includes/stack-optional.h:
+
+../../modules/core/includes/sci_types.h:
+
+../../modules/api_scilab/includes/api_common.h:
+
+../../modules/api_scilab/includes/api_scilab.h:
+
+../../modules/api_scilab/includes/api_double.h:
+
+../../modules/core/includes/doublecomplex.h:
+
+../../modules/api_scilab/includes/api_string.h:
+
+../../modules/api_scilab/includes/api_int.h:
+
+../../modules/api_scilab/includes/api_poly.h:
+
+../../modules/api_scilab/includes/api_sparse.h:
+
+../../modules/api_scilab/includes/api_boolean.h:
+
+../../modules/api_scilab/includes/api_boolean_sparse.h:
+
+../../modules/api_scilab/includes/api_pointer.h:
+
+../../modules/api_scilab/includes/api_list.h:
+
+../../modules/api_scilab/includes/api_error.h:
+
+../../modules/api_scilab/includes/api_handle.h:
+
+../../modules/api_scilab/includes/api_optional.h:
+
+../../modules/core/includes/stack-optional.h:
+
+../../modules/api_scilab/includes/api_hypermat.h:
+
+../../modules/core/includes/core_math.h:
+
+../../modules/core/includes/sci_types.h:
+
+src/cpp/H5VariableScope.hxx:
+
+/usr/include/c++/5/stack:
+
+/usr/include/c++/5/deque:
+
+/usr/include/c++/5/bits/stl_uninitialized.h:
+
+/usr/include/c++/5/bits/stl_deque.h:
+
+/usr/include/c++/5/bits/deque.tcc:
+
+/usr/include/c++/5/bits/stl_stack.h:
+
+/usr/include/c++/5/vector:
+
+/usr/include/c++/5/bits/stl_vector.h:
+
+/usr/include/c++/5/bits/stl_bvector.h:
+
+/usr/include/c++/5/bits/vector.tcc:
+
+src/cpp/H5Data.hxx:
+
+src/cpp/H5Dataspace.hxx:
+
+src/cpp/H5Type.hxx:
+
+src/cpp/H5File.hxx:
+
+/usr/include/x86_64-linux-gnu/sys/stat.h:
+
+/usr/include/x86_64-linux-gnu/bits/stat.h:
+
+src/cpp/H5AttributesList.hxx:
+
+src/cpp/H5ListObject.hxx:
+
+src/cpp/H5Attribute.hxx:
+
+src/cpp/H5DataFactory.hxx:
+
+src/cpp/H5StringData.hxx:
+
+src/cpp/H5BasicData.hxx:
+
+src/cpp/H5DataConverter.hxx:
+
+src/cpp/H5TimeData.hxx:
+
+src/cpp/H5BitfieldData.hxx:
+
+src/cpp/H5ReferenceData.hxx:
+
+src/cpp/H5Group.hxx:
+
+src/cpp/H5SoftLink.hxx:
+
+src/cpp/H5Link.hxx:
+
+src/cpp/H5ExternalLink.hxx:
+
+src/cpp/H5NamedObjectsList.hxx:
+
+src/cpp/H5CompoundData.hxx:
+
+src/cpp/H5ArrayData.hxx:
+
+src/cpp/H5OpaqueData.hxx:
+
+src/cpp/H5TransformedData.hxx:
+
+src/cpp/H5EnumData.hxx:
+
+src/cpp/H5VlenData.hxx:
+
+src/cpp/H5CharData.hxx:
+
+src/cpp/H5UnsignedCharData.hxx:
+
+src/cpp/H5HardLink.hxx:
diff --git a/modules/hdf5/src/cpp/.deps/libscihdf5_algo_la-H5Dataspace.Plo b/modules/hdf5/src/cpp/.deps/libscihdf5_algo_la-H5Dataspace.Plo
new file mode 100755
index 000000000..a6ee2e003
--- /dev/null
+++ b/modules/hdf5/src/cpp/.deps/libscihdf5_algo_la-H5Dataspace.Plo
@@ -0,0 +1,737 @@
+src/cpp/libscihdf5_algo_la-H5Dataspace.lo: src/cpp/H5Dataspace.cpp \
+ /usr/include/stdc-predef.h src/cpp/H5File.hxx src/cpp/H5Object.hxx \
+ includes/HDF5Objects.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/hdf5.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5public.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5pubconf.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5version.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/include/x86_64-linux-gnu/sys/types.h \
+ /usr/include/x86_64-linux-gnu/bits/types.h \
+ /usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/time.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.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/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/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h \
+ /usr/include/limits.h /usr/include/x86_64-linux-gnu/bits/posix1_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/local_lim.h \
+ /usr/include/linux/limits.h \
+ /usr/include/x86_64-linux-gnu/bits/posix2_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/xopen_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio_lim.h /usr/include/inttypes.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stdint.h /usr/include/stdint.h \
+ /usr/include/x86_64-linux-gnu/bits/wchar.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5api_adpt.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Apublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Ipublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Opublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Lpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Tpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5ACpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Cpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Dpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Epublic.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/sys_errlist.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio2.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Epubgen.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Fpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Gpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5MMpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Ppublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Zpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Rpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Spublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDcore.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDfamily.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDlog.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDmpi.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDmpio.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDmpiposix.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDmulti.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDsec2.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDstdio.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDdirect.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/hdf5_hl.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5DSpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5LTpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5IMpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5TBpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5PTpublic.h \
+ /usr/include/c++/5/algorithm /usr/include/c++/5/utility \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/c++config.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/os_defines.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/cpu_defines.h \
+ /usr/include/c++/5/bits/stl_relops.h /usr/include/c++/5/bits/stl_pair.h \
+ /usr/include/c++/5/bits/move.h /usr/include/c++/5/bits/concept_check.h \
+ /usr/include/c++/5/bits/stl_algobase.h \
+ /usr/include/c++/5/bits/functexcept.h \
+ /usr/include/c++/5/bits/exception_defines.h \
+ /usr/include/c++/5/bits/cpp_type_traits.h \
+ /usr/include/c++/5/ext/type_traits.h \
+ /usr/include/c++/5/ext/numeric_traits.h \
+ /usr/include/c++/5/bits/stl_iterator_base_types.h \
+ /usr/include/c++/5/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/5/debug/debug.h /usr/include/c++/5/bits/stl_iterator.h \
+ /usr/include/c++/5/bits/ptr_traits.h \
+ /usr/include/c++/5/bits/predefined_ops.h \
+ /usr/include/c++/5/bits/stl_algo.h /usr/include/c++/5/cstdlib \
+ /usr/include/stdlib.h /usr/include/x86_64-linux-gnu/bits/waitflags.h \
+ /usr/include/x86_64-linux-gnu/bits/waitstatus.h /usr/include/xlocale.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/c++/5/bits/algorithmfwd.h \
+ /usr/include/c++/5/bits/stl_heap.h /usr/include/c++/5/bits/stl_tempbuf.h \
+ /usr/include/c++/5/bits/stl_construct.h /usr/include/c++/5/new \
+ /usr/include/c++/5/exception \
+ /usr/include/c++/5/bits/atomic_lockfree_defines.h \
+ /usr/include/c++/5/ext/alloc_traits.h \
+ /usr/include/c++/5/bits/allocator.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/c++allocator.h \
+ /usr/include/c++/5/ext/new_allocator.h \
+ /usr/include/c++/5/bits/memoryfwd.h /usr/include/c++/5/iostream \
+ /usr/include/c++/5/ostream /usr/include/c++/5/ios \
+ /usr/include/c++/5/iosfwd /usr/include/c++/5/bits/stringfwd.h \
+ /usr/include/c++/5/bits/postypes.h /usr/include/c++/5/cwchar \
+ /usr/include/x86_64-linux-gnu/bits/wchar2.h \
+ /usr/include/c++/5/bits/char_traits.h \
+ /usr/include/c++/5/bits/localefwd.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/c++locale.h \
+ /usr/include/c++/5/clocale /usr/include/locale.h \
+ /usr/include/x86_64-linux-gnu/bits/locale.h /usr/include/c++/5/cctype \
+ /usr/include/ctype.h /usr/include/c++/5/bits/ios_base.h \
+ /usr/include/c++/5/ext/atomicity.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/gthr.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/x86_64-linux-gnu/bits/sched.h \
+ /usr/include/x86_64-linux-gnu/bits/timex.h \
+ /usr/include/x86_64-linux-gnu/bits/setjmp.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/atomic_word.h \
+ /usr/include/c++/5/bits/locale_classes.h /usr/include/c++/5/string \
+ /usr/include/c++/5/bits/ostream_insert.h \
+ /usr/include/c++/5/bits/cxxabi_forced.h \
+ /usr/include/c++/5/bits/stl_function.h \
+ /usr/include/c++/5/backward/binders.h \
+ /usr/include/c++/5/bits/range_access.h \
+ /usr/include/c++/5/bits/basic_string.h \
+ /usr/include/c++/5/bits/basic_string.tcc \
+ /usr/include/c++/5/bits/locale_classes.tcc /usr/include/c++/5/stdexcept \
+ /usr/include/c++/5/streambuf /usr/include/c++/5/bits/streambuf.tcc \
+ /usr/include/c++/5/bits/basic_ios.h \
+ /usr/include/c++/5/bits/locale_facets.h /usr/include/c++/5/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/ctype_base.h \
+ /usr/include/c++/5/bits/streambuf_iterator.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/ctype_inline.h \
+ /usr/include/c++/5/bits/locale_facets.tcc \
+ /usr/include/c++/5/bits/basic_ios.tcc \
+ /usr/include/c++/5/bits/ostream.tcc /usr/include/c++/5/istream \
+ /usr/include/c++/5/bits/istream.tcc /usr/include/c++/5/iomanip \
+ /usr/include/c++/5/limits /usr/include/c++/5/map \
+ /usr/include/c++/5/bits/stl_tree.h /usr/include/c++/5/bits/stl_map.h \
+ /usr/include/c++/5/bits/stl_multimap.h /usr/include/c++/5/set \
+ /usr/include/c++/5/bits/stl_set.h /usr/include/c++/5/bits/stl_multiset.h \
+ ../../modules/core/includes/MALLOC.h \
+ ../../modules/core/includes/sci_mem_alloc.h \
+ ../../modules/output_stream/includes/Scierror.h \
+ ../../modules/output_stream/includes/do_error_number.h \
+ ../../modules/core/includes/machine.h \
+ ../../modules/api_scilab/includes/api_scilab.h \
+ ../../modules/core/includes/stack-c.h /usr/include/string.h \
+ /usr/include/x86_64-linux-gnu/bits/string3.h \
+ ../../modules/core/includes/core_math.h /usr/include/math.h \
+ /usr/include/x86_64-linux-gnu/bits/math-vector.h \
+ /usr/include/x86_64-linux-gnu/bits/libm-simd-decl-stubs.h \
+ /usr/include/x86_64-linux-gnu/bits/huge_val.h \
+ /usr/include/x86_64-linux-gnu/bits/huge_valf.h \
+ /usr/include/x86_64-linux-gnu/bits/huge_vall.h \
+ /usr/include/x86_64-linux-gnu/bits/inf.h \
+ /usr/include/x86_64-linux-gnu/bits/nan.h \
+ /usr/include/x86_64-linux-gnu/bits/mathdef.h \
+ /usr/include/x86_64-linux-gnu/bits/mathcalls.h \
+ /usr/include/x86_64-linux-gnu/bits/mathinline.h /usr/include/values.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/float.h \
+ ../../modules/core/includes/stack-def.h \
+ ../../modules/core/includes/machine.h \
+ ../../modules/core/includes/stackTypeVariable.h \
+ ../../modules/core/includes/BOOL.h \
+ ../../modules/core/includes/doublecomplex.h \
+ ../../modules/core/includes/stack1.h \
+ ../../modules/core/includes/scisparse.h \
+ ../../modules/core/includes/stack2.h \
+ ../../modules/core/includes/stack3.h \
+ ../../modules/core/includes/stack-optional.h \
+ ../../modules/core/includes/sci_types.h \
+ ../../modules/api_scilab/includes/api_common.h \
+ ../../modules/api_scilab/includes/api_scilab.h \
+ ../../modules/api_scilab/includes/api_double.h \
+ ../../modules/core/includes/doublecomplex.h \
+ ../../modules/api_scilab/includes/api_string.h \
+ ../../modules/api_scilab/includes/api_int.h \
+ ../../modules/api_scilab/includes/api_poly.h \
+ ../../modules/api_scilab/includes/api_sparse.h \
+ ../../modules/api_scilab/includes/api_boolean.h \
+ ../../modules/api_scilab/includes/api_boolean_sparse.h \
+ ../../modules/api_scilab/includes/api_pointer.h \
+ ../../modules/api_scilab/includes/api_list.h \
+ ../../modules/api_scilab/includes/api_error.h \
+ ../../modules/api_scilab/includes/api_handle.h \
+ ../../modules/api_scilab/includes/api_optional.h \
+ ../../modules/core/includes/stack-optional.h \
+ ../../modules/api_scilab/includes/api_hypermat.h \
+ ../../modules/core/includes/core_math.h \
+ ../../modules/core/includes/sci_types.h \
+ ../../modules/localization/includes/localization.h \
+ /usr/include/libintl.h src/cpp/H5VariableScope.hxx \
+ /usr/include/c++/5/stack /usr/include/c++/5/deque \
+ /usr/include/c++/5/bits/stl_uninitialized.h \
+ /usr/include/c++/5/bits/stl_deque.h /usr/include/c++/5/bits/deque.tcc \
+ /usr/include/c++/5/bits/stl_stack.h /usr/include/c++/5/vector \
+ /usr/include/c++/5/bits/stl_vector.h \
+ /usr/include/c++/5/bits/stl_bvector.h /usr/include/c++/5/bits/vector.tcc \
+ src/cpp/H5Exception.hxx ../../modules/core/includes/backtrace_print.h \
+ /usr/include/c++/5/sstream /usr/include/c++/5/bits/sstream.tcc \
+ /usr/include/c++/5/cstdio /usr/include/x86_64-linux-gnu/sys/stat.h \
+ /usr/include/x86_64-linux-gnu/bits/stat.h src/cpp/H5Dataspace.hxx
+
+/usr/include/stdc-predef.h:
+
+src/cpp/H5File.hxx:
+
+src/cpp/H5Object.hxx:
+
+includes/HDF5Objects.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/hdf5.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5public.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5pubconf.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5version.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/include/x86_64-linux-gnu/sys/types.h:
+
+/usr/include/x86_64-linux-gnu/bits/types.h:
+
+/usr/include/x86_64-linux-gnu/bits/typesizes.h:
+
+/usr/include/time.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.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/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/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h:
+
+/usr/include/limits.h:
+
+/usr/include/x86_64-linux-gnu/bits/posix1_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/local_lim.h:
+
+/usr/include/linux/limits.h:
+
+/usr/include/x86_64-linux-gnu/bits/posix2_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/xopen_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio_lim.h:
+
+/usr/include/inttypes.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stdint.h:
+
+/usr/include/stdint.h:
+
+/usr/include/x86_64-linux-gnu/bits/wchar.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5api_adpt.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Apublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Ipublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Opublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Lpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Tpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5ACpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Cpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Dpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Epublic.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/sys_errlist.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio2.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Epubgen.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Fpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Gpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5MMpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Ppublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Zpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Rpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Spublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDcore.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDfamily.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDlog.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDmpi.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDmpio.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDmpiposix.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDmulti.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDsec2.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDstdio.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDdirect.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/hdf5_hl.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5DSpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5LTpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5IMpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5TBpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5PTpublic.h:
+
+/usr/include/c++/5/algorithm:
+
+/usr/include/c++/5/utility:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/c++config.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/os_defines.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/cpu_defines.h:
+
+/usr/include/c++/5/bits/stl_relops.h:
+
+/usr/include/c++/5/bits/stl_pair.h:
+
+/usr/include/c++/5/bits/move.h:
+
+/usr/include/c++/5/bits/concept_check.h:
+
+/usr/include/c++/5/bits/stl_algobase.h:
+
+/usr/include/c++/5/bits/functexcept.h:
+
+/usr/include/c++/5/bits/exception_defines.h:
+
+/usr/include/c++/5/bits/cpp_type_traits.h:
+
+/usr/include/c++/5/ext/type_traits.h:
+
+/usr/include/c++/5/ext/numeric_traits.h:
+
+/usr/include/c++/5/bits/stl_iterator_base_types.h:
+
+/usr/include/c++/5/bits/stl_iterator_base_funcs.h:
+
+/usr/include/c++/5/debug/debug.h:
+
+/usr/include/c++/5/bits/stl_iterator.h:
+
+/usr/include/c++/5/bits/ptr_traits.h:
+
+/usr/include/c++/5/bits/predefined_ops.h:
+
+/usr/include/c++/5/bits/stl_algo.h:
+
+/usr/include/c++/5/cstdlib:
+
+/usr/include/stdlib.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitflags.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitstatus.h:
+
+/usr/include/xlocale.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/c++/5/bits/algorithmfwd.h:
+
+/usr/include/c++/5/bits/stl_heap.h:
+
+/usr/include/c++/5/bits/stl_tempbuf.h:
+
+/usr/include/c++/5/bits/stl_construct.h:
+
+/usr/include/c++/5/new:
+
+/usr/include/c++/5/exception:
+
+/usr/include/c++/5/bits/atomic_lockfree_defines.h:
+
+/usr/include/c++/5/ext/alloc_traits.h:
+
+/usr/include/c++/5/bits/allocator.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/c++allocator.h:
+
+/usr/include/c++/5/ext/new_allocator.h:
+
+/usr/include/c++/5/bits/memoryfwd.h:
+
+/usr/include/c++/5/iostream:
+
+/usr/include/c++/5/ostream:
+
+/usr/include/c++/5/ios:
+
+/usr/include/c++/5/iosfwd:
+
+/usr/include/c++/5/bits/stringfwd.h:
+
+/usr/include/c++/5/bits/postypes.h:
+
+/usr/include/c++/5/cwchar:
+
+/usr/include/x86_64-linux-gnu/bits/wchar2.h:
+
+/usr/include/c++/5/bits/char_traits.h:
+
+/usr/include/c++/5/bits/localefwd.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/c++locale.h:
+
+/usr/include/c++/5/clocale:
+
+/usr/include/locale.h:
+
+/usr/include/x86_64-linux-gnu/bits/locale.h:
+
+/usr/include/c++/5/cctype:
+
+/usr/include/ctype.h:
+
+/usr/include/c++/5/bits/ios_base.h:
+
+/usr/include/c++/5/ext/atomicity.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/gthr.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/gthr-default.h:
+
+/usr/include/pthread.h:
+
+/usr/include/sched.h:
+
+/usr/include/x86_64-linux-gnu/bits/sched.h:
+
+/usr/include/x86_64-linux-gnu/bits/timex.h:
+
+/usr/include/x86_64-linux-gnu/bits/setjmp.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/atomic_word.h:
+
+/usr/include/c++/5/bits/locale_classes.h:
+
+/usr/include/c++/5/string:
+
+/usr/include/c++/5/bits/ostream_insert.h:
+
+/usr/include/c++/5/bits/cxxabi_forced.h:
+
+/usr/include/c++/5/bits/stl_function.h:
+
+/usr/include/c++/5/backward/binders.h:
+
+/usr/include/c++/5/bits/range_access.h:
+
+/usr/include/c++/5/bits/basic_string.h:
+
+/usr/include/c++/5/bits/basic_string.tcc:
+
+/usr/include/c++/5/bits/locale_classes.tcc:
+
+/usr/include/c++/5/stdexcept:
+
+/usr/include/c++/5/streambuf:
+
+/usr/include/c++/5/bits/streambuf.tcc:
+
+/usr/include/c++/5/bits/basic_ios.h:
+
+/usr/include/c++/5/bits/locale_facets.h:
+
+/usr/include/c++/5/cwctype:
+
+/usr/include/wctype.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/ctype_base.h:
+
+/usr/include/c++/5/bits/streambuf_iterator.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/ctype_inline.h:
+
+/usr/include/c++/5/bits/locale_facets.tcc:
+
+/usr/include/c++/5/bits/basic_ios.tcc:
+
+/usr/include/c++/5/bits/ostream.tcc:
+
+/usr/include/c++/5/istream:
+
+/usr/include/c++/5/bits/istream.tcc:
+
+/usr/include/c++/5/iomanip:
+
+/usr/include/c++/5/limits:
+
+/usr/include/c++/5/map:
+
+/usr/include/c++/5/bits/stl_tree.h:
+
+/usr/include/c++/5/bits/stl_map.h:
+
+/usr/include/c++/5/bits/stl_multimap.h:
+
+/usr/include/c++/5/set:
+
+/usr/include/c++/5/bits/stl_set.h:
+
+/usr/include/c++/5/bits/stl_multiset.h:
+
+../../modules/core/includes/MALLOC.h:
+
+../../modules/core/includes/sci_mem_alloc.h:
+
+../../modules/output_stream/includes/Scierror.h:
+
+../../modules/output_stream/includes/do_error_number.h:
+
+../../modules/core/includes/machine.h:
+
+../../modules/api_scilab/includes/api_scilab.h:
+
+../../modules/core/includes/stack-c.h:
+
+/usr/include/string.h:
+
+/usr/include/x86_64-linux-gnu/bits/string3.h:
+
+../../modules/core/includes/core_math.h:
+
+/usr/include/math.h:
+
+/usr/include/x86_64-linux-gnu/bits/math-vector.h:
+
+/usr/include/x86_64-linux-gnu/bits/libm-simd-decl-stubs.h:
+
+/usr/include/x86_64-linux-gnu/bits/huge_val.h:
+
+/usr/include/x86_64-linux-gnu/bits/huge_valf.h:
+
+/usr/include/x86_64-linux-gnu/bits/huge_vall.h:
+
+/usr/include/x86_64-linux-gnu/bits/inf.h:
+
+/usr/include/x86_64-linux-gnu/bits/nan.h:
+
+/usr/include/x86_64-linux-gnu/bits/mathdef.h:
+
+/usr/include/x86_64-linux-gnu/bits/mathcalls.h:
+
+/usr/include/x86_64-linux-gnu/bits/mathinline.h:
+
+/usr/include/values.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/float.h:
+
+../../modules/core/includes/stack-def.h:
+
+../../modules/core/includes/machine.h:
+
+../../modules/core/includes/stackTypeVariable.h:
+
+../../modules/core/includes/BOOL.h:
+
+../../modules/core/includes/doublecomplex.h:
+
+../../modules/core/includes/stack1.h:
+
+../../modules/core/includes/scisparse.h:
+
+../../modules/core/includes/stack2.h:
+
+../../modules/core/includes/stack3.h:
+
+../../modules/core/includes/stack-optional.h:
+
+../../modules/core/includes/sci_types.h:
+
+../../modules/api_scilab/includes/api_common.h:
+
+../../modules/api_scilab/includes/api_scilab.h:
+
+../../modules/api_scilab/includes/api_double.h:
+
+../../modules/core/includes/doublecomplex.h:
+
+../../modules/api_scilab/includes/api_string.h:
+
+../../modules/api_scilab/includes/api_int.h:
+
+../../modules/api_scilab/includes/api_poly.h:
+
+../../modules/api_scilab/includes/api_sparse.h:
+
+../../modules/api_scilab/includes/api_boolean.h:
+
+../../modules/api_scilab/includes/api_boolean_sparse.h:
+
+../../modules/api_scilab/includes/api_pointer.h:
+
+../../modules/api_scilab/includes/api_list.h:
+
+../../modules/api_scilab/includes/api_error.h:
+
+../../modules/api_scilab/includes/api_handle.h:
+
+../../modules/api_scilab/includes/api_optional.h:
+
+../../modules/core/includes/stack-optional.h:
+
+../../modules/api_scilab/includes/api_hypermat.h:
+
+../../modules/core/includes/core_math.h:
+
+../../modules/core/includes/sci_types.h:
+
+../../modules/localization/includes/localization.h:
+
+/usr/include/libintl.h:
+
+src/cpp/H5VariableScope.hxx:
+
+/usr/include/c++/5/stack:
+
+/usr/include/c++/5/deque:
+
+/usr/include/c++/5/bits/stl_uninitialized.h:
+
+/usr/include/c++/5/bits/stl_deque.h:
+
+/usr/include/c++/5/bits/deque.tcc:
+
+/usr/include/c++/5/bits/stl_stack.h:
+
+/usr/include/c++/5/vector:
+
+/usr/include/c++/5/bits/stl_vector.h:
+
+/usr/include/c++/5/bits/stl_bvector.h:
+
+/usr/include/c++/5/bits/vector.tcc:
+
+src/cpp/H5Exception.hxx:
+
+../../modules/core/includes/backtrace_print.h:
+
+/usr/include/c++/5/sstream:
+
+/usr/include/c++/5/bits/sstream.tcc:
+
+/usr/include/c++/5/cstdio:
+
+/usr/include/x86_64-linux-gnu/sys/stat.h:
+
+/usr/include/x86_64-linux-gnu/bits/stat.h:
+
+src/cpp/H5Dataspace.hxx:
diff --git a/modules/hdf5/src/cpp/.deps/libscihdf5_algo_la-H5ExternalLink.Plo b/modules/hdf5/src/cpp/.deps/libscihdf5_algo_la-H5ExternalLink.Plo
new file mode 100755
index 000000000..6cee0d5cb
--- /dev/null
+++ b/modules/hdf5/src/cpp/.deps/libscihdf5_algo_la-H5ExternalLink.Plo
@@ -0,0 +1,740 @@
+src/cpp/libscihdf5_algo_la-H5ExternalLink.lo: src/cpp/H5ExternalLink.cpp \
+ /usr/include/stdc-predef.h src/cpp/H5ExternalLink.hxx src/cpp/H5Link.hxx \
+ src/cpp/H5Object.hxx includes/HDF5Objects.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/hdf5.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5public.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5pubconf.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5version.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/include/x86_64-linux-gnu/sys/types.h \
+ /usr/include/x86_64-linux-gnu/bits/types.h \
+ /usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/time.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.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/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/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h \
+ /usr/include/limits.h /usr/include/x86_64-linux-gnu/bits/posix1_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/local_lim.h \
+ /usr/include/linux/limits.h \
+ /usr/include/x86_64-linux-gnu/bits/posix2_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/xopen_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio_lim.h /usr/include/inttypes.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stdint.h /usr/include/stdint.h \
+ /usr/include/x86_64-linux-gnu/bits/wchar.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5api_adpt.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Apublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Ipublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Opublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Lpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Tpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5ACpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Cpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Dpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Epublic.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/sys_errlist.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio2.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Epubgen.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Fpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Gpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5MMpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Ppublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Zpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Rpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Spublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDcore.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDfamily.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDlog.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDmpi.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDmpio.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDmpiposix.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDmulti.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDsec2.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDstdio.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDdirect.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/hdf5_hl.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5DSpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5LTpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5IMpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5TBpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5PTpublic.h \
+ /usr/include/c++/5/algorithm /usr/include/c++/5/utility \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/c++config.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/os_defines.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/cpu_defines.h \
+ /usr/include/c++/5/bits/stl_relops.h /usr/include/c++/5/bits/stl_pair.h \
+ /usr/include/c++/5/bits/move.h /usr/include/c++/5/bits/concept_check.h \
+ /usr/include/c++/5/bits/stl_algobase.h \
+ /usr/include/c++/5/bits/functexcept.h \
+ /usr/include/c++/5/bits/exception_defines.h \
+ /usr/include/c++/5/bits/cpp_type_traits.h \
+ /usr/include/c++/5/ext/type_traits.h \
+ /usr/include/c++/5/ext/numeric_traits.h \
+ /usr/include/c++/5/bits/stl_iterator_base_types.h \
+ /usr/include/c++/5/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/5/debug/debug.h /usr/include/c++/5/bits/stl_iterator.h \
+ /usr/include/c++/5/bits/ptr_traits.h \
+ /usr/include/c++/5/bits/predefined_ops.h \
+ /usr/include/c++/5/bits/stl_algo.h /usr/include/c++/5/cstdlib \
+ /usr/include/stdlib.h /usr/include/x86_64-linux-gnu/bits/waitflags.h \
+ /usr/include/x86_64-linux-gnu/bits/waitstatus.h /usr/include/xlocale.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/c++/5/bits/algorithmfwd.h \
+ /usr/include/c++/5/bits/stl_heap.h /usr/include/c++/5/bits/stl_tempbuf.h \
+ /usr/include/c++/5/bits/stl_construct.h /usr/include/c++/5/new \
+ /usr/include/c++/5/exception \
+ /usr/include/c++/5/bits/atomic_lockfree_defines.h \
+ /usr/include/c++/5/ext/alloc_traits.h \
+ /usr/include/c++/5/bits/allocator.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/c++allocator.h \
+ /usr/include/c++/5/ext/new_allocator.h \
+ /usr/include/c++/5/bits/memoryfwd.h /usr/include/c++/5/iostream \
+ /usr/include/c++/5/ostream /usr/include/c++/5/ios \
+ /usr/include/c++/5/iosfwd /usr/include/c++/5/bits/stringfwd.h \
+ /usr/include/c++/5/bits/postypes.h /usr/include/c++/5/cwchar \
+ /usr/include/x86_64-linux-gnu/bits/wchar2.h \
+ /usr/include/c++/5/bits/char_traits.h \
+ /usr/include/c++/5/bits/localefwd.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/c++locale.h \
+ /usr/include/c++/5/clocale /usr/include/locale.h \
+ /usr/include/x86_64-linux-gnu/bits/locale.h /usr/include/c++/5/cctype \
+ /usr/include/ctype.h /usr/include/c++/5/bits/ios_base.h \
+ /usr/include/c++/5/ext/atomicity.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/gthr.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/x86_64-linux-gnu/bits/sched.h \
+ /usr/include/x86_64-linux-gnu/bits/timex.h \
+ /usr/include/x86_64-linux-gnu/bits/setjmp.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/atomic_word.h \
+ /usr/include/c++/5/bits/locale_classes.h /usr/include/c++/5/string \
+ /usr/include/c++/5/bits/ostream_insert.h \
+ /usr/include/c++/5/bits/cxxabi_forced.h \
+ /usr/include/c++/5/bits/stl_function.h \
+ /usr/include/c++/5/backward/binders.h \
+ /usr/include/c++/5/bits/range_access.h \
+ /usr/include/c++/5/bits/basic_string.h \
+ /usr/include/c++/5/bits/basic_string.tcc \
+ /usr/include/c++/5/bits/locale_classes.tcc /usr/include/c++/5/stdexcept \
+ /usr/include/c++/5/streambuf /usr/include/c++/5/bits/streambuf.tcc \
+ /usr/include/c++/5/bits/basic_ios.h \
+ /usr/include/c++/5/bits/locale_facets.h /usr/include/c++/5/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/ctype_base.h \
+ /usr/include/c++/5/bits/streambuf_iterator.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/ctype_inline.h \
+ /usr/include/c++/5/bits/locale_facets.tcc \
+ /usr/include/c++/5/bits/basic_ios.tcc \
+ /usr/include/c++/5/bits/ostream.tcc /usr/include/c++/5/istream \
+ /usr/include/c++/5/bits/istream.tcc /usr/include/c++/5/iomanip \
+ /usr/include/c++/5/limits /usr/include/c++/5/map \
+ /usr/include/c++/5/bits/stl_tree.h /usr/include/c++/5/bits/stl_map.h \
+ /usr/include/c++/5/bits/stl_multimap.h /usr/include/c++/5/set \
+ /usr/include/c++/5/bits/stl_set.h /usr/include/c++/5/bits/stl_multiset.h \
+ ../../modules/core/includes/MALLOC.h \
+ ../../modules/core/includes/sci_mem_alloc.h \
+ ../../modules/output_stream/includes/Scierror.h \
+ ../../modules/output_stream/includes/do_error_number.h \
+ ../../modules/core/includes/machine.h \
+ ../../modules/api_scilab/includes/api_scilab.h \
+ ../../modules/core/includes/stack-c.h /usr/include/string.h \
+ /usr/include/x86_64-linux-gnu/bits/string3.h \
+ ../../modules/core/includes/core_math.h /usr/include/math.h \
+ /usr/include/x86_64-linux-gnu/bits/math-vector.h \
+ /usr/include/x86_64-linux-gnu/bits/libm-simd-decl-stubs.h \
+ /usr/include/x86_64-linux-gnu/bits/huge_val.h \
+ /usr/include/x86_64-linux-gnu/bits/huge_valf.h \
+ /usr/include/x86_64-linux-gnu/bits/huge_vall.h \
+ /usr/include/x86_64-linux-gnu/bits/inf.h \
+ /usr/include/x86_64-linux-gnu/bits/nan.h \
+ /usr/include/x86_64-linux-gnu/bits/mathdef.h \
+ /usr/include/x86_64-linux-gnu/bits/mathcalls.h \
+ /usr/include/x86_64-linux-gnu/bits/mathinline.h /usr/include/values.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/float.h \
+ ../../modules/core/includes/stack-def.h \
+ ../../modules/core/includes/machine.h \
+ ../../modules/core/includes/stackTypeVariable.h \
+ ../../modules/core/includes/BOOL.h \
+ ../../modules/core/includes/doublecomplex.h \
+ ../../modules/core/includes/stack1.h \
+ ../../modules/core/includes/scisparse.h \
+ ../../modules/core/includes/stack2.h \
+ ../../modules/core/includes/stack3.h \
+ ../../modules/core/includes/stack-optional.h \
+ ../../modules/core/includes/sci_types.h \
+ ../../modules/api_scilab/includes/api_common.h \
+ ../../modules/api_scilab/includes/api_scilab.h \
+ ../../modules/api_scilab/includes/api_double.h \
+ ../../modules/core/includes/doublecomplex.h \
+ ../../modules/api_scilab/includes/api_string.h \
+ ../../modules/api_scilab/includes/api_int.h \
+ ../../modules/api_scilab/includes/api_poly.h \
+ ../../modules/api_scilab/includes/api_sparse.h \
+ ../../modules/api_scilab/includes/api_boolean.h \
+ ../../modules/api_scilab/includes/api_boolean_sparse.h \
+ ../../modules/api_scilab/includes/api_pointer.h \
+ ../../modules/api_scilab/includes/api_list.h \
+ ../../modules/api_scilab/includes/api_error.h \
+ ../../modules/api_scilab/includes/api_handle.h \
+ ../../modules/api_scilab/includes/api_optional.h \
+ ../../modules/core/includes/stack-optional.h \
+ ../../modules/api_scilab/includes/api_hypermat.h \
+ ../../modules/core/includes/core_math.h \
+ ../../modules/core/includes/sci_types.h \
+ ../../modules/localization/includes/localization.h \
+ /usr/include/libintl.h src/cpp/H5VariableScope.hxx \
+ /usr/include/c++/5/stack /usr/include/c++/5/deque \
+ /usr/include/c++/5/bits/stl_uninitialized.h \
+ /usr/include/c++/5/bits/stl_deque.h /usr/include/c++/5/bits/deque.tcc \
+ /usr/include/c++/5/bits/stl_stack.h /usr/include/c++/5/vector \
+ /usr/include/c++/5/bits/stl_vector.h \
+ /usr/include/c++/5/bits/stl_bvector.h /usr/include/c++/5/bits/vector.tcc \
+ src/cpp/H5Exception.hxx ../../modules/core/includes/backtrace_print.h \
+ /usr/include/c++/5/sstream /usr/include/c++/5/bits/sstream.tcc \
+ /usr/include/c++/5/cstdio src/cpp/H5File.hxx \
+ /usr/include/x86_64-linux-gnu/sys/stat.h \
+ /usr/include/x86_64-linux-gnu/bits/stat.h
+
+/usr/include/stdc-predef.h:
+
+src/cpp/H5ExternalLink.hxx:
+
+src/cpp/H5Link.hxx:
+
+src/cpp/H5Object.hxx:
+
+includes/HDF5Objects.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/hdf5.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5public.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5pubconf.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5version.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/include/x86_64-linux-gnu/sys/types.h:
+
+/usr/include/x86_64-linux-gnu/bits/types.h:
+
+/usr/include/x86_64-linux-gnu/bits/typesizes.h:
+
+/usr/include/time.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.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/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/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h:
+
+/usr/include/limits.h:
+
+/usr/include/x86_64-linux-gnu/bits/posix1_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/local_lim.h:
+
+/usr/include/linux/limits.h:
+
+/usr/include/x86_64-linux-gnu/bits/posix2_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/xopen_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio_lim.h:
+
+/usr/include/inttypes.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stdint.h:
+
+/usr/include/stdint.h:
+
+/usr/include/x86_64-linux-gnu/bits/wchar.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5api_adpt.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Apublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Ipublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Opublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Lpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Tpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5ACpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Cpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Dpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Epublic.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/sys_errlist.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio2.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Epubgen.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Fpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Gpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5MMpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Ppublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Zpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Rpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Spublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDcore.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDfamily.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDlog.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDmpi.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDmpio.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDmpiposix.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDmulti.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDsec2.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDstdio.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDdirect.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/hdf5_hl.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5DSpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5LTpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5IMpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5TBpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5PTpublic.h:
+
+/usr/include/c++/5/algorithm:
+
+/usr/include/c++/5/utility:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/c++config.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/os_defines.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/cpu_defines.h:
+
+/usr/include/c++/5/bits/stl_relops.h:
+
+/usr/include/c++/5/bits/stl_pair.h:
+
+/usr/include/c++/5/bits/move.h:
+
+/usr/include/c++/5/bits/concept_check.h:
+
+/usr/include/c++/5/bits/stl_algobase.h:
+
+/usr/include/c++/5/bits/functexcept.h:
+
+/usr/include/c++/5/bits/exception_defines.h:
+
+/usr/include/c++/5/bits/cpp_type_traits.h:
+
+/usr/include/c++/5/ext/type_traits.h:
+
+/usr/include/c++/5/ext/numeric_traits.h:
+
+/usr/include/c++/5/bits/stl_iterator_base_types.h:
+
+/usr/include/c++/5/bits/stl_iterator_base_funcs.h:
+
+/usr/include/c++/5/debug/debug.h:
+
+/usr/include/c++/5/bits/stl_iterator.h:
+
+/usr/include/c++/5/bits/ptr_traits.h:
+
+/usr/include/c++/5/bits/predefined_ops.h:
+
+/usr/include/c++/5/bits/stl_algo.h:
+
+/usr/include/c++/5/cstdlib:
+
+/usr/include/stdlib.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitflags.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitstatus.h:
+
+/usr/include/xlocale.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/c++/5/bits/algorithmfwd.h:
+
+/usr/include/c++/5/bits/stl_heap.h:
+
+/usr/include/c++/5/bits/stl_tempbuf.h:
+
+/usr/include/c++/5/bits/stl_construct.h:
+
+/usr/include/c++/5/new:
+
+/usr/include/c++/5/exception:
+
+/usr/include/c++/5/bits/atomic_lockfree_defines.h:
+
+/usr/include/c++/5/ext/alloc_traits.h:
+
+/usr/include/c++/5/bits/allocator.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/c++allocator.h:
+
+/usr/include/c++/5/ext/new_allocator.h:
+
+/usr/include/c++/5/bits/memoryfwd.h:
+
+/usr/include/c++/5/iostream:
+
+/usr/include/c++/5/ostream:
+
+/usr/include/c++/5/ios:
+
+/usr/include/c++/5/iosfwd:
+
+/usr/include/c++/5/bits/stringfwd.h:
+
+/usr/include/c++/5/bits/postypes.h:
+
+/usr/include/c++/5/cwchar:
+
+/usr/include/x86_64-linux-gnu/bits/wchar2.h:
+
+/usr/include/c++/5/bits/char_traits.h:
+
+/usr/include/c++/5/bits/localefwd.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/c++locale.h:
+
+/usr/include/c++/5/clocale:
+
+/usr/include/locale.h:
+
+/usr/include/x86_64-linux-gnu/bits/locale.h:
+
+/usr/include/c++/5/cctype:
+
+/usr/include/ctype.h:
+
+/usr/include/c++/5/bits/ios_base.h:
+
+/usr/include/c++/5/ext/atomicity.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/gthr.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/gthr-default.h:
+
+/usr/include/pthread.h:
+
+/usr/include/sched.h:
+
+/usr/include/x86_64-linux-gnu/bits/sched.h:
+
+/usr/include/x86_64-linux-gnu/bits/timex.h:
+
+/usr/include/x86_64-linux-gnu/bits/setjmp.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/atomic_word.h:
+
+/usr/include/c++/5/bits/locale_classes.h:
+
+/usr/include/c++/5/string:
+
+/usr/include/c++/5/bits/ostream_insert.h:
+
+/usr/include/c++/5/bits/cxxabi_forced.h:
+
+/usr/include/c++/5/bits/stl_function.h:
+
+/usr/include/c++/5/backward/binders.h:
+
+/usr/include/c++/5/bits/range_access.h:
+
+/usr/include/c++/5/bits/basic_string.h:
+
+/usr/include/c++/5/bits/basic_string.tcc:
+
+/usr/include/c++/5/bits/locale_classes.tcc:
+
+/usr/include/c++/5/stdexcept:
+
+/usr/include/c++/5/streambuf:
+
+/usr/include/c++/5/bits/streambuf.tcc:
+
+/usr/include/c++/5/bits/basic_ios.h:
+
+/usr/include/c++/5/bits/locale_facets.h:
+
+/usr/include/c++/5/cwctype:
+
+/usr/include/wctype.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/ctype_base.h:
+
+/usr/include/c++/5/bits/streambuf_iterator.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/ctype_inline.h:
+
+/usr/include/c++/5/bits/locale_facets.tcc:
+
+/usr/include/c++/5/bits/basic_ios.tcc:
+
+/usr/include/c++/5/bits/ostream.tcc:
+
+/usr/include/c++/5/istream:
+
+/usr/include/c++/5/bits/istream.tcc:
+
+/usr/include/c++/5/iomanip:
+
+/usr/include/c++/5/limits:
+
+/usr/include/c++/5/map:
+
+/usr/include/c++/5/bits/stl_tree.h:
+
+/usr/include/c++/5/bits/stl_map.h:
+
+/usr/include/c++/5/bits/stl_multimap.h:
+
+/usr/include/c++/5/set:
+
+/usr/include/c++/5/bits/stl_set.h:
+
+/usr/include/c++/5/bits/stl_multiset.h:
+
+../../modules/core/includes/MALLOC.h:
+
+../../modules/core/includes/sci_mem_alloc.h:
+
+../../modules/output_stream/includes/Scierror.h:
+
+../../modules/output_stream/includes/do_error_number.h:
+
+../../modules/core/includes/machine.h:
+
+../../modules/api_scilab/includes/api_scilab.h:
+
+../../modules/core/includes/stack-c.h:
+
+/usr/include/string.h:
+
+/usr/include/x86_64-linux-gnu/bits/string3.h:
+
+../../modules/core/includes/core_math.h:
+
+/usr/include/math.h:
+
+/usr/include/x86_64-linux-gnu/bits/math-vector.h:
+
+/usr/include/x86_64-linux-gnu/bits/libm-simd-decl-stubs.h:
+
+/usr/include/x86_64-linux-gnu/bits/huge_val.h:
+
+/usr/include/x86_64-linux-gnu/bits/huge_valf.h:
+
+/usr/include/x86_64-linux-gnu/bits/huge_vall.h:
+
+/usr/include/x86_64-linux-gnu/bits/inf.h:
+
+/usr/include/x86_64-linux-gnu/bits/nan.h:
+
+/usr/include/x86_64-linux-gnu/bits/mathdef.h:
+
+/usr/include/x86_64-linux-gnu/bits/mathcalls.h:
+
+/usr/include/x86_64-linux-gnu/bits/mathinline.h:
+
+/usr/include/values.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/float.h:
+
+../../modules/core/includes/stack-def.h:
+
+../../modules/core/includes/machine.h:
+
+../../modules/core/includes/stackTypeVariable.h:
+
+../../modules/core/includes/BOOL.h:
+
+../../modules/core/includes/doublecomplex.h:
+
+../../modules/core/includes/stack1.h:
+
+../../modules/core/includes/scisparse.h:
+
+../../modules/core/includes/stack2.h:
+
+../../modules/core/includes/stack3.h:
+
+../../modules/core/includes/stack-optional.h:
+
+../../modules/core/includes/sci_types.h:
+
+../../modules/api_scilab/includes/api_common.h:
+
+../../modules/api_scilab/includes/api_scilab.h:
+
+../../modules/api_scilab/includes/api_double.h:
+
+../../modules/core/includes/doublecomplex.h:
+
+../../modules/api_scilab/includes/api_string.h:
+
+../../modules/api_scilab/includes/api_int.h:
+
+../../modules/api_scilab/includes/api_poly.h:
+
+../../modules/api_scilab/includes/api_sparse.h:
+
+../../modules/api_scilab/includes/api_boolean.h:
+
+../../modules/api_scilab/includes/api_boolean_sparse.h:
+
+../../modules/api_scilab/includes/api_pointer.h:
+
+../../modules/api_scilab/includes/api_list.h:
+
+../../modules/api_scilab/includes/api_error.h:
+
+../../modules/api_scilab/includes/api_handle.h:
+
+../../modules/api_scilab/includes/api_optional.h:
+
+../../modules/core/includes/stack-optional.h:
+
+../../modules/api_scilab/includes/api_hypermat.h:
+
+../../modules/core/includes/core_math.h:
+
+../../modules/core/includes/sci_types.h:
+
+../../modules/localization/includes/localization.h:
+
+/usr/include/libintl.h:
+
+src/cpp/H5VariableScope.hxx:
+
+/usr/include/c++/5/stack:
+
+/usr/include/c++/5/deque:
+
+/usr/include/c++/5/bits/stl_uninitialized.h:
+
+/usr/include/c++/5/bits/stl_deque.h:
+
+/usr/include/c++/5/bits/deque.tcc:
+
+/usr/include/c++/5/bits/stl_stack.h:
+
+/usr/include/c++/5/vector:
+
+/usr/include/c++/5/bits/stl_vector.h:
+
+/usr/include/c++/5/bits/stl_bvector.h:
+
+/usr/include/c++/5/bits/vector.tcc:
+
+src/cpp/H5Exception.hxx:
+
+../../modules/core/includes/backtrace_print.h:
+
+/usr/include/c++/5/sstream:
+
+/usr/include/c++/5/bits/sstream.tcc:
+
+/usr/include/c++/5/cstdio:
+
+src/cpp/H5File.hxx:
+
+/usr/include/x86_64-linux-gnu/sys/stat.h:
+
+/usr/include/x86_64-linux-gnu/bits/stat.h:
diff --git a/modules/hdf5/src/cpp/.deps/libscihdf5_algo_la-H5File.Plo b/modules/hdf5/src/cpp/.deps/libscihdf5_algo_la-H5File.Plo
new file mode 100755
index 000000000..1e1bb2df1
--- /dev/null
+++ b/modules/hdf5/src/cpp/.deps/libscihdf5_algo_la-H5File.Plo
@@ -0,0 +1,772 @@
+src/cpp/libscihdf5_algo_la-H5File.lo: src/cpp/H5File.cpp \
+ /usr/include/stdc-predef.h includes/HDF5Objects.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/hdf5.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5public.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5pubconf.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5version.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/include/x86_64-linux-gnu/sys/types.h \
+ /usr/include/x86_64-linux-gnu/bits/types.h \
+ /usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/time.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.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/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/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h \
+ /usr/include/limits.h /usr/include/x86_64-linux-gnu/bits/posix1_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/local_lim.h \
+ /usr/include/linux/limits.h \
+ /usr/include/x86_64-linux-gnu/bits/posix2_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/xopen_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio_lim.h /usr/include/inttypes.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stdint.h /usr/include/stdint.h \
+ /usr/include/x86_64-linux-gnu/bits/wchar.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5api_adpt.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Apublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Ipublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Opublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Lpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Tpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5ACpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Cpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Dpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Epublic.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/sys_errlist.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio2.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Epubgen.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Fpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Gpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5MMpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Ppublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Zpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Rpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Spublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDcore.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDfamily.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDlog.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDmpi.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDmpio.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDmpiposix.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDmulti.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDsec2.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDstdio.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDdirect.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/hdf5_hl.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5DSpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5LTpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5IMpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5TBpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5PTpublic.h \
+ src/cpp/H5Group.hxx src/cpp/H5Object.hxx /usr/include/c++/5/algorithm \
+ /usr/include/c++/5/utility \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/c++config.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/os_defines.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/cpu_defines.h \
+ /usr/include/c++/5/bits/stl_relops.h /usr/include/c++/5/bits/stl_pair.h \
+ /usr/include/c++/5/bits/move.h /usr/include/c++/5/bits/concept_check.h \
+ /usr/include/c++/5/bits/stl_algobase.h \
+ /usr/include/c++/5/bits/functexcept.h \
+ /usr/include/c++/5/bits/exception_defines.h \
+ /usr/include/c++/5/bits/cpp_type_traits.h \
+ /usr/include/c++/5/ext/type_traits.h \
+ /usr/include/c++/5/ext/numeric_traits.h \
+ /usr/include/c++/5/bits/stl_iterator_base_types.h \
+ /usr/include/c++/5/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/5/debug/debug.h /usr/include/c++/5/bits/stl_iterator.h \
+ /usr/include/c++/5/bits/ptr_traits.h \
+ /usr/include/c++/5/bits/predefined_ops.h \
+ /usr/include/c++/5/bits/stl_algo.h /usr/include/c++/5/cstdlib \
+ /usr/include/stdlib.h /usr/include/x86_64-linux-gnu/bits/waitflags.h \
+ /usr/include/x86_64-linux-gnu/bits/waitstatus.h /usr/include/xlocale.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/c++/5/bits/algorithmfwd.h \
+ /usr/include/c++/5/bits/stl_heap.h /usr/include/c++/5/bits/stl_tempbuf.h \
+ /usr/include/c++/5/bits/stl_construct.h /usr/include/c++/5/new \
+ /usr/include/c++/5/exception \
+ /usr/include/c++/5/bits/atomic_lockfree_defines.h \
+ /usr/include/c++/5/ext/alloc_traits.h \
+ /usr/include/c++/5/bits/allocator.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/c++allocator.h \
+ /usr/include/c++/5/ext/new_allocator.h \
+ /usr/include/c++/5/bits/memoryfwd.h /usr/include/c++/5/iostream \
+ /usr/include/c++/5/ostream /usr/include/c++/5/ios \
+ /usr/include/c++/5/iosfwd /usr/include/c++/5/bits/stringfwd.h \
+ /usr/include/c++/5/bits/postypes.h /usr/include/c++/5/cwchar \
+ /usr/include/x86_64-linux-gnu/bits/wchar2.h \
+ /usr/include/c++/5/bits/char_traits.h \
+ /usr/include/c++/5/bits/localefwd.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/c++locale.h \
+ /usr/include/c++/5/clocale /usr/include/locale.h \
+ /usr/include/x86_64-linux-gnu/bits/locale.h /usr/include/c++/5/cctype \
+ /usr/include/ctype.h /usr/include/c++/5/bits/ios_base.h \
+ /usr/include/c++/5/ext/atomicity.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/gthr.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/x86_64-linux-gnu/bits/sched.h \
+ /usr/include/x86_64-linux-gnu/bits/timex.h \
+ /usr/include/x86_64-linux-gnu/bits/setjmp.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/atomic_word.h \
+ /usr/include/c++/5/bits/locale_classes.h /usr/include/c++/5/string \
+ /usr/include/c++/5/bits/ostream_insert.h \
+ /usr/include/c++/5/bits/cxxabi_forced.h \
+ /usr/include/c++/5/bits/stl_function.h \
+ /usr/include/c++/5/backward/binders.h \
+ /usr/include/c++/5/bits/range_access.h \
+ /usr/include/c++/5/bits/basic_string.h \
+ /usr/include/c++/5/bits/basic_string.tcc \
+ /usr/include/c++/5/bits/locale_classes.tcc /usr/include/c++/5/stdexcept \
+ /usr/include/c++/5/streambuf /usr/include/c++/5/bits/streambuf.tcc \
+ /usr/include/c++/5/bits/basic_ios.h \
+ /usr/include/c++/5/bits/locale_facets.h /usr/include/c++/5/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/ctype_base.h \
+ /usr/include/c++/5/bits/streambuf_iterator.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/ctype_inline.h \
+ /usr/include/c++/5/bits/locale_facets.tcc \
+ /usr/include/c++/5/bits/basic_ios.tcc \
+ /usr/include/c++/5/bits/ostream.tcc /usr/include/c++/5/istream \
+ /usr/include/c++/5/bits/istream.tcc /usr/include/c++/5/iomanip \
+ /usr/include/c++/5/limits /usr/include/c++/5/map \
+ /usr/include/c++/5/bits/stl_tree.h /usr/include/c++/5/bits/stl_map.h \
+ /usr/include/c++/5/bits/stl_multimap.h /usr/include/c++/5/set \
+ /usr/include/c++/5/bits/stl_set.h /usr/include/c++/5/bits/stl_multiset.h \
+ ../../modules/core/includes/MALLOC.h \
+ ../../modules/core/includes/sci_mem_alloc.h \
+ ../../modules/output_stream/includes/Scierror.h \
+ ../../modules/output_stream/includes/do_error_number.h \
+ ../../modules/core/includes/machine.h \
+ ../../modules/api_scilab/includes/api_scilab.h \
+ ../../modules/core/includes/stack-c.h /usr/include/string.h \
+ /usr/include/x86_64-linux-gnu/bits/string3.h \
+ ../../modules/core/includes/core_math.h /usr/include/math.h \
+ /usr/include/x86_64-linux-gnu/bits/math-vector.h \
+ /usr/include/x86_64-linux-gnu/bits/libm-simd-decl-stubs.h \
+ /usr/include/x86_64-linux-gnu/bits/huge_val.h \
+ /usr/include/x86_64-linux-gnu/bits/huge_valf.h \
+ /usr/include/x86_64-linux-gnu/bits/huge_vall.h \
+ /usr/include/x86_64-linux-gnu/bits/inf.h \
+ /usr/include/x86_64-linux-gnu/bits/nan.h \
+ /usr/include/x86_64-linux-gnu/bits/mathdef.h \
+ /usr/include/x86_64-linux-gnu/bits/mathcalls.h \
+ /usr/include/x86_64-linux-gnu/bits/mathinline.h /usr/include/values.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/float.h \
+ ../../modules/core/includes/stack-def.h \
+ ../../modules/core/includes/machine.h \
+ ../../modules/core/includes/stackTypeVariable.h \
+ ../../modules/core/includes/BOOL.h \
+ ../../modules/core/includes/doublecomplex.h \
+ ../../modules/core/includes/stack1.h \
+ ../../modules/core/includes/scisparse.h \
+ ../../modules/core/includes/stack2.h \
+ ../../modules/core/includes/stack3.h \
+ ../../modules/core/includes/stack-optional.h \
+ ../../modules/core/includes/sci_types.h \
+ ../../modules/api_scilab/includes/api_common.h \
+ ../../modules/api_scilab/includes/api_scilab.h \
+ ../../modules/api_scilab/includes/api_double.h \
+ ../../modules/core/includes/doublecomplex.h \
+ ../../modules/api_scilab/includes/api_string.h \
+ ../../modules/api_scilab/includes/api_int.h \
+ ../../modules/api_scilab/includes/api_poly.h \
+ ../../modules/api_scilab/includes/api_sparse.h \
+ ../../modules/api_scilab/includes/api_boolean.h \
+ ../../modules/api_scilab/includes/api_boolean_sparse.h \
+ ../../modules/api_scilab/includes/api_pointer.h \
+ ../../modules/api_scilab/includes/api_list.h \
+ ../../modules/api_scilab/includes/api_error.h \
+ ../../modules/api_scilab/includes/api_handle.h \
+ ../../modules/api_scilab/includes/api_optional.h \
+ ../../modules/core/includes/stack-optional.h \
+ ../../modules/api_scilab/includes/api_hypermat.h \
+ ../../modules/core/includes/core_math.h \
+ ../../modules/core/includes/sci_types.h \
+ ../../modules/localization/includes/localization.h \
+ /usr/include/libintl.h src/cpp/H5VariableScope.hxx \
+ /usr/include/c++/5/stack /usr/include/c++/5/deque \
+ /usr/include/c++/5/bits/stl_uninitialized.h \
+ /usr/include/c++/5/bits/stl_deque.h /usr/include/c++/5/bits/deque.tcc \
+ /usr/include/c++/5/bits/stl_stack.h /usr/include/c++/5/vector \
+ /usr/include/c++/5/bits/stl_vector.h \
+ /usr/include/c++/5/bits/stl_bvector.h /usr/include/c++/5/bits/vector.tcc \
+ src/cpp/H5Exception.hxx ../../modules/core/includes/backtrace_print.h \
+ /usr/include/c++/5/sstream /usr/include/c++/5/bits/sstream.tcc \
+ /usr/include/c++/5/cstdio src/cpp/H5Type.hxx src/cpp/H5File.hxx \
+ /usr/include/x86_64-linux-gnu/sys/stat.h \
+ /usr/include/x86_64-linux-gnu/bits/stat.h src/cpp/H5Dataset.hxx \
+ src/cpp/H5Data.hxx src/cpp/H5Dataspace.hxx src/cpp/H5AttributesList.hxx \
+ src/cpp/H5ListObject.hxx src/cpp/H5Attribute.hxx src/cpp/H5SoftLink.hxx \
+ src/cpp/H5Link.hxx src/cpp/H5ExternalLink.hxx \
+ src/cpp/H5NamedObjectsList.hxx ../../modules/fileio/includes/FileExist.h \
+ ../../modules/fileio/includes/dynlib_fileio.h \
+ ../../modules/core/includes/BOOL.h
+
+/usr/include/stdc-predef.h:
+
+includes/HDF5Objects.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/hdf5.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5public.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5pubconf.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5version.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/include/x86_64-linux-gnu/sys/types.h:
+
+/usr/include/x86_64-linux-gnu/bits/types.h:
+
+/usr/include/x86_64-linux-gnu/bits/typesizes.h:
+
+/usr/include/time.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.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/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/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h:
+
+/usr/include/limits.h:
+
+/usr/include/x86_64-linux-gnu/bits/posix1_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/local_lim.h:
+
+/usr/include/linux/limits.h:
+
+/usr/include/x86_64-linux-gnu/bits/posix2_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/xopen_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio_lim.h:
+
+/usr/include/inttypes.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stdint.h:
+
+/usr/include/stdint.h:
+
+/usr/include/x86_64-linux-gnu/bits/wchar.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5api_adpt.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Apublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Ipublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Opublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Lpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Tpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5ACpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Cpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Dpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Epublic.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/sys_errlist.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio2.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Epubgen.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Fpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Gpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5MMpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Ppublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Zpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Rpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Spublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDcore.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDfamily.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDlog.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDmpi.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDmpio.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDmpiposix.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDmulti.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDsec2.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDstdio.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDdirect.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/hdf5_hl.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5DSpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5LTpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5IMpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5TBpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5PTpublic.h:
+
+src/cpp/H5Group.hxx:
+
+src/cpp/H5Object.hxx:
+
+/usr/include/c++/5/algorithm:
+
+/usr/include/c++/5/utility:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/c++config.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/os_defines.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/cpu_defines.h:
+
+/usr/include/c++/5/bits/stl_relops.h:
+
+/usr/include/c++/5/bits/stl_pair.h:
+
+/usr/include/c++/5/bits/move.h:
+
+/usr/include/c++/5/bits/concept_check.h:
+
+/usr/include/c++/5/bits/stl_algobase.h:
+
+/usr/include/c++/5/bits/functexcept.h:
+
+/usr/include/c++/5/bits/exception_defines.h:
+
+/usr/include/c++/5/bits/cpp_type_traits.h:
+
+/usr/include/c++/5/ext/type_traits.h:
+
+/usr/include/c++/5/ext/numeric_traits.h:
+
+/usr/include/c++/5/bits/stl_iterator_base_types.h:
+
+/usr/include/c++/5/bits/stl_iterator_base_funcs.h:
+
+/usr/include/c++/5/debug/debug.h:
+
+/usr/include/c++/5/bits/stl_iterator.h:
+
+/usr/include/c++/5/bits/ptr_traits.h:
+
+/usr/include/c++/5/bits/predefined_ops.h:
+
+/usr/include/c++/5/bits/stl_algo.h:
+
+/usr/include/c++/5/cstdlib:
+
+/usr/include/stdlib.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitflags.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitstatus.h:
+
+/usr/include/xlocale.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/c++/5/bits/algorithmfwd.h:
+
+/usr/include/c++/5/bits/stl_heap.h:
+
+/usr/include/c++/5/bits/stl_tempbuf.h:
+
+/usr/include/c++/5/bits/stl_construct.h:
+
+/usr/include/c++/5/new:
+
+/usr/include/c++/5/exception:
+
+/usr/include/c++/5/bits/atomic_lockfree_defines.h:
+
+/usr/include/c++/5/ext/alloc_traits.h:
+
+/usr/include/c++/5/bits/allocator.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/c++allocator.h:
+
+/usr/include/c++/5/ext/new_allocator.h:
+
+/usr/include/c++/5/bits/memoryfwd.h:
+
+/usr/include/c++/5/iostream:
+
+/usr/include/c++/5/ostream:
+
+/usr/include/c++/5/ios:
+
+/usr/include/c++/5/iosfwd:
+
+/usr/include/c++/5/bits/stringfwd.h:
+
+/usr/include/c++/5/bits/postypes.h:
+
+/usr/include/c++/5/cwchar:
+
+/usr/include/x86_64-linux-gnu/bits/wchar2.h:
+
+/usr/include/c++/5/bits/char_traits.h:
+
+/usr/include/c++/5/bits/localefwd.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/c++locale.h:
+
+/usr/include/c++/5/clocale:
+
+/usr/include/locale.h:
+
+/usr/include/x86_64-linux-gnu/bits/locale.h:
+
+/usr/include/c++/5/cctype:
+
+/usr/include/ctype.h:
+
+/usr/include/c++/5/bits/ios_base.h:
+
+/usr/include/c++/5/ext/atomicity.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/gthr.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/gthr-default.h:
+
+/usr/include/pthread.h:
+
+/usr/include/sched.h:
+
+/usr/include/x86_64-linux-gnu/bits/sched.h:
+
+/usr/include/x86_64-linux-gnu/bits/timex.h:
+
+/usr/include/x86_64-linux-gnu/bits/setjmp.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/atomic_word.h:
+
+/usr/include/c++/5/bits/locale_classes.h:
+
+/usr/include/c++/5/string:
+
+/usr/include/c++/5/bits/ostream_insert.h:
+
+/usr/include/c++/5/bits/cxxabi_forced.h:
+
+/usr/include/c++/5/bits/stl_function.h:
+
+/usr/include/c++/5/backward/binders.h:
+
+/usr/include/c++/5/bits/range_access.h:
+
+/usr/include/c++/5/bits/basic_string.h:
+
+/usr/include/c++/5/bits/basic_string.tcc:
+
+/usr/include/c++/5/bits/locale_classes.tcc:
+
+/usr/include/c++/5/stdexcept:
+
+/usr/include/c++/5/streambuf:
+
+/usr/include/c++/5/bits/streambuf.tcc:
+
+/usr/include/c++/5/bits/basic_ios.h:
+
+/usr/include/c++/5/bits/locale_facets.h:
+
+/usr/include/c++/5/cwctype:
+
+/usr/include/wctype.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/ctype_base.h:
+
+/usr/include/c++/5/bits/streambuf_iterator.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/ctype_inline.h:
+
+/usr/include/c++/5/bits/locale_facets.tcc:
+
+/usr/include/c++/5/bits/basic_ios.tcc:
+
+/usr/include/c++/5/bits/ostream.tcc:
+
+/usr/include/c++/5/istream:
+
+/usr/include/c++/5/bits/istream.tcc:
+
+/usr/include/c++/5/iomanip:
+
+/usr/include/c++/5/limits:
+
+/usr/include/c++/5/map:
+
+/usr/include/c++/5/bits/stl_tree.h:
+
+/usr/include/c++/5/bits/stl_map.h:
+
+/usr/include/c++/5/bits/stl_multimap.h:
+
+/usr/include/c++/5/set:
+
+/usr/include/c++/5/bits/stl_set.h:
+
+/usr/include/c++/5/bits/stl_multiset.h:
+
+../../modules/core/includes/MALLOC.h:
+
+../../modules/core/includes/sci_mem_alloc.h:
+
+../../modules/output_stream/includes/Scierror.h:
+
+../../modules/output_stream/includes/do_error_number.h:
+
+../../modules/core/includes/machine.h:
+
+../../modules/api_scilab/includes/api_scilab.h:
+
+../../modules/core/includes/stack-c.h:
+
+/usr/include/string.h:
+
+/usr/include/x86_64-linux-gnu/bits/string3.h:
+
+../../modules/core/includes/core_math.h:
+
+/usr/include/math.h:
+
+/usr/include/x86_64-linux-gnu/bits/math-vector.h:
+
+/usr/include/x86_64-linux-gnu/bits/libm-simd-decl-stubs.h:
+
+/usr/include/x86_64-linux-gnu/bits/huge_val.h:
+
+/usr/include/x86_64-linux-gnu/bits/huge_valf.h:
+
+/usr/include/x86_64-linux-gnu/bits/huge_vall.h:
+
+/usr/include/x86_64-linux-gnu/bits/inf.h:
+
+/usr/include/x86_64-linux-gnu/bits/nan.h:
+
+/usr/include/x86_64-linux-gnu/bits/mathdef.h:
+
+/usr/include/x86_64-linux-gnu/bits/mathcalls.h:
+
+/usr/include/x86_64-linux-gnu/bits/mathinline.h:
+
+/usr/include/values.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/float.h:
+
+../../modules/core/includes/stack-def.h:
+
+../../modules/core/includes/machine.h:
+
+../../modules/core/includes/stackTypeVariable.h:
+
+../../modules/core/includes/BOOL.h:
+
+../../modules/core/includes/doublecomplex.h:
+
+../../modules/core/includes/stack1.h:
+
+../../modules/core/includes/scisparse.h:
+
+../../modules/core/includes/stack2.h:
+
+../../modules/core/includes/stack3.h:
+
+../../modules/core/includes/stack-optional.h:
+
+../../modules/core/includes/sci_types.h:
+
+../../modules/api_scilab/includes/api_common.h:
+
+../../modules/api_scilab/includes/api_scilab.h:
+
+../../modules/api_scilab/includes/api_double.h:
+
+../../modules/core/includes/doublecomplex.h:
+
+../../modules/api_scilab/includes/api_string.h:
+
+../../modules/api_scilab/includes/api_int.h:
+
+../../modules/api_scilab/includes/api_poly.h:
+
+../../modules/api_scilab/includes/api_sparse.h:
+
+../../modules/api_scilab/includes/api_boolean.h:
+
+../../modules/api_scilab/includes/api_boolean_sparse.h:
+
+../../modules/api_scilab/includes/api_pointer.h:
+
+../../modules/api_scilab/includes/api_list.h:
+
+../../modules/api_scilab/includes/api_error.h:
+
+../../modules/api_scilab/includes/api_handle.h:
+
+../../modules/api_scilab/includes/api_optional.h:
+
+../../modules/core/includes/stack-optional.h:
+
+../../modules/api_scilab/includes/api_hypermat.h:
+
+../../modules/core/includes/core_math.h:
+
+../../modules/core/includes/sci_types.h:
+
+../../modules/localization/includes/localization.h:
+
+/usr/include/libintl.h:
+
+src/cpp/H5VariableScope.hxx:
+
+/usr/include/c++/5/stack:
+
+/usr/include/c++/5/deque:
+
+/usr/include/c++/5/bits/stl_uninitialized.h:
+
+/usr/include/c++/5/bits/stl_deque.h:
+
+/usr/include/c++/5/bits/deque.tcc:
+
+/usr/include/c++/5/bits/stl_stack.h:
+
+/usr/include/c++/5/vector:
+
+/usr/include/c++/5/bits/stl_vector.h:
+
+/usr/include/c++/5/bits/stl_bvector.h:
+
+/usr/include/c++/5/bits/vector.tcc:
+
+src/cpp/H5Exception.hxx:
+
+../../modules/core/includes/backtrace_print.h:
+
+/usr/include/c++/5/sstream:
+
+/usr/include/c++/5/bits/sstream.tcc:
+
+/usr/include/c++/5/cstdio:
+
+src/cpp/H5Type.hxx:
+
+src/cpp/H5File.hxx:
+
+/usr/include/x86_64-linux-gnu/sys/stat.h:
+
+/usr/include/x86_64-linux-gnu/bits/stat.h:
+
+src/cpp/H5Dataset.hxx:
+
+src/cpp/H5Data.hxx:
+
+src/cpp/H5Dataspace.hxx:
+
+src/cpp/H5AttributesList.hxx:
+
+src/cpp/H5ListObject.hxx:
+
+src/cpp/H5Attribute.hxx:
+
+src/cpp/H5SoftLink.hxx:
+
+src/cpp/H5Link.hxx:
+
+src/cpp/H5ExternalLink.hxx:
+
+src/cpp/H5NamedObjectsList.hxx:
+
+../../modules/fileio/includes/FileExist.h:
+
+../../modules/fileio/includes/dynlib_fileio.h:
+
+../../modules/core/includes/BOOL.h:
diff --git a/modules/hdf5/src/cpp/.deps/libscihdf5_algo_la-H5Group.Plo b/modules/hdf5/src/cpp/.deps/libscihdf5_algo_la-H5Group.Plo
new file mode 100755
index 000000000..ac6044a10
--- /dev/null
+++ b/modules/hdf5/src/cpp/.deps/libscihdf5_algo_la-H5Group.Plo
@@ -0,0 +1,779 @@
+src/cpp/libscihdf5_algo_la-H5Group.lo: src/cpp/H5Group.cpp \
+ /usr/include/stdc-predef.h src/cpp/H5Group.hxx src/cpp/H5Object.hxx \
+ includes/HDF5Objects.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/hdf5.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5public.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5pubconf.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5version.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/include/x86_64-linux-gnu/sys/types.h \
+ /usr/include/x86_64-linux-gnu/bits/types.h \
+ /usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/time.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.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/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/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h \
+ /usr/include/limits.h /usr/include/x86_64-linux-gnu/bits/posix1_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/local_lim.h \
+ /usr/include/linux/limits.h \
+ /usr/include/x86_64-linux-gnu/bits/posix2_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/xopen_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio_lim.h /usr/include/inttypes.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stdint.h /usr/include/stdint.h \
+ /usr/include/x86_64-linux-gnu/bits/wchar.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5api_adpt.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Apublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Ipublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Opublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Lpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Tpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5ACpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Cpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Dpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Epublic.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/sys_errlist.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio2.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Epubgen.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Fpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Gpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5MMpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Ppublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Zpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Rpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Spublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDcore.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDfamily.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDlog.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDmpi.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDmpio.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDmpiposix.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDmulti.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDsec2.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDstdio.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDdirect.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/hdf5_hl.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5DSpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5LTpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5IMpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5TBpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5PTpublic.h \
+ /usr/include/c++/5/algorithm /usr/include/c++/5/utility \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/c++config.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/os_defines.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/cpu_defines.h \
+ /usr/include/c++/5/bits/stl_relops.h /usr/include/c++/5/bits/stl_pair.h \
+ /usr/include/c++/5/bits/move.h /usr/include/c++/5/bits/concept_check.h \
+ /usr/include/c++/5/bits/stl_algobase.h \
+ /usr/include/c++/5/bits/functexcept.h \
+ /usr/include/c++/5/bits/exception_defines.h \
+ /usr/include/c++/5/bits/cpp_type_traits.h \
+ /usr/include/c++/5/ext/type_traits.h \
+ /usr/include/c++/5/ext/numeric_traits.h \
+ /usr/include/c++/5/bits/stl_iterator_base_types.h \
+ /usr/include/c++/5/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/5/debug/debug.h /usr/include/c++/5/bits/stl_iterator.h \
+ /usr/include/c++/5/bits/ptr_traits.h \
+ /usr/include/c++/5/bits/predefined_ops.h \
+ /usr/include/c++/5/bits/stl_algo.h /usr/include/c++/5/cstdlib \
+ /usr/include/stdlib.h /usr/include/x86_64-linux-gnu/bits/waitflags.h \
+ /usr/include/x86_64-linux-gnu/bits/waitstatus.h /usr/include/xlocale.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/c++/5/bits/algorithmfwd.h \
+ /usr/include/c++/5/bits/stl_heap.h /usr/include/c++/5/bits/stl_tempbuf.h \
+ /usr/include/c++/5/bits/stl_construct.h /usr/include/c++/5/new \
+ /usr/include/c++/5/exception \
+ /usr/include/c++/5/bits/atomic_lockfree_defines.h \
+ /usr/include/c++/5/ext/alloc_traits.h \
+ /usr/include/c++/5/bits/allocator.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/c++allocator.h \
+ /usr/include/c++/5/ext/new_allocator.h \
+ /usr/include/c++/5/bits/memoryfwd.h /usr/include/c++/5/iostream \
+ /usr/include/c++/5/ostream /usr/include/c++/5/ios \
+ /usr/include/c++/5/iosfwd /usr/include/c++/5/bits/stringfwd.h \
+ /usr/include/c++/5/bits/postypes.h /usr/include/c++/5/cwchar \
+ /usr/include/x86_64-linux-gnu/bits/wchar2.h \
+ /usr/include/c++/5/bits/char_traits.h \
+ /usr/include/c++/5/bits/localefwd.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/c++locale.h \
+ /usr/include/c++/5/clocale /usr/include/locale.h \
+ /usr/include/x86_64-linux-gnu/bits/locale.h /usr/include/c++/5/cctype \
+ /usr/include/ctype.h /usr/include/c++/5/bits/ios_base.h \
+ /usr/include/c++/5/ext/atomicity.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/gthr.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/x86_64-linux-gnu/bits/sched.h \
+ /usr/include/x86_64-linux-gnu/bits/timex.h \
+ /usr/include/x86_64-linux-gnu/bits/setjmp.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/atomic_word.h \
+ /usr/include/c++/5/bits/locale_classes.h /usr/include/c++/5/string \
+ /usr/include/c++/5/bits/ostream_insert.h \
+ /usr/include/c++/5/bits/cxxabi_forced.h \
+ /usr/include/c++/5/bits/stl_function.h \
+ /usr/include/c++/5/backward/binders.h \
+ /usr/include/c++/5/bits/range_access.h \
+ /usr/include/c++/5/bits/basic_string.h \
+ /usr/include/c++/5/bits/basic_string.tcc \
+ /usr/include/c++/5/bits/locale_classes.tcc /usr/include/c++/5/stdexcept \
+ /usr/include/c++/5/streambuf /usr/include/c++/5/bits/streambuf.tcc \
+ /usr/include/c++/5/bits/basic_ios.h \
+ /usr/include/c++/5/bits/locale_facets.h /usr/include/c++/5/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/ctype_base.h \
+ /usr/include/c++/5/bits/streambuf_iterator.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/ctype_inline.h \
+ /usr/include/c++/5/bits/locale_facets.tcc \
+ /usr/include/c++/5/bits/basic_ios.tcc \
+ /usr/include/c++/5/bits/ostream.tcc /usr/include/c++/5/istream \
+ /usr/include/c++/5/bits/istream.tcc /usr/include/c++/5/iomanip \
+ /usr/include/c++/5/limits /usr/include/c++/5/map \
+ /usr/include/c++/5/bits/stl_tree.h /usr/include/c++/5/bits/stl_map.h \
+ /usr/include/c++/5/bits/stl_multimap.h /usr/include/c++/5/set \
+ /usr/include/c++/5/bits/stl_set.h /usr/include/c++/5/bits/stl_multiset.h \
+ ../../modules/core/includes/MALLOC.h \
+ ../../modules/core/includes/sci_mem_alloc.h \
+ ../../modules/output_stream/includes/Scierror.h \
+ ../../modules/output_stream/includes/do_error_number.h \
+ ../../modules/core/includes/machine.h \
+ ../../modules/api_scilab/includes/api_scilab.h \
+ ../../modules/core/includes/stack-c.h /usr/include/string.h \
+ /usr/include/x86_64-linux-gnu/bits/string3.h \
+ ../../modules/core/includes/core_math.h /usr/include/math.h \
+ /usr/include/x86_64-linux-gnu/bits/math-vector.h \
+ /usr/include/x86_64-linux-gnu/bits/libm-simd-decl-stubs.h \
+ /usr/include/x86_64-linux-gnu/bits/huge_val.h \
+ /usr/include/x86_64-linux-gnu/bits/huge_valf.h \
+ /usr/include/x86_64-linux-gnu/bits/huge_vall.h \
+ /usr/include/x86_64-linux-gnu/bits/inf.h \
+ /usr/include/x86_64-linux-gnu/bits/nan.h \
+ /usr/include/x86_64-linux-gnu/bits/mathdef.h \
+ /usr/include/x86_64-linux-gnu/bits/mathcalls.h \
+ /usr/include/x86_64-linux-gnu/bits/mathinline.h /usr/include/values.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/float.h \
+ ../../modules/core/includes/stack-def.h \
+ ../../modules/core/includes/machine.h \
+ ../../modules/core/includes/stackTypeVariable.h \
+ ../../modules/core/includes/BOOL.h \
+ ../../modules/core/includes/doublecomplex.h \
+ ../../modules/core/includes/stack1.h \
+ ../../modules/core/includes/scisparse.h \
+ ../../modules/core/includes/stack2.h \
+ ../../modules/core/includes/stack3.h \
+ ../../modules/core/includes/stack-optional.h \
+ ../../modules/core/includes/sci_types.h \
+ ../../modules/api_scilab/includes/api_common.h \
+ ../../modules/api_scilab/includes/api_scilab.h \
+ ../../modules/api_scilab/includes/api_double.h \
+ ../../modules/core/includes/doublecomplex.h \
+ ../../modules/api_scilab/includes/api_string.h \
+ ../../modules/api_scilab/includes/api_int.h \
+ ../../modules/api_scilab/includes/api_poly.h \
+ ../../modules/api_scilab/includes/api_sparse.h \
+ ../../modules/api_scilab/includes/api_boolean.h \
+ ../../modules/api_scilab/includes/api_boolean_sparse.h \
+ ../../modules/api_scilab/includes/api_pointer.h \
+ ../../modules/api_scilab/includes/api_list.h \
+ ../../modules/api_scilab/includes/api_error.h \
+ ../../modules/api_scilab/includes/api_handle.h \
+ ../../modules/api_scilab/includes/api_optional.h \
+ ../../modules/core/includes/stack-optional.h \
+ ../../modules/api_scilab/includes/api_hypermat.h \
+ ../../modules/core/includes/core_math.h \
+ ../../modules/core/includes/sci_types.h \
+ ../../modules/localization/includes/localization.h \
+ /usr/include/libintl.h src/cpp/H5VariableScope.hxx \
+ /usr/include/c++/5/stack /usr/include/c++/5/deque \
+ /usr/include/c++/5/bits/stl_uninitialized.h \
+ /usr/include/c++/5/bits/stl_deque.h /usr/include/c++/5/bits/deque.tcc \
+ /usr/include/c++/5/bits/stl_stack.h /usr/include/c++/5/vector \
+ /usr/include/c++/5/bits/stl_vector.h \
+ /usr/include/c++/5/bits/stl_bvector.h /usr/include/c++/5/bits/vector.tcc \
+ src/cpp/H5Exception.hxx ../../modules/core/includes/backtrace_print.h \
+ /usr/include/c++/5/sstream /usr/include/c++/5/bits/sstream.tcc \
+ /usr/include/c++/5/cstdio src/cpp/H5Type.hxx src/cpp/H5File.hxx \
+ /usr/include/x86_64-linux-gnu/sys/stat.h \
+ /usr/include/x86_64-linux-gnu/bits/stat.h src/cpp/H5Dataset.hxx \
+ src/cpp/H5Data.hxx src/cpp/H5Dataspace.hxx src/cpp/H5AttributesList.hxx \
+ src/cpp/H5ListObject.hxx src/cpp/H5Attribute.hxx src/cpp/H5SoftLink.hxx \
+ src/cpp/H5Link.hxx src/cpp/H5ExternalLink.hxx \
+ src/cpp/H5NamedObjectsList.hxx src/cpp/H5SoftLinksList.hxx \
+ src/cpp/H5GroupsList.hxx src/cpp/H5DatasetsList.hxx \
+ src/cpp/H5TypesList.hxx src/cpp/H5BasicData.hxx \
+ src/cpp/H5DataConverter.hxx
+
+/usr/include/stdc-predef.h:
+
+src/cpp/H5Group.hxx:
+
+src/cpp/H5Object.hxx:
+
+includes/HDF5Objects.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/hdf5.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5public.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5pubconf.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5version.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/include/x86_64-linux-gnu/sys/types.h:
+
+/usr/include/x86_64-linux-gnu/bits/types.h:
+
+/usr/include/x86_64-linux-gnu/bits/typesizes.h:
+
+/usr/include/time.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.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/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/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h:
+
+/usr/include/limits.h:
+
+/usr/include/x86_64-linux-gnu/bits/posix1_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/local_lim.h:
+
+/usr/include/linux/limits.h:
+
+/usr/include/x86_64-linux-gnu/bits/posix2_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/xopen_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio_lim.h:
+
+/usr/include/inttypes.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stdint.h:
+
+/usr/include/stdint.h:
+
+/usr/include/x86_64-linux-gnu/bits/wchar.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5api_adpt.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Apublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Ipublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Opublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Lpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Tpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5ACpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Cpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Dpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Epublic.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/sys_errlist.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio2.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Epubgen.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Fpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Gpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5MMpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Ppublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Zpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Rpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Spublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDcore.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDfamily.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDlog.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDmpi.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDmpio.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDmpiposix.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDmulti.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDsec2.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDstdio.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDdirect.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/hdf5_hl.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5DSpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5LTpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5IMpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5TBpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5PTpublic.h:
+
+/usr/include/c++/5/algorithm:
+
+/usr/include/c++/5/utility:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/c++config.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/os_defines.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/cpu_defines.h:
+
+/usr/include/c++/5/bits/stl_relops.h:
+
+/usr/include/c++/5/bits/stl_pair.h:
+
+/usr/include/c++/5/bits/move.h:
+
+/usr/include/c++/5/bits/concept_check.h:
+
+/usr/include/c++/5/bits/stl_algobase.h:
+
+/usr/include/c++/5/bits/functexcept.h:
+
+/usr/include/c++/5/bits/exception_defines.h:
+
+/usr/include/c++/5/bits/cpp_type_traits.h:
+
+/usr/include/c++/5/ext/type_traits.h:
+
+/usr/include/c++/5/ext/numeric_traits.h:
+
+/usr/include/c++/5/bits/stl_iterator_base_types.h:
+
+/usr/include/c++/5/bits/stl_iterator_base_funcs.h:
+
+/usr/include/c++/5/debug/debug.h:
+
+/usr/include/c++/5/bits/stl_iterator.h:
+
+/usr/include/c++/5/bits/ptr_traits.h:
+
+/usr/include/c++/5/bits/predefined_ops.h:
+
+/usr/include/c++/5/bits/stl_algo.h:
+
+/usr/include/c++/5/cstdlib:
+
+/usr/include/stdlib.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitflags.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitstatus.h:
+
+/usr/include/xlocale.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/c++/5/bits/algorithmfwd.h:
+
+/usr/include/c++/5/bits/stl_heap.h:
+
+/usr/include/c++/5/bits/stl_tempbuf.h:
+
+/usr/include/c++/5/bits/stl_construct.h:
+
+/usr/include/c++/5/new:
+
+/usr/include/c++/5/exception:
+
+/usr/include/c++/5/bits/atomic_lockfree_defines.h:
+
+/usr/include/c++/5/ext/alloc_traits.h:
+
+/usr/include/c++/5/bits/allocator.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/c++allocator.h:
+
+/usr/include/c++/5/ext/new_allocator.h:
+
+/usr/include/c++/5/bits/memoryfwd.h:
+
+/usr/include/c++/5/iostream:
+
+/usr/include/c++/5/ostream:
+
+/usr/include/c++/5/ios:
+
+/usr/include/c++/5/iosfwd:
+
+/usr/include/c++/5/bits/stringfwd.h:
+
+/usr/include/c++/5/bits/postypes.h:
+
+/usr/include/c++/5/cwchar:
+
+/usr/include/x86_64-linux-gnu/bits/wchar2.h:
+
+/usr/include/c++/5/bits/char_traits.h:
+
+/usr/include/c++/5/bits/localefwd.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/c++locale.h:
+
+/usr/include/c++/5/clocale:
+
+/usr/include/locale.h:
+
+/usr/include/x86_64-linux-gnu/bits/locale.h:
+
+/usr/include/c++/5/cctype:
+
+/usr/include/ctype.h:
+
+/usr/include/c++/5/bits/ios_base.h:
+
+/usr/include/c++/5/ext/atomicity.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/gthr.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/gthr-default.h:
+
+/usr/include/pthread.h:
+
+/usr/include/sched.h:
+
+/usr/include/x86_64-linux-gnu/bits/sched.h:
+
+/usr/include/x86_64-linux-gnu/bits/timex.h:
+
+/usr/include/x86_64-linux-gnu/bits/setjmp.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/atomic_word.h:
+
+/usr/include/c++/5/bits/locale_classes.h:
+
+/usr/include/c++/5/string:
+
+/usr/include/c++/5/bits/ostream_insert.h:
+
+/usr/include/c++/5/bits/cxxabi_forced.h:
+
+/usr/include/c++/5/bits/stl_function.h:
+
+/usr/include/c++/5/backward/binders.h:
+
+/usr/include/c++/5/bits/range_access.h:
+
+/usr/include/c++/5/bits/basic_string.h:
+
+/usr/include/c++/5/bits/basic_string.tcc:
+
+/usr/include/c++/5/bits/locale_classes.tcc:
+
+/usr/include/c++/5/stdexcept:
+
+/usr/include/c++/5/streambuf:
+
+/usr/include/c++/5/bits/streambuf.tcc:
+
+/usr/include/c++/5/bits/basic_ios.h:
+
+/usr/include/c++/5/bits/locale_facets.h:
+
+/usr/include/c++/5/cwctype:
+
+/usr/include/wctype.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/ctype_base.h:
+
+/usr/include/c++/5/bits/streambuf_iterator.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/ctype_inline.h:
+
+/usr/include/c++/5/bits/locale_facets.tcc:
+
+/usr/include/c++/5/bits/basic_ios.tcc:
+
+/usr/include/c++/5/bits/ostream.tcc:
+
+/usr/include/c++/5/istream:
+
+/usr/include/c++/5/bits/istream.tcc:
+
+/usr/include/c++/5/iomanip:
+
+/usr/include/c++/5/limits:
+
+/usr/include/c++/5/map:
+
+/usr/include/c++/5/bits/stl_tree.h:
+
+/usr/include/c++/5/bits/stl_map.h:
+
+/usr/include/c++/5/bits/stl_multimap.h:
+
+/usr/include/c++/5/set:
+
+/usr/include/c++/5/bits/stl_set.h:
+
+/usr/include/c++/5/bits/stl_multiset.h:
+
+../../modules/core/includes/MALLOC.h:
+
+../../modules/core/includes/sci_mem_alloc.h:
+
+../../modules/output_stream/includes/Scierror.h:
+
+../../modules/output_stream/includes/do_error_number.h:
+
+../../modules/core/includes/machine.h:
+
+../../modules/api_scilab/includes/api_scilab.h:
+
+../../modules/core/includes/stack-c.h:
+
+/usr/include/string.h:
+
+/usr/include/x86_64-linux-gnu/bits/string3.h:
+
+../../modules/core/includes/core_math.h:
+
+/usr/include/math.h:
+
+/usr/include/x86_64-linux-gnu/bits/math-vector.h:
+
+/usr/include/x86_64-linux-gnu/bits/libm-simd-decl-stubs.h:
+
+/usr/include/x86_64-linux-gnu/bits/huge_val.h:
+
+/usr/include/x86_64-linux-gnu/bits/huge_valf.h:
+
+/usr/include/x86_64-linux-gnu/bits/huge_vall.h:
+
+/usr/include/x86_64-linux-gnu/bits/inf.h:
+
+/usr/include/x86_64-linux-gnu/bits/nan.h:
+
+/usr/include/x86_64-linux-gnu/bits/mathdef.h:
+
+/usr/include/x86_64-linux-gnu/bits/mathcalls.h:
+
+/usr/include/x86_64-linux-gnu/bits/mathinline.h:
+
+/usr/include/values.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/float.h:
+
+../../modules/core/includes/stack-def.h:
+
+../../modules/core/includes/machine.h:
+
+../../modules/core/includes/stackTypeVariable.h:
+
+../../modules/core/includes/BOOL.h:
+
+../../modules/core/includes/doublecomplex.h:
+
+../../modules/core/includes/stack1.h:
+
+../../modules/core/includes/scisparse.h:
+
+../../modules/core/includes/stack2.h:
+
+../../modules/core/includes/stack3.h:
+
+../../modules/core/includes/stack-optional.h:
+
+../../modules/core/includes/sci_types.h:
+
+../../modules/api_scilab/includes/api_common.h:
+
+../../modules/api_scilab/includes/api_scilab.h:
+
+../../modules/api_scilab/includes/api_double.h:
+
+../../modules/core/includes/doublecomplex.h:
+
+../../modules/api_scilab/includes/api_string.h:
+
+../../modules/api_scilab/includes/api_int.h:
+
+../../modules/api_scilab/includes/api_poly.h:
+
+../../modules/api_scilab/includes/api_sparse.h:
+
+../../modules/api_scilab/includes/api_boolean.h:
+
+../../modules/api_scilab/includes/api_boolean_sparse.h:
+
+../../modules/api_scilab/includes/api_pointer.h:
+
+../../modules/api_scilab/includes/api_list.h:
+
+../../modules/api_scilab/includes/api_error.h:
+
+../../modules/api_scilab/includes/api_handle.h:
+
+../../modules/api_scilab/includes/api_optional.h:
+
+../../modules/core/includes/stack-optional.h:
+
+../../modules/api_scilab/includes/api_hypermat.h:
+
+../../modules/core/includes/core_math.h:
+
+../../modules/core/includes/sci_types.h:
+
+../../modules/localization/includes/localization.h:
+
+/usr/include/libintl.h:
+
+src/cpp/H5VariableScope.hxx:
+
+/usr/include/c++/5/stack:
+
+/usr/include/c++/5/deque:
+
+/usr/include/c++/5/bits/stl_uninitialized.h:
+
+/usr/include/c++/5/bits/stl_deque.h:
+
+/usr/include/c++/5/bits/deque.tcc:
+
+/usr/include/c++/5/bits/stl_stack.h:
+
+/usr/include/c++/5/vector:
+
+/usr/include/c++/5/bits/stl_vector.h:
+
+/usr/include/c++/5/bits/stl_bvector.h:
+
+/usr/include/c++/5/bits/vector.tcc:
+
+src/cpp/H5Exception.hxx:
+
+../../modules/core/includes/backtrace_print.h:
+
+/usr/include/c++/5/sstream:
+
+/usr/include/c++/5/bits/sstream.tcc:
+
+/usr/include/c++/5/cstdio:
+
+src/cpp/H5Type.hxx:
+
+src/cpp/H5File.hxx:
+
+/usr/include/x86_64-linux-gnu/sys/stat.h:
+
+/usr/include/x86_64-linux-gnu/bits/stat.h:
+
+src/cpp/H5Dataset.hxx:
+
+src/cpp/H5Data.hxx:
+
+src/cpp/H5Dataspace.hxx:
+
+src/cpp/H5AttributesList.hxx:
+
+src/cpp/H5ListObject.hxx:
+
+src/cpp/H5Attribute.hxx:
+
+src/cpp/H5SoftLink.hxx:
+
+src/cpp/H5Link.hxx:
+
+src/cpp/H5ExternalLink.hxx:
+
+src/cpp/H5NamedObjectsList.hxx:
+
+src/cpp/H5SoftLinksList.hxx:
+
+src/cpp/H5GroupsList.hxx:
+
+src/cpp/H5DatasetsList.hxx:
+
+src/cpp/H5TypesList.hxx:
+
+src/cpp/H5BasicData.hxx:
+
+src/cpp/H5DataConverter.hxx:
diff --git a/modules/hdf5/src/cpp/.deps/libscihdf5_algo_la-H5HardLink.Plo b/modules/hdf5/src/cpp/.deps/libscihdf5_algo_la-H5HardLink.Plo
new file mode 100755
index 000000000..352b932d5
--- /dev/null
+++ b/modules/hdf5/src/cpp/.deps/libscihdf5_algo_la-H5HardLink.Plo
@@ -0,0 +1,739 @@
+src/cpp/libscihdf5_algo_la-H5HardLink.lo: src/cpp/H5HardLink.cpp \
+ /usr/include/stdc-predef.h src/cpp/H5Object.hxx includes/HDF5Objects.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/hdf5.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5public.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5pubconf.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5version.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/include/x86_64-linux-gnu/sys/types.h \
+ /usr/include/x86_64-linux-gnu/bits/types.h \
+ /usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/time.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.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/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/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h \
+ /usr/include/limits.h /usr/include/x86_64-linux-gnu/bits/posix1_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/local_lim.h \
+ /usr/include/linux/limits.h \
+ /usr/include/x86_64-linux-gnu/bits/posix2_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/xopen_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio_lim.h /usr/include/inttypes.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stdint.h /usr/include/stdint.h \
+ /usr/include/x86_64-linux-gnu/bits/wchar.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5api_adpt.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Apublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Ipublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Opublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Lpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Tpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5ACpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Cpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Dpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Epublic.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/sys_errlist.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio2.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Epubgen.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Fpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Gpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5MMpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Ppublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Zpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Rpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Spublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDcore.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDfamily.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDlog.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDmpi.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDmpio.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDmpiposix.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDmulti.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDsec2.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDstdio.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDdirect.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/hdf5_hl.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5DSpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5LTpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5IMpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5TBpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5PTpublic.h \
+ /usr/include/c++/5/algorithm /usr/include/c++/5/utility \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/c++config.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/os_defines.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/cpu_defines.h \
+ /usr/include/c++/5/bits/stl_relops.h /usr/include/c++/5/bits/stl_pair.h \
+ /usr/include/c++/5/bits/move.h /usr/include/c++/5/bits/concept_check.h \
+ /usr/include/c++/5/bits/stl_algobase.h \
+ /usr/include/c++/5/bits/functexcept.h \
+ /usr/include/c++/5/bits/exception_defines.h \
+ /usr/include/c++/5/bits/cpp_type_traits.h \
+ /usr/include/c++/5/ext/type_traits.h \
+ /usr/include/c++/5/ext/numeric_traits.h \
+ /usr/include/c++/5/bits/stl_iterator_base_types.h \
+ /usr/include/c++/5/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/5/debug/debug.h /usr/include/c++/5/bits/stl_iterator.h \
+ /usr/include/c++/5/bits/ptr_traits.h \
+ /usr/include/c++/5/bits/predefined_ops.h \
+ /usr/include/c++/5/bits/stl_algo.h /usr/include/c++/5/cstdlib \
+ /usr/include/stdlib.h /usr/include/x86_64-linux-gnu/bits/waitflags.h \
+ /usr/include/x86_64-linux-gnu/bits/waitstatus.h /usr/include/xlocale.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/c++/5/bits/algorithmfwd.h \
+ /usr/include/c++/5/bits/stl_heap.h /usr/include/c++/5/bits/stl_tempbuf.h \
+ /usr/include/c++/5/bits/stl_construct.h /usr/include/c++/5/new \
+ /usr/include/c++/5/exception \
+ /usr/include/c++/5/bits/atomic_lockfree_defines.h \
+ /usr/include/c++/5/ext/alloc_traits.h \
+ /usr/include/c++/5/bits/allocator.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/c++allocator.h \
+ /usr/include/c++/5/ext/new_allocator.h \
+ /usr/include/c++/5/bits/memoryfwd.h /usr/include/c++/5/iostream \
+ /usr/include/c++/5/ostream /usr/include/c++/5/ios \
+ /usr/include/c++/5/iosfwd /usr/include/c++/5/bits/stringfwd.h \
+ /usr/include/c++/5/bits/postypes.h /usr/include/c++/5/cwchar \
+ /usr/include/x86_64-linux-gnu/bits/wchar2.h \
+ /usr/include/c++/5/bits/char_traits.h \
+ /usr/include/c++/5/bits/localefwd.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/c++locale.h \
+ /usr/include/c++/5/clocale /usr/include/locale.h \
+ /usr/include/x86_64-linux-gnu/bits/locale.h /usr/include/c++/5/cctype \
+ /usr/include/ctype.h /usr/include/c++/5/bits/ios_base.h \
+ /usr/include/c++/5/ext/atomicity.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/gthr.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/x86_64-linux-gnu/bits/sched.h \
+ /usr/include/x86_64-linux-gnu/bits/timex.h \
+ /usr/include/x86_64-linux-gnu/bits/setjmp.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/atomic_word.h \
+ /usr/include/c++/5/bits/locale_classes.h /usr/include/c++/5/string \
+ /usr/include/c++/5/bits/ostream_insert.h \
+ /usr/include/c++/5/bits/cxxabi_forced.h \
+ /usr/include/c++/5/bits/stl_function.h \
+ /usr/include/c++/5/backward/binders.h \
+ /usr/include/c++/5/bits/range_access.h \
+ /usr/include/c++/5/bits/basic_string.h \
+ /usr/include/c++/5/bits/basic_string.tcc \
+ /usr/include/c++/5/bits/locale_classes.tcc /usr/include/c++/5/stdexcept \
+ /usr/include/c++/5/streambuf /usr/include/c++/5/bits/streambuf.tcc \
+ /usr/include/c++/5/bits/basic_ios.h \
+ /usr/include/c++/5/bits/locale_facets.h /usr/include/c++/5/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/ctype_base.h \
+ /usr/include/c++/5/bits/streambuf_iterator.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/ctype_inline.h \
+ /usr/include/c++/5/bits/locale_facets.tcc \
+ /usr/include/c++/5/bits/basic_ios.tcc \
+ /usr/include/c++/5/bits/ostream.tcc /usr/include/c++/5/istream \
+ /usr/include/c++/5/bits/istream.tcc /usr/include/c++/5/iomanip \
+ /usr/include/c++/5/limits /usr/include/c++/5/map \
+ /usr/include/c++/5/bits/stl_tree.h /usr/include/c++/5/bits/stl_map.h \
+ /usr/include/c++/5/bits/stl_multimap.h /usr/include/c++/5/set \
+ /usr/include/c++/5/bits/stl_set.h /usr/include/c++/5/bits/stl_multiset.h \
+ ../../modules/core/includes/MALLOC.h \
+ ../../modules/core/includes/sci_mem_alloc.h \
+ ../../modules/output_stream/includes/Scierror.h \
+ ../../modules/output_stream/includes/do_error_number.h \
+ ../../modules/core/includes/machine.h \
+ ../../modules/api_scilab/includes/api_scilab.h \
+ ../../modules/core/includes/stack-c.h /usr/include/string.h \
+ /usr/include/x86_64-linux-gnu/bits/string3.h \
+ ../../modules/core/includes/core_math.h /usr/include/math.h \
+ /usr/include/x86_64-linux-gnu/bits/math-vector.h \
+ /usr/include/x86_64-linux-gnu/bits/libm-simd-decl-stubs.h \
+ /usr/include/x86_64-linux-gnu/bits/huge_val.h \
+ /usr/include/x86_64-linux-gnu/bits/huge_valf.h \
+ /usr/include/x86_64-linux-gnu/bits/huge_vall.h \
+ /usr/include/x86_64-linux-gnu/bits/inf.h \
+ /usr/include/x86_64-linux-gnu/bits/nan.h \
+ /usr/include/x86_64-linux-gnu/bits/mathdef.h \
+ /usr/include/x86_64-linux-gnu/bits/mathcalls.h \
+ /usr/include/x86_64-linux-gnu/bits/mathinline.h /usr/include/values.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/float.h \
+ ../../modules/core/includes/stack-def.h \
+ ../../modules/core/includes/machine.h \
+ ../../modules/core/includes/stackTypeVariable.h \
+ ../../modules/core/includes/BOOL.h \
+ ../../modules/core/includes/doublecomplex.h \
+ ../../modules/core/includes/stack1.h \
+ ../../modules/core/includes/scisparse.h \
+ ../../modules/core/includes/stack2.h \
+ ../../modules/core/includes/stack3.h \
+ ../../modules/core/includes/stack-optional.h \
+ ../../modules/core/includes/sci_types.h \
+ ../../modules/api_scilab/includes/api_common.h \
+ ../../modules/api_scilab/includes/api_scilab.h \
+ ../../modules/api_scilab/includes/api_double.h \
+ ../../modules/core/includes/doublecomplex.h \
+ ../../modules/api_scilab/includes/api_string.h \
+ ../../modules/api_scilab/includes/api_int.h \
+ ../../modules/api_scilab/includes/api_poly.h \
+ ../../modules/api_scilab/includes/api_sparse.h \
+ ../../modules/api_scilab/includes/api_boolean.h \
+ ../../modules/api_scilab/includes/api_boolean_sparse.h \
+ ../../modules/api_scilab/includes/api_pointer.h \
+ ../../modules/api_scilab/includes/api_list.h \
+ ../../modules/api_scilab/includes/api_error.h \
+ ../../modules/api_scilab/includes/api_handle.h \
+ ../../modules/api_scilab/includes/api_optional.h \
+ ../../modules/core/includes/stack-optional.h \
+ ../../modules/api_scilab/includes/api_hypermat.h \
+ ../../modules/core/includes/core_math.h \
+ ../../modules/core/includes/sci_types.h \
+ ../../modules/localization/includes/localization.h \
+ /usr/include/libintl.h src/cpp/H5VariableScope.hxx \
+ /usr/include/c++/5/stack /usr/include/c++/5/deque \
+ /usr/include/c++/5/bits/stl_uninitialized.h \
+ /usr/include/c++/5/bits/stl_deque.h /usr/include/c++/5/bits/deque.tcc \
+ /usr/include/c++/5/bits/stl_stack.h /usr/include/c++/5/vector \
+ /usr/include/c++/5/bits/stl_vector.h \
+ /usr/include/c++/5/bits/stl_bvector.h /usr/include/c++/5/bits/vector.tcc \
+ src/cpp/H5Exception.hxx ../../modules/core/includes/backtrace_print.h \
+ /usr/include/c++/5/sstream /usr/include/c++/5/bits/sstream.tcc \
+ /usr/include/c++/5/cstdio src/cpp/H5HardLink.hxx src/cpp/H5Link.hxx \
+ src/cpp/H5File.hxx /usr/include/x86_64-linux-gnu/sys/stat.h \
+ /usr/include/x86_64-linux-gnu/bits/stat.h
+
+/usr/include/stdc-predef.h:
+
+src/cpp/H5Object.hxx:
+
+includes/HDF5Objects.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/hdf5.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5public.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5pubconf.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5version.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/include/x86_64-linux-gnu/sys/types.h:
+
+/usr/include/x86_64-linux-gnu/bits/types.h:
+
+/usr/include/x86_64-linux-gnu/bits/typesizes.h:
+
+/usr/include/time.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.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/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/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h:
+
+/usr/include/limits.h:
+
+/usr/include/x86_64-linux-gnu/bits/posix1_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/local_lim.h:
+
+/usr/include/linux/limits.h:
+
+/usr/include/x86_64-linux-gnu/bits/posix2_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/xopen_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio_lim.h:
+
+/usr/include/inttypes.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stdint.h:
+
+/usr/include/stdint.h:
+
+/usr/include/x86_64-linux-gnu/bits/wchar.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5api_adpt.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Apublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Ipublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Opublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Lpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Tpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5ACpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Cpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Dpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Epublic.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/sys_errlist.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio2.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Epubgen.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Fpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Gpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5MMpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Ppublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Zpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Rpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Spublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDcore.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDfamily.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDlog.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDmpi.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDmpio.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDmpiposix.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDmulti.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDsec2.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDstdio.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDdirect.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/hdf5_hl.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5DSpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5LTpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5IMpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5TBpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5PTpublic.h:
+
+/usr/include/c++/5/algorithm:
+
+/usr/include/c++/5/utility:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/c++config.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/os_defines.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/cpu_defines.h:
+
+/usr/include/c++/5/bits/stl_relops.h:
+
+/usr/include/c++/5/bits/stl_pair.h:
+
+/usr/include/c++/5/bits/move.h:
+
+/usr/include/c++/5/bits/concept_check.h:
+
+/usr/include/c++/5/bits/stl_algobase.h:
+
+/usr/include/c++/5/bits/functexcept.h:
+
+/usr/include/c++/5/bits/exception_defines.h:
+
+/usr/include/c++/5/bits/cpp_type_traits.h:
+
+/usr/include/c++/5/ext/type_traits.h:
+
+/usr/include/c++/5/ext/numeric_traits.h:
+
+/usr/include/c++/5/bits/stl_iterator_base_types.h:
+
+/usr/include/c++/5/bits/stl_iterator_base_funcs.h:
+
+/usr/include/c++/5/debug/debug.h:
+
+/usr/include/c++/5/bits/stl_iterator.h:
+
+/usr/include/c++/5/bits/ptr_traits.h:
+
+/usr/include/c++/5/bits/predefined_ops.h:
+
+/usr/include/c++/5/bits/stl_algo.h:
+
+/usr/include/c++/5/cstdlib:
+
+/usr/include/stdlib.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitflags.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitstatus.h:
+
+/usr/include/xlocale.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/c++/5/bits/algorithmfwd.h:
+
+/usr/include/c++/5/bits/stl_heap.h:
+
+/usr/include/c++/5/bits/stl_tempbuf.h:
+
+/usr/include/c++/5/bits/stl_construct.h:
+
+/usr/include/c++/5/new:
+
+/usr/include/c++/5/exception:
+
+/usr/include/c++/5/bits/atomic_lockfree_defines.h:
+
+/usr/include/c++/5/ext/alloc_traits.h:
+
+/usr/include/c++/5/bits/allocator.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/c++allocator.h:
+
+/usr/include/c++/5/ext/new_allocator.h:
+
+/usr/include/c++/5/bits/memoryfwd.h:
+
+/usr/include/c++/5/iostream:
+
+/usr/include/c++/5/ostream:
+
+/usr/include/c++/5/ios:
+
+/usr/include/c++/5/iosfwd:
+
+/usr/include/c++/5/bits/stringfwd.h:
+
+/usr/include/c++/5/bits/postypes.h:
+
+/usr/include/c++/5/cwchar:
+
+/usr/include/x86_64-linux-gnu/bits/wchar2.h:
+
+/usr/include/c++/5/bits/char_traits.h:
+
+/usr/include/c++/5/bits/localefwd.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/c++locale.h:
+
+/usr/include/c++/5/clocale:
+
+/usr/include/locale.h:
+
+/usr/include/x86_64-linux-gnu/bits/locale.h:
+
+/usr/include/c++/5/cctype:
+
+/usr/include/ctype.h:
+
+/usr/include/c++/5/bits/ios_base.h:
+
+/usr/include/c++/5/ext/atomicity.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/gthr.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/gthr-default.h:
+
+/usr/include/pthread.h:
+
+/usr/include/sched.h:
+
+/usr/include/x86_64-linux-gnu/bits/sched.h:
+
+/usr/include/x86_64-linux-gnu/bits/timex.h:
+
+/usr/include/x86_64-linux-gnu/bits/setjmp.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/atomic_word.h:
+
+/usr/include/c++/5/bits/locale_classes.h:
+
+/usr/include/c++/5/string:
+
+/usr/include/c++/5/bits/ostream_insert.h:
+
+/usr/include/c++/5/bits/cxxabi_forced.h:
+
+/usr/include/c++/5/bits/stl_function.h:
+
+/usr/include/c++/5/backward/binders.h:
+
+/usr/include/c++/5/bits/range_access.h:
+
+/usr/include/c++/5/bits/basic_string.h:
+
+/usr/include/c++/5/bits/basic_string.tcc:
+
+/usr/include/c++/5/bits/locale_classes.tcc:
+
+/usr/include/c++/5/stdexcept:
+
+/usr/include/c++/5/streambuf:
+
+/usr/include/c++/5/bits/streambuf.tcc:
+
+/usr/include/c++/5/bits/basic_ios.h:
+
+/usr/include/c++/5/bits/locale_facets.h:
+
+/usr/include/c++/5/cwctype:
+
+/usr/include/wctype.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/ctype_base.h:
+
+/usr/include/c++/5/bits/streambuf_iterator.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/ctype_inline.h:
+
+/usr/include/c++/5/bits/locale_facets.tcc:
+
+/usr/include/c++/5/bits/basic_ios.tcc:
+
+/usr/include/c++/5/bits/ostream.tcc:
+
+/usr/include/c++/5/istream:
+
+/usr/include/c++/5/bits/istream.tcc:
+
+/usr/include/c++/5/iomanip:
+
+/usr/include/c++/5/limits:
+
+/usr/include/c++/5/map:
+
+/usr/include/c++/5/bits/stl_tree.h:
+
+/usr/include/c++/5/bits/stl_map.h:
+
+/usr/include/c++/5/bits/stl_multimap.h:
+
+/usr/include/c++/5/set:
+
+/usr/include/c++/5/bits/stl_set.h:
+
+/usr/include/c++/5/bits/stl_multiset.h:
+
+../../modules/core/includes/MALLOC.h:
+
+../../modules/core/includes/sci_mem_alloc.h:
+
+../../modules/output_stream/includes/Scierror.h:
+
+../../modules/output_stream/includes/do_error_number.h:
+
+../../modules/core/includes/machine.h:
+
+../../modules/api_scilab/includes/api_scilab.h:
+
+../../modules/core/includes/stack-c.h:
+
+/usr/include/string.h:
+
+/usr/include/x86_64-linux-gnu/bits/string3.h:
+
+../../modules/core/includes/core_math.h:
+
+/usr/include/math.h:
+
+/usr/include/x86_64-linux-gnu/bits/math-vector.h:
+
+/usr/include/x86_64-linux-gnu/bits/libm-simd-decl-stubs.h:
+
+/usr/include/x86_64-linux-gnu/bits/huge_val.h:
+
+/usr/include/x86_64-linux-gnu/bits/huge_valf.h:
+
+/usr/include/x86_64-linux-gnu/bits/huge_vall.h:
+
+/usr/include/x86_64-linux-gnu/bits/inf.h:
+
+/usr/include/x86_64-linux-gnu/bits/nan.h:
+
+/usr/include/x86_64-linux-gnu/bits/mathdef.h:
+
+/usr/include/x86_64-linux-gnu/bits/mathcalls.h:
+
+/usr/include/x86_64-linux-gnu/bits/mathinline.h:
+
+/usr/include/values.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/float.h:
+
+../../modules/core/includes/stack-def.h:
+
+../../modules/core/includes/machine.h:
+
+../../modules/core/includes/stackTypeVariable.h:
+
+../../modules/core/includes/BOOL.h:
+
+../../modules/core/includes/doublecomplex.h:
+
+../../modules/core/includes/stack1.h:
+
+../../modules/core/includes/scisparse.h:
+
+../../modules/core/includes/stack2.h:
+
+../../modules/core/includes/stack3.h:
+
+../../modules/core/includes/stack-optional.h:
+
+../../modules/core/includes/sci_types.h:
+
+../../modules/api_scilab/includes/api_common.h:
+
+../../modules/api_scilab/includes/api_scilab.h:
+
+../../modules/api_scilab/includes/api_double.h:
+
+../../modules/core/includes/doublecomplex.h:
+
+../../modules/api_scilab/includes/api_string.h:
+
+../../modules/api_scilab/includes/api_int.h:
+
+../../modules/api_scilab/includes/api_poly.h:
+
+../../modules/api_scilab/includes/api_sparse.h:
+
+../../modules/api_scilab/includes/api_boolean.h:
+
+../../modules/api_scilab/includes/api_boolean_sparse.h:
+
+../../modules/api_scilab/includes/api_pointer.h:
+
+../../modules/api_scilab/includes/api_list.h:
+
+../../modules/api_scilab/includes/api_error.h:
+
+../../modules/api_scilab/includes/api_handle.h:
+
+../../modules/api_scilab/includes/api_optional.h:
+
+../../modules/core/includes/stack-optional.h:
+
+../../modules/api_scilab/includes/api_hypermat.h:
+
+../../modules/core/includes/core_math.h:
+
+../../modules/core/includes/sci_types.h:
+
+../../modules/localization/includes/localization.h:
+
+/usr/include/libintl.h:
+
+src/cpp/H5VariableScope.hxx:
+
+/usr/include/c++/5/stack:
+
+/usr/include/c++/5/deque:
+
+/usr/include/c++/5/bits/stl_uninitialized.h:
+
+/usr/include/c++/5/bits/stl_deque.h:
+
+/usr/include/c++/5/bits/deque.tcc:
+
+/usr/include/c++/5/bits/stl_stack.h:
+
+/usr/include/c++/5/vector:
+
+/usr/include/c++/5/bits/stl_vector.h:
+
+/usr/include/c++/5/bits/stl_bvector.h:
+
+/usr/include/c++/5/bits/vector.tcc:
+
+src/cpp/H5Exception.hxx:
+
+../../modules/core/includes/backtrace_print.h:
+
+/usr/include/c++/5/sstream:
+
+/usr/include/c++/5/bits/sstream.tcc:
+
+/usr/include/c++/5/cstdio:
+
+src/cpp/H5HardLink.hxx:
+
+src/cpp/H5Link.hxx:
+
+src/cpp/H5File.hxx:
+
+/usr/include/x86_64-linux-gnu/sys/stat.h:
+
+/usr/include/x86_64-linux-gnu/bits/stat.h:
diff --git a/modules/hdf5/src/cpp/.deps/libscihdf5_algo_la-H5Link.Plo b/modules/hdf5/src/cpp/.deps/libscihdf5_algo_la-H5Link.Plo
new file mode 100755
index 000000000..cdac82730
--- /dev/null
+++ b/modules/hdf5/src/cpp/.deps/libscihdf5_algo_la-H5Link.Plo
@@ -0,0 +1,745 @@
+src/cpp/libscihdf5_algo_la-H5Link.lo: src/cpp/H5Link.cpp \
+ /usr/include/stdc-predef.h src/cpp/H5Link.hxx src/cpp/H5Object.hxx \
+ includes/HDF5Objects.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/hdf5.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5public.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5pubconf.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5version.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/include/x86_64-linux-gnu/sys/types.h \
+ /usr/include/x86_64-linux-gnu/bits/types.h \
+ /usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/time.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.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/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/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h \
+ /usr/include/limits.h /usr/include/x86_64-linux-gnu/bits/posix1_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/local_lim.h \
+ /usr/include/linux/limits.h \
+ /usr/include/x86_64-linux-gnu/bits/posix2_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/xopen_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio_lim.h /usr/include/inttypes.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stdint.h /usr/include/stdint.h \
+ /usr/include/x86_64-linux-gnu/bits/wchar.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5api_adpt.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Apublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Ipublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Opublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Lpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Tpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5ACpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Cpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Dpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Epublic.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/sys_errlist.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio2.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Epubgen.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Fpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Gpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5MMpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Ppublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Zpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Rpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Spublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDcore.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDfamily.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDlog.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDmpi.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDmpio.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDmpiposix.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDmulti.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDsec2.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDstdio.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDdirect.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/hdf5_hl.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5DSpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5LTpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5IMpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5TBpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5PTpublic.h \
+ /usr/include/c++/5/algorithm /usr/include/c++/5/utility \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/c++config.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/os_defines.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/cpu_defines.h \
+ /usr/include/c++/5/bits/stl_relops.h /usr/include/c++/5/bits/stl_pair.h \
+ /usr/include/c++/5/bits/move.h /usr/include/c++/5/bits/concept_check.h \
+ /usr/include/c++/5/bits/stl_algobase.h \
+ /usr/include/c++/5/bits/functexcept.h \
+ /usr/include/c++/5/bits/exception_defines.h \
+ /usr/include/c++/5/bits/cpp_type_traits.h \
+ /usr/include/c++/5/ext/type_traits.h \
+ /usr/include/c++/5/ext/numeric_traits.h \
+ /usr/include/c++/5/bits/stl_iterator_base_types.h \
+ /usr/include/c++/5/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/5/debug/debug.h /usr/include/c++/5/bits/stl_iterator.h \
+ /usr/include/c++/5/bits/ptr_traits.h \
+ /usr/include/c++/5/bits/predefined_ops.h \
+ /usr/include/c++/5/bits/stl_algo.h /usr/include/c++/5/cstdlib \
+ /usr/include/stdlib.h /usr/include/x86_64-linux-gnu/bits/waitflags.h \
+ /usr/include/x86_64-linux-gnu/bits/waitstatus.h /usr/include/xlocale.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/c++/5/bits/algorithmfwd.h \
+ /usr/include/c++/5/bits/stl_heap.h /usr/include/c++/5/bits/stl_tempbuf.h \
+ /usr/include/c++/5/bits/stl_construct.h /usr/include/c++/5/new \
+ /usr/include/c++/5/exception \
+ /usr/include/c++/5/bits/atomic_lockfree_defines.h \
+ /usr/include/c++/5/ext/alloc_traits.h \
+ /usr/include/c++/5/bits/allocator.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/c++allocator.h \
+ /usr/include/c++/5/ext/new_allocator.h \
+ /usr/include/c++/5/bits/memoryfwd.h /usr/include/c++/5/iostream \
+ /usr/include/c++/5/ostream /usr/include/c++/5/ios \
+ /usr/include/c++/5/iosfwd /usr/include/c++/5/bits/stringfwd.h \
+ /usr/include/c++/5/bits/postypes.h /usr/include/c++/5/cwchar \
+ /usr/include/x86_64-linux-gnu/bits/wchar2.h \
+ /usr/include/c++/5/bits/char_traits.h \
+ /usr/include/c++/5/bits/localefwd.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/c++locale.h \
+ /usr/include/c++/5/clocale /usr/include/locale.h \
+ /usr/include/x86_64-linux-gnu/bits/locale.h /usr/include/c++/5/cctype \
+ /usr/include/ctype.h /usr/include/c++/5/bits/ios_base.h \
+ /usr/include/c++/5/ext/atomicity.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/gthr.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/x86_64-linux-gnu/bits/sched.h \
+ /usr/include/x86_64-linux-gnu/bits/timex.h \
+ /usr/include/x86_64-linux-gnu/bits/setjmp.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/atomic_word.h \
+ /usr/include/c++/5/bits/locale_classes.h /usr/include/c++/5/string \
+ /usr/include/c++/5/bits/ostream_insert.h \
+ /usr/include/c++/5/bits/cxxabi_forced.h \
+ /usr/include/c++/5/bits/stl_function.h \
+ /usr/include/c++/5/backward/binders.h \
+ /usr/include/c++/5/bits/range_access.h \
+ /usr/include/c++/5/bits/basic_string.h \
+ /usr/include/c++/5/bits/basic_string.tcc \
+ /usr/include/c++/5/bits/locale_classes.tcc /usr/include/c++/5/stdexcept \
+ /usr/include/c++/5/streambuf /usr/include/c++/5/bits/streambuf.tcc \
+ /usr/include/c++/5/bits/basic_ios.h \
+ /usr/include/c++/5/bits/locale_facets.h /usr/include/c++/5/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/ctype_base.h \
+ /usr/include/c++/5/bits/streambuf_iterator.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/ctype_inline.h \
+ /usr/include/c++/5/bits/locale_facets.tcc \
+ /usr/include/c++/5/bits/basic_ios.tcc \
+ /usr/include/c++/5/bits/ostream.tcc /usr/include/c++/5/istream \
+ /usr/include/c++/5/bits/istream.tcc /usr/include/c++/5/iomanip \
+ /usr/include/c++/5/limits /usr/include/c++/5/map \
+ /usr/include/c++/5/bits/stl_tree.h /usr/include/c++/5/bits/stl_map.h \
+ /usr/include/c++/5/bits/stl_multimap.h /usr/include/c++/5/set \
+ /usr/include/c++/5/bits/stl_set.h /usr/include/c++/5/bits/stl_multiset.h \
+ ../../modules/core/includes/MALLOC.h \
+ ../../modules/core/includes/sci_mem_alloc.h \
+ ../../modules/output_stream/includes/Scierror.h \
+ ../../modules/output_stream/includes/do_error_number.h \
+ ../../modules/core/includes/machine.h \
+ ../../modules/api_scilab/includes/api_scilab.h \
+ ../../modules/core/includes/stack-c.h /usr/include/string.h \
+ /usr/include/x86_64-linux-gnu/bits/string3.h \
+ ../../modules/core/includes/core_math.h /usr/include/math.h \
+ /usr/include/x86_64-linux-gnu/bits/math-vector.h \
+ /usr/include/x86_64-linux-gnu/bits/libm-simd-decl-stubs.h \
+ /usr/include/x86_64-linux-gnu/bits/huge_val.h \
+ /usr/include/x86_64-linux-gnu/bits/huge_valf.h \
+ /usr/include/x86_64-linux-gnu/bits/huge_vall.h \
+ /usr/include/x86_64-linux-gnu/bits/inf.h \
+ /usr/include/x86_64-linux-gnu/bits/nan.h \
+ /usr/include/x86_64-linux-gnu/bits/mathdef.h \
+ /usr/include/x86_64-linux-gnu/bits/mathcalls.h \
+ /usr/include/x86_64-linux-gnu/bits/mathinline.h /usr/include/values.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/float.h \
+ ../../modules/core/includes/stack-def.h \
+ ../../modules/core/includes/machine.h \
+ ../../modules/core/includes/stackTypeVariable.h \
+ ../../modules/core/includes/BOOL.h \
+ ../../modules/core/includes/doublecomplex.h \
+ ../../modules/core/includes/stack1.h \
+ ../../modules/core/includes/scisparse.h \
+ ../../modules/core/includes/stack2.h \
+ ../../modules/core/includes/stack3.h \
+ ../../modules/core/includes/stack-optional.h \
+ ../../modules/core/includes/sci_types.h \
+ ../../modules/api_scilab/includes/api_common.h \
+ ../../modules/api_scilab/includes/api_scilab.h \
+ ../../modules/api_scilab/includes/api_double.h \
+ ../../modules/core/includes/doublecomplex.h \
+ ../../modules/api_scilab/includes/api_string.h \
+ ../../modules/api_scilab/includes/api_int.h \
+ ../../modules/api_scilab/includes/api_poly.h \
+ ../../modules/api_scilab/includes/api_sparse.h \
+ ../../modules/api_scilab/includes/api_boolean.h \
+ ../../modules/api_scilab/includes/api_boolean_sparse.h \
+ ../../modules/api_scilab/includes/api_pointer.h \
+ ../../modules/api_scilab/includes/api_list.h \
+ ../../modules/api_scilab/includes/api_error.h \
+ ../../modules/api_scilab/includes/api_handle.h \
+ ../../modules/api_scilab/includes/api_optional.h \
+ ../../modules/core/includes/stack-optional.h \
+ ../../modules/api_scilab/includes/api_hypermat.h \
+ ../../modules/core/includes/core_math.h \
+ ../../modules/core/includes/sci_types.h \
+ ../../modules/localization/includes/localization.h \
+ /usr/include/libintl.h src/cpp/H5VariableScope.hxx \
+ /usr/include/c++/5/stack /usr/include/c++/5/deque \
+ /usr/include/c++/5/bits/stl_uninitialized.h \
+ /usr/include/c++/5/bits/stl_deque.h /usr/include/c++/5/bits/deque.tcc \
+ /usr/include/c++/5/bits/stl_stack.h /usr/include/c++/5/vector \
+ /usr/include/c++/5/bits/stl_vector.h \
+ /usr/include/c++/5/bits/stl_bvector.h /usr/include/c++/5/bits/vector.tcc \
+ src/cpp/H5Exception.hxx ../../modules/core/includes/backtrace_print.h \
+ /usr/include/c++/5/sstream /usr/include/c++/5/bits/sstream.tcc \
+ /usr/include/c++/5/cstdio src/cpp/H5File.hxx \
+ /usr/include/x86_64-linux-gnu/sys/stat.h \
+ /usr/include/x86_64-linux-gnu/bits/stat.h src/cpp/H5SoftLink.hxx \
+ src/cpp/H5ExternalLink.hxx src/cpp/H5HardLink.hxx
+
+/usr/include/stdc-predef.h:
+
+src/cpp/H5Link.hxx:
+
+src/cpp/H5Object.hxx:
+
+includes/HDF5Objects.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/hdf5.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5public.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5pubconf.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5version.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/include/x86_64-linux-gnu/sys/types.h:
+
+/usr/include/x86_64-linux-gnu/bits/types.h:
+
+/usr/include/x86_64-linux-gnu/bits/typesizes.h:
+
+/usr/include/time.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.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/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/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h:
+
+/usr/include/limits.h:
+
+/usr/include/x86_64-linux-gnu/bits/posix1_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/local_lim.h:
+
+/usr/include/linux/limits.h:
+
+/usr/include/x86_64-linux-gnu/bits/posix2_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/xopen_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio_lim.h:
+
+/usr/include/inttypes.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stdint.h:
+
+/usr/include/stdint.h:
+
+/usr/include/x86_64-linux-gnu/bits/wchar.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5api_adpt.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Apublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Ipublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Opublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Lpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Tpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5ACpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Cpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Dpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Epublic.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/sys_errlist.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio2.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Epubgen.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Fpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Gpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5MMpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Ppublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Zpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Rpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Spublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDcore.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDfamily.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDlog.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDmpi.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDmpio.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDmpiposix.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDmulti.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDsec2.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDstdio.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDdirect.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/hdf5_hl.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5DSpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5LTpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5IMpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5TBpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5PTpublic.h:
+
+/usr/include/c++/5/algorithm:
+
+/usr/include/c++/5/utility:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/c++config.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/os_defines.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/cpu_defines.h:
+
+/usr/include/c++/5/bits/stl_relops.h:
+
+/usr/include/c++/5/bits/stl_pair.h:
+
+/usr/include/c++/5/bits/move.h:
+
+/usr/include/c++/5/bits/concept_check.h:
+
+/usr/include/c++/5/bits/stl_algobase.h:
+
+/usr/include/c++/5/bits/functexcept.h:
+
+/usr/include/c++/5/bits/exception_defines.h:
+
+/usr/include/c++/5/bits/cpp_type_traits.h:
+
+/usr/include/c++/5/ext/type_traits.h:
+
+/usr/include/c++/5/ext/numeric_traits.h:
+
+/usr/include/c++/5/bits/stl_iterator_base_types.h:
+
+/usr/include/c++/5/bits/stl_iterator_base_funcs.h:
+
+/usr/include/c++/5/debug/debug.h:
+
+/usr/include/c++/5/bits/stl_iterator.h:
+
+/usr/include/c++/5/bits/ptr_traits.h:
+
+/usr/include/c++/5/bits/predefined_ops.h:
+
+/usr/include/c++/5/bits/stl_algo.h:
+
+/usr/include/c++/5/cstdlib:
+
+/usr/include/stdlib.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitflags.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitstatus.h:
+
+/usr/include/xlocale.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/c++/5/bits/algorithmfwd.h:
+
+/usr/include/c++/5/bits/stl_heap.h:
+
+/usr/include/c++/5/bits/stl_tempbuf.h:
+
+/usr/include/c++/5/bits/stl_construct.h:
+
+/usr/include/c++/5/new:
+
+/usr/include/c++/5/exception:
+
+/usr/include/c++/5/bits/atomic_lockfree_defines.h:
+
+/usr/include/c++/5/ext/alloc_traits.h:
+
+/usr/include/c++/5/bits/allocator.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/c++allocator.h:
+
+/usr/include/c++/5/ext/new_allocator.h:
+
+/usr/include/c++/5/bits/memoryfwd.h:
+
+/usr/include/c++/5/iostream:
+
+/usr/include/c++/5/ostream:
+
+/usr/include/c++/5/ios:
+
+/usr/include/c++/5/iosfwd:
+
+/usr/include/c++/5/bits/stringfwd.h:
+
+/usr/include/c++/5/bits/postypes.h:
+
+/usr/include/c++/5/cwchar:
+
+/usr/include/x86_64-linux-gnu/bits/wchar2.h:
+
+/usr/include/c++/5/bits/char_traits.h:
+
+/usr/include/c++/5/bits/localefwd.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/c++locale.h:
+
+/usr/include/c++/5/clocale:
+
+/usr/include/locale.h:
+
+/usr/include/x86_64-linux-gnu/bits/locale.h:
+
+/usr/include/c++/5/cctype:
+
+/usr/include/ctype.h:
+
+/usr/include/c++/5/bits/ios_base.h:
+
+/usr/include/c++/5/ext/atomicity.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/gthr.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/gthr-default.h:
+
+/usr/include/pthread.h:
+
+/usr/include/sched.h:
+
+/usr/include/x86_64-linux-gnu/bits/sched.h:
+
+/usr/include/x86_64-linux-gnu/bits/timex.h:
+
+/usr/include/x86_64-linux-gnu/bits/setjmp.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/atomic_word.h:
+
+/usr/include/c++/5/bits/locale_classes.h:
+
+/usr/include/c++/5/string:
+
+/usr/include/c++/5/bits/ostream_insert.h:
+
+/usr/include/c++/5/bits/cxxabi_forced.h:
+
+/usr/include/c++/5/bits/stl_function.h:
+
+/usr/include/c++/5/backward/binders.h:
+
+/usr/include/c++/5/bits/range_access.h:
+
+/usr/include/c++/5/bits/basic_string.h:
+
+/usr/include/c++/5/bits/basic_string.tcc:
+
+/usr/include/c++/5/bits/locale_classes.tcc:
+
+/usr/include/c++/5/stdexcept:
+
+/usr/include/c++/5/streambuf:
+
+/usr/include/c++/5/bits/streambuf.tcc:
+
+/usr/include/c++/5/bits/basic_ios.h:
+
+/usr/include/c++/5/bits/locale_facets.h:
+
+/usr/include/c++/5/cwctype:
+
+/usr/include/wctype.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/ctype_base.h:
+
+/usr/include/c++/5/bits/streambuf_iterator.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/ctype_inline.h:
+
+/usr/include/c++/5/bits/locale_facets.tcc:
+
+/usr/include/c++/5/bits/basic_ios.tcc:
+
+/usr/include/c++/5/bits/ostream.tcc:
+
+/usr/include/c++/5/istream:
+
+/usr/include/c++/5/bits/istream.tcc:
+
+/usr/include/c++/5/iomanip:
+
+/usr/include/c++/5/limits:
+
+/usr/include/c++/5/map:
+
+/usr/include/c++/5/bits/stl_tree.h:
+
+/usr/include/c++/5/bits/stl_map.h:
+
+/usr/include/c++/5/bits/stl_multimap.h:
+
+/usr/include/c++/5/set:
+
+/usr/include/c++/5/bits/stl_set.h:
+
+/usr/include/c++/5/bits/stl_multiset.h:
+
+../../modules/core/includes/MALLOC.h:
+
+../../modules/core/includes/sci_mem_alloc.h:
+
+../../modules/output_stream/includes/Scierror.h:
+
+../../modules/output_stream/includes/do_error_number.h:
+
+../../modules/core/includes/machine.h:
+
+../../modules/api_scilab/includes/api_scilab.h:
+
+../../modules/core/includes/stack-c.h:
+
+/usr/include/string.h:
+
+/usr/include/x86_64-linux-gnu/bits/string3.h:
+
+../../modules/core/includes/core_math.h:
+
+/usr/include/math.h:
+
+/usr/include/x86_64-linux-gnu/bits/math-vector.h:
+
+/usr/include/x86_64-linux-gnu/bits/libm-simd-decl-stubs.h:
+
+/usr/include/x86_64-linux-gnu/bits/huge_val.h:
+
+/usr/include/x86_64-linux-gnu/bits/huge_valf.h:
+
+/usr/include/x86_64-linux-gnu/bits/huge_vall.h:
+
+/usr/include/x86_64-linux-gnu/bits/inf.h:
+
+/usr/include/x86_64-linux-gnu/bits/nan.h:
+
+/usr/include/x86_64-linux-gnu/bits/mathdef.h:
+
+/usr/include/x86_64-linux-gnu/bits/mathcalls.h:
+
+/usr/include/x86_64-linux-gnu/bits/mathinline.h:
+
+/usr/include/values.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/float.h:
+
+../../modules/core/includes/stack-def.h:
+
+../../modules/core/includes/machine.h:
+
+../../modules/core/includes/stackTypeVariable.h:
+
+../../modules/core/includes/BOOL.h:
+
+../../modules/core/includes/doublecomplex.h:
+
+../../modules/core/includes/stack1.h:
+
+../../modules/core/includes/scisparse.h:
+
+../../modules/core/includes/stack2.h:
+
+../../modules/core/includes/stack3.h:
+
+../../modules/core/includes/stack-optional.h:
+
+../../modules/core/includes/sci_types.h:
+
+../../modules/api_scilab/includes/api_common.h:
+
+../../modules/api_scilab/includes/api_scilab.h:
+
+../../modules/api_scilab/includes/api_double.h:
+
+../../modules/core/includes/doublecomplex.h:
+
+../../modules/api_scilab/includes/api_string.h:
+
+../../modules/api_scilab/includes/api_int.h:
+
+../../modules/api_scilab/includes/api_poly.h:
+
+../../modules/api_scilab/includes/api_sparse.h:
+
+../../modules/api_scilab/includes/api_boolean.h:
+
+../../modules/api_scilab/includes/api_boolean_sparse.h:
+
+../../modules/api_scilab/includes/api_pointer.h:
+
+../../modules/api_scilab/includes/api_list.h:
+
+../../modules/api_scilab/includes/api_error.h:
+
+../../modules/api_scilab/includes/api_handle.h:
+
+../../modules/api_scilab/includes/api_optional.h:
+
+../../modules/core/includes/stack-optional.h:
+
+../../modules/api_scilab/includes/api_hypermat.h:
+
+../../modules/core/includes/core_math.h:
+
+../../modules/core/includes/sci_types.h:
+
+../../modules/localization/includes/localization.h:
+
+/usr/include/libintl.h:
+
+src/cpp/H5VariableScope.hxx:
+
+/usr/include/c++/5/stack:
+
+/usr/include/c++/5/deque:
+
+/usr/include/c++/5/bits/stl_uninitialized.h:
+
+/usr/include/c++/5/bits/stl_deque.h:
+
+/usr/include/c++/5/bits/deque.tcc:
+
+/usr/include/c++/5/bits/stl_stack.h:
+
+/usr/include/c++/5/vector:
+
+/usr/include/c++/5/bits/stl_vector.h:
+
+/usr/include/c++/5/bits/stl_bvector.h:
+
+/usr/include/c++/5/bits/vector.tcc:
+
+src/cpp/H5Exception.hxx:
+
+../../modules/core/includes/backtrace_print.h:
+
+/usr/include/c++/5/sstream:
+
+/usr/include/c++/5/bits/sstream.tcc:
+
+/usr/include/c++/5/cstdio:
+
+src/cpp/H5File.hxx:
+
+/usr/include/x86_64-linux-gnu/sys/stat.h:
+
+/usr/include/x86_64-linux-gnu/bits/stat.h:
+
+src/cpp/H5SoftLink.hxx:
+
+src/cpp/H5ExternalLink.hxx:
+
+src/cpp/H5HardLink.hxx:
diff --git a/modules/hdf5/src/cpp/.deps/libscihdf5_algo_la-H5Object.Plo b/modules/hdf5/src/cpp/.deps/libscihdf5_algo_la-H5Object.Plo
new file mode 100755
index 000000000..9b51c8f24
--- /dev/null
+++ b/modules/hdf5/src/cpp/.deps/libscihdf5_algo_la-H5Object.Plo
@@ -0,0 +1,764 @@
+src/cpp/libscihdf5_algo_la-H5Object.lo: src/cpp/H5Object.cpp \
+ /usr/include/stdc-predef.h src/cpp/H5Object.hxx includes/HDF5Objects.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/hdf5.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5public.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5pubconf.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5version.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/include/x86_64-linux-gnu/sys/types.h \
+ /usr/include/x86_64-linux-gnu/bits/types.h \
+ /usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/time.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.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/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/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h \
+ /usr/include/limits.h /usr/include/x86_64-linux-gnu/bits/posix1_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/local_lim.h \
+ /usr/include/linux/limits.h \
+ /usr/include/x86_64-linux-gnu/bits/posix2_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/xopen_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio_lim.h /usr/include/inttypes.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stdint.h /usr/include/stdint.h \
+ /usr/include/x86_64-linux-gnu/bits/wchar.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5api_adpt.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Apublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Ipublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Opublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Lpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Tpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5ACpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Cpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Dpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Epublic.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/sys_errlist.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio2.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Epubgen.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Fpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Gpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5MMpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Ppublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Zpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Rpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Spublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDcore.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDfamily.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDlog.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDmpi.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDmpio.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDmpiposix.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDmulti.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDsec2.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDstdio.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDdirect.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/hdf5_hl.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5DSpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5LTpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5IMpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5TBpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5PTpublic.h \
+ /usr/include/c++/5/algorithm /usr/include/c++/5/utility \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/c++config.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/os_defines.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/cpu_defines.h \
+ /usr/include/c++/5/bits/stl_relops.h /usr/include/c++/5/bits/stl_pair.h \
+ /usr/include/c++/5/bits/move.h /usr/include/c++/5/bits/concept_check.h \
+ /usr/include/c++/5/bits/stl_algobase.h \
+ /usr/include/c++/5/bits/functexcept.h \
+ /usr/include/c++/5/bits/exception_defines.h \
+ /usr/include/c++/5/bits/cpp_type_traits.h \
+ /usr/include/c++/5/ext/type_traits.h \
+ /usr/include/c++/5/ext/numeric_traits.h \
+ /usr/include/c++/5/bits/stl_iterator_base_types.h \
+ /usr/include/c++/5/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/5/debug/debug.h /usr/include/c++/5/bits/stl_iterator.h \
+ /usr/include/c++/5/bits/ptr_traits.h \
+ /usr/include/c++/5/bits/predefined_ops.h \
+ /usr/include/c++/5/bits/stl_algo.h /usr/include/c++/5/cstdlib \
+ /usr/include/stdlib.h /usr/include/x86_64-linux-gnu/bits/waitflags.h \
+ /usr/include/x86_64-linux-gnu/bits/waitstatus.h /usr/include/xlocale.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/c++/5/bits/algorithmfwd.h \
+ /usr/include/c++/5/bits/stl_heap.h /usr/include/c++/5/bits/stl_tempbuf.h \
+ /usr/include/c++/5/bits/stl_construct.h /usr/include/c++/5/new \
+ /usr/include/c++/5/exception \
+ /usr/include/c++/5/bits/atomic_lockfree_defines.h \
+ /usr/include/c++/5/ext/alloc_traits.h \
+ /usr/include/c++/5/bits/allocator.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/c++allocator.h \
+ /usr/include/c++/5/ext/new_allocator.h \
+ /usr/include/c++/5/bits/memoryfwd.h /usr/include/c++/5/iostream \
+ /usr/include/c++/5/ostream /usr/include/c++/5/ios \
+ /usr/include/c++/5/iosfwd /usr/include/c++/5/bits/stringfwd.h \
+ /usr/include/c++/5/bits/postypes.h /usr/include/c++/5/cwchar \
+ /usr/include/x86_64-linux-gnu/bits/wchar2.h \
+ /usr/include/c++/5/bits/char_traits.h \
+ /usr/include/c++/5/bits/localefwd.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/c++locale.h \
+ /usr/include/c++/5/clocale /usr/include/locale.h \
+ /usr/include/x86_64-linux-gnu/bits/locale.h /usr/include/c++/5/cctype \
+ /usr/include/ctype.h /usr/include/c++/5/bits/ios_base.h \
+ /usr/include/c++/5/ext/atomicity.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/gthr.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/x86_64-linux-gnu/bits/sched.h \
+ /usr/include/x86_64-linux-gnu/bits/timex.h \
+ /usr/include/x86_64-linux-gnu/bits/setjmp.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/atomic_word.h \
+ /usr/include/c++/5/bits/locale_classes.h /usr/include/c++/5/string \
+ /usr/include/c++/5/bits/ostream_insert.h \
+ /usr/include/c++/5/bits/cxxabi_forced.h \
+ /usr/include/c++/5/bits/stl_function.h \
+ /usr/include/c++/5/backward/binders.h \
+ /usr/include/c++/5/bits/range_access.h \
+ /usr/include/c++/5/bits/basic_string.h \
+ /usr/include/c++/5/bits/basic_string.tcc \
+ /usr/include/c++/5/bits/locale_classes.tcc /usr/include/c++/5/stdexcept \
+ /usr/include/c++/5/streambuf /usr/include/c++/5/bits/streambuf.tcc \
+ /usr/include/c++/5/bits/basic_ios.h \
+ /usr/include/c++/5/bits/locale_facets.h /usr/include/c++/5/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/ctype_base.h \
+ /usr/include/c++/5/bits/streambuf_iterator.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/ctype_inline.h \
+ /usr/include/c++/5/bits/locale_facets.tcc \
+ /usr/include/c++/5/bits/basic_ios.tcc \
+ /usr/include/c++/5/bits/ostream.tcc /usr/include/c++/5/istream \
+ /usr/include/c++/5/bits/istream.tcc /usr/include/c++/5/iomanip \
+ /usr/include/c++/5/limits /usr/include/c++/5/map \
+ /usr/include/c++/5/bits/stl_tree.h /usr/include/c++/5/bits/stl_map.h \
+ /usr/include/c++/5/bits/stl_multimap.h /usr/include/c++/5/set \
+ /usr/include/c++/5/bits/stl_set.h /usr/include/c++/5/bits/stl_multiset.h \
+ ../../modules/core/includes/MALLOC.h \
+ ../../modules/core/includes/sci_mem_alloc.h \
+ ../../modules/output_stream/includes/Scierror.h \
+ ../../modules/output_stream/includes/do_error_number.h \
+ ../../modules/core/includes/machine.h \
+ ../../modules/api_scilab/includes/api_scilab.h \
+ ../../modules/core/includes/stack-c.h /usr/include/string.h \
+ /usr/include/x86_64-linux-gnu/bits/string3.h \
+ ../../modules/core/includes/core_math.h /usr/include/math.h \
+ /usr/include/x86_64-linux-gnu/bits/math-vector.h \
+ /usr/include/x86_64-linux-gnu/bits/libm-simd-decl-stubs.h \
+ /usr/include/x86_64-linux-gnu/bits/huge_val.h \
+ /usr/include/x86_64-linux-gnu/bits/huge_valf.h \
+ /usr/include/x86_64-linux-gnu/bits/huge_vall.h \
+ /usr/include/x86_64-linux-gnu/bits/inf.h \
+ /usr/include/x86_64-linux-gnu/bits/nan.h \
+ /usr/include/x86_64-linux-gnu/bits/mathdef.h \
+ /usr/include/x86_64-linux-gnu/bits/mathcalls.h \
+ /usr/include/x86_64-linux-gnu/bits/mathinline.h /usr/include/values.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/float.h \
+ ../../modules/core/includes/stack-def.h \
+ ../../modules/core/includes/machine.h \
+ ../../modules/core/includes/stackTypeVariable.h \
+ ../../modules/core/includes/BOOL.h \
+ ../../modules/core/includes/doublecomplex.h \
+ ../../modules/core/includes/stack1.h \
+ ../../modules/core/includes/scisparse.h \
+ ../../modules/core/includes/stack2.h \
+ ../../modules/core/includes/stack3.h \
+ ../../modules/core/includes/stack-optional.h \
+ ../../modules/core/includes/sci_types.h \
+ ../../modules/api_scilab/includes/api_common.h \
+ ../../modules/api_scilab/includes/api_scilab.h \
+ ../../modules/api_scilab/includes/api_double.h \
+ ../../modules/core/includes/doublecomplex.h \
+ ../../modules/api_scilab/includes/api_string.h \
+ ../../modules/api_scilab/includes/api_int.h \
+ ../../modules/api_scilab/includes/api_poly.h \
+ ../../modules/api_scilab/includes/api_sparse.h \
+ ../../modules/api_scilab/includes/api_boolean.h \
+ ../../modules/api_scilab/includes/api_boolean_sparse.h \
+ ../../modules/api_scilab/includes/api_pointer.h \
+ ../../modules/api_scilab/includes/api_list.h \
+ ../../modules/api_scilab/includes/api_error.h \
+ ../../modules/api_scilab/includes/api_handle.h \
+ ../../modules/api_scilab/includes/api_optional.h \
+ ../../modules/core/includes/stack-optional.h \
+ ../../modules/api_scilab/includes/api_hypermat.h \
+ ../../modules/core/includes/core_math.h \
+ ../../modules/core/includes/sci_types.h \
+ ../../modules/localization/includes/localization.h \
+ /usr/include/libintl.h src/cpp/H5VariableScope.hxx \
+ /usr/include/c++/5/stack /usr/include/c++/5/deque \
+ /usr/include/c++/5/bits/stl_uninitialized.h \
+ /usr/include/c++/5/bits/stl_deque.h /usr/include/c++/5/bits/deque.tcc \
+ /usr/include/c++/5/bits/stl_stack.h /usr/include/c++/5/vector \
+ /usr/include/c++/5/bits/stl_vector.h \
+ /usr/include/c++/5/bits/stl_bvector.h /usr/include/c++/5/bits/vector.tcc \
+ src/cpp/H5Exception.hxx ../../modules/core/includes/backtrace_print.h \
+ /usr/include/c++/5/sstream /usr/include/c++/5/bits/sstream.tcc \
+ /usr/include/c++/5/cstdio src/cpp/H5File.hxx \
+ /usr/include/x86_64-linux-gnu/sys/stat.h \
+ /usr/include/x86_64-linux-gnu/bits/stat.h src/cpp/H5Group.hxx \
+ src/cpp/H5Type.hxx src/cpp/H5Dataset.hxx src/cpp/H5Data.hxx \
+ src/cpp/H5Dataspace.hxx src/cpp/H5AttributesList.hxx \
+ src/cpp/H5ListObject.hxx src/cpp/H5Attribute.hxx src/cpp/H5SoftLink.hxx \
+ src/cpp/H5Link.hxx src/cpp/H5ExternalLink.hxx \
+ src/cpp/H5NamedObjectsList.hxx
+
+/usr/include/stdc-predef.h:
+
+src/cpp/H5Object.hxx:
+
+includes/HDF5Objects.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/hdf5.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5public.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5pubconf.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5version.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/include/x86_64-linux-gnu/sys/types.h:
+
+/usr/include/x86_64-linux-gnu/bits/types.h:
+
+/usr/include/x86_64-linux-gnu/bits/typesizes.h:
+
+/usr/include/time.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.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/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/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h:
+
+/usr/include/limits.h:
+
+/usr/include/x86_64-linux-gnu/bits/posix1_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/local_lim.h:
+
+/usr/include/linux/limits.h:
+
+/usr/include/x86_64-linux-gnu/bits/posix2_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/xopen_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio_lim.h:
+
+/usr/include/inttypes.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stdint.h:
+
+/usr/include/stdint.h:
+
+/usr/include/x86_64-linux-gnu/bits/wchar.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5api_adpt.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Apublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Ipublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Opublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Lpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Tpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5ACpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Cpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Dpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Epublic.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/sys_errlist.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio2.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Epubgen.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Fpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Gpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5MMpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Ppublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Zpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Rpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Spublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDcore.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDfamily.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDlog.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDmpi.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDmpio.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDmpiposix.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDmulti.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDsec2.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDstdio.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDdirect.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/hdf5_hl.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5DSpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5LTpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5IMpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5TBpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5PTpublic.h:
+
+/usr/include/c++/5/algorithm:
+
+/usr/include/c++/5/utility:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/c++config.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/os_defines.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/cpu_defines.h:
+
+/usr/include/c++/5/bits/stl_relops.h:
+
+/usr/include/c++/5/bits/stl_pair.h:
+
+/usr/include/c++/5/bits/move.h:
+
+/usr/include/c++/5/bits/concept_check.h:
+
+/usr/include/c++/5/bits/stl_algobase.h:
+
+/usr/include/c++/5/bits/functexcept.h:
+
+/usr/include/c++/5/bits/exception_defines.h:
+
+/usr/include/c++/5/bits/cpp_type_traits.h:
+
+/usr/include/c++/5/ext/type_traits.h:
+
+/usr/include/c++/5/ext/numeric_traits.h:
+
+/usr/include/c++/5/bits/stl_iterator_base_types.h:
+
+/usr/include/c++/5/bits/stl_iterator_base_funcs.h:
+
+/usr/include/c++/5/debug/debug.h:
+
+/usr/include/c++/5/bits/stl_iterator.h:
+
+/usr/include/c++/5/bits/ptr_traits.h:
+
+/usr/include/c++/5/bits/predefined_ops.h:
+
+/usr/include/c++/5/bits/stl_algo.h:
+
+/usr/include/c++/5/cstdlib:
+
+/usr/include/stdlib.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitflags.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitstatus.h:
+
+/usr/include/xlocale.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/c++/5/bits/algorithmfwd.h:
+
+/usr/include/c++/5/bits/stl_heap.h:
+
+/usr/include/c++/5/bits/stl_tempbuf.h:
+
+/usr/include/c++/5/bits/stl_construct.h:
+
+/usr/include/c++/5/new:
+
+/usr/include/c++/5/exception:
+
+/usr/include/c++/5/bits/atomic_lockfree_defines.h:
+
+/usr/include/c++/5/ext/alloc_traits.h:
+
+/usr/include/c++/5/bits/allocator.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/c++allocator.h:
+
+/usr/include/c++/5/ext/new_allocator.h:
+
+/usr/include/c++/5/bits/memoryfwd.h:
+
+/usr/include/c++/5/iostream:
+
+/usr/include/c++/5/ostream:
+
+/usr/include/c++/5/ios:
+
+/usr/include/c++/5/iosfwd:
+
+/usr/include/c++/5/bits/stringfwd.h:
+
+/usr/include/c++/5/bits/postypes.h:
+
+/usr/include/c++/5/cwchar:
+
+/usr/include/x86_64-linux-gnu/bits/wchar2.h:
+
+/usr/include/c++/5/bits/char_traits.h:
+
+/usr/include/c++/5/bits/localefwd.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/c++locale.h:
+
+/usr/include/c++/5/clocale:
+
+/usr/include/locale.h:
+
+/usr/include/x86_64-linux-gnu/bits/locale.h:
+
+/usr/include/c++/5/cctype:
+
+/usr/include/ctype.h:
+
+/usr/include/c++/5/bits/ios_base.h:
+
+/usr/include/c++/5/ext/atomicity.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/gthr.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/gthr-default.h:
+
+/usr/include/pthread.h:
+
+/usr/include/sched.h:
+
+/usr/include/x86_64-linux-gnu/bits/sched.h:
+
+/usr/include/x86_64-linux-gnu/bits/timex.h:
+
+/usr/include/x86_64-linux-gnu/bits/setjmp.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/atomic_word.h:
+
+/usr/include/c++/5/bits/locale_classes.h:
+
+/usr/include/c++/5/string:
+
+/usr/include/c++/5/bits/ostream_insert.h:
+
+/usr/include/c++/5/bits/cxxabi_forced.h:
+
+/usr/include/c++/5/bits/stl_function.h:
+
+/usr/include/c++/5/backward/binders.h:
+
+/usr/include/c++/5/bits/range_access.h:
+
+/usr/include/c++/5/bits/basic_string.h:
+
+/usr/include/c++/5/bits/basic_string.tcc:
+
+/usr/include/c++/5/bits/locale_classes.tcc:
+
+/usr/include/c++/5/stdexcept:
+
+/usr/include/c++/5/streambuf:
+
+/usr/include/c++/5/bits/streambuf.tcc:
+
+/usr/include/c++/5/bits/basic_ios.h:
+
+/usr/include/c++/5/bits/locale_facets.h:
+
+/usr/include/c++/5/cwctype:
+
+/usr/include/wctype.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/ctype_base.h:
+
+/usr/include/c++/5/bits/streambuf_iterator.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/ctype_inline.h:
+
+/usr/include/c++/5/bits/locale_facets.tcc:
+
+/usr/include/c++/5/bits/basic_ios.tcc:
+
+/usr/include/c++/5/bits/ostream.tcc:
+
+/usr/include/c++/5/istream:
+
+/usr/include/c++/5/bits/istream.tcc:
+
+/usr/include/c++/5/iomanip:
+
+/usr/include/c++/5/limits:
+
+/usr/include/c++/5/map:
+
+/usr/include/c++/5/bits/stl_tree.h:
+
+/usr/include/c++/5/bits/stl_map.h:
+
+/usr/include/c++/5/bits/stl_multimap.h:
+
+/usr/include/c++/5/set:
+
+/usr/include/c++/5/bits/stl_set.h:
+
+/usr/include/c++/5/bits/stl_multiset.h:
+
+../../modules/core/includes/MALLOC.h:
+
+../../modules/core/includes/sci_mem_alloc.h:
+
+../../modules/output_stream/includes/Scierror.h:
+
+../../modules/output_stream/includes/do_error_number.h:
+
+../../modules/core/includes/machine.h:
+
+../../modules/api_scilab/includes/api_scilab.h:
+
+../../modules/core/includes/stack-c.h:
+
+/usr/include/string.h:
+
+/usr/include/x86_64-linux-gnu/bits/string3.h:
+
+../../modules/core/includes/core_math.h:
+
+/usr/include/math.h:
+
+/usr/include/x86_64-linux-gnu/bits/math-vector.h:
+
+/usr/include/x86_64-linux-gnu/bits/libm-simd-decl-stubs.h:
+
+/usr/include/x86_64-linux-gnu/bits/huge_val.h:
+
+/usr/include/x86_64-linux-gnu/bits/huge_valf.h:
+
+/usr/include/x86_64-linux-gnu/bits/huge_vall.h:
+
+/usr/include/x86_64-linux-gnu/bits/inf.h:
+
+/usr/include/x86_64-linux-gnu/bits/nan.h:
+
+/usr/include/x86_64-linux-gnu/bits/mathdef.h:
+
+/usr/include/x86_64-linux-gnu/bits/mathcalls.h:
+
+/usr/include/x86_64-linux-gnu/bits/mathinline.h:
+
+/usr/include/values.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/float.h:
+
+../../modules/core/includes/stack-def.h:
+
+../../modules/core/includes/machine.h:
+
+../../modules/core/includes/stackTypeVariable.h:
+
+../../modules/core/includes/BOOL.h:
+
+../../modules/core/includes/doublecomplex.h:
+
+../../modules/core/includes/stack1.h:
+
+../../modules/core/includes/scisparse.h:
+
+../../modules/core/includes/stack2.h:
+
+../../modules/core/includes/stack3.h:
+
+../../modules/core/includes/stack-optional.h:
+
+../../modules/core/includes/sci_types.h:
+
+../../modules/api_scilab/includes/api_common.h:
+
+../../modules/api_scilab/includes/api_scilab.h:
+
+../../modules/api_scilab/includes/api_double.h:
+
+../../modules/core/includes/doublecomplex.h:
+
+../../modules/api_scilab/includes/api_string.h:
+
+../../modules/api_scilab/includes/api_int.h:
+
+../../modules/api_scilab/includes/api_poly.h:
+
+../../modules/api_scilab/includes/api_sparse.h:
+
+../../modules/api_scilab/includes/api_boolean.h:
+
+../../modules/api_scilab/includes/api_boolean_sparse.h:
+
+../../modules/api_scilab/includes/api_pointer.h:
+
+../../modules/api_scilab/includes/api_list.h:
+
+../../modules/api_scilab/includes/api_error.h:
+
+../../modules/api_scilab/includes/api_handle.h:
+
+../../modules/api_scilab/includes/api_optional.h:
+
+../../modules/core/includes/stack-optional.h:
+
+../../modules/api_scilab/includes/api_hypermat.h:
+
+../../modules/core/includes/core_math.h:
+
+../../modules/core/includes/sci_types.h:
+
+../../modules/localization/includes/localization.h:
+
+/usr/include/libintl.h:
+
+src/cpp/H5VariableScope.hxx:
+
+/usr/include/c++/5/stack:
+
+/usr/include/c++/5/deque:
+
+/usr/include/c++/5/bits/stl_uninitialized.h:
+
+/usr/include/c++/5/bits/stl_deque.h:
+
+/usr/include/c++/5/bits/deque.tcc:
+
+/usr/include/c++/5/bits/stl_stack.h:
+
+/usr/include/c++/5/vector:
+
+/usr/include/c++/5/bits/stl_vector.h:
+
+/usr/include/c++/5/bits/stl_bvector.h:
+
+/usr/include/c++/5/bits/vector.tcc:
+
+src/cpp/H5Exception.hxx:
+
+../../modules/core/includes/backtrace_print.h:
+
+/usr/include/c++/5/sstream:
+
+/usr/include/c++/5/bits/sstream.tcc:
+
+/usr/include/c++/5/cstdio:
+
+src/cpp/H5File.hxx:
+
+/usr/include/x86_64-linux-gnu/sys/stat.h:
+
+/usr/include/x86_64-linux-gnu/bits/stat.h:
+
+src/cpp/H5Group.hxx:
+
+src/cpp/H5Type.hxx:
+
+src/cpp/H5Dataset.hxx:
+
+src/cpp/H5Data.hxx:
+
+src/cpp/H5Dataspace.hxx:
+
+src/cpp/H5AttributesList.hxx:
+
+src/cpp/H5ListObject.hxx:
+
+src/cpp/H5Attribute.hxx:
+
+src/cpp/H5SoftLink.hxx:
+
+src/cpp/H5Link.hxx:
+
+src/cpp/H5ExternalLink.hxx:
+
+src/cpp/H5NamedObjectsList.hxx:
diff --git a/modules/hdf5/src/cpp/.deps/libscihdf5_algo_la-H5Options.Plo b/modules/hdf5/src/cpp/.deps/libscihdf5_algo_la-H5Options.Plo
new file mode 100755
index 000000000..cfc768917
--- /dev/null
+++ b/modules/hdf5/src/cpp/.deps/libscihdf5_algo_la-H5Options.Plo
@@ -0,0 +1,519 @@
+src/cpp/libscihdf5_algo_la-H5Options.lo: src/cpp/H5Options.cpp \
+ /usr/include/stdc-predef.h src/cpp/H5Options.hxx \
+ /usr/include/c++/5/algorithm /usr/include/c++/5/utility \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/c++config.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/os_defines.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/include/x86_64-linux-gnu/c++/5/bits/cpu_defines.h \
+ /usr/include/c++/5/bits/stl_relops.h /usr/include/c++/5/bits/stl_pair.h \
+ /usr/include/c++/5/bits/move.h /usr/include/c++/5/bits/concept_check.h \
+ /usr/include/c++/5/bits/stl_algobase.h \
+ /usr/include/c++/5/bits/functexcept.h \
+ /usr/include/c++/5/bits/exception_defines.h \
+ /usr/include/c++/5/bits/cpp_type_traits.h \
+ /usr/include/c++/5/ext/type_traits.h \
+ /usr/include/c++/5/ext/numeric_traits.h \
+ /usr/include/c++/5/bits/stl_iterator_base_types.h \
+ /usr/include/c++/5/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/5/debug/debug.h /usr/include/c++/5/bits/stl_iterator.h \
+ /usr/include/c++/5/bits/ptr_traits.h \
+ /usr/include/c++/5/bits/predefined_ops.h \
+ /usr/include/c++/5/bits/stl_algo.h /usr/include/c++/5/cstdlib \
+ /usr/include/stdlib.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/xlocale.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/c++/5/bits/algorithmfwd.h \
+ /usr/include/c++/5/bits/stl_heap.h /usr/include/c++/5/bits/stl_tempbuf.h \
+ /usr/include/c++/5/bits/stl_construct.h /usr/include/c++/5/new \
+ /usr/include/c++/5/exception \
+ /usr/include/c++/5/bits/atomic_lockfree_defines.h \
+ /usr/include/c++/5/ext/alloc_traits.h \
+ /usr/include/c++/5/bits/allocator.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/c++allocator.h \
+ /usr/include/c++/5/ext/new_allocator.h \
+ /usr/include/c++/5/bits/memoryfwd.h /usr/include/c++/5/string \
+ /usr/include/c++/5/bits/stringfwd.h \
+ /usr/include/c++/5/bits/char_traits.h /usr/include/c++/5/bits/postypes.h \
+ /usr/include/c++/5/cwchar /usr/include/wchar.h /usr/include/stdio.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \
+ /usr/include/x86_64-linux-gnu/bits/wchar.h \
+ /usr/include/x86_64-linux-gnu/bits/wchar2.h \
+ /usr/include/c++/5/bits/localefwd.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/c++locale.h \
+ /usr/include/c++/5/clocale /usr/include/locale.h \
+ /usr/include/x86_64-linux-gnu/bits/locale.h /usr/include/c++/5/iosfwd \
+ /usr/include/c++/5/cctype /usr/include/ctype.h \
+ /usr/include/c++/5/bits/ostream_insert.h \
+ /usr/include/c++/5/bits/cxxabi_forced.h \
+ /usr/include/c++/5/bits/stl_function.h \
+ /usr/include/c++/5/backward/binders.h \
+ /usr/include/c++/5/bits/range_access.h \
+ /usr/include/c++/5/bits/basic_string.h \
+ /usr/include/c++/5/ext/atomicity.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/gthr.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/x86_64-linux-gnu/bits/sched.h \
+ /usr/include/x86_64-linux-gnu/bits/timex.h \
+ /usr/include/x86_64-linux-gnu/bits/setjmp.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/atomic_word.h \
+ /usr/include/c++/5/bits/basic_string.tcc src/cpp/H5Exception.hxx \
+ ../../modules/localization/includes/localization.h \
+ ../../modules/core/includes/machine.h /usr/include/libintl.h \
+ ../../modules/core/includes/backtrace_print.h includes/HDF5Objects.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/hdf5.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5public.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5pubconf.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5version.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h \
+ /usr/include/limits.h /usr/include/x86_64-linux-gnu/bits/posix1_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/local_lim.h \
+ /usr/include/linux/limits.h \
+ /usr/include/x86_64-linux-gnu/bits/posix2_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/xopen_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio_lim.h /usr/include/inttypes.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stdint.h /usr/include/stdint.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5api_adpt.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Apublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Ipublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Opublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Lpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Tpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5ACpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Cpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Dpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Epublic.h \
+ /usr/include/libio.h /usr/include/_G_config.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 \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Epubgen.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Fpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Gpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5MMpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Ppublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Zpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Rpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Spublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDcore.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDfamily.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDlog.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDmpi.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDmpio.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDmpiposix.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDmulti.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDsec2.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDstdio.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDdirect.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/hdf5_hl.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5DSpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5LTpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5IMpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5TBpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5PTpublic.h \
+ /usr/include/c++/5/sstream /usr/include/c++/5/istream \
+ /usr/include/c++/5/ios /usr/include/c++/5/bits/ios_base.h \
+ /usr/include/c++/5/bits/locale_classes.h \
+ /usr/include/c++/5/bits/locale_classes.tcc /usr/include/c++/5/stdexcept \
+ /usr/include/c++/5/streambuf /usr/include/c++/5/bits/streambuf.tcc \
+ /usr/include/c++/5/bits/basic_ios.h \
+ /usr/include/c++/5/bits/locale_facets.h /usr/include/c++/5/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/ctype_base.h \
+ /usr/include/c++/5/bits/streambuf_iterator.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/ctype_inline.h \
+ /usr/include/c++/5/bits/locale_facets.tcc \
+ /usr/include/c++/5/bits/basic_ios.tcc /usr/include/c++/5/ostream \
+ /usr/include/c++/5/bits/ostream.tcc /usr/include/c++/5/bits/istream.tcc \
+ /usr/include/c++/5/bits/sstream.tcc /usr/include/c++/5/cstdio
+
+/usr/include/stdc-predef.h:
+
+src/cpp/H5Options.hxx:
+
+/usr/include/c++/5/algorithm:
+
+/usr/include/c++/5/utility:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/c++config.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/os_defines.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/include/x86_64-linux-gnu/c++/5/bits/cpu_defines.h:
+
+/usr/include/c++/5/bits/stl_relops.h:
+
+/usr/include/c++/5/bits/stl_pair.h:
+
+/usr/include/c++/5/bits/move.h:
+
+/usr/include/c++/5/bits/concept_check.h:
+
+/usr/include/c++/5/bits/stl_algobase.h:
+
+/usr/include/c++/5/bits/functexcept.h:
+
+/usr/include/c++/5/bits/exception_defines.h:
+
+/usr/include/c++/5/bits/cpp_type_traits.h:
+
+/usr/include/c++/5/ext/type_traits.h:
+
+/usr/include/c++/5/ext/numeric_traits.h:
+
+/usr/include/c++/5/bits/stl_iterator_base_types.h:
+
+/usr/include/c++/5/bits/stl_iterator_base_funcs.h:
+
+/usr/include/c++/5/debug/debug.h:
+
+/usr/include/c++/5/bits/stl_iterator.h:
+
+/usr/include/c++/5/bits/ptr_traits.h:
+
+/usr/include/c++/5/bits/predefined_ops.h:
+
+/usr/include/c++/5/bits/stl_algo.h:
+
+/usr/include/c++/5/cstdlib:
+
+/usr/include/stdlib.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/xlocale.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/c++/5/bits/algorithmfwd.h:
+
+/usr/include/c++/5/bits/stl_heap.h:
+
+/usr/include/c++/5/bits/stl_tempbuf.h:
+
+/usr/include/c++/5/bits/stl_construct.h:
+
+/usr/include/c++/5/new:
+
+/usr/include/c++/5/exception:
+
+/usr/include/c++/5/bits/atomic_lockfree_defines.h:
+
+/usr/include/c++/5/ext/alloc_traits.h:
+
+/usr/include/c++/5/bits/allocator.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/c++allocator.h:
+
+/usr/include/c++/5/ext/new_allocator.h:
+
+/usr/include/c++/5/bits/memoryfwd.h:
+
+/usr/include/c++/5/string:
+
+/usr/include/c++/5/bits/stringfwd.h:
+
+/usr/include/c++/5/bits/char_traits.h:
+
+/usr/include/c++/5/bits/postypes.h:
+
+/usr/include/c++/5/cwchar:
+
+/usr/include/wchar.h:
+
+/usr/include/stdio.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h:
+
+/usr/include/x86_64-linux-gnu/bits/wchar.h:
+
+/usr/include/x86_64-linux-gnu/bits/wchar2.h:
+
+/usr/include/c++/5/bits/localefwd.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/c++locale.h:
+
+/usr/include/c++/5/clocale:
+
+/usr/include/locale.h:
+
+/usr/include/x86_64-linux-gnu/bits/locale.h:
+
+/usr/include/c++/5/iosfwd:
+
+/usr/include/c++/5/cctype:
+
+/usr/include/ctype.h:
+
+/usr/include/c++/5/bits/ostream_insert.h:
+
+/usr/include/c++/5/bits/cxxabi_forced.h:
+
+/usr/include/c++/5/bits/stl_function.h:
+
+/usr/include/c++/5/backward/binders.h:
+
+/usr/include/c++/5/bits/range_access.h:
+
+/usr/include/c++/5/bits/basic_string.h:
+
+/usr/include/c++/5/ext/atomicity.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/gthr.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/gthr-default.h:
+
+/usr/include/pthread.h:
+
+/usr/include/sched.h:
+
+/usr/include/x86_64-linux-gnu/bits/sched.h:
+
+/usr/include/x86_64-linux-gnu/bits/timex.h:
+
+/usr/include/x86_64-linux-gnu/bits/setjmp.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/atomic_word.h:
+
+/usr/include/c++/5/bits/basic_string.tcc:
+
+src/cpp/H5Exception.hxx:
+
+../../modules/localization/includes/localization.h:
+
+../../modules/core/includes/machine.h:
+
+/usr/include/libintl.h:
+
+../../modules/core/includes/backtrace_print.h:
+
+includes/HDF5Objects.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/hdf5.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5public.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5pubconf.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5version.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h:
+
+/usr/include/limits.h:
+
+/usr/include/x86_64-linux-gnu/bits/posix1_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/local_lim.h:
+
+/usr/include/linux/limits.h:
+
+/usr/include/x86_64-linux-gnu/bits/posix2_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/xopen_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio_lim.h:
+
+/usr/include/inttypes.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stdint.h:
+
+/usr/include/stdint.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5api_adpt.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Apublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Ipublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Opublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Lpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Tpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5ACpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Cpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Dpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Epublic.h:
+
+/usr/include/libio.h:
+
+/usr/include/_G_config.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:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Epubgen.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Fpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Gpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5MMpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Ppublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Zpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Rpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Spublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDcore.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDfamily.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDlog.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDmpi.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDmpio.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDmpiposix.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDmulti.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDsec2.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDstdio.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDdirect.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/hdf5_hl.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5DSpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5LTpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5IMpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5TBpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5PTpublic.h:
+
+/usr/include/c++/5/sstream:
+
+/usr/include/c++/5/istream:
+
+/usr/include/c++/5/ios:
+
+/usr/include/c++/5/bits/ios_base.h:
+
+/usr/include/c++/5/bits/locale_classes.h:
+
+/usr/include/c++/5/bits/locale_classes.tcc:
+
+/usr/include/c++/5/stdexcept:
+
+/usr/include/c++/5/streambuf:
+
+/usr/include/c++/5/bits/streambuf.tcc:
+
+/usr/include/c++/5/bits/basic_ios.h:
+
+/usr/include/c++/5/bits/locale_facets.h:
+
+/usr/include/c++/5/cwctype:
+
+/usr/include/wctype.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/ctype_base.h:
+
+/usr/include/c++/5/bits/streambuf_iterator.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/ctype_inline.h:
+
+/usr/include/c++/5/bits/locale_facets.tcc:
+
+/usr/include/c++/5/bits/basic_ios.tcc:
+
+/usr/include/c++/5/ostream:
+
+/usr/include/c++/5/bits/ostream.tcc:
+
+/usr/include/c++/5/bits/istream.tcc:
+
+/usr/include/c++/5/bits/sstream.tcc:
+
+/usr/include/c++/5/cstdio:
diff --git a/modules/hdf5/src/cpp/.deps/libscihdf5_algo_la-H5ReferenceData.Plo b/modules/hdf5/src/cpp/.deps/libscihdf5_algo_la-H5ReferenceData.Plo
new file mode 100755
index 000000000..faa9bb2ac
--- /dev/null
+++ b/modules/hdf5/src/cpp/.deps/libscihdf5_algo_la-H5ReferenceData.Plo
@@ -0,0 +1,772 @@
+src/cpp/libscihdf5_algo_la-H5ReferenceData.lo: \
+ src/cpp/H5ReferenceData.cpp /usr/include/stdc-predef.h \
+ src/cpp/H5ReferenceData.hxx src/cpp/H5File.hxx src/cpp/H5Object.hxx \
+ includes/HDF5Objects.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/hdf5.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5public.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5pubconf.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5version.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/include/x86_64-linux-gnu/sys/types.h \
+ /usr/include/x86_64-linux-gnu/bits/types.h \
+ /usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/time.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.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/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/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h \
+ /usr/include/limits.h /usr/include/x86_64-linux-gnu/bits/posix1_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/local_lim.h \
+ /usr/include/linux/limits.h \
+ /usr/include/x86_64-linux-gnu/bits/posix2_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/xopen_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio_lim.h /usr/include/inttypes.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stdint.h /usr/include/stdint.h \
+ /usr/include/x86_64-linux-gnu/bits/wchar.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5api_adpt.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Apublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Ipublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Opublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Lpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Tpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5ACpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Cpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Dpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Epublic.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/sys_errlist.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio2.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Epubgen.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Fpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Gpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5MMpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Ppublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Zpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Rpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Spublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDcore.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDfamily.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDlog.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDmpi.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDmpio.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDmpiposix.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDmulti.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDsec2.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDstdio.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDdirect.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/hdf5_hl.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5DSpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5LTpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5IMpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5TBpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5PTpublic.h \
+ /usr/include/c++/5/algorithm /usr/include/c++/5/utility \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/c++config.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/os_defines.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/cpu_defines.h \
+ /usr/include/c++/5/bits/stl_relops.h /usr/include/c++/5/bits/stl_pair.h \
+ /usr/include/c++/5/bits/move.h /usr/include/c++/5/bits/concept_check.h \
+ /usr/include/c++/5/bits/stl_algobase.h \
+ /usr/include/c++/5/bits/functexcept.h \
+ /usr/include/c++/5/bits/exception_defines.h \
+ /usr/include/c++/5/bits/cpp_type_traits.h \
+ /usr/include/c++/5/ext/type_traits.h \
+ /usr/include/c++/5/ext/numeric_traits.h \
+ /usr/include/c++/5/bits/stl_iterator_base_types.h \
+ /usr/include/c++/5/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/5/debug/debug.h /usr/include/c++/5/bits/stl_iterator.h \
+ /usr/include/c++/5/bits/ptr_traits.h \
+ /usr/include/c++/5/bits/predefined_ops.h \
+ /usr/include/c++/5/bits/stl_algo.h /usr/include/c++/5/cstdlib \
+ /usr/include/stdlib.h /usr/include/x86_64-linux-gnu/bits/waitflags.h \
+ /usr/include/x86_64-linux-gnu/bits/waitstatus.h /usr/include/xlocale.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/c++/5/bits/algorithmfwd.h \
+ /usr/include/c++/5/bits/stl_heap.h /usr/include/c++/5/bits/stl_tempbuf.h \
+ /usr/include/c++/5/bits/stl_construct.h /usr/include/c++/5/new \
+ /usr/include/c++/5/exception \
+ /usr/include/c++/5/bits/atomic_lockfree_defines.h \
+ /usr/include/c++/5/ext/alloc_traits.h \
+ /usr/include/c++/5/bits/allocator.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/c++allocator.h \
+ /usr/include/c++/5/ext/new_allocator.h \
+ /usr/include/c++/5/bits/memoryfwd.h /usr/include/c++/5/iostream \
+ /usr/include/c++/5/ostream /usr/include/c++/5/ios \
+ /usr/include/c++/5/iosfwd /usr/include/c++/5/bits/stringfwd.h \
+ /usr/include/c++/5/bits/postypes.h /usr/include/c++/5/cwchar \
+ /usr/include/x86_64-linux-gnu/bits/wchar2.h \
+ /usr/include/c++/5/bits/char_traits.h \
+ /usr/include/c++/5/bits/localefwd.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/c++locale.h \
+ /usr/include/c++/5/clocale /usr/include/locale.h \
+ /usr/include/x86_64-linux-gnu/bits/locale.h /usr/include/c++/5/cctype \
+ /usr/include/ctype.h /usr/include/c++/5/bits/ios_base.h \
+ /usr/include/c++/5/ext/atomicity.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/gthr.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/x86_64-linux-gnu/bits/sched.h \
+ /usr/include/x86_64-linux-gnu/bits/timex.h \
+ /usr/include/x86_64-linux-gnu/bits/setjmp.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/atomic_word.h \
+ /usr/include/c++/5/bits/locale_classes.h /usr/include/c++/5/string \
+ /usr/include/c++/5/bits/ostream_insert.h \
+ /usr/include/c++/5/bits/cxxabi_forced.h \
+ /usr/include/c++/5/bits/stl_function.h \
+ /usr/include/c++/5/backward/binders.h \
+ /usr/include/c++/5/bits/range_access.h \
+ /usr/include/c++/5/bits/basic_string.h \
+ /usr/include/c++/5/bits/basic_string.tcc \
+ /usr/include/c++/5/bits/locale_classes.tcc /usr/include/c++/5/stdexcept \
+ /usr/include/c++/5/streambuf /usr/include/c++/5/bits/streambuf.tcc \
+ /usr/include/c++/5/bits/basic_ios.h \
+ /usr/include/c++/5/bits/locale_facets.h /usr/include/c++/5/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/ctype_base.h \
+ /usr/include/c++/5/bits/streambuf_iterator.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/ctype_inline.h \
+ /usr/include/c++/5/bits/locale_facets.tcc \
+ /usr/include/c++/5/bits/basic_ios.tcc \
+ /usr/include/c++/5/bits/ostream.tcc /usr/include/c++/5/istream \
+ /usr/include/c++/5/bits/istream.tcc /usr/include/c++/5/iomanip \
+ /usr/include/c++/5/limits /usr/include/c++/5/map \
+ /usr/include/c++/5/bits/stl_tree.h /usr/include/c++/5/bits/stl_map.h \
+ /usr/include/c++/5/bits/stl_multimap.h /usr/include/c++/5/set \
+ /usr/include/c++/5/bits/stl_set.h /usr/include/c++/5/bits/stl_multiset.h \
+ ../../modules/core/includes/MALLOC.h \
+ ../../modules/core/includes/sci_mem_alloc.h \
+ ../../modules/output_stream/includes/Scierror.h \
+ ../../modules/output_stream/includes/do_error_number.h \
+ ../../modules/core/includes/machine.h \
+ ../../modules/api_scilab/includes/api_scilab.h \
+ ../../modules/core/includes/stack-c.h /usr/include/string.h \
+ /usr/include/x86_64-linux-gnu/bits/string3.h \
+ ../../modules/core/includes/core_math.h /usr/include/math.h \
+ /usr/include/x86_64-linux-gnu/bits/math-vector.h \
+ /usr/include/x86_64-linux-gnu/bits/libm-simd-decl-stubs.h \
+ /usr/include/x86_64-linux-gnu/bits/huge_val.h \
+ /usr/include/x86_64-linux-gnu/bits/huge_valf.h \
+ /usr/include/x86_64-linux-gnu/bits/huge_vall.h \
+ /usr/include/x86_64-linux-gnu/bits/inf.h \
+ /usr/include/x86_64-linux-gnu/bits/nan.h \
+ /usr/include/x86_64-linux-gnu/bits/mathdef.h \
+ /usr/include/x86_64-linux-gnu/bits/mathcalls.h \
+ /usr/include/x86_64-linux-gnu/bits/mathinline.h /usr/include/values.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/float.h \
+ ../../modules/core/includes/stack-def.h \
+ ../../modules/core/includes/machine.h \
+ ../../modules/core/includes/stackTypeVariable.h \
+ ../../modules/core/includes/BOOL.h \
+ ../../modules/core/includes/doublecomplex.h \
+ ../../modules/core/includes/stack1.h \
+ ../../modules/core/includes/scisparse.h \
+ ../../modules/core/includes/stack2.h \
+ ../../modules/core/includes/stack3.h \
+ ../../modules/core/includes/stack-optional.h \
+ ../../modules/core/includes/sci_types.h \
+ ../../modules/api_scilab/includes/api_common.h \
+ ../../modules/api_scilab/includes/api_scilab.h \
+ ../../modules/api_scilab/includes/api_double.h \
+ ../../modules/core/includes/doublecomplex.h \
+ ../../modules/api_scilab/includes/api_string.h \
+ ../../modules/api_scilab/includes/api_int.h \
+ ../../modules/api_scilab/includes/api_poly.h \
+ ../../modules/api_scilab/includes/api_sparse.h \
+ ../../modules/api_scilab/includes/api_boolean.h \
+ ../../modules/api_scilab/includes/api_boolean_sparse.h \
+ ../../modules/api_scilab/includes/api_pointer.h \
+ ../../modules/api_scilab/includes/api_list.h \
+ ../../modules/api_scilab/includes/api_error.h \
+ ../../modules/api_scilab/includes/api_handle.h \
+ ../../modules/api_scilab/includes/api_optional.h \
+ ../../modules/core/includes/stack-optional.h \
+ ../../modules/api_scilab/includes/api_hypermat.h \
+ ../../modules/core/includes/core_math.h \
+ ../../modules/core/includes/sci_types.h \
+ ../../modules/localization/includes/localization.h \
+ /usr/include/libintl.h src/cpp/H5VariableScope.hxx \
+ /usr/include/c++/5/stack /usr/include/c++/5/deque \
+ /usr/include/c++/5/bits/stl_uninitialized.h \
+ /usr/include/c++/5/bits/stl_deque.h /usr/include/c++/5/bits/deque.tcc \
+ /usr/include/c++/5/bits/stl_stack.h /usr/include/c++/5/vector \
+ /usr/include/c++/5/bits/stl_vector.h \
+ /usr/include/c++/5/bits/stl_bvector.h /usr/include/c++/5/bits/vector.tcc \
+ src/cpp/H5Exception.hxx ../../modules/core/includes/backtrace_print.h \
+ /usr/include/c++/5/sstream /usr/include/c++/5/bits/sstream.tcc \
+ /usr/include/c++/5/cstdio /usr/include/x86_64-linux-gnu/sys/stat.h \
+ /usr/include/x86_64-linux-gnu/bits/stat.h src/cpp/H5Group.hxx \
+ src/cpp/H5Type.hxx src/cpp/H5Dataset.hxx src/cpp/H5Data.hxx \
+ src/cpp/H5Dataspace.hxx src/cpp/H5AttributesList.hxx \
+ src/cpp/H5ListObject.hxx src/cpp/H5Attribute.hxx src/cpp/H5SoftLink.hxx \
+ src/cpp/H5Link.hxx src/cpp/H5ExternalLink.hxx \
+ src/cpp/H5NamedObjectsList.hxx src/cpp/H5BasicData.hxx \
+ src/cpp/H5DataConverter.hxx
+
+/usr/include/stdc-predef.h:
+
+src/cpp/H5ReferenceData.hxx:
+
+src/cpp/H5File.hxx:
+
+src/cpp/H5Object.hxx:
+
+includes/HDF5Objects.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/hdf5.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5public.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5pubconf.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5version.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/include/x86_64-linux-gnu/sys/types.h:
+
+/usr/include/x86_64-linux-gnu/bits/types.h:
+
+/usr/include/x86_64-linux-gnu/bits/typesizes.h:
+
+/usr/include/time.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.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/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/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h:
+
+/usr/include/limits.h:
+
+/usr/include/x86_64-linux-gnu/bits/posix1_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/local_lim.h:
+
+/usr/include/linux/limits.h:
+
+/usr/include/x86_64-linux-gnu/bits/posix2_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/xopen_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio_lim.h:
+
+/usr/include/inttypes.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stdint.h:
+
+/usr/include/stdint.h:
+
+/usr/include/x86_64-linux-gnu/bits/wchar.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5api_adpt.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Apublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Ipublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Opublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Lpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Tpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5ACpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Cpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Dpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Epublic.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/sys_errlist.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio2.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Epubgen.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Fpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Gpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5MMpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Ppublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Zpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Rpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Spublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDcore.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDfamily.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDlog.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDmpi.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDmpio.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDmpiposix.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDmulti.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDsec2.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDstdio.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDdirect.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/hdf5_hl.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5DSpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5LTpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5IMpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5TBpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5PTpublic.h:
+
+/usr/include/c++/5/algorithm:
+
+/usr/include/c++/5/utility:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/c++config.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/os_defines.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/cpu_defines.h:
+
+/usr/include/c++/5/bits/stl_relops.h:
+
+/usr/include/c++/5/bits/stl_pair.h:
+
+/usr/include/c++/5/bits/move.h:
+
+/usr/include/c++/5/bits/concept_check.h:
+
+/usr/include/c++/5/bits/stl_algobase.h:
+
+/usr/include/c++/5/bits/functexcept.h:
+
+/usr/include/c++/5/bits/exception_defines.h:
+
+/usr/include/c++/5/bits/cpp_type_traits.h:
+
+/usr/include/c++/5/ext/type_traits.h:
+
+/usr/include/c++/5/ext/numeric_traits.h:
+
+/usr/include/c++/5/bits/stl_iterator_base_types.h:
+
+/usr/include/c++/5/bits/stl_iterator_base_funcs.h:
+
+/usr/include/c++/5/debug/debug.h:
+
+/usr/include/c++/5/bits/stl_iterator.h:
+
+/usr/include/c++/5/bits/ptr_traits.h:
+
+/usr/include/c++/5/bits/predefined_ops.h:
+
+/usr/include/c++/5/bits/stl_algo.h:
+
+/usr/include/c++/5/cstdlib:
+
+/usr/include/stdlib.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitflags.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitstatus.h:
+
+/usr/include/xlocale.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/c++/5/bits/algorithmfwd.h:
+
+/usr/include/c++/5/bits/stl_heap.h:
+
+/usr/include/c++/5/bits/stl_tempbuf.h:
+
+/usr/include/c++/5/bits/stl_construct.h:
+
+/usr/include/c++/5/new:
+
+/usr/include/c++/5/exception:
+
+/usr/include/c++/5/bits/atomic_lockfree_defines.h:
+
+/usr/include/c++/5/ext/alloc_traits.h:
+
+/usr/include/c++/5/bits/allocator.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/c++allocator.h:
+
+/usr/include/c++/5/ext/new_allocator.h:
+
+/usr/include/c++/5/bits/memoryfwd.h:
+
+/usr/include/c++/5/iostream:
+
+/usr/include/c++/5/ostream:
+
+/usr/include/c++/5/ios:
+
+/usr/include/c++/5/iosfwd:
+
+/usr/include/c++/5/bits/stringfwd.h:
+
+/usr/include/c++/5/bits/postypes.h:
+
+/usr/include/c++/5/cwchar:
+
+/usr/include/x86_64-linux-gnu/bits/wchar2.h:
+
+/usr/include/c++/5/bits/char_traits.h:
+
+/usr/include/c++/5/bits/localefwd.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/c++locale.h:
+
+/usr/include/c++/5/clocale:
+
+/usr/include/locale.h:
+
+/usr/include/x86_64-linux-gnu/bits/locale.h:
+
+/usr/include/c++/5/cctype:
+
+/usr/include/ctype.h:
+
+/usr/include/c++/5/bits/ios_base.h:
+
+/usr/include/c++/5/ext/atomicity.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/gthr.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/gthr-default.h:
+
+/usr/include/pthread.h:
+
+/usr/include/sched.h:
+
+/usr/include/x86_64-linux-gnu/bits/sched.h:
+
+/usr/include/x86_64-linux-gnu/bits/timex.h:
+
+/usr/include/x86_64-linux-gnu/bits/setjmp.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/atomic_word.h:
+
+/usr/include/c++/5/bits/locale_classes.h:
+
+/usr/include/c++/5/string:
+
+/usr/include/c++/5/bits/ostream_insert.h:
+
+/usr/include/c++/5/bits/cxxabi_forced.h:
+
+/usr/include/c++/5/bits/stl_function.h:
+
+/usr/include/c++/5/backward/binders.h:
+
+/usr/include/c++/5/bits/range_access.h:
+
+/usr/include/c++/5/bits/basic_string.h:
+
+/usr/include/c++/5/bits/basic_string.tcc:
+
+/usr/include/c++/5/bits/locale_classes.tcc:
+
+/usr/include/c++/5/stdexcept:
+
+/usr/include/c++/5/streambuf:
+
+/usr/include/c++/5/bits/streambuf.tcc:
+
+/usr/include/c++/5/bits/basic_ios.h:
+
+/usr/include/c++/5/bits/locale_facets.h:
+
+/usr/include/c++/5/cwctype:
+
+/usr/include/wctype.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/ctype_base.h:
+
+/usr/include/c++/5/bits/streambuf_iterator.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/ctype_inline.h:
+
+/usr/include/c++/5/bits/locale_facets.tcc:
+
+/usr/include/c++/5/bits/basic_ios.tcc:
+
+/usr/include/c++/5/bits/ostream.tcc:
+
+/usr/include/c++/5/istream:
+
+/usr/include/c++/5/bits/istream.tcc:
+
+/usr/include/c++/5/iomanip:
+
+/usr/include/c++/5/limits:
+
+/usr/include/c++/5/map:
+
+/usr/include/c++/5/bits/stl_tree.h:
+
+/usr/include/c++/5/bits/stl_map.h:
+
+/usr/include/c++/5/bits/stl_multimap.h:
+
+/usr/include/c++/5/set:
+
+/usr/include/c++/5/bits/stl_set.h:
+
+/usr/include/c++/5/bits/stl_multiset.h:
+
+../../modules/core/includes/MALLOC.h:
+
+../../modules/core/includes/sci_mem_alloc.h:
+
+../../modules/output_stream/includes/Scierror.h:
+
+../../modules/output_stream/includes/do_error_number.h:
+
+../../modules/core/includes/machine.h:
+
+../../modules/api_scilab/includes/api_scilab.h:
+
+../../modules/core/includes/stack-c.h:
+
+/usr/include/string.h:
+
+/usr/include/x86_64-linux-gnu/bits/string3.h:
+
+../../modules/core/includes/core_math.h:
+
+/usr/include/math.h:
+
+/usr/include/x86_64-linux-gnu/bits/math-vector.h:
+
+/usr/include/x86_64-linux-gnu/bits/libm-simd-decl-stubs.h:
+
+/usr/include/x86_64-linux-gnu/bits/huge_val.h:
+
+/usr/include/x86_64-linux-gnu/bits/huge_valf.h:
+
+/usr/include/x86_64-linux-gnu/bits/huge_vall.h:
+
+/usr/include/x86_64-linux-gnu/bits/inf.h:
+
+/usr/include/x86_64-linux-gnu/bits/nan.h:
+
+/usr/include/x86_64-linux-gnu/bits/mathdef.h:
+
+/usr/include/x86_64-linux-gnu/bits/mathcalls.h:
+
+/usr/include/x86_64-linux-gnu/bits/mathinline.h:
+
+/usr/include/values.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/float.h:
+
+../../modules/core/includes/stack-def.h:
+
+../../modules/core/includes/machine.h:
+
+../../modules/core/includes/stackTypeVariable.h:
+
+../../modules/core/includes/BOOL.h:
+
+../../modules/core/includes/doublecomplex.h:
+
+../../modules/core/includes/stack1.h:
+
+../../modules/core/includes/scisparse.h:
+
+../../modules/core/includes/stack2.h:
+
+../../modules/core/includes/stack3.h:
+
+../../modules/core/includes/stack-optional.h:
+
+../../modules/core/includes/sci_types.h:
+
+../../modules/api_scilab/includes/api_common.h:
+
+../../modules/api_scilab/includes/api_scilab.h:
+
+../../modules/api_scilab/includes/api_double.h:
+
+../../modules/core/includes/doublecomplex.h:
+
+../../modules/api_scilab/includes/api_string.h:
+
+../../modules/api_scilab/includes/api_int.h:
+
+../../modules/api_scilab/includes/api_poly.h:
+
+../../modules/api_scilab/includes/api_sparse.h:
+
+../../modules/api_scilab/includes/api_boolean.h:
+
+../../modules/api_scilab/includes/api_boolean_sparse.h:
+
+../../modules/api_scilab/includes/api_pointer.h:
+
+../../modules/api_scilab/includes/api_list.h:
+
+../../modules/api_scilab/includes/api_error.h:
+
+../../modules/api_scilab/includes/api_handle.h:
+
+../../modules/api_scilab/includes/api_optional.h:
+
+../../modules/core/includes/stack-optional.h:
+
+../../modules/api_scilab/includes/api_hypermat.h:
+
+../../modules/core/includes/core_math.h:
+
+../../modules/core/includes/sci_types.h:
+
+../../modules/localization/includes/localization.h:
+
+/usr/include/libintl.h:
+
+src/cpp/H5VariableScope.hxx:
+
+/usr/include/c++/5/stack:
+
+/usr/include/c++/5/deque:
+
+/usr/include/c++/5/bits/stl_uninitialized.h:
+
+/usr/include/c++/5/bits/stl_deque.h:
+
+/usr/include/c++/5/bits/deque.tcc:
+
+/usr/include/c++/5/bits/stl_stack.h:
+
+/usr/include/c++/5/vector:
+
+/usr/include/c++/5/bits/stl_vector.h:
+
+/usr/include/c++/5/bits/stl_bvector.h:
+
+/usr/include/c++/5/bits/vector.tcc:
+
+src/cpp/H5Exception.hxx:
+
+../../modules/core/includes/backtrace_print.h:
+
+/usr/include/c++/5/sstream:
+
+/usr/include/c++/5/bits/sstream.tcc:
+
+/usr/include/c++/5/cstdio:
+
+/usr/include/x86_64-linux-gnu/sys/stat.h:
+
+/usr/include/x86_64-linux-gnu/bits/stat.h:
+
+src/cpp/H5Group.hxx:
+
+src/cpp/H5Type.hxx:
+
+src/cpp/H5Dataset.hxx:
+
+src/cpp/H5Data.hxx:
+
+src/cpp/H5Dataspace.hxx:
+
+src/cpp/H5AttributesList.hxx:
+
+src/cpp/H5ListObject.hxx:
+
+src/cpp/H5Attribute.hxx:
+
+src/cpp/H5SoftLink.hxx:
+
+src/cpp/H5Link.hxx:
+
+src/cpp/H5ExternalLink.hxx:
+
+src/cpp/H5NamedObjectsList.hxx:
+
+src/cpp/H5BasicData.hxx:
+
+src/cpp/H5DataConverter.hxx:
diff --git a/modules/hdf5/src/cpp/.deps/libscihdf5_algo_la-H5SoftLink.Plo b/modules/hdf5/src/cpp/.deps/libscihdf5_algo_la-H5SoftLink.Plo
new file mode 100755
index 000000000..f85980547
--- /dev/null
+++ b/modules/hdf5/src/cpp/.deps/libscihdf5_algo_la-H5SoftLink.Plo
@@ -0,0 +1,740 @@
+src/cpp/libscihdf5_algo_la-H5SoftLink.lo: src/cpp/H5SoftLink.cpp \
+ /usr/include/stdc-predef.h src/cpp/H5SoftLink.hxx src/cpp/H5Link.hxx \
+ src/cpp/H5Object.hxx includes/HDF5Objects.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/hdf5.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5public.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5pubconf.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5version.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/include/x86_64-linux-gnu/sys/types.h \
+ /usr/include/x86_64-linux-gnu/bits/types.h \
+ /usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/time.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.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/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/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h \
+ /usr/include/limits.h /usr/include/x86_64-linux-gnu/bits/posix1_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/local_lim.h \
+ /usr/include/linux/limits.h \
+ /usr/include/x86_64-linux-gnu/bits/posix2_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/xopen_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio_lim.h /usr/include/inttypes.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stdint.h /usr/include/stdint.h \
+ /usr/include/x86_64-linux-gnu/bits/wchar.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5api_adpt.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Apublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Ipublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Opublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Lpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Tpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5ACpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Cpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Dpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Epublic.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/sys_errlist.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio2.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Epubgen.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Fpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Gpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5MMpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Ppublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Zpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Rpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Spublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDcore.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDfamily.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDlog.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDmpi.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDmpio.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDmpiposix.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDmulti.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDsec2.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDstdio.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDdirect.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/hdf5_hl.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5DSpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5LTpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5IMpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5TBpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5PTpublic.h \
+ /usr/include/c++/5/algorithm /usr/include/c++/5/utility \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/c++config.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/os_defines.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/cpu_defines.h \
+ /usr/include/c++/5/bits/stl_relops.h /usr/include/c++/5/bits/stl_pair.h \
+ /usr/include/c++/5/bits/move.h /usr/include/c++/5/bits/concept_check.h \
+ /usr/include/c++/5/bits/stl_algobase.h \
+ /usr/include/c++/5/bits/functexcept.h \
+ /usr/include/c++/5/bits/exception_defines.h \
+ /usr/include/c++/5/bits/cpp_type_traits.h \
+ /usr/include/c++/5/ext/type_traits.h \
+ /usr/include/c++/5/ext/numeric_traits.h \
+ /usr/include/c++/5/bits/stl_iterator_base_types.h \
+ /usr/include/c++/5/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/5/debug/debug.h /usr/include/c++/5/bits/stl_iterator.h \
+ /usr/include/c++/5/bits/ptr_traits.h \
+ /usr/include/c++/5/bits/predefined_ops.h \
+ /usr/include/c++/5/bits/stl_algo.h /usr/include/c++/5/cstdlib \
+ /usr/include/stdlib.h /usr/include/x86_64-linux-gnu/bits/waitflags.h \
+ /usr/include/x86_64-linux-gnu/bits/waitstatus.h /usr/include/xlocale.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/c++/5/bits/algorithmfwd.h \
+ /usr/include/c++/5/bits/stl_heap.h /usr/include/c++/5/bits/stl_tempbuf.h \
+ /usr/include/c++/5/bits/stl_construct.h /usr/include/c++/5/new \
+ /usr/include/c++/5/exception \
+ /usr/include/c++/5/bits/atomic_lockfree_defines.h \
+ /usr/include/c++/5/ext/alloc_traits.h \
+ /usr/include/c++/5/bits/allocator.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/c++allocator.h \
+ /usr/include/c++/5/ext/new_allocator.h \
+ /usr/include/c++/5/bits/memoryfwd.h /usr/include/c++/5/iostream \
+ /usr/include/c++/5/ostream /usr/include/c++/5/ios \
+ /usr/include/c++/5/iosfwd /usr/include/c++/5/bits/stringfwd.h \
+ /usr/include/c++/5/bits/postypes.h /usr/include/c++/5/cwchar \
+ /usr/include/x86_64-linux-gnu/bits/wchar2.h \
+ /usr/include/c++/5/bits/char_traits.h \
+ /usr/include/c++/5/bits/localefwd.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/c++locale.h \
+ /usr/include/c++/5/clocale /usr/include/locale.h \
+ /usr/include/x86_64-linux-gnu/bits/locale.h /usr/include/c++/5/cctype \
+ /usr/include/ctype.h /usr/include/c++/5/bits/ios_base.h \
+ /usr/include/c++/5/ext/atomicity.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/gthr.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/x86_64-linux-gnu/bits/sched.h \
+ /usr/include/x86_64-linux-gnu/bits/timex.h \
+ /usr/include/x86_64-linux-gnu/bits/setjmp.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/atomic_word.h \
+ /usr/include/c++/5/bits/locale_classes.h /usr/include/c++/5/string \
+ /usr/include/c++/5/bits/ostream_insert.h \
+ /usr/include/c++/5/bits/cxxabi_forced.h \
+ /usr/include/c++/5/bits/stl_function.h \
+ /usr/include/c++/5/backward/binders.h \
+ /usr/include/c++/5/bits/range_access.h \
+ /usr/include/c++/5/bits/basic_string.h \
+ /usr/include/c++/5/bits/basic_string.tcc \
+ /usr/include/c++/5/bits/locale_classes.tcc /usr/include/c++/5/stdexcept \
+ /usr/include/c++/5/streambuf /usr/include/c++/5/bits/streambuf.tcc \
+ /usr/include/c++/5/bits/basic_ios.h \
+ /usr/include/c++/5/bits/locale_facets.h /usr/include/c++/5/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/ctype_base.h \
+ /usr/include/c++/5/bits/streambuf_iterator.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/ctype_inline.h \
+ /usr/include/c++/5/bits/locale_facets.tcc \
+ /usr/include/c++/5/bits/basic_ios.tcc \
+ /usr/include/c++/5/bits/ostream.tcc /usr/include/c++/5/istream \
+ /usr/include/c++/5/bits/istream.tcc /usr/include/c++/5/iomanip \
+ /usr/include/c++/5/limits /usr/include/c++/5/map \
+ /usr/include/c++/5/bits/stl_tree.h /usr/include/c++/5/bits/stl_map.h \
+ /usr/include/c++/5/bits/stl_multimap.h /usr/include/c++/5/set \
+ /usr/include/c++/5/bits/stl_set.h /usr/include/c++/5/bits/stl_multiset.h \
+ ../../modules/core/includes/MALLOC.h \
+ ../../modules/core/includes/sci_mem_alloc.h \
+ ../../modules/output_stream/includes/Scierror.h \
+ ../../modules/output_stream/includes/do_error_number.h \
+ ../../modules/core/includes/machine.h \
+ ../../modules/api_scilab/includes/api_scilab.h \
+ ../../modules/core/includes/stack-c.h /usr/include/string.h \
+ /usr/include/x86_64-linux-gnu/bits/string3.h \
+ ../../modules/core/includes/core_math.h /usr/include/math.h \
+ /usr/include/x86_64-linux-gnu/bits/math-vector.h \
+ /usr/include/x86_64-linux-gnu/bits/libm-simd-decl-stubs.h \
+ /usr/include/x86_64-linux-gnu/bits/huge_val.h \
+ /usr/include/x86_64-linux-gnu/bits/huge_valf.h \
+ /usr/include/x86_64-linux-gnu/bits/huge_vall.h \
+ /usr/include/x86_64-linux-gnu/bits/inf.h \
+ /usr/include/x86_64-linux-gnu/bits/nan.h \
+ /usr/include/x86_64-linux-gnu/bits/mathdef.h \
+ /usr/include/x86_64-linux-gnu/bits/mathcalls.h \
+ /usr/include/x86_64-linux-gnu/bits/mathinline.h /usr/include/values.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/float.h \
+ ../../modules/core/includes/stack-def.h \
+ ../../modules/core/includes/machine.h \
+ ../../modules/core/includes/stackTypeVariable.h \
+ ../../modules/core/includes/BOOL.h \
+ ../../modules/core/includes/doublecomplex.h \
+ ../../modules/core/includes/stack1.h \
+ ../../modules/core/includes/scisparse.h \
+ ../../modules/core/includes/stack2.h \
+ ../../modules/core/includes/stack3.h \
+ ../../modules/core/includes/stack-optional.h \
+ ../../modules/core/includes/sci_types.h \
+ ../../modules/api_scilab/includes/api_common.h \
+ ../../modules/api_scilab/includes/api_scilab.h \
+ ../../modules/api_scilab/includes/api_double.h \
+ ../../modules/core/includes/doublecomplex.h \
+ ../../modules/api_scilab/includes/api_string.h \
+ ../../modules/api_scilab/includes/api_int.h \
+ ../../modules/api_scilab/includes/api_poly.h \
+ ../../modules/api_scilab/includes/api_sparse.h \
+ ../../modules/api_scilab/includes/api_boolean.h \
+ ../../modules/api_scilab/includes/api_boolean_sparse.h \
+ ../../modules/api_scilab/includes/api_pointer.h \
+ ../../modules/api_scilab/includes/api_list.h \
+ ../../modules/api_scilab/includes/api_error.h \
+ ../../modules/api_scilab/includes/api_handle.h \
+ ../../modules/api_scilab/includes/api_optional.h \
+ ../../modules/core/includes/stack-optional.h \
+ ../../modules/api_scilab/includes/api_hypermat.h \
+ ../../modules/core/includes/core_math.h \
+ ../../modules/core/includes/sci_types.h \
+ ../../modules/localization/includes/localization.h \
+ /usr/include/libintl.h src/cpp/H5VariableScope.hxx \
+ /usr/include/c++/5/stack /usr/include/c++/5/deque \
+ /usr/include/c++/5/bits/stl_uninitialized.h \
+ /usr/include/c++/5/bits/stl_deque.h /usr/include/c++/5/bits/deque.tcc \
+ /usr/include/c++/5/bits/stl_stack.h /usr/include/c++/5/vector \
+ /usr/include/c++/5/bits/stl_vector.h \
+ /usr/include/c++/5/bits/stl_bvector.h /usr/include/c++/5/bits/vector.tcc \
+ src/cpp/H5Exception.hxx ../../modules/core/includes/backtrace_print.h \
+ /usr/include/c++/5/sstream /usr/include/c++/5/bits/sstream.tcc \
+ /usr/include/c++/5/cstdio src/cpp/H5File.hxx \
+ /usr/include/x86_64-linux-gnu/sys/stat.h \
+ /usr/include/x86_64-linux-gnu/bits/stat.h
+
+/usr/include/stdc-predef.h:
+
+src/cpp/H5SoftLink.hxx:
+
+src/cpp/H5Link.hxx:
+
+src/cpp/H5Object.hxx:
+
+includes/HDF5Objects.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/hdf5.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5public.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5pubconf.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5version.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/include/x86_64-linux-gnu/sys/types.h:
+
+/usr/include/x86_64-linux-gnu/bits/types.h:
+
+/usr/include/x86_64-linux-gnu/bits/typesizes.h:
+
+/usr/include/time.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.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/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/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h:
+
+/usr/include/limits.h:
+
+/usr/include/x86_64-linux-gnu/bits/posix1_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/local_lim.h:
+
+/usr/include/linux/limits.h:
+
+/usr/include/x86_64-linux-gnu/bits/posix2_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/xopen_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio_lim.h:
+
+/usr/include/inttypes.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stdint.h:
+
+/usr/include/stdint.h:
+
+/usr/include/x86_64-linux-gnu/bits/wchar.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5api_adpt.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Apublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Ipublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Opublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Lpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Tpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5ACpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Cpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Dpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Epublic.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/sys_errlist.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio2.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Epubgen.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Fpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Gpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5MMpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Ppublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Zpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Rpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Spublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDcore.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDfamily.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDlog.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDmpi.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDmpio.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDmpiposix.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDmulti.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDsec2.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDstdio.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDdirect.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/hdf5_hl.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5DSpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5LTpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5IMpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5TBpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5PTpublic.h:
+
+/usr/include/c++/5/algorithm:
+
+/usr/include/c++/5/utility:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/c++config.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/os_defines.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/cpu_defines.h:
+
+/usr/include/c++/5/bits/stl_relops.h:
+
+/usr/include/c++/5/bits/stl_pair.h:
+
+/usr/include/c++/5/bits/move.h:
+
+/usr/include/c++/5/bits/concept_check.h:
+
+/usr/include/c++/5/bits/stl_algobase.h:
+
+/usr/include/c++/5/bits/functexcept.h:
+
+/usr/include/c++/5/bits/exception_defines.h:
+
+/usr/include/c++/5/bits/cpp_type_traits.h:
+
+/usr/include/c++/5/ext/type_traits.h:
+
+/usr/include/c++/5/ext/numeric_traits.h:
+
+/usr/include/c++/5/bits/stl_iterator_base_types.h:
+
+/usr/include/c++/5/bits/stl_iterator_base_funcs.h:
+
+/usr/include/c++/5/debug/debug.h:
+
+/usr/include/c++/5/bits/stl_iterator.h:
+
+/usr/include/c++/5/bits/ptr_traits.h:
+
+/usr/include/c++/5/bits/predefined_ops.h:
+
+/usr/include/c++/5/bits/stl_algo.h:
+
+/usr/include/c++/5/cstdlib:
+
+/usr/include/stdlib.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitflags.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitstatus.h:
+
+/usr/include/xlocale.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/c++/5/bits/algorithmfwd.h:
+
+/usr/include/c++/5/bits/stl_heap.h:
+
+/usr/include/c++/5/bits/stl_tempbuf.h:
+
+/usr/include/c++/5/bits/stl_construct.h:
+
+/usr/include/c++/5/new:
+
+/usr/include/c++/5/exception:
+
+/usr/include/c++/5/bits/atomic_lockfree_defines.h:
+
+/usr/include/c++/5/ext/alloc_traits.h:
+
+/usr/include/c++/5/bits/allocator.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/c++allocator.h:
+
+/usr/include/c++/5/ext/new_allocator.h:
+
+/usr/include/c++/5/bits/memoryfwd.h:
+
+/usr/include/c++/5/iostream:
+
+/usr/include/c++/5/ostream:
+
+/usr/include/c++/5/ios:
+
+/usr/include/c++/5/iosfwd:
+
+/usr/include/c++/5/bits/stringfwd.h:
+
+/usr/include/c++/5/bits/postypes.h:
+
+/usr/include/c++/5/cwchar:
+
+/usr/include/x86_64-linux-gnu/bits/wchar2.h:
+
+/usr/include/c++/5/bits/char_traits.h:
+
+/usr/include/c++/5/bits/localefwd.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/c++locale.h:
+
+/usr/include/c++/5/clocale:
+
+/usr/include/locale.h:
+
+/usr/include/x86_64-linux-gnu/bits/locale.h:
+
+/usr/include/c++/5/cctype:
+
+/usr/include/ctype.h:
+
+/usr/include/c++/5/bits/ios_base.h:
+
+/usr/include/c++/5/ext/atomicity.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/gthr.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/gthr-default.h:
+
+/usr/include/pthread.h:
+
+/usr/include/sched.h:
+
+/usr/include/x86_64-linux-gnu/bits/sched.h:
+
+/usr/include/x86_64-linux-gnu/bits/timex.h:
+
+/usr/include/x86_64-linux-gnu/bits/setjmp.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/atomic_word.h:
+
+/usr/include/c++/5/bits/locale_classes.h:
+
+/usr/include/c++/5/string:
+
+/usr/include/c++/5/bits/ostream_insert.h:
+
+/usr/include/c++/5/bits/cxxabi_forced.h:
+
+/usr/include/c++/5/bits/stl_function.h:
+
+/usr/include/c++/5/backward/binders.h:
+
+/usr/include/c++/5/bits/range_access.h:
+
+/usr/include/c++/5/bits/basic_string.h:
+
+/usr/include/c++/5/bits/basic_string.tcc:
+
+/usr/include/c++/5/bits/locale_classes.tcc:
+
+/usr/include/c++/5/stdexcept:
+
+/usr/include/c++/5/streambuf:
+
+/usr/include/c++/5/bits/streambuf.tcc:
+
+/usr/include/c++/5/bits/basic_ios.h:
+
+/usr/include/c++/5/bits/locale_facets.h:
+
+/usr/include/c++/5/cwctype:
+
+/usr/include/wctype.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/ctype_base.h:
+
+/usr/include/c++/5/bits/streambuf_iterator.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/ctype_inline.h:
+
+/usr/include/c++/5/bits/locale_facets.tcc:
+
+/usr/include/c++/5/bits/basic_ios.tcc:
+
+/usr/include/c++/5/bits/ostream.tcc:
+
+/usr/include/c++/5/istream:
+
+/usr/include/c++/5/bits/istream.tcc:
+
+/usr/include/c++/5/iomanip:
+
+/usr/include/c++/5/limits:
+
+/usr/include/c++/5/map:
+
+/usr/include/c++/5/bits/stl_tree.h:
+
+/usr/include/c++/5/bits/stl_map.h:
+
+/usr/include/c++/5/bits/stl_multimap.h:
+
+/usr/include/c++/5/set:
+
+/usr/include/c++/5/bits/stl_set.h:
+
+/usr/include/c++/5/bits/stl_multiset.h:
+
+../../modules/core/includes/MALLOC.h:
+
+../../modules/core/includes/sci_mem_alloc.h:
+
+../../modules/output_stream/includes/Scierror.h:
+
+../../modules/output_stream/includes/do_error_number.h:
+
+../../modules/core/includes/machine.h:
+
+../../modules/api_scilab/includes/api_scilab.h:
+
+../../modules/core/includes/stack-c.h:
+
+/usr/include/string.h:
+
+/usr/include/x86_64-linux-gnu/bits/string3.h:
+
+../../modules/core/includes/core_math.h:
+
+/usr/include/math.h:
+
+/usr/include/x86_64-linux-gnu/bits/math-vector.h:
+
+/usr/include/x86_64-linux-gnu/bits/libm-simd-decl-stubs.h:
+
+/usr/include/x86_64-linux-gnu/bits/huge_val.h:
+
+/usr/include/x86_64-linux-gnu/bits/huge_valf.h:
+
+/usr/include/x86_64-linux-gnu/bits/huge_vall.h:
+
+/usr/include/x86_64-linux-gnu/bits/inf.h:
+
+/usr/include/x86_64-linux-gnu/bits/nan.h:
+
+/usr/include/x86_64-linux-gnu/bits/mathdef.h:
+
+/usr/include/x86_64-linux-gnu/bits/mathcalls.h:
+
+/usr/include/x86_64-linux-gnu/bits/mathinline.h:
+
+/usr/include/values.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/float.h:
+
+../../modules/core/includes/stack-def.h:
+
+../../modules/core/includes/machine.h:
+
+../../modules/core/includes/stackTypeVariable.h:
+
+../../modules/core/includes/BOOL.h:
+
+../../modules/core/includes/doublecomplex.h:
+
+../../modules/core/includes/stack1.h:
+
+../../modules/core/includes/scisparse.h:
+
+../../modules/core/includes/stack2.h:
+
+../../modules/core/includes/stack3.h:
+
+../../modules/core/includes/stack-optional.h:
+
+../../modules/core/includes/sci_types.h:
+
+../../modules/api_scilab/includes/api_common.h:
+
+../../modules/api_scilab/includes/api_scilab.h:
+
+../../modules/api_scilab/includes/api_double.h:
+
+../../modules/core/includes/doublecomplex.h:
+
+../../modules/api_scilab/includes/api_string.h:
+
+../../modules/api_scilab/includes/api_int.h:
+
+../../modules/api_scilab/includes/api_poly.h:
+
+../../modules/api_scilab/includes/api_sparse.h:
+
+../../modules/api_scilab/includes/api_boolean.h:
+
+../../modules/api_scilab/includes/api_boolean_sparse.h:
+
+../../modules/api_scilab/includes/api_pointer.h:
+
+../../modules/api_scilab/includes/api_list.h:
+
+../../modules/api_scilab/includes/api_error.h:
+
+../../modules/api_scilab/includes/api_handle.h:
+
+../../modules/api_scilab/includes/api_optional.h:
+
+../../modules/core/includes/stack-optional.h:
+
+../../modules/api_scilab/includes/api_hypermat.h:
+
+../../modules/core/includes/core_math.h:
+
+../../modules/core/includes/sci_types.h:
+
+../../modules/localization/includes/localization.h:
+
+/usr/include/libintl.h:
+
+src/cpp/H5VariableScope.hxx:
+
+/usr/include/c++/5/stack:
+
+/usr/include/c++/5/deque:
+
+/usr/include/c++/5/bits/stl_uninitialized.h:
+
+/usr/include/c++/5/bits/stl_deque.h:
+
+/usr/include/c++/5/bits/deque.tcc:
+
+/usr/include/c++/5/bits/stl_stack.h:
+
+/usr/include/c++/5/vector:
+
+/usr/include/c++/5/bits/stl_vector.h:
+
+/usr/include/c++/5/bits/stl_bvector.h:
+
+/usr/include/c++/5/bits/vector.tcc:
+
+src/cpp/H5Exception.hxx:
+
+../../modules/core/includes/backtrace_print.h:
+
+/usr/include/c++/5/sstream:
+
+/usr/include/c++/5/bits/sstream.tcc:
+
+/usr/include/c++/5/cstdio:
+
+src/cpp/H5File.hxx:
+
+/usr/include/x86_64-linux-gnu/sys/stat.h:
+
+/usr/include/x86_64-linux-gnu/bits/stat.h:
diff --git a/modules/hdf5/src/cpp/.deps/libscihdf5_algo_la-H5StringData.Plo b/modules/hdf5/src/cpp/.deps/libscihdf5_algo_la-H5StringData.Plo
new file mode 100755
index 000000000..61839b16a
--- /dev/null
+++ b/modules/hdf5/src/cpp/.deps/libscihdf5_algo_la-H5StringData.Plo
@@ -0,0 +1,737 @@
+src/cpp/libscihdf5_algo_la-H5StringData.lo: src/cpp/H5StringData.cpp \
+ /usr/include/stdc-predef.h src/cpp/H5StringData.hxx \
+ src/cpp/H5BasicData.hxx src/cpp/H5Data.hxx src/cpp/H5Object.hxx \
+ includes/HDF5Objects.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/hdf5.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5public.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5pubconf.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5version.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/include/x86_64-linux-gnu/sys/types.h \
+ /usr/include/x86_64-linux-gnu/bits/types.h \
+ /usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/time.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.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/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/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h \
+ /usr/include/limits.h /usr/include/x86_64-linux-gnu/bits/posix1_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/local_lim.h \
+ /usr/include/linux/limits.h \
+ /usr/include/x86_64-linux-gnu/bits/posix2_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/xopen_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio_lim.h /usr/include/inttypes.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stdint.h /usr/include/stdint.h \
+ /usr/include/x86_64-linux-gnu/bits/wchar.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5api_adpt.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Apublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Ipublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Opublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Lpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Tpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5ACpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Cpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Dpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Epublic.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/sys_errlist.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio2.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Epubgen.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Fpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Gpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5MMpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Ppublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Zpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Rpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Spublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDcore.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDfamily.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDlog.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDmpi.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDmpio.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDmpiposix.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDmulti.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDsec2.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDstdio.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDdirect.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/hdf5_hl.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5DSpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5LTpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5IMpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5TBpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5PTpublic.h \
+ /usr/include/c++/5/algorithm /usr/include/c++/5/utility \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/c++config.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/os_defines.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/cpu_defines.h \
+ /usr/include/c++/5/bits/stl_relops.h /usr/include/c++/5/bits/stl_pair.h \
+ /usr/include/c++/5/bits/move.h /usr/include/c++/5/bits/concept_check.h \
+ /usr/include/c++/5/bits/stl_algobase.h \
+ /usr/include/c++/5/bits/functexcept.h \
+ /usr/include/c++/5/bits/exception_defines.h \
+ /usr/include/c++/5/bits/cpp_type_traits.h \
+ /usr/include/c++/5/ext/type_traits.h \
+ /usr/include/c++/5/ext/numeric_traits.h \
+ /usr/include/c++/5/bits/stl_iterator_base_types.h \
+ /usr/include/c++/5/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/5/debug/debug.h /usr/include/c++/5/bits/stl_iterator.h \
+ /usr/include/c++/5/bits/ptr_traits.h \
+ /usr/include/c++/5/bits/predefined_ops.h \
+ /usr/include/c++/5/bits/stl_algo.h /usr/include/c++/5/cstdlib \
+ /usr/include/stdlib.h /usr/include/x86_64-linux-gnu/bits/waitflags.h \
+ /usr/include/x86_64-linux-gnu/bits/waitstatus.h /usr/include/xlocale.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/c++/5/bits/algorithmfwd.h \
+ /usr/include/c++/5/bits/stl_heap.h /usr/include/c++/5/bits/stl_tempbuf.h \
+ /usr/include/c++/5/bits/stl_construct.h /usr/include/c++/5/new \
+ /usr/include/c++/5/exception \
+ /usr/include/c++/5/bits/atomic_lockfree_defines.h \
+ /usr/include/c++/5/ext/alloc_traits.h \
+ /usr/include/c++/5/bits/allocator.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/c++allocator.h \
+ /usr/include/c++/5/ext/new_allocator.h \
+ /usr/include/c++/5/bits/memoryfwd.h /usr/include/c++/5/iostream \
+ /usr/include/c++/5/ostream /usr/include/c++/5/ios \
+ /usr/include/c++/5/iosfwd /usr/include/c++/5/bits/stringfwd.h \
+ /usr/include/c++/5/bits/postypes.h /usr/include/c++/5/cwchar \
+ /usr/include/x86_64-linux-gnu/bits/wchar2.h \
+ /usr/include/c++/5/bits/char_traits.h \
+ /usr/include/c++/5/bits/localefwd.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/c++locale.h \
+ /usr/include/c++/5/clocale /usr/include/locale.h \
+ /usr/include/x86_64-linux-gnu/bits/locale.h /usr/include/c++/5/cctype \
+ /usr/include/ctype.h /usr/include/c++/5/bits/ios_base.h \
+ /usr/include/c++/5/ext/atomicity.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/gthr.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/x86_64-linux-gnu/bits/sched.h \
+ /usr/include/x86_64-linux-gnu/bits/timex.h \
+ /usr/include/x86_64-linux-gnu/bits/setjmp.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/atomic_word.h \
+ /usr/include/c++/5/bits/locale_classes.h /usr/include/c++/5/string \
+ /usr/include/c++/5/bits/ostream_insert.h \
+ /usr/include/c++/5/bits/cxxabi_forced.h \
+ /usr/include/c++/5/bits/stl_function.h \
+ /usr/include/c++/5/backward/binders.h \
+ /usr/include/c++/5/bits/range_access.h \
+ /usr/include/c++/5/bits/basic_string.h \
+ /usr/include/c++/5/bits/basic_string.tcc \
+ /usr/include/c++/5/bits/locale_classes.tcc /usr/include/c++/5/stdexcept \
+ /usr/include/c++/5/streambuf /usr/include/c++/5/bits/streambuf.tcc \
+ /usr/include/c++/5/bits/basic_ios.h \
+ /usr/include/c++/5/bits/locale_facets.h /usr/include/c++/5/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/ctype_base.h \
+ /usr/include/c++/5/bits/streambuf_iterator.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/ctype_inline.h \
+ /usr/include/c++/5/bits/locale_facets.tcc \
+ /usr/include/c++/5/bits/basic_ios.tcc \
+ /usr/include/c++/5/bits/ostream.tcc /usr/include/c++/5/istream \
+ /usr/include/c++/5/bits/istream.tcc /usr/include/c++/5/iomanip \
+ /usr/include/c++/5/limits /usr/include/c++/5/map \
+ /usr/include/c++/5/bits/stl_tree.h /usr/include/c++/5/bits/stl_map.h \
+ /usr/include/c++/5/bits/stl_multimap.h /usr/include/c++/5/set \
+ /usr/include/c++/5/bits/stl_set.h /usr/include/c++/5/bits/stl_multiset.h \
+ ../../modules/core/includes/MALLOC.h \
+ ../../modules/core/includes/sci_mem_alloc.h \
+ ../../modules/output_stream/includes/Scierror.h \
+ ../../modules/output_stream/includes/do_error_number.h \
+ ../../modules/core/includes/machine.h \
+ ../../modules/api_scilab/includes/api_scilab.h \
+ ../../modules/core/includes/stack-c.h /usr/include/string.h \
+ /usr/include/x86_64-linux-gnu/bits/string3.h \
+ ../../modules/core/includes/core_math.h /usr/include/math.h \
+ /usr/include/x86_64-linux-gnu/bits/math-vector.h \
+ /usr/include/x86_64-linux-gnu/bits/libm-simd-decl-stubs.h \
+ /usr/include/x86_64-linux-gnu/bits/huge_val.h \
+ /usr/include/x86_64-linux-gnu/bits/huge_valf.h \
+ /usr/include/x86_64-linux-gnu/bits/huge_vall.h \
+ /usr/include/x86_64-linux-gnu/bits/inf.h \
+ /usr/include/x86_64-linux-gnu/bits/nan.h \
+ /usr/include/x86_64-linux-gnu/bits/mathdef.h \
+ /usr/include/x86_64-linux-gnu/bits/mathcalls.h \
+ /usr/include/x86_64-linux-gnu/bits/mathinline.h /usr/include/values.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/float.h \
+ ../../modules/core/includes/stack-def.h \
+ ../../modules/core/includes/machine.h \
+ ../../modules/core/includes/stackTypeVariable.h \
+ ../../modules/core/includes/BOOL.h \
+ ../../modules/core/includes/doublecomplex.h \
+ ../../modules/core/includes/stack1.h \
+ ../../modules/core/includes/scisparse.h \
+ ../../modules/core/includes/stack2.h \
+ ../../modules/core/includes/stack3.h \
+ ../../modules/core/includes/stack-optional.h \
+ ../../modules/core/includes/sci_types.h \
+ ../../modules/api_scilab/includes/api_common.h \
+ ../../modules/api_scilab/includes/api_scilab.h \
+ ../../modules/api_scilab/includes/api_double.h \
+ ../../modules/core/includes/doublecomplex.h \
+ ../../modules/api_scilab/includes/api_string.h \
+ ../../modules/api_scilab/includes/api_int.h \
+ ../../modules/api_scilab/includes/api_poly.h \
+ ../../modules/api_scilab/includes/api_sparse.h \
+ ../../modules/api_scilab/includes/api_boolean.h \
+ ../../modules/api_scilab/includes/api_boolean_sparse.h \
+ ../../modules/api_scilab/includes/api_pointer.h \
+ ../../modules/api_scilab/includes/api_list.h \
+ ../../modules/api_scilab/includes/api_error.h \
+ ../../modules/api_scilab/includes/api_handle.h \
+ ../../modules/api_scilab/includes/api_optional.h \
+ ../../modules/core/includes/stack-optional.h \
+ ../../modules/api_scilab/includes/api_hypermat.h \
+ ../../modules/core/includes/core_math.h \
+ ../../modules/core/includes/sci_types.h \
+ ../../modules/localization/includes/localization.h \
+ /usr/include/libintl.h src/cpp/H5VariableScope.hxx \
+ /usr/include/c++/5/stack /usr/include/c++/5/deque \
+ /usr/include/c++/5/bits/stl_uninitialized.h \
+ /usr/include/c++/5/bits/stl_deque.h /usr/include/c++/5/bits/deque.tcc \
+ /usr/include/c++/5/bits/stl_stack.h /usr/include/c++/5/vector \
+ /usr/include/c++/5/bits/stl_vector.h \
+ /usr/include/c++/5/bits/stl_bvector.h /usr/include/c++/5/bits/vector.tcc \
+ src/cpp/H5Exception.hxx ../../modules/core/includes/backtrace_print.h \
+ /usr/include/c++/5/sstream /usr/include/c++/5/bits/sstream.tcc \
+ /usr/include/c++/5/cstdio src/cpp/H5DataConverter.hxx
+
+/usr/include/stdc-predef.h:
+
+src/cpp/H5StringData.hxx:
+
+src/cpp/H5BasicData.hxx:
+
+src/cpp/H5Data.hxx:
+
+src/cpp/H5Object.hxx:
+
+includes/HDF5Objects.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/hdf5.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5public.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5pubconf.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5version.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/include/x86_64-linux-gnu/sys/types.h:
+
+/usr/include/x86_64-linux-gnu/bits/types.h:
+
+/usr/include/x86_64-linux-gnu/bits/typesizes.h:
+
+/usr/include/time.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.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/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/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h:
+
+/usr/include/limits.h:
+
+/usr/include/x86_64-linux-gnu/bits/posix1_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/local_lim.h:
+
+/usr/include/linux/limits.h:
+
+/usr/include/x86_64-linux-gnu/bits/posix2_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/xopen_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio_lim.h:
+
+/usr/include/inttypes.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stdint.h:
+
+/usr/include/stdint.h:
+
+/usr/include/x86_64-linux-gnu/bits/wchar.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5api_adpt.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Apublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Ipublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Opublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Lpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Tpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5ACpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Cpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Dpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Epublic.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/sys_errlist.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio2.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Epubgen.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Fpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Gpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5MMpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Ppublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Zpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Rpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Spublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDcore.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDfamily.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDlog.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDmpi.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDmpio.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDmpiposix.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDmulti.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDsec2.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDstdio.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDdirect.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/hdf5_hl.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5DSpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5LTpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5IMpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5TBpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5PTpublic.h:
+
+/usr/include/c++/5/algorithm:
+
+/usr/include/c++/5/utility:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/c++config.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/os_defines.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/cpu_defines.h:
+
+/usr/include/c++/5/bits/stl_relops.h:
+
+/usr/include/c++/5/bits/stl_pair.h:
+
+/usr/include/c++/5/bits/move.h:
+
+/usr/include/c++/5/bits/concept_check.h:
+
+/usr/include/c++/5/bits/stl_algobase.h:
+
+/usr/include/c++/5/bits/functexcept.h:
+
+/usr/include/c++/5/bits/exception_defines.h:
+
+/usr/include/c++/5/bits/cpp_type_traits.h:
+
+/usr/include/c++/5/ext/type_traits.h:
+
+/usr/include/c++/5/ext/numeric_traits.h:
+
+/usr/include/c++/5/bits/stl_iterator_base_types.h:
+
+/usr/include/c++/5/bits/stl_iterator_base_funcs.h:
+
+/usr/include/c++/5/debug/debug.h:
+
+/usr/include/c++/5/bits/stl_iterator.h:
+
+/usr/include/c++/5/bits/ptr_traits.h:
+
+/usr/include/c++/5/bits/predefined_ops.h:
+
+/usr/include/c++/5/bits/stl_algo.h:
+
+/usr/include/c++/5/cstdlib:
+
+/usr/include/stdlib.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitflags.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitstatus.h:
+
+/usr/include/xlocale.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/c++/5/bits/algorithmfwd.h:
+
+/usr/include/c++/5/bits/stl_heap.h:
+
+/usr/include/c++/5/bits/stl_tempbuf.h:
+
+/usr/include/c++/5/bits/stl_construct.h:
+
+/usr/include/c++/5/new:
+
+/usr/include/c++/5/exception:
+
+/usr/include/c++/5/bits/atomic_lockfree_defines.h:
+
+/usr/include/c++/5/ext/alloc_traits.h:
+
+/usr/include/c++/5/bits/allocator.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/c++allocator.h:
+
+/usr/include/c++/5/ext/new_allocator.h:
+
+/usr/include/c++/5/bits/memoryfwd.h:
+
+/usr/include/c++/5/iostream:
+
+/usr/include/c++/5/ostream:
+
+/usr/include/c++/5/ios:
+
+/usr/include/c++/5/iosfwd:
+
+/usr/include/c++/5/bits/stringfwd.h:
+
+/usr/include/c++/5/bits/postypes.h:
+
+/usr/include/c++/5/cwchar:
+
+/usr/include/x86_64-linux-gnu/bits/wchar2.h:
+
+/usr/include/c++/5/bits/char_traits.h:
+
+/usr/include/c++/5/bits/localefwd.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/c++locale.h:
+
+/usr/include/c++/5/clocale:
+
+/usr/include/locale.h:
+
+/usr/include/x86_64-linux-gnu/bits/locale.h:
+
+/usr/include/c++/5/cctype:
+
+/usr/include/ctype.h:
+
+/usr/include/c++/5/bits/ios_base.h:
+
+/usr/include/c++/5/ext/atomicity.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/gthr.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/gthr-default.h:
+
+/usr/include/pthread.h:
+
+/usr/include/sched.h:
+
+/usr/include/x86_64-linux-gnu/bits/sched.h:
+
+/usr/include/x86_64-linux-gnu/bits/timex.h:
+
+/usr/include/x86_64-linux-gnu/bits/setjmp.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/atomic_word.h:
+
+/usr/include/c++/5/bits/locale_classes.h:
+
+/usr/include/c++/5/string:
+
+/usr/include/c++/5/bits/ostream_insert.h:
+
+/usr/include/c++/5/bits/cxxabi_forced.h:
+
+/usr/include/c++/5/bits/stl_function.h:
+
+/usr/include/c++/5/backward/binders.h:
+
+/usr/include/c++/5/bits/range_access.h:
+
+/usr/include/c++/5/bits/basic_string.h:
+
+/usr/include/c++/5/bits/basic_string.tcc:
+
+/usr/include/c++/5/bits/locale_classes.tcc:
+
+/usr/include/c++/5/stdexcept:
+
+/usr/include/c++/5/streambuf:
+
+/usr/include/c++/5/bits/streambuf.tcc:
+
+/usr/include/c++/5/bits/basic_ios.h:
+
+/usr/include/c++/5/bits/locale_facets.h:
+
+/usr/include/c++/5/cwctype:
+
+/usr/include/wctype.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/ctype_base.h:
+
+/usr/include/c++/5/bits/streambuf_iterator.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/ctype_inline.h:
+
+/usr/include/c++/5/bits/locale_facets.tcc:
+
+/usr/include/c++/5/bits/basic_ios.tcc:
+
+/usr/include/c++/5/bits/ostream.tcc:
+
+/usr/include/c++/5/istream:
+
+/usr/include/c++/5/bits/istream.tcc:
+
+/usr/include/c++/5/iomanip:
+
+/usr/include/c++/5/limits:
+
+/usr/include/c++/5/map:
+
+/usr/include/c++/5/bits/stl_tree.h:
+
+/usr/include/c++/5/bits/stl_map.h:
+
+/usr/include/c++/5/bits/stl_multimap.h:
+
+/usr/include/c++/5/set:
+
+/usr/include/c++/5/bits/stl_set.h:
+
+/usr/include/c++/5/bits/stl_multiset.h:
+
+../../modules/core/includes/MALLOC.h:
+
+../../modules/core/includes/sci_mem_alloc.h:
+
+../../modules/output_stream/includes/Scierror.h:
+
+../../modules/output_stream/includes/do_error_number.h:
+
+../../modules/core/includes/machine.h:
+
+../../modules/api_scilab/includes/api_scilab.h:
+
+../../modules/core/includes/stack-c.h:
+
+/usr/include/string.h:
+
+/usr/include/x86_64-linux-gnu/bits/string3.h:
+
+../../modules/core/includes/core_math.h:
+
+/usr/include/math.h:
+
+/usr/include/x86_64-linux-gnu/bits/math-vector.h:
+
+/usr/include/x86_64-linux-gnu/bits/libm-simd-decl-stubs.h:
+
+/usr/include/x86_64-linux-gnu/bits/huge_val.h:
+
+/usr/include/x86_64-linux-gnu/bits/huge_valf.h:
+
+/usr/include/x86_64-linux-gnu/bits/huge_vall.h:
+
+/usr/include/x86_64-linux-gnu/bits/inf.h:
+
+/usr/include/x86_64-linux-gnu/bits/nan.h:
+
+/usr/include/x86_64-linux-gnu/bits/mathdef.h:
+
+/usr/include/x86_64-linux-gnu/bits/mathcalls.h:
+
+/usr/include/x86_64-linux-gnu/bits/mathinline.h:
+
+/usr/include/values.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/float.h:
+
+../../modules/core/includes/stack-def.h:
+
+../../modules/core/includes/machine.h:
+
+../../modules/core/includes/stackTypeVariable.h:
+
+../../modules/core/includes/BOOL.h:
+
+../../modules/core/includes/doublecomplex.h:
+
+../../modules/core/includes/stack1.h:
+
+../../modules/core/includes/scisparse.h:
+
+../../modules/core/includes/stack2.h:
+
+../../modules/core/includes/stack3.h:
+
+../../modules/core/includes/stack-optional.h:
+
+../../modules/core/includes/sci_types.h:
+
+../../modules/api_scilab/includes/api_common.h:
+
+../../modules/api_scilab/includes/api_scilab.h:
+
+../../modules/api_scilab/includes/api_double.h:
+
+../../modules/core/includes/doublecomplex.h:
+
+../../modules/api_scilab/includes/api_string.h:
+
+../../modules/api_scilab/includes/api_int.h:
+
+../../modules/api_scilab/includes/api_poly.h:
+
+../../modules/api_scilab/includes/api_sparse.h:
+
+../../modules/api_scilab/includes/api_boolean.h:
+
+../../modules/api_scilab/includes/api_boolean_sparse.h:
+
+../../modules/api_scilab/includes/api_pointer.h:
+
+../../modules/api_scilab/includes/api_list.h:
+
+../../modules/api_scilab/includes/api_error.h:
+
+../../modules/api_scilab/includes/api_handle.h:
+
+../../modules/api_scilab/includes/api_optional.h:
+
+../../modules/core/includes/stack-optional.h:
+
+../../modules/api_scilab/includes/api_hypermat.h:
+
+../../modules/core/includes/core_math.h:
+
+../../modules/core/includes/sci_types.h:
+
+../../modules/localization/includes/localization.h:
+
+/usr/include/libintl.h:
+
+src/cpp/H5VariableScope.hxx:
+
+/usr/include/c++/5/stack:
+
+/usr/include/c++/5/deque:
+
+/usr/include/c++/5/bits/stl_uninitialized.h:
+
+/usr/include/c++/5/bits/stl_deque.h:
+
+/usr/include/c++/5/bits/deque.tcc:
+
+/usr/include/c++/5/bits/stl_stack.h:
+
+/usr/include/c++/5/vector:
+
+/usr/include/c++/5/bits/stl_vector.h:
+
+/usr/include/c++/5/bits/stl_bvector.h:
+
+/usr/include/c++/5/bits/vector.tcc:
+
+src/cpp/H5Exception.hxx:
+
+../../modules/core/includes/backtrace_print.h:
+
+/usr/include/c++/5/sstream:
+
+/usr/include/c++/5/bits/sstream.tcc:
+
+/usr/include/c++/5/cstdio:
+
+src/cpp/H5DataConverter.hxx:
diff --git a/modules/hdf5/src/cpp/.deps/libscihdf5_algo_la-H5Type.Plo b/modules/hdf5/src/cpp/.deps/libscihdf5_algo_la-H5Type.Plo
new file mode 100755
index 000000000..35f6e26a5
--- /dev/null
+++ b/modules/hdf5/src/cpp/.deps/libscihdf5_algo_la-H5Type.Plo
@@ -0,0 +1,739 @@
+src/cpp/libscihdf5_algo_la-H5Type.lo: src/cpp/H5Type.cpp \
+ /usr/include/stdc-predef.h src/cpp/H5Type.hxx /usr/include/c++/5/map \
+ /usr/include/c++/5/bits/stl_tree.h \
+ /usr/include/c++/5/bits/stl_algobase.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/c++config.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/os_defines.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/include/x86_64-linux-gnu/c++/5/bits/cpu_defines.h \
+ /usr/include/c++/5/bits/functexcept.h \
+ /usr/include/c++/5/bits/exception_defines.h \
+ /usr/include/c++/5/bits/cpp_type_traits.h \
+ /usr/include/c++/5/ext/type_traits.h \
+ /usr/include/c++/5/ext/numeric_traits.h \
+ /usr/include/c++/5/bits/stl_pair.h /usr/include/c++/5/bits/move.h \
+ /usr/include/c++/5/bits/concept_check.h \
+ /usr/include/c++/5/bits/stl_iterator_base_types.h \
+ /usr/include/c++/5/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/5/debug/debug.h /usr/include/c++/5/bits/stl_iterator.h \
+ /usr/include/c++/5/bits/ptr_traits.h \
+ /usr/include/c++/5/bits/predefined_ops.h \
+ /usr/include/c++/5/bits/allocator.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/c++allocator.h \
+ /usr/include/c++/5/ext/new_allocator.h /usr/include/c++/5/new \
+ /usr/include/c++/5/exception \
+ /usr/include/c++/5/bits/atomic_lockfree_defines.h \
+ /usr/include/c++/5/bits/memoryfwd.h \
+ /usr/include/c++/5/bits/stl_function.h \
+ /usr/include/c++/5/backward/binders.h \
+ /usr/include/c++/5/ext/alloc_traits.h /usr/include/c++/5/bits/stl_map.h \
+ /usr/include/c++/5/bits/stl_multimap.h \
+ /usr/include/c++/5/bits/range_access.h src/cpp/H5Object.hxx \
+ includes/HDF5Objects.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/hdf5.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5public.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5pubconf.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5version.h \
+ /usr/include/x86_64-linux-gnu/sys/types.h \
+ /usr/include/x86_64-linux-gnu/bits/types.h \
+ /usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/time.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.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/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/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h \
+ /usr/include/limits.h /usr/include/x86_64-linux-gnu/bits/posix1_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/local_lim.h \
+ /usr/include/linux/limits.h \
+ /usr/include/x86_64-linux-gnu/bits/posix2_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/xopen_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio_lim.h /usr/include/inttypes.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stdint.h /usr/include/stdint.h \
+ /usr/include/x86_64-linux-gnu/bits/wchar.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5api_adpt.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Apublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Ipublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Opublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Lpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Tpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5ACpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Cpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Dpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Epublic.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/sys_errlist.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio2.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Epubgen.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Fpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Gpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5MMpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Ppublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Zpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Rpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Spublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDcore.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDfamily.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDlog.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDmpi.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDmpio.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDmpiposix.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDmulti.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDsec2.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDstdio.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDdirect.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/hdf5_hl.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5DSpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5LTpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5IMpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5TBpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5PTpublic.h \
+ /usr/include/c++/5/algorithm /usr/include/c++/5/utility \
+ /usr/include/c++/5/bits/stl_relops.h /usr/include/c++/5/bits/stl_algo.h \
+ /usr/include/c++/5/cstdlib /usr/include/stdlib.h \
+ /usr/include/x86_64-linux-gnu/bits/waitflags.h \
+ /usr/include/x86_64-linux-gnu/bits/waitstatus.h /usr/include/xlocale.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/c++/5/bits/algorithmfwd.h \
+ /usr/include/c++/5/bits/stl_heap.h /usr/include/c++/5/bits/stl_tempbuf.h \
+ /usr/include/c++/5/bits/stl_construct.h /usr/include/c++/5/iostream \
+ /usr/include/c++/5/ostream /usr/include/c++/5/ios \
+ /usr/include/c++/5/iosfwd /usr/include/c++/5/bits/stringfwd.h \
+ /usr/include/c++/5/bits/postypes.h /usr/include/c++/5/cwchar \
+ /usr/include/x86_64-linux-gnu/bits/wchar2.h \
+ /usr/include/c++/5/bits/char_traits.h \
+ /usr/include/c++/5/bits/localefwd.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/c++locale.h \
+ /usr/include/c++/5/clocale /usr/include/locale.h \
+ /usr/include/x86_64-linux-gnu/bits/locale.h /usr/include/c++/5/cctype \
+ /usr/include/ctype.h /usr/include/c++/5/bits/ios_base.h \
+ /usr/include/c++/5/ext/atomicity.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/gthr.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/x86_64-linux-gnu/bits/sched.h \
+ /usr/include/x86_64-linux-gnu/bits/timex.h \
+ /usr/include/x86_64-linux-gnu/bits/setjmp.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/atomic_word.h \
+ /usr/include/c++/5/bits/locale_classes.h /usr/include/c++/5/string \
+ /usr/include/c++/5/bits/ostream_insert.h \
+ /usr/include/c++/5/bits/cxxabi_forced.h \
+ /usr/include/c++/5/bits/basic_string.h \
+ /usr/include/c++/5/bits/basic_string.tcc \
+ /usr/include/c++/5/bits/locale_classes.tcc /usr/include/c++/5/stdexcept \
+ /usr/include/c++/5/streambuf /usr/include/c++/5/bits/streambuf.tcc \
+ /usr/include/c++/5/bits/basic_ios.h \
+ /usr/include/c++/5/bits/locale_facets.h /usr/include/c++/5/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/ctype_base.h \
+ /usr/include/c++/5/bits/streambuf_iterator.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/ctype_inline.h \
+ /usr/include/c++/5/bits/locale_facets.tcc \
+ /usr/include/c++/5/bits/basic_ios.tcc \
+ /usr/include/c++/5/bits/ostream.tcc /usr/include/c++/5/istream \
+ /usr/include/c++/5/bits/istream.tcc /usr/include/c++/5/iomanip \
+ /usr/include/c++/5/limits /usr/include/c++/5/set \
+ /usr/include/c++/5/bits/stl_set.h /usr/include/c++/5/bits/stl_multiset.h \
+ ../../modules/core/includes/MALLOC.h \
+ ../../modules/core/includes/sci_mem_alloc.h \
+ ../../modules/output_stream/includes/Scierror.h \
+ ../../modules/output_stream/includes/do_error_number.h \
+ ../../modules/core/includes/machine.h \
+ ../../modules/api_scilab/includes/api_scilab.h \
+ ../../modules/core/includes/stack-c.h /usr/include/string.h \
+ /usr/include/x86_64-linux-gnu/bits/string3.h \
+ ../../modules/core/includes/core_math.h /usr/include/math.h \
+ /usr/include/x86_64-linux-gnu/bits/math-vector.h \
+ /usr/include/x86_64-linux-gnu/bits/libm-simd-decl-stubs.h \
+ /usr/include/x86_64-linux-gnu/bits/huge_val.h \
+ /usr/include/x86_64-linux-gnu/bits/huge_valf.h \
+ /usr/include/x86_64-linux-gnu/bits/huge_vall.h \
+ /usr/include/x86_64-linux-gnu/bits/inf.h \
+ /usr/include/x86_64-linux-gnu/bits/nan.h \
+ /usr/include/x86_64-linux-gnu/bits/mathdef.h \
+ /usr/include/x86_64-linux-gnu/bits/mathcalls.h \
+ /usr/include/x86_64-linux-gnu/bits/mathinline.h /usr/include/values.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/float.h \
+ ../../modules/core/includes/stack-def.h \
+ ../../modules/core/includes/machine.h \
+ ../../modules/core/includes/stackTypeVariable.h \
+ ../../modules/core/includes/BOOL.h \
+ ../../modules/core/includes/doublecomplex.h \
+ ../../modules/core/includes/stack1.h \
+ ../../modules/core/includes/scisparse.h \
+ ../../modules/core/includes/stack2.h \
+ ../../modules/core/includes/stack3.h \
+ ../../modules/core/includes/stack-optional.h \
+ ../../modules/core/includes/sci_types.h \
+ ../../modules/api_scilab/includes/api_common.h \
+ ../../modules/api_scilab/includes/api_scilab.h \
+ ../../modules/api_scilab/includes/api_double.h \
+ ../../modules/core/includes/doublecomplex.h \
+ ../../modules/api_scilab/includes/api_string.h \
+ ../../modules/api_scilab/includes/api_int.h \
+ ../../modules/api_scilab/includes/api_poly.h \
+ ../../modules/api_scilab/includes/api_sparse.h \
+ ../../modules/api_scilab/includes/api_boolean.h \
+ ../../modules/api_scilab/includes/api_boolean_sparse.h \
+ ../../modules/api_scilab/includes/api_pointer.h \
+ ../../modules/api_scilab/includes/api_list.h \
+ ../../modules/api_scilab/includes/api_error.h \
+ ../../modules/api_scilab/includes/api_handle.h \
+ ../../modules/api_scilab/includes/api_optional.h \
+ ../../modules/core/includes/stack-optional.h \
+ ../../modules/api_scilab/includes/api_hypermat.h \
+ ../../modules/core/includes/core_math.h \
+ ../../modules/core/includes/sci_types.h \
+ ../../modules/localization/includes/localization.h \
+ /usr/include/libintl.h src/cpp/H5VariableScope.hxx \
+ /usr/include/c++/5/stack /usr/include/c++/5/deque \
+ /usr/include/c++/5/bits/stl_uninitialized.h \
+ /usr/include/c++/5/bits/stl_deque.h /usr/include/c++/5/bits/deque.tcc \
+ /usr/include/c++/5/bits/stl_stack.h /usr/include/c++/5/vector \
+ /usr/include/c++/5/bits/stl_vector.h \
+ /usr/include/c++/5/bits/stl_bvector.h /usr/include/c++/5/bits/vector.tcc \
+ src/cpp/H5Exception.hxx ../../modules/core/includes/backtrace_print.h \
+ /usr/include/c++/5/sstream /usr/include/c++/5/bits/sstream.tcc \
+ /usr/include/c++/5/cstdio src/cpp/H5File.hxx \
+ /usr/include/x86_64-linux-gnu/sys/stat.h \
+ /usr/include/x86_64-linux-gnu/bits/stat.h
+
+/usr/include/stdc-predef.h:
+
+src/cpp/H5Type.hxx:
+
+/usr/include/c++/5/map:
+
+/usr/include/c++/5/bits/stl_tree.h:
+
+/usr/include/c++/5/bits/stl_algobase.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/c++config.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/os_defines.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/include/x86_64-linux-gnu/c++/5/bits/cpu_defines.h:
+
+/usr/include/c++/5/bits/functexcept.h:
+
+/usr/include/c++/5/bits/exception_defines.h:
+
+/usr/include/c++/5/bits/cpp_type_traits.h:
+
+/usr/include/c++/5/ext/type_traits.h:
+
+/usr/include/c++/5/ext/numeric_traits.h:
+
+/usr/include/c++/5/bits/stl_pair.h:
+
+/usr/include/c++/5/bits/move.h:
+
+/usr/include/c++/5/bits/concept_check.h:
+
+/usr/include/c++/5/bits/stl_iterator_base_types.h:
+
+/usr/include/c++/5/bits/stl_iterator_base_funcs.h:
+
+/usr/include/c++/5/debug/debug.h:
+
+/usr/include/c++/5/bits/stl_iterator.h:
+
+/usr/include/c++/5/bits/ptr_traits.h:
+
+/usr/include/c++/5/bits/predefined_ops.h:
+
+/usr/include/c++/5/bits/allocator.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/c++allocator.h:
+
+/usr/include/c++/5/ext/new_allocator.h:
+
+/usr/include/c++/5/new:
+
+/usr/include/c++/5/exception:
+
+/usr/include/c++/5/bits/atomic_lockfree_defines.h:
+
+/usr/include/c++/5/bits/memoryfwd.h:
+
+/usr/include/c++/5/bits/stl_function.h:
+
+/usr/include/c++/5/backward/binders.h:
+
+/usr/include/c++/5/ext/alloc_traits.h:
+
+/usr/include/c++/5/bits/stl_map.h:
+
+/usr/include/c++/5/bits/stl_multimap.h:
+
+/usr/include/c++/5/bits/range_access.h:
+
+src/cpp/H5Object.hxx:
+
+includes/HDF5Objects.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/hdf5.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5public.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5pubconf.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5version.h:
+
+/usr/include/x86_64-linux-gnu/sys/types.h:
+
+/usr/include/x86_64-linux-gnu/bits/types.h:
+
+/usr/include/x86_64-linux-gnu/bits/typesizes.h:
+
+/usr/include/time.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.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/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/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h:
+
+/usr/include/limits.h:
+
+/usr/include/x86_64-linux-gnu/bits/posix1_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/local_lim.h:
+
+/usr/include/linux/limits.h:
+
+/usr/include/x86_64-linux-gnu/bits/posix2_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/xopen_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio_lim.h:
+
+/usr/include/inttypes.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stdint.h:
+
+/usr/include/stdint.h:
+
+/usr/include/x86_64-linux-gnu/bits/wchar.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5api_adpt.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Apublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Ipublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Opublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Lpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Tpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5ACpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Cpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Dpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Epublic.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/sys_errlist.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio2.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Epubgen.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Fpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Gpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5MMpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Ppublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Zpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Rpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Spublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDcore.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDfamily.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDlog.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDmpi.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDmpio.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDmpiposix.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDmulti.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDsec2.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDstdio.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDdirect.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/hdf5_hl.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5DSpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5LTpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5IMpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5TBpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5PTpublic.h:
+
+/usr/include/c++/5/algorithm:
+
+/usr/include/c++/5/utility:
+
+/usr/include/c++/5/bits/stl_relops.h:
+
+/usr/include/c++/5/bits/stl_algo.h:
+
+/usr/include/c++/5/cstdlib:
+
+/usr/include/stdlib.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitflags.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitstatus.h:
+
+/usr/include/xlocale.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/c++/5/bits/algorithmfwd.h:
+
+/usr/include/c++/5/bits/stl_heap.h:
+
+/usr/include/c++/5/bits/stl_tempbuf.h:
+
+/usr/include/c++/5/bits/stl_construct.h:
+
+/usr/include/c++/5/iostream:
+
+/usr/include/c++/5/ostream:
+
+/usr/include/c++/5/ios:
+
+/usr/include/c++/5/iosfwd:
+
+/usr/include/c++/5/bits/stringfwd.h:
+
+/usr/include/c++/5/bits/postypes.h:
+
+/usr/include/c++/5/cwchar:
+
+/usr/include/x86_64-linux-gnu/bits/wchar2.h:
+
+/usr/include/c++/5/bits/char_traits.h:
+
+/usr/include/c++/5/bits/localefwd.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/c++locale.h:
+
+/usr/include/c++/5/clocale:
+
+/usr/include/locale.h:
+
+/usr/include/x86_64-linux-gnu/bits/locale.h:
+
+/usr/include/c++/5/cctype:
+
+/usr/include/ctype.h:
+
+/usr/include/c++/5/bits/ios_base.h:
+
+/usr/include/c++/5/ext/atomicity.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/gthr.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/gthr-default.h:
+
+/usr/include/pthread.h:
+
+/usr/include/sched.h:
+
+/usr/include/x86_64-linux-gnu/bits/sched.h:
+
+/usr/include/x86_64-linux-gnu/bits/timex.h:
+
+/usr/include/x86_64-linux-gnu/bits/setjmp.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/atomic_word.h:
+
+/usr/include/c++/5/bits/locale_classes.h:
+
+/usr/include/c++/5/string:
+
+/usr/include/c++/5/bits/ostream_insert.h:
+
+/usr/include/c++/5/bits/cxxabi_forced.h:
+
+/usr/include/c++/5/bits/basic_string.h:
+
+/usr/include/c++/5/bits/basic_string.tcc:
+
+/usr/include/c++/5/bits/locale_classes.tcc:
+
+/usr/include/c++/5/stdexcept:
+
+/usr/include/c++/5/streambuf:
+
+/usr/include/c++/5/bits/streambuf.tcc:
+
+/usr/include/c++/5/bits/basic_ios.h:
+
+/usr/include/c++/5/bits/locale_facets.h:
+
+/usr/include/c++/5/cwctype:
+
+/usr/include/wctype.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/ctype_base.h:
+
+/usr/include/c++/5/bits/streambuf_iterator.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/ctype_inline.h:
+
+/usr/include/c++/5/bits/locale_facets.tcc:
+
+/usr/include/c++/5/bits/basic_ios.tcc:
+
+/usr/include/c++/5/bits/ostream.tcc:
+
+/usr/include/c++/5/istream:
+
+/usr/include/c++/5/bits/istream.tcc:
+
+/usr/include/c++/5/iomanip:
+
+/usr/include/c++/5/limits:
+
+/usr/include/c++/5/set:
+
+/usr/include/c++/5/bits/stl_set.h:
+
+/usr/include/c++/5/bits/stl_multiset.h:
+
+../../modules/core/includes/MALLOC.h:
+
+../../modules/core/includes/sci_mem_alloc.h:
+
+../../modules/output_stream/includes/Scierror.h:
+
+../../modules/output_stream/includes/do_error_number.h:
+
+../../modules/core/includes/machine.h:
+
+../../modules/api_scilab/includes/api_scilab.h:
+
+../../modules/core/includes/stack-c.h:
+
+/usr/include/string.h:
+
+/usr/include/x86_64-linux-gnu/bits/string3.h:
+
+../../modules/core/includes/core_math.h:
+
+/usr/include/math.h:
+
+/usr/include/x86_64-linux-gnu/bits/math-vector.h:
+
+/usr/include/x86_64-linux-gnu/bits/libm-simd-decl-stubs.h:
+
+/usr/include/x86_64-linux-gnu/bits/huge_val.h:
+
+/usr/include/x86_64-linux-gnu/bits/huge_valf.h:
+
+/usr/include/x86_64-linux-gnu/bits/huge_vall.h:
+
+/usr/include/x86_64-linux-gnu/bits/inf.h:
+
+/usr/include/x86_64-linux-gnu/bits/nan.h:
+
+/usr/include/x86_64-linux-gnu/bits/mathdef.h:
+
+/usr/include/x86_64-linux-gnu/bits/mathcalls.h:
+
+/usr/include/x86_64-linux-gnu/bits/mathinline.h:
+
+/usr/include/values.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/float.h:
+
+../../modules/core/includes/stack-def.h:
+
+../../modules/core/includes/machine.h:
+
+../../modules/core/includes/stackTypeVariable.h:
+
+../../modules/core/includes/BOOL.h:
+
+../../modules/core/includes/doublecomplex.h:
+
+../../modules/core/includes/stack1.h:
+
+../../modules/core/includes/scisparse.h:
+
+../../modules/core/includes/stack2.h:
+
+../../modules/core/includes/stack3.h:
+
+../../modules/core/includes/stack-optional.h:
+
+../../modules/core/includes/sci_types.h:
+
+../../modules/api_scilab/includes/api_common.h:
+
+../../modules/api_scilab/includes/api_scilab.h:
+
+../../modules/api_scilab/includes/api_double.h:
+
+../../modules/core/includes/doublecomplex.h:
+
+../../modules/api_scilab/includes/api_string.h:
+
+../../modules/api_scilab/includes/api_int.h:
+
+../../modules/api_scilab/includes/api_poly.h:
+
+../../modules/api_scilab/includes/api_sparse.h:
+
+../../modules/api_scilab/includes/api_boolean.h:
+
+../../modules/api_scilab/includes/api_boolean_sparse.h:
+
+../../modules/api_scilab/includes/api_pointer.h:
+
+../../modules/api_scilab/includes/api_list.h:
+
+../../modules/api_scilab/includes/api_error.h:
+
+../../modules/api_scilab/includes/api_handle.h:
+
+../../modules/api_scilab/includes/api_optional.h:
+
+../../modules/core/includes/stack-optional.h:
+
+../../modules/api_scilab/includes/api_hypermat.h:
+
+../../modules/core/includes/core_math.h:
+
+../../modules/core/includes/sci_types.h:
+
+../../modules/localization/includes/localization.h:
+
+/usr/include/libintl.h:
+
+src/cpp/H5VariableScope.hxx:
+
+/usr/include/c++/5/stack:
+
+/usr/include/c++/5/deque:
+
+/usr/include/c++/5/bits/stl_uninitialized.h:
+
+/usr/include/c++/5/bits/stl_deque.h:
+
+/usr/include/c++/5/bits/deque.tcc:
+
+/usr/include/c++/5/bits/stl_stack.h:
+
+/usr/include/c++/5/vector:
+
+/usr/include/c++/5/bits/stl_vector.h:
+
+/usr/include/c++/5/bits/stl_bvector.h:
+
+/usr/include/c++/5/bits/vector.tcc:
+
+src/cpp/H5Exception.hxx:
+
+../../modules/core/includes/backtrace_print.h:
+
+/usr/include/c++/5/sstream:
+
+/usr/include/c++/5/bits/sstream.tcc:
+
+/usr/include/c++/5/cstdio:
+
+src/cpp/H5File.hxx:
+
+/usr/include/x86_64-linux-gnu/sys/stat.h:
+
+/usr/include/x86_64-linux-gnu/bits/stat.h:
diff --git a/modules/hdf5/src/cpp/.deps/libscihdf5_algo_la-H5VariableScope.Plo b/modules/hdf5/src/cpp/.deps/libscihdf5_algo_la-H5VariableScope.Plo
new file mode 100755
index 000000000..3a981f945
--- /dev/null
+++ b/modules/hdf5/src/cpp/.deps/libscihdf5_algo_la-H5VariableScope.Plo
@@ -0,0 +1,728 @@
+src/cpp/libscihdf5_algo_la-H5VariableScope.lo: \
+ src/cpp/H5VariableScope.cpp /usr/include/stdc-predef.h \
+ src/cpp/H5VariableScope.hxx /usr/include/c++/5/stack \
+ /usr/include/c++/5/deque /usr/include/c++/5/bits/stl_algobase.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/c++config.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/os_defines.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/include/x86_64-linux-gnu/c++/5/bits/cpu_defines.h \
+ /usr/include/c++/5/bits/functexcept.h \
+ /usr/include/c++/5/bits/exception_defines.h \
+ /usr/include/c++/5/bits/cpp_type_traits.h \
+ /usr/include/c++/5/ext/type_traits.h \
+ /usr/include/c++/5/ext/numeric_traits.h \
+ /usr/include/c++/5/bits/stl_pair.h /usr/include/c++/5/bits/move.h \
+ /usr/include/c++/5/bits/concept_check.h \
+ /usr/include/c++/5/bits/stl_iterator_base_types.h \
+ /usr/include/c++/5/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/5/debug/debug.h /usr/include/c++/5/bits/stl_iterator.h \
+ /usr/include/c++/5/bits/ptr_traits.h \
+ /usr/include/c++/5/bits/predefined_ops.h \
+ /usr/include/c++/5/bits/allocator.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/c++allocator.h \
+ /usr/include/c++/5/ext/new_allocator.h /usr/include/c++/5/new \
+ /usr/include/c++/5/exception \
+ /usr/include/c++/5/bits/atomic_lockfree_defines.h \
+ /usr/include/c++/5/bits/memoryfwd.h \
+ /usr/include/c++/5/bits/stl_construct.h \
+ /usr/include/c++/5/ext/alloc_traits.h \
+ /usr/include/c++/5/bits/stl_uninitialized.h \
+ /usr/include/c++/5/bits/stl_deque.h \
+ /usr/include/c++/5/bits/range_access.h /usr/include/c++/5/bits/deque.tcc \
+ /usr/include/c++/5/bits/stl_stack.h /usr/include/c++/5/vector \
+ /usr/include/c++/5/bits/stl_vector.h \
+ /usr/include/c++/5/bits/stl_bvector.h /usr/include/c++/5/bits/vector.tcc \
+ src/cpp/H5Object.hxx includes/HDF5Objects.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/hdf5.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5public.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5pubconf.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5version.h \
+ /usr/include/x86_64-linux-gnu/sys/types.h \
+ /usr/include/x86_64-linux-gnu/bits/types.h \
+ /usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/time.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.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/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/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h \
+ /usr/include/limits.h /usr/include/x86_64-linux-gnu/bits/posix1_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/local_lim.h \
+ /usr/include/linux/limits.h \
+ /usr/include/x86_64-linux-gnu/bits/posix2_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/xopen_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio_lim.h /usr/include/inttypes.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stdint.h /usr/include/stdint.h \
+ /usr/include/x86_64-linux-gnu/bits/wchar.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5api_adpt.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Apublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Ipublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Opublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Lpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Tpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5ACpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Cpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Dpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Epublic.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/sys_errlist.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio2.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Epubgen.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Fpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Gpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5MMpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Ppublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Zpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Rpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Spublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDcore.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDfamily.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDlog.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDmpi.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDmpio.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDmpiposix.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDmulti.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDsec2.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDstdio.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDdirect.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/hdf5_hl.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5DSpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5LTpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5IMpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5TBpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5PTpublic.h \
+ /usr/include/c++/5/algorithm /usr/include/c++/5/utility \
+ /usr/include/c++/5/bits/stl_relops.h /usr/include/c++/5/bits/stl_algo.h \
+ /usr/include/c++/5/cstdlib /usr/include/stdlib.h \
+ /usr/include/x86_64-linux-gnu/bits/waitflags.h \
+ /usr/include/x86_64-linux-gnu/bits/waitstatus.h /usr/include/xlocale.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/c++/5/bits/algorithmfwd.h \
+ /usr/include/c++/5/bits/stl_heap.h /usr/include/c++/5/bits/stl_tempbuf.h \
+ /usr/include/c++/5/iostream /usr/include/c++/5/ostream \
+ /usr/include/c++/5/ios /usr/include/c++/5/iosfwd \
+ /usr/include/c++/5/bits/stringfwd.h /usr/include/c++/5/bits/postypes.h \
+ /usr/include/c++/5/cwchar /usr/include/x86_64-linux-gnu/bits/wchar2.h \
+ /usr/include/c++/5/bits/char_traits.h \
+ /usr/include/c++/5/bits/localefwd.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/c++locale.h \
+ /usr/include/c++/5/clocale /usr/include/locale.h \
+ /usr/include/x86_64-linux-gnu/bits/locale.h /usr/include/c++/5/cctype \
+ /usr/include/ctype.h /usr/include/c++/5/bits/ios_base.h \
+ /usr/include/c++/5/ext/atomicity.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/gthr.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/x86_64-linux-gnu/bits/sched.h \
+ /usr/include/x86_64-linux-gnu/bits/timex.h \
+ /usr/include/x86_64-linux-gnu/bits/setjmp.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/atomic_word.h \
+ /usr/include/c++/5/bits/locale_classes.h /usr/include/c++/5/string \
+ /usr/include/c++/5/bits/ostream_insert.h \
+ /usr/include/c++/5/bits/cxxabi_forced.h \
+ /usr/include/c++/5/bits/stl_function.h \
+ /usr/include/c++/5/backward/binders.h \
+ /usr/include/c++/5/bits/basic_string.h \
+ /usr/include/c++/5/bits/basic_string.tcc \
+ /usr/include/c++/5/bits/locale_classes.tcc /usr/include/c++/5/stdexcept \
+ /usr/include/c++/5/streambuf /usr/include/c++/5/bits/streambuf.tcc \
+ /usr/include/c++/5/bits/basic_ios.h \
+ /usr/include/c++/5/bits/locale_facets.h /usr/include/c++/5/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/ctype_base.h \
+ /usr/include/c++/5/bits/streambuf_iterator.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/ctype_inline.h \
+ /usr/include/c++/5/bits/locale_facets.tcc \
+ /usr/include/c++/5/bits/basic_ios.tcc \
+ /usr/include/c++/5/bits/ostream.tcc /usr/include/c++/5/istream \
+ /usr/include/c++/5/bits/istream.tcc /usr/include/c++/5/iomanip \
+ /usr/include/c++/5/limits /usr/include/c++/5/map \
+ /usr/include/c++/5/bits/stl_tree.h /usr/include/c++/5/bits/stl_map.h \
+ /usr/include/c++/5/bits/stl_multimap.h /usr/include/c++/5/set \
+ /usr/include/c++/5/bits/stl_set.h /usr/include/c++/5/bits/stl_multiset.h \
+ ../../modules/core/includes/MALLOC.h \
+ ../../modules/core/includes/sci_mem_alloc.h \
+ ../../modules/output_stream/includes/Scierror.h \
+ ../../modules/output_stream/includes/do_error_number.h \
+ ../../modules/core/includes/machine.h \
+ ../../modules/api_scilab/includes/api_scilab.h \
+ ../../modules/core/includes/stack-c.h /usr/include/string.h \
+ /usr/include/x86_64-linux-gnu/bits/string3.h \
+ ../../modules/core/includes/core_math.h /usr/include/math.h \
+ /usr/include/x86_64-linux-gnu/bits/math-vector.h \
+ /usr/include/x86_64-linux-gnu/bits/libm-simd-decl-stubs.h \
+ /usr/include/x86_64-linux-gnu/bits/huge_val.h \
+ /usr/include/x86_64-linux-gnu/bits/huge_valf.h \
+ /usr/include/x86_64-linux-gnu/bits/huge_vall.h \
+ /usr/include/x86_64-linux-gnu/bits/inf.h \
+ /usr/include/x86_64-linux-gnu/bits/nan.h \
+ /usr/include/x86_64-linux-gnu/bits/mathdef.h \
+ /usr/include/x86_64-linux-gnu/bits/mathcalls.h \
+ /usr/include/x86_64-linux-gnu/bits/mathinline.h /usr/include/values.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/float.h \
+ ../../modules/core/includes/stack-def.h \
+ ../../modules/core/includes/machine.h \
+ ../../modules/core/includes/stackTypeVariable.h \
+ ../../modules/core/includes/BOOL.h \
+ ../../modules/core/includes/doublecomplex.h \
+ ../../modules/core/includes/stack1.h \
+ ../../modules/core/includes/scisparse.h \
+ ../../modules/core/includes/stack2.h \
+ ../../modules/core/includes/stack3.h \
+ ../../modules/core/includes/stack-optional.h \
+ ../../modules/core/includes/sci_types.h \
+ ../../modules/api_scilab/includes/api_common.h \
+ ../../modules/api_scilab/includes/api_scilab.h \
+ ../../modules/api_scilab/includes/api_double.h \
+ ../../modules/core/includes/doublecomplex.h \
+ ../../modules/api_scilab/includes/api_string.h \
+ ../../modules/api_scilab/includes/api_int.h \
+ ../../modules/api_scilab/includes/api_poly.h \
+ ../../modules/api_scilab/includes/api_sparse.h \
+ ../../modules/api_scilab/includes/api_boolean.h \
+ ../../modules/api_scilab/includes/api_boolean_sparse.h \
+ ../../modules/api_scilab/includes/api_pointer.h \
+ ../../modules/api_scilab/includes/api_list.h \
+ ../../modules/api_scilab/includes/api_error.h \
+ ../../modules/api_scilab/includes/api_handle.h \
+ ../../modules/api_scilab/includes/api_optional.h \
+ ../../modules/core/includes/stack-optional.h \
+ ../../modules/api_scilab/includes/api_hypermat.h \
+ ../../modules/core/includes/core_math.h \
+ ../../modules/core/includes/sci_types.h \
+ ../../modules/localization/includes/localization.h \
+ /usr/include/libintl.h src/cpp/H5Exception.hxx \
+ ../../modules/core/includes/backtrace_print.h /usr/include/c++/5/sstream \
+ /usr/include/c++/5/bits/sstream.tcc /usr/include/c++/5/cstdio
+
+/usr/include/stdc-predef.h:
+
+src/cpp/H5VariableScope.hxx:
+
+/usr/include/c++/5/stack:
+
+/usr/include/c++/5/deque:
+
+/usr/include/c++/5/bits/stl_algobase.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/c++config.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/os_defines.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/include/x86_64-linux-gnu/c++/5/bits/cpu_defines.h:
+
+/usr/include/c++/5/bits/functexcept.h:
+
+/usr/include/c++/5/bits/exception_defines.h:
+
+/usr/include/c++/5/bits/cpp_type_traits.h:
+
+/usr/include/c++/5/ext/type_traits.h:
+
+/usr/include/c++/5/ext/numeric_traits.h:
+
+/usr/include/c++/5/bits/stl_pair.h:
+
+/usr/include/c++/5/bits/move.h:
+
+/usr/include/c++/5/bits/concept_check.h:
+
+/usr/include/c++/5/bits/stl_iterator_base_types.h:
+
+/usr/include/c++/5/bits/stl_iterator_base_funcs.h:
+
+/usr/include/c++/5/debug/debug.h:
+
+/usr/include/c++/5/bits/stl_iterator.h:
+
+/usr/include/c++/5/bits/ptr_traits.h:
+
+/usr/include/c++/5/bits/predefined_ops.h:
+
+/usr/include/c++/5/bits/allocator.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/c++allocator.h:
+
+/usr/include/c++/5/ext/new_allocator.h:
+
+/usr/include/c++/5/new:
+
+/usr/include/c++/5/exception:
+
+/usr/include/c++/5/bits/atomic_lockfree_defines.h:
+
+/usr/include/c++/5/bits/memoryfwd.h:
+
+/usr/include/c++/5/bits/stl_construct.h:
+
+/usr/include/c++/5/ext/alloc_traits.h:
+
+/usr/include/c++/5/bits/stl_uninitialized.h:
+
+/usr/include/c++/5/bits/stl_deque.h:
+
+/usr/include/c++/5/bits/range_access.h:
+
+/usr/include/c++/5/bits/deque.tcc:
+
+/usr/include/c++/5/bits/stl_stack.h:
+
+/usr/include/c++/5/vector:
+
+/usr/include/c++/5/bits/stl_vector.h:
+
+/usr/include/c++/5/bits/stl_bvector.h:
+
+/usr/include/c++/5/bits/vector.tcc:
+
+src/cpp/H5Object.hxx:
+
+includes/HDF5Objects.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/hdf5.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5public.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5pubconf.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5version.h:
+
+/usr/include/x86_64-linux-gnu/sys/types.h:
+
+/usr/include/x86_64-linux-gnu/bits/types.h:
+
+/usr/include/x86_64-linux-gnu/bits/typesizes.h:
+
+/usr/include/time.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.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/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/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h:
+
+/usr/include/limits.h:
+
+/usr/include/x86_64-linux-gnu/bits/posix1_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/local_lim.h:
+
+/usr/include/linux/limits.h:
+
+/usr/include/x86_64-linux-gnu/bits/posix2_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/xopen_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio_lim.h:
+
+/usr/include/inttypes.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stdint.h:
+
+/usr/include/stdint.h:
+
+/usr/include/x86_64-linux-gnu/bits/wchar.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5api_adpt.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Apublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Ipublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Opublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Lpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Tpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5ACpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Cpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Dpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Epublic.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/sys_errlist.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio2.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Epubgen.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Fpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Gpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5MMpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Ppublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Zpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Rpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Spublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDcore.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDfamily.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDlog.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDmpi.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDmpio.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDmpiposix.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDmulti.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDsec2.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDstdio.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDdirect.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/hdf5_hl.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5DSpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5LTpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5IMpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5TBpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5PTpublic.h:
+
+/usr/include/c++/5/algorithm:
+
+/usr/include/c++/5/utility:
+
+/usr/include/c++/5/bits/stl_relops.h:
+
+/usr/include/c++/5/bits/stl_algo.h:
+
+/usr/include/c++/5/cstdlib:
+
+/usr/include/stdlib.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitflags.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitstatus.h:
+
+/usr/include/xlocale.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/c++/5/bits/algorithmfwd.h:
+
+/usr/include/c++/5/bits/stl_heap.h:
+
+/usr/include/c++/5/bits/stl_tempbuf.h:
+
+/usr/include/c++/5/iostream:
+
+/usr/include/c++/5/ostream:
+
+/usr/include/c++/5/ios:
+
+/usr/include/c++/5/iosfwd:
+
+/usr/include/c++/5/bits/stringfwd.h:
+
+/usr/include/c++/5/bits/postypes.h:
+
+/usr/include/c++/5/cwchar:
+
+/usr/include/x86_64-linux-gnu/bits/wchar2.h:
+
+/usr/include/c++/5/bits/char_traits.h:
+
+/usr/include/c++/5/bits/localefwd.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/c++locale.h:
+
+/usr/include/c++/5/clocale:
+
+/usr/include/locale.h:
+
+/usr/include/x86_64-linux-gnu/bits/locale.h:
+
+/usr/include/c++/5/cctype:
+
+/usr/include/ctype.h:
+
+/usr/include/c++/5/bits/ios_base.h:
+
+/usr/include/c++/5/ext/atomicity.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/gthr.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/gthr-default.h:
+
+/usr/include/pthread.h:
+
+/usr/include/sched.h:
+
+/usr/include/x86_64-linux-gnu/bits/sched.h:
+
+/usr/include/x86_64-linux-gnu/bits/timex.h:
+
+/usr/include/x86_64-linux-gnu/bits/setjmp.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/atomic_word.h:
+
+/usr/include/c++/5/bits/locale_classes.h:
+
+/usr/include/c++/5/string:
+
+/usr/include/c++/5/bits/ostream_insert.h:
+
+/usr/include/c++/5/bits/cxxabi_forced.h:
+
+/usr/include/c++/5/bits/stl_function.h:
+
+/usr/include/c++/5/backward/binders.h:
+
+/usr/include/c++/5/bits/basic_string.h:
+
+/usr/include/c++/5/bits/basic_string.tcc:
+
+/usr/include/c++/5/bits/locale_classes.tcc:
+
+/usr/include/c++/5/stdexcept:
+
+/usr/include/c++/5/streambuf:
+
+/usr/include/c++/5/bits/streambuf.tcc:
+
+/usr/include/c++/5/bits/basic_ios.h:
+
+/usr/include/c++/5/bits/locale_facets.h:
+
+/usr/include/c++/5/cwctype:
+
+/usr/include/wctype.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/ctype_base.h:
+
+/usr/include/c++/5/bits/streambuf_iterator.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/ctype_inline.h:
+
+/usr/include/c++/5/bits/locale_facets.tcc:
+
+/usr/include/c++/5/bits/basic_ios.tcc:
+
+/usr/include/c++/5/bits/ostream.tcc:
+
+/usr/include/c++/5/istream:
+
+/usr/include/c++/5/bits/istream.tcc:
+
+/usr/include/c++/5/iomanip:
+
+/usr/include/c++/5/limits:
+
+/usr/include/c++/5/map:
+
+/usr/include/c++/5/bits/stl_tree.h:
+
+/usr/include/c++/5/bits/stl_map.h:
+
+/usr/include/c++/5/bits/stl_multimap.h:
+
+/usr/include/c++/5/set:
+
+/usr/include/c++/5/bits/stl_set.h:
+
+/usr/include/c++/5/bits/stl_multiset.h:
+
+../../modules/core/includes/MALLOC.h:
+
+../../modules/core/includes/sci_mem_alloc.h:
+
+../../modules/output_stream/includes/Scierror.h:
+
+../../modules/output_stream/includes/do_error_number.h:
+
+../../modules/core/includes/machine.h:
+
+../../modules/api_scilab/includes/api_scilab.h:
+
+../../modules/core/includes/stack-c.h:
+
+/usr/include/string.h:
+
+/usr/include/x86_64-linux-gnu/bits/string3.h:
+
+../../modules/core/includes/core_math.h:
+
+/usr/include/math.h:
+
+/usr/include/x86_64-linux-gnu/bits/math-vector.h:
+
+/usr/include/x86_64-linux-gnu/bits/libm-simd-decl-stubs.h:
+
+/usr/include/x86_64-linux-gnu/bits/huge_val.h:
+
+/usr/include/x86_64-linux-gnu/bits/huge_valf.h:
+
+/usr/include/x86_64-linux-gnu/bits/huge_vall.h:
+
+/usr/include/x86_64-linux-gnu/bits/inf.h:
+
+/usr/include/x86_64-linux-gnu/bits/nan.h:
+
+/usr/include/x86_64-linux-gnu/bits/mathdef.h:
+
+/usr/include/x86_64-linux-gnu/bits/mathcalls.h:
+
+/usr/include/x86_64-linux-gnu/bits/mathinline.h:
+
+/usr/include/values.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/float.h:
+
+../../modules/core/includes/stack-def.h:
+
+../../modules/core/includes/machine.h:
+
+../../modules/core/includes/stackTypeVariable.h:
+
+../../modules/core/includes/BOOL.h:
+
+../../modules/core/includes/doublecomplex.h:
+
+../../modules/core/includes/stack1.h:
+
+../../modules/core/includes/scisparse.h:
+
+../../modules/core/includes/stack2.h:
+
+../../modules/core/includes/stack3.h:
+
+../../modules/core/includes/stack-optional.h:
+
+../../modules/core/includes/sci_types.h:
+
+../../modules/api_scilab/includes/api_common.h:
+
+../../modules/api_scilab/includes/api_scilab.h:
+
+../../modules/api_scilab/includes/api_double.h:
+
+../../modules/core/includes/doublecomplex.h:
+
+../../modules/api_scilab/includes/api_string.h:
+
+../../modules/api_scilab/includes/api_int.h:
+
+../../modules/api_scilab/includes/api_poly.h:
+
+../../modules/api_scilab/includes/api_sparse.h:
+
+../../modules/api_scilab/includes/api_boolean.h:
+
+../../modules/api_scilab/includes/api_boolean_sparse.h:
+
+../../modules/api_scilab/includes/api_pointer.h:
+
+../../modules/api_scilab/includes/api_list.h:
+
+../../modules/api_scilab/includes/api_error.h:
+
+../../modules/api_scilab/includes/api_handle.h:
+
+../../modules/api_scilab/includes/api_optional.h:
+
+../../modules/core/includes/stack-optional.h:
+
+../../modules/api_scilab/includes/api_hypermat.h:
+
+../../modules/core/includes/core_math.h:
+
+../../modules/core/includes/sci_types.h:
+
+../../modules/localization/includes/localization.h:
+
+/usr/include/libintl.h:
+
+src/cpp/H5Exception.hxx:
+
+../../modules/core/includes/backtrace_print.h:
+
+/usr/include/c++/5/sstream:
+
+/usr/include/c++/5/bits/sstream.tcc:
+
+/usr/include/c++/5/cstdio:
diff --git a/modules/hdf5/src/cpp/.deps/libscihdf5_algo_la-H5VlenData.Plo b/modules/hdf5/src/cpp/.deps/libscihdf5_algo_la-H5VlenData.Plo
new file mode 100755
index 000000000..49f3c543d
--- /dev/null
+++ b/modules/hdf5/src/cpp/.deps/libscihdf5_algo_la-H5VlenData.Plo
@@ -0,0 +1,802 @@
+src/cpp/libscihdf5_algo_la-H5VlenData.lo: src/cpp/H5VlenData.cpp \
+ /usr/include/stdc-predef.h src/cpp/H5VlenData.hxx \
+ src/cpp/H5BasicData.hxx src/cpp/H5Data.hxx src/cpp/H5Object.hxx \
+ includes/HDF5Objects.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/hdf5.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5public.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5pubconf.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5version.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/include/x86_64-linux-gnu/sys/types.h \
+ /usr/include/x86_64-linux-gnu/bits/types.h \
+ /usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/time.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.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/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/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h \
+ /usr/include/limits.h /usr/include/x86_64-linux-gnu/bits/posix1_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/local_lim.h \
+ /usr/include/linux/limits.h \
+ /usr/include/x86_64-linux-gnu/bits/posix2_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/xopen_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio_lim.h /usr/include/inttypes.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stdint.h /usr/include/stdint.h \
+ /usr/include/x86_64-linux-gnu/bits/wchar.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5api_adpt.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Apublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Ipublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Opublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Lpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Tpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5ACpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Cpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Dpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Epublic.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/sys_errlist.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio2.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Epubgen.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Fpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Gpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5MMpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Ppublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Zpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Rpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Spublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDcore.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDfamily.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDlog.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDmpi.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDmpio.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDmpiposix.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDmulti.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDsec2.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDstdio.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDdirect.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/hdf5_hl.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5DSpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5LTpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5IMpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5TBpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5PTpublic.h \
+ /usr/include/c++/5/algorithm /usr/include/c++/5/utility \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/c++config.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/os_defines.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/cpu_defines.h \
+ /usr/include/c++/5/bits/stl_relops.h /usr/include/c++/5/bits/stl_pair.h \
+ /usr/include/c++/5/bits/move.h /usr/include/c++/5/bits/concept_check.h \
+ /usr/include/c++/5/bits/stl_algobase.h \
+ /usr/include/c++/5/bits/functexcept.h \
+ /usr/include/c++/5/bits/exception_defines.h \
+ /usr/include/c++/5/bits/cpp_type_traits.h \
+ /usr/include/c++/5/ext/type_traits.h \
+ /usr/include/c++/5/ext/numeric_traits.h \
+ /usr/include/c++/5/bits/stl_iterator_base_types.h \
+ /usr/include/c++/5/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/5/debug/debug.h /usr/include/c++/5/bits/stl_iterator.h \
+ /usr/include/c++/5/bits/ptr_traits.h \
+ /usr/include/c++/5/bits/predefined_ops.h \
+ /usr/include/c++/5/bits/stl_algo.h /usr/include/c++/5/cstdlib \
+ /usr/include/stdlib.h /usr/include/x86_64-linux-gnu/bits/waitflags.h \
+ /usr/include/x86_64-linux-gnu/bits/waitstatus.h /usr/include/xlocale.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/c++/5/bits/algorithmfwd.h \
+ /usr/include/c++/5/bits/stl_heap.h /usr/include/c++/5/bits/stl_tempbuf.h \
+ /usr/include/c++/5/bits/stl_construct.h /usr/include/c++/5/new \
+ /usr/include/c++/5/exception \
+ /usr/include/c++/5/bits/atomic_lockfree_defines.h \
+ /usr/include/c++/5/ext/alloc_traits.h \
+ /usr/include/c++/5/bits/allocator.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/c++allocator.h \
+ /usr/include/c++/5/ext/new_allocator.h \
+ /usr/include/c++/5/bits/memoryfwd.h /usr/include/c++/5/iostream \
+ /usr/include/c++/5/ostream /usr/include/c++/5/ios \
+ /usr/include/c++/5/iosfwd /usr/include/c++/5/bits/stringfwd.h \
+ /usr/include/c++/5/bits/postypes.h /usr/include/c++/5/cwchar \
+ /usr/include/x86_64-linux-gnu/bits/wchar2.h \
+ /usr/include/c++/5/bits/char_traits.h \
+ /usr/include/c++/5/bits/localefwd.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/c++locale.h \
+ /usr/include/c++/5/clocale /usr/include/locale.h \
+ /usr/include/x86_64-linux-gnu/bits/locale.h /usr/include/c++/5/cctype \
+ /usr/include/ctype.h /usr/include/c++/5/bits/ios_base.h \
+ /usr/include/c++/5/ext/atomicity.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/gthr.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/x86_64-linux-gnu/bits/sched.h \
+ /usr/include/x86_64-linux-gnu/bits/timex.h \
+ /usr/include/x86_64-linux-gnu/bits/setjmp.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/atomic_word.h \
+ /usr/include/c++/5/bits/locale_classes.h /usr/include/c++/5/string \
+ /usr/include/c++/5/bits/ostream_insert.h \
+ /usr/include/c++/5/bits/cxxabi_forced.h \
+ /usr/include/c++/5/bits/stl_function.h \
+ /usr/include/c++/5/backward/binders.h \
+ /usr/include/c++/5/bits/range_access.h \
+ /usr/include/c++/5/bits/basic_string.h \
+ /usr/include/c++/5/bits/basic_string.tcc \
+ /usr/include/c++/5/bits/locale_classes.tcc /usr/include/c++/5/stdexcept \
+ /usr/include/c++/5/streambuf /usr/include/c++/5/bits/streambuf.tcc \
+ /usr/include/c++/5/bits/basic_ios.h \
+ /usr/include/c++/5/bits/locale_facets.h /usr/include/c++/5/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/ctype_base.h \
+ /usr/include/c++/5/bits/streambuf_iterator.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/ctype_inline.h \
+ /usr/include/c++/5/bits/locale_facets.tcc \
+ /usr/include/c++/5/bits/basic_ios.tcc \
+ /usr/include/c++/5/bits/ostream.tcc /usr/include/c++/5/istream \
+ /usr/include/c++/5/bits/istream.tcc /usr/include/c++/5/iomanip \
+ /usr/include/c++/5/limits /usr/include/c++/5/map \
+ /usr/include/c++/5/bits/stl_tree.h /usr/include/c++/5/bits/stl_map.h \
+ /usr/include/c++/5/bits/stl_multimap.h /usr/include/c++/5/set \
+ /usr/include/c++/5/bits/stl_set.h /usr/include/c++/5/bits/stl_multiset.h \
+ ../../modules/core/includes/MALLOC.h \
+ ../../modules/core/includes/sci_mem_alloc.h \
+ ../../modules/output_stream/includes/Scierror.h \
+ ../../modules/output_stream/includes/do_error_number.h \
+ ../../modules/core/includes/machine.h \
+ ../../modules/api_scilab/includes/api_scilab.h \
+ ../../modules/core/includes/stack-c.h /usr/include/string.h \
+ /usr/include/x86_64-linux-gnu/bits/string3.h \
+ ../../modules/core/includes/core_math.h /usr/include/math.h \
+ /usr/include/x86_64-linux-gnu/bits/math-vector.h \
+ /usr/include/x86_64-linux-gnu/bits/libm-simd-decl-stubs.h \
+ /usr/include/x86_64-linux-gnu/bits/huge_val.h \
+ /usr/include/x86_64-linux-gnu/bits/huge_valf.h \
+ /usr/include/x86_64-linux-gnu/bits/huge_vall.h \
+ /usr/include/x86_64-linux-gnu/bits/inf.h \
+ /usr/include/x86_64-linux-gnu/bits/nan.h \
+ /usr/include/x86_64-linux-gnu/bits/mathdef.h \
+ /usr/include/x86_64-linux-gnu/bits/mathcalls.h \
+ /usr/include/x86_64-linux-gnu/bits/mathinline.h /usr/include/values.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/float.h \
+ ../../modules/core/includes/stack-def.h \
+ ../../modules/core/includes/machine.h \
+ ../../modules/core/includes/stackTypeVariable.h \
+ ../../modules/core/includes/BOOL.h \
+ ../../modules/core/includes/doublecomplex.h \
+ ../../modules/core/includes/stack1.h \
+ ../../modules/core/includes/scisparse.h \
+ ../../modules/core/includes/stack2.h \
+ ../../modules/core/includes/stack3.h \
+ ../../modules/core/includes/stack-optional.h \
+ ../../modules/core/includes/sci_types.h \
+ ../../modules/api_scilab/includes/api_common.h \
+ ../../modules/api_scilab/includes/api_scilab.h \
+ ../../modules/api_scilab/includes/api_double.h \
+ ../../modules/core/includes/doublecomplex.h \
+ ../../modules/api_scilab/includes/api_string.h \
+ ../../modules/api_scilab/includes/api_int.h \
+ ../../modules/api_scilab/includes/api_poly.h \
+ ../../modules/api_scilab/includes/api_sparse.h \
+ ../../modules/api_scilab/includes/api_boolean.h \
+ ../../modules/api_scilab/includes/api_boolean_sparse.h \
+ ../../modules/api_scilab/includes/api_pointer.h \
+ ../../modules/api_scilab/includes/api_list.h \
+ ../../modules/api_scilab/includes/api_error.h \
+ ../../modules/api_scilab/includes/api_handle.h \
+ ../../modules/api_scilab/includes/api_optional.h \
+ ../../modules/core/includes/stack-optional.h \
+ ../../modules/api_scilab/includes/api_hypermat.h \
+ ../../modules/core/includes/core_math.h \
+ ../../modules/core/includes/sci_types.h \
+ ../../modules/localization/includes/localization.h \
+ /usr/include/libintl.h src/cpp/H5VariableScope.hxx \
+ /usr/include/c++/5/stack /usr/include/c++/5/deque \
+ /usr/include/c++/5/bits/stl_uninitialized.h \
+ /usr/include/c++/5/bits/stl_deque.h /usr/include/c++/5/bits/deque.tcc \
+ /usr/include/c++/5/bits/stl_stack.h /usr/include/c++/5/vector \
+ /usr/include/c++/5/bits/stl_vector.h \
+ /usr/include/c++/5/bits/stl_bvector.h /usr/include/c++/5/bits/vector.tcc \
+ src/cpp/H5Exception.hxx ../../modules/core/includes/backtrace_print.h \
+ /usr/include/c++/5/sstream /usr/include/c++/5/bits/sstream.tcc \
+ /usr/include/c++/5/cstdio src/cpp/H5DataConverter.hxx \
+ src/cpp/H5DataFactory.hxx src/cpp/H5StringData.hxx \
+ src/cpp/H5TimeData.hxx src/cpp/H5BitfieldData.hxx \
+ src/cpp/H5ReferenceData.hxx src/cpp/H5File.hxx \
+ /usr/include/x86_64-linux-gnu/sys/stat.h \
+ /usr/include/x86_64-linux-gnu/bits/stat.h src/cpp/H5Group.hxx \
+ src/cpp/H5Type.hxx src/cpp/H5Dataset.hxx src/cpp/H5Dataspace.hxx \
+ src/cpp/H5AttributesList.hxx src/cpp/H5ListObject.hxx \
+ src/cpp/H5Attribute.hxx src/cpp/H5SoftLink.hxx src/cpp/H5Link.hxx \
+ src/cpp/H5ExternalLink.hxx src/cpp/H5NamedObjectsList.hxx \
+ src/cpp/H5CompoundData.hxx src/cpp/H5ArrayData.hxx \
+ src/cpp/H5OpaqueData.hxx src/cpp/H5TransformedData.hxx \
+ src/cpp/H5EnumData.hxx src/cpp/H5CharData.hxx \
+ src/cpp/H5UnsignedCharData.hxx
+
+/usr/include/stdc-predef.h:
+
+src/cpp/H5VlenData.hxx:
+
+src/cpp/H5BasicData.hxx:
+
+src/cpp/H5Data.hxx:
+
+src/cpp/H5Object.hxx:
+
+includes/HDF5Objects.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/hdf5.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5public.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5pubconf.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5version.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/include/x86_64-linux-gnu/sys/types.h:
+
+/usr/include/x86_64-linux-gnu/bits/types.h:
+
+/usr/include/x86_64-linux-gnu/bits/typesizes.h:
+
+/usr/include/time.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.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/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/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h:
+
+/usr/include/limits.h:
+
+/usr/include/x86_64-linux-gnu/bits/posix1_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/local_lim.h:
+
+/usr/include/linux/limits.h:
+
+/usr/include/x86_64-linux-gnu/bits/posix2_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/xopen_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio_lim.h:
+
+/usr/include/inttypes.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stdint.h:
+
+/usr/include/stdint.h:
+
+/usr/include/x86_64-linux-gnu/bits/wchar.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5api_adpt.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Apublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Ipublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Opublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Lpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Tpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5ACpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Cpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Dpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Epublic.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/sys_errlist.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio2.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Epubgen.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Fpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Gpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5MMpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Ppublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Zpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Rpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Spublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDcore.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDfamily.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDlog.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDmpi.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDmpio.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDmpiposix.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDmulti.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDsec2.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDstdio.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDdirect.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/hdf5_hl.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5DSpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5LTpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5IMpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5TBpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5PTpublic.h:
+
+/usr/include/c++/5/algorithm:
+
+/usr/include/c++/5/utility:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/c++config.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/os_defines.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/cpu_defines.h:
+
+/usr/include/c++/5/bits/stl_relops.h:
+
+/usr/include/c++/5/bits/stl_pair.h:
+
+/usr/include/c++/5/bits/move.h:
+
+/usr/include/c++/5/bits/concept_check.h:
+
+/usr/include/c++/5/bits/stl_algobase.h:
+
+/usr/include/c++/5/bits/functexcept.h:
+
+/usr/include/c++/5/bits/exception_defines.h:
+
+/usr/include/c++/5/bits/cpp_type_traits.h:
+
+/usr/include/c++/5/ext/type_traits.h:
+
+/usr/include/c++/5/ext/numeric_traits.h:
+
+/usr/include/c++/5/bits/stl_iterator_base_types.h:
+
+/usr/include/c++/5/bits/stl_iterator_base_funcs.h:
+
+/usr/include/c++/5/debug/debug.h:
+
+/usr/include/c++/5/bits/stl_iterator.h:
+
+/usr/include/c++/5/bits/ptr_traits.h:
+
+/usr/include/c++/5/bits/predefined_ops.h:
+
+/usr/include/c++/5/bits/stl_algo.h:
+
+/usr/include/c++/5/cstdlib:
+
+/usr/include/stdlib.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitflags.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitstatus.h:
+
+/usr/include/xlocale.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/c++/5/bits/algorithmfwd.h:
+
+/usr/include/c++/5/bits/stl_heap.h:
+
+/usr/include/c++/5/bits/stl_tempbuf.h:
+
+/usr/include/c++/5/bits/stl_construct.h:
+
+/usr/include/c++/5/new:
+
+/usr/include/c++/5/exception:
+
+/usr/include/c++/5/bits/atomic_lockfree_defines.h:
+
+/usr/include/c++/5/ext/alloc_traits.h:
+
+/usr/include/c++/5/bits/allocator.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/c++allocator.h:
+
+/usr/include/c++/5/ext/new_allocator.h:
+
+/usr/include/c++/5/bits/memoryfwd.h:
+
+/usr/include/c++/5/iostream:
+
+/usr/include/c++/5/ostream:
+
+/usr/include/c++/5/ios:
+
+/usr/include/c++/5/iosfwd:
+
+/usr/include/c++/5/bits/stringfwd.h:
+
+/usr/include/c++/5/bits/postypes.h:
+
+/usr/include/c++/5/cwchar:
+
+/usr/include/x86_64-linux-gnu/bits/wchar2.h:
+
+/usr/include/c++/5/bits/char_traits.h:
+
+/usr/include/c++/5/bits/localefwd.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/c++locale.h:
+
+/usr/include/c++/5/clocale:
+
+/usr/include/locale.h:
+
+/usr/include/x86_64-linux-gnu/bits/locale.h:
+
+/usr/include/c++/5/cctype:
+
+/usr/include/ctype.h:
+
+/usr/include/c++/5/bits/ios_base.h:
+
+/usr/include/c++/5/ext/atomicity.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/gthr.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/gthr-default.h:
+
+/usr/include/pthread.h:
+
+/usr/include/sched.h:
+
+/usr/include/x86_64-linux-gnu/bits/sched.h:
+
+/usr/include/x86_64-linux-gnu/bits/timex.h:
+
+/usr/include/x86_64-linux-gnu/bits/setjmp.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/atomic_word.h:
+
+/usr/include/c++/5/bits/locale_classes.h:
+
+/usr/include/c++/5/string:
+
+/usr/include/c++/5/bits/ostream_insert.h:
+
+/usr/include/c++/5/bits/cxxabi_forced.h:
+
+/usr/include/c++/5/bits/stl_function.h:
+
+/usr/include/c++/5/backward/binders.h:
+
+/usr/include/c++/5/bits/range_access.h:
+
+/usr/include/c++/5/bits/basic_string.h:
+
+/usr/include/c++/5/bits/basic_string.tcc:
+
+/usr/include/c++/5/bits/locale_classes.tcc:
+
+/usr/include/c++/5/stdexcept:
+
+/usr/include/c++/5/streambuf:
+
+/usr/include/c++/5/bits/streambuf.tcc:
+
+/usr/include/c++/5/bits/basic_ios.h:
+
+/usr/include/c++/5/bits/locale_facets.h:
+
+/usr/include/c++/5/cwctype:
+
+/usr/include/wctype.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/ctype_base.h:
+
+/usr/include/c++/5/bits/streambuf_iterator.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/ctype_inline.h:
+
+/usr/include/c++/5/bits/locale_facets.tcc:
+
+/usr/include/c++/5/bits/basic_ios.tcc:
+
+/usr/include/c++/5/bits/ostream.tcc:
+
+/usr/include/c++/5/istream:
+
+/usr/include/c++/5/bits/istream.tcc:
+
+/usr/include/c++/5/iomanip:
+
+/usr/include/c++/5/limits:
+
+/usr/include/c++/5/map:
+
+/usr/include/c++/5/bits/stl_tree.h:
+
+/usr/include/c++/5/bits/stl_map.h:
+
+/usr/include/c++/5/bits/stl_multimap.h:
+
+/usr/include/c++/5/set:
+
+/usr/include/c++/5/bits/stl_set.h:
+
+/usr/include/c++/5/bits/stl_multiset.h:
+
+../../modules/core/includes/MALLOC.h:
+
+../../modules/core/includes/sci_mem_alloc.h:
+
+../../modules/output_stream/includes/Scierror.h:
+
+../../modules/output_stream/includes/do_error_number.h:
+
+../../modules/core/includes/machine.h:
+
+../../modules/api_scilab/includes/api_scilab.h:
+
+../../modules/core/includes/stack-c.h:
+
+/usr/include/string.h:
+
+/usr/include/x86_64-linux-gnu/bits/string3.h:
+
+../../modules/core/includes/core_math.h:
+
+/usr/include/math.h:
+
+/usr/include/x86_64-linux-gnu/bits/math-vector.h:
+
+/usr/include/x86_64-linux-gnu/bits/libm-simd-decl-stubs.h:
+
+/usr/include/x86_64-linux-gnu/bits/huge_val.h:
+
+/usr/include/x86_64-linux-gnu/bits/huge_valf.h:
+
+/usr/include/x86_64-linux-gnu/bits/huge_vall.h:
+
+/usr/include/x86_64-linux-gnu/bits/inf.h:
+
+/usr/include/x86_64-linux-gnu/bits/nan.h:
+
+/usr/include/x86_64-linux-gnu/bits/mathdef.h:
+
+/usr/include/x86_64-linux-gnu/bits/mathcalls.h:
+
+/usr/include/x86_64-linux-gnu/bits/mathinline.h:
+
+/usr/include/values.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/float.h:
+
+../../modules/core/includes/stack-def.h:
+
+../../modules/core/includes/machine.h:
+
+../../modules/core/includes/stackTypeVariable.h:
+
+../../modules/core/includes/BOOL.h:
+
+../../modules/core/includes/doublecomplex.h:
+
+../../modules/core/includes/stack1.h:
+
+../../modules/core/includes/scisparse.h:
+
+../../modules/core/includes/stack2.h:
+
+../../modules/core/includes/stack3.h:
+
+../../modules/core/includes/stack-optional.h:
+
+../../modules/core/includes/sci_types.h:
+
+../../modules/api_scilab/includes/api_common.h:
+
+../../modules/api_scilab/includes/api_scilab.h:
+
+../../modules/api_scilab/includes/api_double.h:
+
+../../modules/core/includes/doublecomplex.h:
+
+../../modules/api_scilab/includes/api_string.h:
+
+../../modules/api_scilab/includes/api_int.h:
+
+../../modules/api_scilab/includes/api_poly.h:
+
+../../modules/api_scilab/includes/api_sparse.h:
+
+../../modules/api_scilab/includes/api_boolean.h:
+
+../../modules/api_scilab/includes/api_boolean_sparse.h:
+
+../../modules/api_scilab/includes/api_pointer.h:
+
+../../modules/api_scilab/includes/api_list.h:
+
+../../modules/api_scilab/includes/api_error.h:
+
+../../modules/api_scilab/includes/api_handle.h:
+
+../../modules/api_scilab/includes/api_optional.h:
+
+../../modules/core/includes/stack-optional.h:
+
+../../modules/api_scilab/includes/api_hypermat.h:
+
+../../modules/core/includes/core_math.h:
+
+../../modules/core/includes/sci_types.h:
+
+../../modules/localization/includes/localization.h:
+
+/usr/include/libintl.h:
+
+src/cpp/H5VariableScope.hxx:
+
+/usr/include/c++/5/stack:
+
+/usr/include/c++/5/deque:
+
+/usr/include/c++/5/bits/stl_uninitialized.h:
+
+/usr/include/c++/5/bits/stl_deque.h:
+
+/usr/include/c++/5/bits/deque.tcc:
+
+/usr/include/c++/5/bits/stl_stack.h:
+
+/usr/include/c++/5/vector:
+
+/usr/include/c++/5/bits/stl_vector.h:
+
+/usr/include/c++/5/bits/stl_bvector.h:
+
+/usr/include/c++/5/bits/vector.tcc:
+
+src/cpp/H5Exception.hxx:
+
+../../modules/core/includes/backtrace_print.h:
+
+/usr/include/c++/5/sstream:
+
+/usr/include/c++/5/bits/sstream.tcc:
+
+/usr/include/c++/5/cstdio:
+
+src/cpp/H5DataConverter.hxx:
+
+src/cpp/H5DataFactory.hxx:
+
+src/cpp/H5StringData.hxx:
+
+src/cpp/H5TimeData.hxx:
+
+src/cpp/H5BitfieldData.hxx:
+
+src/cpp/H5ReferenceData.hxx:
+
+src/cpp/H5File.hxx:
+
+/usr/include/x86_64-linux-gnu/sys/stat.h:
+
+/usr/include/x86_64-linux-gnu/bits/stat.h:
+
+src/cpp/H5Group.hxx:
+
+src/cpp/H5Type.hxx:
+
+src/cpp/H5Dataset.hxx:
+
+src/cpp/H5Dataspace.hxx:
+
+src/cpp/H5AttributesList.hxx:
+
+src/cpp/H5ListObject.hxx:
+
+src/cpp/H5Attribute.hxx:
+
+src/cpp/H5SoftLink.hxx:
+
+src/cpp/H5Link.hxx:
+
+src/cpp/H5ExternalLink.hxx:
+
+src/cpp/H5NamedObjectsList.hxx:
+
+src/cpp/H5CompoundData.hxx:
+
+src/cpp/H5ArrayData.hxx:
+
+src/cpp/H5OpaqueData.hxx:
+
+src/cpp/H5TransformedData.hxx:
+
+src/cpp/H5EnumData.hxx:
+
+src/cpp/H5CharData.hxx:
+
+src/cpp/H5UnsignedCharData.hxx:
diff --git a/modules/hdf5/src/cpp/.deps/libscihdf5_algo_la-HDF5Scilab.Plo b/modules/hdf5/src/cpp/.deps/libscihdf5_algo_la-HDF5Scilab.Plo
new file mode 100755
index 000000000..4f03d5633
--- /dev/null
+++ b/modules/hdf5/src/cpp/.deps/libscihdf5_algo_la-HDF5Scilab.Plo
@@ -0,0 +1,780 @@
+src/cpp/libscihdf5_algo_la-HDF5Scilab.lo: src/cpp/HDF5Scilab.cpp \
+ /usr/include/stdc-predef.h src/cpp/HDF5Scilab.hxx \
+ /usr/include/c++/5/vector /usr/include/c++/5/bits/stl_algobase.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/c++config.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/os_defines.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/include/x86_64-linux-gnu/c++/5/bits/cpu_defines.h \
+ /usr/include/c++/5/bits/functexcept.h \
+ /usr/include/c++/5/bits/exception_defines.h \
+ /usr/include/c++/5/bits/cpp_type_traits.h \
+ /usr/include/c++/5/ext/type_traits.h \
+ /usr/include/c++/5/ext/numeric_traits.h \
+ /usr/include/c++/5/bits/stl_pair.h /usr/include/c++/5/bits/move.h \
+ /usr/include/c++/5/bits/concept_check.h \
+ /usr/include/c++/5/bits/stl_iterator_base_types.h \
+ /usr/include/c++/5/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/5/debug/debug.h /usr/include/c++/5/bits/stl_iterator.h \
+ /usr/include/c++/5/bits/ptr_traits.h \
+ /usr/include/c++/5/bits/predefined_ops.h \
+ /usr/include/c++/5/bits/allocator.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/c++allocator.h \
+ /usr/include/c++/5/ext/new_allocator.h /usr/include/c++/5/new \
+ /usr/include/c++/5/exception \
+ /usr/include/c++/5/bits/atomic_lockfree_defines.h \
+ /usr/include/c++/5/bits/memoryfwd.h \
+ /usr/include/c++/5/bits/stl_construct.h \
+ /usr/include/c++/5/ext/alloc_traits.h \
+ /usr/include/c++/5/bits/stl_uninitialized.h \
+ /usr/include/c++/5/bits/stl_vector.h \
+ /usr/include/c++/5/bits/stl_bvector.h \
+ /usr/include/c++/5/bits/range_access.h \
+ /usr/include/c++/5/bits/vector.tcc /usr/include/c++/5/map \
+ /usr/include/c++/5/bits/stl_tree.h \
+ /usr/include/c++/5/bits/stl_function.h \
+ /usr/include/c++/5/backward/binders.h /usr/include/c++/5/bits/stl_map.h \
+ /usr/include/c++/5/bits/stl_multimap.h src/cpp/H5Options.hxx \
+ /usr/include/c++/5/algorithm /usr/include/c++/5/utility \
+ /usr/include/c++/5/bits/stl_relops.h /usr/include/c++/5/bits/stl_algo.h \
+ /usr/include/c++/5/cstdlib /usr/include/stdlib.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/xlocale.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/c++/5/bits/algorithmfwd.h \
+ /usr/include/c++/5/bits/stl_heap.h /usr/include/c++/5/bits/stl_tempbuf.h \
+ /usr/include/c++/5/string /usr/include/c++/5/bits/stringfwd.h \
+ /usr/include/c++/5/bits/char_traits.h /usr/include/c++/5/bits/postypes.h \
+ /usr/include/c++/5/cwchar /usr/include/wchar.h /usr/include/stdio.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \
+ /usr/include/x86_64-linux-gnu/bits/wchar.h \
+ /usr/include/x86_64-linux-gnu/bits/wchar2.h \
+ /usr/include/c++/5/bits/localefwd.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/c++locale.h \
+ /usr/include/c++/5/clocale /usr/include/locale.h \
+ /usr/include/x86_64-linux-gnu/bits/locale.h /usr/include/c++/5/iosfwd \
+ /usr/include/c++/5/cctype /usr/include/ctype.h \
+ /usr/include/c++/5/bits/ostream_insert.h \
+ /usr/include/c++/5/bits/cxxabi_forced.h \
+ /usr/include/c++/5/bits/basic_string.h \
+ /usr/include/c++/5/ext/atomicity.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/gthr.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/x86_64-linux-gnu/bits/sched.h \
+ /usr/include/x86_64-linux-gnu/bits/timex.h \
+ /usr/include/x86_64-linux-gnu/bits/setjmp.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/atomic_word.h \
+ /usr/include/c++/5/bits/basic_string.tcc src/cpp/H5Exception.hxx \
+ ../../modules/localization/includes/localization.h \
+ ../../modules/core/includes/machine.h /usr/include/libintl.h \
+ ../../modules/core/includes/backtrace_print.h includes/HDF5Objects.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/hdf5.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5public.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5pubconf.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5version.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h \
+ /usr/include/limits.h /usr/include/x86_64-linux-gnu/bits/posix1_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/local_lim.h \
+ /usr/include/linux/limits.h \
+ /usr/include/x86_64-linux-gnu/bits/posix2_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/xopen_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio_lim.h /usr/include/inttypes.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stdint.h /usr/include/stdint.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5api_adpt.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Apublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Ipublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Opublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Lpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Tpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5ACpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Cpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Dpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Epublic.h \
+ /usr/include/libio.h /usr/include/_G_config.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 \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Epubgen.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Fpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Gpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5MMpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Ppublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Zpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Rpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Spublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDcore.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDfamily.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDlog.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDmpi.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDmpio.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDmpiposix.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDmulti.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDsec2.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDstdio.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDdirect.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/hdf5_hl.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5DSpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5LTpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5IMpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5TBpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5PTpublic.h \
+ /usr/include/c++/5/sstream /usr/include/c++/5/istream \
+ /usr/include/c++/5/ios /usr/include/c++/5/bits/ios_base.h \
+ /usr/include/c++/5/bits/locale_classes.h \
+ /usr/include/c++/5/bits/locale_classes.tcc /usr/include/c++/5/stdexcept \
+ /usr/include/c++/5/streambuf /usr/include/c++/5/bits/streambuf.tcc \
+ /usr/include/c++/5/bits/basic_ios.h \
+ /usr/include/c++/5/bits/locale_facets.h /usr/include/c++/5/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/ctype_base.h \
+ /usr/include/c++/5/bits/streambuf_iterator.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/ctype_inline.h \
+ /usr/include/c++/5/bits/locale_facets.tcc \
+ /usr/include/c++/5/bits/basic_ios.tcc /usr/include/c++/5/ostream \
+ /usr/include/c++/5/bits/ostream.tcc /usr/include/c++/5/bits/istream.tcc \
+ /usr/include/c++/5/bits/sstream.tcc /usr/include/c++/5/cstdio \
+ src/cpp/H5Object.hxx /usr/include/c++/5/iostream \
+ /usr/include/c++/5/iomanip /usr/include/c++/5/limits \
+ /usr/include/c++/5/set /usr/include/c++/5/bits/stl_set.h \
+ /usr/include/c++/5/bits/stl_multiset.h \
+ ../../modules/core/includes/MALLOC.h \
+ ../../modules/core/includes/sci_mem_alloc.h \
+ ../../modules/output_stream/includes/Scierror.h \
+ ../../modules/output_stream/includes/do_error_number.h \
+ ../../modules/api_scilab/includes/api_scilab.h \
+ ../../modules/core/includes/stack-c.h /usr/include/string.h \
+ /usr/include/x86_64-linux-gnu/bits/string3.h \
+ ../../modules/core/includes/core_math.h /usr/include/math.h \
+ /usr/include/x86_64-linux-gnu/bits/math-vector.h \
+ /usr/include/x86_64-linux-gnu/bits/libm-simd-decl-stubs.h \
+ /usr/include/x86_64-linux-gnu/bits/huge_val.h \
+ /usr/include/x86_64-linux-gnu/bits/huge_valf.h \
+ /usr/include/x86_64-linux-gnu/bits/huge_vall.h \
+ /usr/include/x86_64-linux-gnu/bits/inf.h \
+ /usr/include/x86_64-linux-gnu/bits/nan.h \
+ /usr/include/x86_64-linux-gnu/bits/mathdef.h \
+ /usr/include/x86_64-linux-gnu/bits/mathcalls.h \
+ /usr/include/x86_64-linux-gnu/bits/mathinline.h /usr/include/values.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/float.h \
+ ../../modules/core/includes/stack-def.h \
+ ../../modules/core/includes/machine.h \
+ ../../modules/core/includes/stackTypeVariable.h \
+ ../../modules/core/includes/BOOL.h \
+ ../../modules/core/includes/doublecomplex.h \
+ ../../modules/core/includes/stack1.h \
+ ../../modules/core/includes/scisparse.h \
+ ../../modules/core/includes/stack2.h \
+ ../../modules/core/includes/stack3.h \
+ ../../modules/core/includes/stack-optional.h \
+ ../../modules/core/includes/sci_types.h \
+ ../../modules/api_scilab/includes/api_common.h \
+ ../../modules/api_scilab/includes/api_scilab.h \
+ ../../modules/api_scilab/includes/api_double.h \
+ ../../modules/core/includes/doublecomplex.h \
+ ../../modules/api_scilab/includes/api_string.h \
+ ../../modules/api_scilab/includes/api_int.h \
+ ../../modules/api_scilab/includes/api_poly.h \
+ ../../modules/api_scilab/includes/api_sparse.h \
+ ../../modules/api_scilab/includes/api_boolean.h \
+ ../../modules/api_scilab/includes/api_boolean_sparse.h \
+ ../../modules/api_scilab/includes/api_pointer.h \
+ ../../modules/api_scilab/includes/api_list.h \
+ ../../modules/api_scilab/includes/api_error.h \
+ ../../modules/api_scilab/includes/api_handle.h \
+ ../../modules/api_scilab/includes/api_optional.h \
+ ../../modules/core/includes/stack-optional.h \
+ ../../modules/api_scilab/includes/api_hypermat.h \
+ ../../modules/core/includes/core_math.h \
+ ../../modules/core/includes/sci_types.h src/cpp/H5VariableScope.hxx \
+ /usr/include/c++/5/stack /usr/include/c++/5/deque \
+ /usr/include/c++/5/bits/stl_deque.h /usr/include/c++/5/bits/deque.tcc \
+ /usr/include/c++/5/bits/stl_stack.h src/cpp/H5File.hxx \
+ /usr/include/x86_64-linux-gnu/sys/stat.h \
+ /usr/include/x86_64-linux-gnu/bits/stat.h src/cpp/H5Group.hxx \
+ src/cpp/H5Type.hxx src/cpp/H5Dataset.hxx src/cpp/H5Data.hxx \
+ src/cpp/H5Dataspace.hxx src/cpp/H5AttributesList.hxx \
+ src/cpp/H5ListObject.hxx src/cpp/H5Attribute.hxx src/cpp/H5SoftLink.hxx \
+ src/cpp/H5Link.hxx src/cpp/H5ExternalLink.hxx \
+ src/cpp/H5NamedObjectsList.hxx src/cpp/H5BasicData.hxx \
+ src/cpp/H5DataConverter.hxx \
+ ../../modules/output_stream/includes/sciprint.h \
+ ../../modules/core/includes/BOOL.h
+
+/usr/include/stdc-predef.h:
+
+src/cpp/HDF5Scilab.hxx:
+
+/usr/include/c++/5/vector:
+
+/usr/include/c++/5/bits/stl_algobase.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/c++config.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/os_defines.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/include/x86_64-linux-gnu/c++/5/bits/cpu_defines.h:
+
+/usr/include/c++/5/bits/functexcept.h:
+
+/usr/include/c++/5/bits/exception_defines.h:
+
+/usr/include/c++/5/bits/cpp_type_traits.h:
+
+/usr/include/c++/5/ext/type_traits.h:
+
+/usr/include/c++/5/ext/numeric_traits.h:
+
+/usr/include/c++/5/bits/stl_pair.h:
+
+/usr/include/c++/5/bits/move.h:
+
+/usr/include/c++/5/bits/concept_check.h:
+
+/usr/include/c++/5/bits/stl_iterator_base_types.h:
+
+/usr/include/c++/5/bits/stl_iterator_base_funcs.h:
+
+/usr/include/c++/5/debug/debug.h:
+
+/usr/include/c++/5/bits/stl_iterator.h:
+
+/usr/include/c++/5/bits/ptr_traits.h:
+
+/usr/include/c++/5/bits/predefined_ops.h:
+
+/usr/include/c++/5/bits/allocator.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/c++allocator.h:
+
+/usr/include/c++/5/ext/new_allocator.h:
+
+/usr/include/c++/5/new:
+
+/usr/include/c++/5/exception:
+
+/usr/include/c++/5/bits/atomic_lockfree_defines.h:
+
+/usr/include/c++/5/bits/memoryfwd.h:
+
+/usr/include/c++/5/bits/stl_construct.h:
+
+/usr/include/c++/5/ext/alloc_traits.h:
+
+/usr/include/c++/5/bits/stl_uninitialized.h:
+
+/usr/include/c++/5/bits/stl_vector.h:
+
+/usr/include/c++/5/bits/stl_bvector.h:
+
+/usr/include/c++/5/bits/range_access.h:
+
+/usr/include/c++/5/bits/vector.tcc:
+
+/usr/include/c++/5/map:
+
+/usr/include/c++/5/bits/stl_tree.h:
+
+/usr/include/c++/5/bits/stl_function.h:
+
+/usr/include/c++/5/backward/binders.h:
+
+/usr/include/c++/5/bits/stl_map.h:
+
+/usr/include/c++/5/bits/stl_multimap.h:
+
+src/cpp/H5Options.hxx:
+
+/usr/include/c++/5/algorithm:
+
+/usr/include/c++/5/utility:
+
+/usr/include/c++/5/bits/stl_relops.h:
+
+/usr/include/c++/5/bits/stl_algo.h:
+
+/usr/include/c++/5/cstdlib:
+
+/usr/include/stdlib.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/xlocale.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/c++/5/bits/algorithmfwd.h:
+
+/usr/include/c++/5/bits/stl_heap.h:
+
+/usr/include/c++/5/bits/stl_tempbuf.h:
+
+/usr/include/c++/5/string:
+
+/usr/include/c++/5/bits/stringfwd.h:
+
+/usr/include/c++/5/bits/char_traits.h:
+
+/usr/include/c++/5/bits/postypes.h:
+
+/usr/include/c++/5/cwchar:
+
+/usr/include/wchar.h:
+
+/usr/include/stdio.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h:
+
+/usr/include/x86_64-linux-gnu/bits/wchar.h:
+
+/usr/include/x86_64-linux-gnu/bits/wchar2.h:
+
+/usr/include/c++/5/bits/localefwd.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/c++locale.h:
+
+/usr/include/c++/5/clocale:
+
+/usr/include/locale.h:
+
+/usr/include/x86_64-linux-gnu/bits/locale.h:
+
+/usr/include/c++/5/iosfwd:
+
+/usr/include/c++/5/cctype:
+
+/usr/include/ctype.h:
+
+/usr/include/c++/5/bits/ostream_insert.h:
+
+/usr/include/c++/5/bits/cxxabi_forced.h:
+
+/usr/include/c++/5/bits/basic_string.h:
+
+/usr/include/c++/5/ext/atomicity.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/gthr.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/gthr-default.h:
+
+/usr/include/pthread.h:
+
+/usr/include/sched.h:
+
+/usr/include/x86_64-linux-gnu/bits/sched.h:
+
+/usr/include/x86_64-linux-gnu/bits/timex.h:
+
+/usr/include/x86_64-linux-gnu/bits/setjmp.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/atomic_word.h:
+
+/usr/include/c++/5/bits/basic_string.tcc:
+
+src/cpp/H5Exception.hxx:
+
+../../modules/localization/includes/localization.h:
+
+../../modules/core/includes/machine.h:
+
+/usr/include/libintl.h:
+
+../../modules/core/includes/backtrace_print.h:
+
+includes/HDF5Objects.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/hdf5.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5public.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5pubconf.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5version.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h:
+
+/usr/include/limits.h:
+
+/usr/include/x86_64-linux-gnu/bits/posix1_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/local_lim.h:
+
+/usr/include/linux/limits.h:
+
+/usr/include/x86_64-linux-gnu/bits/posix2_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/xopen_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio_lim.h:
+
+/usr/include/inttypes.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stdint.h:
+
+/usr/include/stdint.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5api_adpt.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Apublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Ipublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Opublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Lpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Tpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5ACpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Cpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Dpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Epublic.h:
+
+/usr/include/libio.h:
+
+/usr/include/_G_config.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:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Epubgen.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Fpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Gpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5MMpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Ppublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Zpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Rpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Spublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDcore.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDfamily.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDlog.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDmpi.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDmpio.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDmpiposix.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDmulti.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDsec2.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDstdio.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDdirect.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/hdf5_hl.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5DSpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5LTpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5IMpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5TBpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5PTpublic.h:
+
+/usr/include/c++/5/sstream:
+
+/usr/include/c++/5/istream:
+
+/usr/include/c++/5/ios:
+
+/usr/include/c++/5/bits/ios_base.h:
+
+/usr/include/c++/5/bits/locale_classes.h:
+
+/usr/include/c++/5/bits/locale_classes.tcc:
+
+/usr/include/c++/5/stdexcept:
+
+/usr/include/c++/5/streambuf:
+
+/usr/include/c++/5/bits/streambuf.tcc:
+
+/usr/include/c++/5/bits/basic_ios.h:
+
+/usr/include/c++/5/bits/locale_facets.h:
+
+/usr/include/c++/5/cwctype:
+
+/usr/include/wctype.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/ctype_base.h:
+
+/usr/include/c++/5/bits/streambuf_iterator.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/ctype_inline.h:
+
+/usr/include/c++/5/bits/locale_facets.tcc:
+
+/usr/include/c++/5/bits/basic_ios.tcc:
+
+/usr/include/c++/5/ostream:
+
+/usr/include/c++/5/bits/ostream.tcc:
+
+/usr/include/c++/5/bits/istream.tcc:
+
+/usr/include/c++/5/bits/sstream.tcc:
+
+/usr/include/c++/5/cstdio:
+
+src/cpp/H5Object.hxx:
+
+/usr/include/c++/5/iostream:
+
+/usr/include/c++/5/iomanip:
+
+/usr/include/c++/5/limits:
+
+/usr/include/c++/5/set:
+
+/usr/include/c++/5/bits/stl_set.h:
+
+/usr/include/c++/5/bits/stl_multiset.h:
+
+../../modules/core/includes/MALLOC.h:
+
+../../modules/core/includes/sci_mem_alloc.h:
+
+../../modules/output_stream/includes/Scierror.h:
+
+../../modules/output_stream/includes/do_error_number.h:
+
+../../modules/api_scilab/includes/api_scilab.h:
+
+../../modules/core/includes/stack-c.h:
+
+/usr/include/string.h:
+
+/usr/include/x86_64-linux-gnu/bits/string3.h:
+
+../../modules/core/includes/core_math.h:
+
+/usr/include/math.h:
+
+/usr/include/x86_64-linux-gnu/bits/math-vector.h:
+
+/usr/include/x86_64-linux-gnu/bits/libm-simd-decl-stubs.h:
+
+/usr/include/x86_64-linux-gnu/bits/huge_val.h:
+
+/usr/include/x86_64-linux-gnu/bits/huge_valf.h:
+
+/usr/include/x86_64-linux-gnu/bits/huge_vall.h:
+
+/usr/include/x86_64-linux-gnu/bits/inf.h:
+
+/usr/include/x86_64-linux-gnu/bits/nan.h:
+
+/usr/include/x86_64-linux-gnu/bits/mathdef.h:
+
+/usr/include/x86_64-linux-gnu/bits/mathcalls.h:
+
+/usr/include/x86_64-linux-gnu/bits/mathinline.h:
+
+/usr/include/values.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/float.h:
+
+../../modules/core/includes/stack-def.h:
+
+../../modules/core/includes/machine.h:
+
+../../modules/core/includes/stackTypeVariable.h:
+
+../../modules/core/includes/BOOL.h:
+
+../../modules/core/includes/doublecomplex.h:
+
+../../modules/core/includes/stack1.h:
+
+../../modules/core/includes/scisparse.h:
+
+../../modules/core/includes/stack2.h:
+
+../../modules/core/includes/stack3.h:
+
+../../modules/core/includes/stack-optional.h:
+
+../../modules/core/includes/sci_types.h:
+
+../../modules/api_scilab/includes/api_common.h:
+
+../../modules/api_scilab/includes/api_scilab.h:
+
+../../modules/api_scilab/includes/api_double.h:
+
+../../modules/core/includes/doublecomplex.h:
+
+../../modules/api_scilab/includes/api_string.h:
+
+../../modules/api_scilab/includes/api_int.h:
+
+../../modules/api_scilab/includes/api_poly.h:
+
+../../modules/api_scilab/includes/api_sparse.h:
+
+../../modules/api_scilab/includes/api_boolean.h:
+
+../../modules/api_scilab/includes/api_boolean_sparse.h:
+
+../../modules/api_scilab/includes/api_pointer.h:
+
+../../modules/api_scilab/includes/api_list.h:
+
+../../modules/api_scilab/includes/api_error.h:
+
+../../modules/api_scilab/includes/api_handle.h:
+
+../../modules/api_scilab/includes/api_optional.h:
+
+../../modules/core/includes/stack-optional.h:
+
+../../modules/api_scilab/includes/api_hypermat.h:
+
+../../modules/core/includes/core_math.h:
+
+../../modules/core/includes/sci_types.h:
+
+src/cpp/H5VariableScope.hxx:
+
+/usr/include/c++/5/stack:
+
+/usr/include/c++/5/deque:
+
+/usr/include/c++/5/bits/stl_deque.h:
+
+/usr/include/c++/5/bits/deque.tcc:
+
+/usr/include/c++/5/bits/stl_stack.h:
+
+src/cpp/H5File.hxx:
+
+/usr/include/x86_64-linux-gnu/sys/stat.h:
+
+/usr/include/x86_64-linux-gnu/bits/stat.h:
+
+src/cpp/H5Group.hxx:
+
+src/cpp/H5Type.hxx:
+
+src/cpp/H5Dataset.hxx:
+
+src/cpp/H5Data.hxx:
+
+src/cpp/H5Dataspace.hxx:
+
+src/cpp/H5AttributesList.hxx:
+
+src/cpp/H5ListObject.hxx:
+
+src/cpp/H5Attribute.hxx:
+
+src/cpp/H5SoftLink.hxx:
+
+src/cpp/H5Link.hxx:
+
+src/cpp/H5ExternalLink.hxx:
+
+src/cpp/H5NamedObjectsList.hxx:
+
+src/cpp/H5BasicData.hxx:
+
+src/cpp/H5DataConverter.hxx:
+
+../../modules/output_stream/includes/sciprint.h:
+
+../../modules/core/includes/BOOL.h:
diff --git a/modules/hdf5/src/cpp/.deps/libscihdf5_algo_la-import_from_hdf5_v1.Plo b/modules/hdf5/src/cpp/.deps/libscihdf5_algo_la-import_from_hdf5_v1.Plo
new file mode 100755
index 000000000..18822fa96
--- /dev/null
+++ b/modules/hdf5/src/cpp/.deps/libscihdf5_algo_la-import_from_hdf5_v1.Plo
@@ -0,0 +1,445 @@
+src/cpp/libscihdf5_algo_la-import_from_hdf5_v1.lo: \
+ src/cpp/import_from_hdf5_v1.cpp /usr/include/stdc-predef.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/hdf5.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5public.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5pubconf.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5version.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/include/x86_64-linux-gnu/sys/types.h \
+ /usr/include/x86_64-linux-gnu/bits/types.h \
+ /usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/time.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.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/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/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h \
+ /usr/include/limits.h /usr/include/x86_64-linux-gnu/bits/posix1_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/local_lim.h \
+ /usr/include/linux/limits.h \
+ /usr/include/x86_64-linux-gnu/bits/posix2_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/xopen_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio_lim.h /usr/include/inttypes.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stdint.h /usr/include/stdint.h \
+ /usr/include/x86_64-linux-gnu/bits/wchar.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5api_adpt.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Apublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Ipublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Opublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Lpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Tpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5ACpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Cpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Dpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Epublic.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/sys_errlist.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio2.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Epubgen.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Fpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Gpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5MMpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Ppublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Zpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Rpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Spublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDcore.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDfamily.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDlog.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDmpi.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDmpio.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDmpiposix.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDmulti.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDsec2.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDstdio.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDdirect.h \
+ /usr/include/string.h /usr/include/xlocale.h \
+ /usr/include/x86_64-linux-gnu/bits/string3.h includes/gw_hdf5.h \
+ includes/dynlib_hdf5_scilab.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/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/output_stream/includes/Scierror.h \
+ ../../modules/output_stream/includes/do_error_number.h \
+ ../../modules/core/includes/machine.h \
+ ../../modules/localization/includes/localization.h \
+ /usr/include/libintl.h ../../modules/output_stream/includes/sciprint.h \
+ ../../modules/core/includes/BOOL.h \
+ ../../modules/api_scilab/includes/api_scilab.h \
+ ../../modules/core/includes/stack-c.h \
+ ../../modules/core/includes/core_math.h /usr/include/math.h \
+ /usr/include/x86_64-linux-gnu/bits/math-vector.h \
+ /usr/include/x86_64-linux-gnu/bits/libm-simd-decl-stubs.h \
+ /usr/include/x86_64-linux-gnu/bits/huge_val.h \
+ /usr/include/x86_64-linux-gnu/bits/huge_valf.h \
+ /usr/include/x86_64-linux-gnu/bits/huge_vall.h \
+ /usr/include/x86_64-linux-gnu/bits/inf.h \
+ /usr/include/x86_64-linux-gnu/bits/nan.h \
+ /usr/include/x86_64-linux-gnu/bits/mathdef.h \
+ /usr/include/x86_64-linux-gnu/bits/mathcalls.h \
+ /usr/include/x86_64-linux-gnu/bits/mathinline.h /usr/include/values.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/float.h \
+ ../../modules/core/includes/stack-def.h \
+ ../../modules/core/includes/machine.h \
+ ../../modules/core/includes/stackTypeVariable.h \
+ ../../modules/core/includes/BOOL.h \
+ ../../modules/core/includes/doublecomplex.h \
+ ../../modules/core/includes/stack1.h \
+ ../../modules/core/includes/scisparse.h \
+ ../../modules/core/includes/stack2.h \
+ ../../modules/core/includes/stack3.h \
+ ../../modules/core/includes/stack-optional.h \
+ ../../modules/core/includes/sci_types.h \
+ ../../modules/api_scilab/includes/api_common.h \
+ ../../modules/api_scilab/includes/api_scilab.h \
+ ../../modules/api_scilab/includes/api_double.h \
+ ../../modules/core/includes/doublecomplex.h \
+ ../../modules/api_scilab/includes/api_string.h \
+ /usr/include/x86_64-linux-gnu/bits/wchar2.h \
+ ../../modules/api_scilab/includes/api_int.h \
+ ../../modules/api_scilab/includes/api_poly.h \
+ ../../modules/api_scilab/includes/api_sparse.h \
+ ../../modules/api_scilab/includes/api_boolean.h \
+ ../../modules/api_scilab/includes/api_boolean_sparse.h \
+ ../../modules/api_scilab/includes/api_pointer.h \
+ ../../modules/api_scilab/includes/api_list.h \
+ ../../modules/api_scilab/includes/api_error.h \
+ ../../modules/api_scilab/includes/api_handle.h \
+ ../../modules/api_scilab/includes/api_optional.h \
+ ../../modules/core/includes/stack-optional.h \
+ ../../modules/api_scilab/includes/api_hypermat.h \
+ ../../modules/core/includes/core_math.h \
+ ../../modules/core/includes/sci_types.h \
+ src/cpp/../../../call_scilab/includes/call_scilab.h \
+ includes/h5_fileManagement.h includes/h5_readDataFromFile_v1.h \
+ includes/h5_attributeConstants.h \
+ ../../modules/core/includes/intmacr2tree.h \
+ ../../modules/core/includes/stack-c.h \
+ ../../modules/core/includes/Funtab.h \
+ ../../modules/fileio/includes/expandPathVariable.h \
+ ../../modules/fileio/includes/dynlib_fileio.h \
+ ../../modules/core/includes/freeArrayOfString.h
+
+/usr/include/stdc-predef.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/hdf5.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5public.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5pubconf.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5version.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/include/x86_64-linux-gnu/sys/types.h:
+
+/usr/include/x86_64-linux-gnu/bits/types.h:
+
+/usr/include/x86_64-linux-gnu/bits/typesizes.h:
+
+/usr/include/time.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.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/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/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h:
+
+/usr/include/limits.h:
+
+/usr/include/x86_64-linux-gnu/bits/posix1_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/local_lim.h:
+
+/usr/include/linux/limits.h:
+
+/usr/include/x86_64-linux-gnu/bits/posix2_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/xopen_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio_lim.h:
+
+/usr/include/inttypes.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stdint.h:
+
+/usr/include/stdint.h:
+
+/usr/include/x86_64-linux-gnu/bits/wchar.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5api_adpt.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Apublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Ipublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Opublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Lpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Tpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5ACpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Cpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Dpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Epublic.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/sys_errlist.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio2.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Epubgen.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Fpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Gpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5MMpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Ppublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Zpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Rpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Spublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDcore.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDfamily.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDlog.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDmpi.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDmpio.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDmpiposix.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDmulti.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDsec2.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDstdio.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDdirect.h:
+
+/usr/include/string.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/x86_64-linux-gnu/bits/string3.h:
+
+includes/gw_hdf5.h:
+
+includes/dynlib_hdf5_scilab.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/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/output_stream/includes/Scierror.h:
+
+../../modules/output_stream/includes/do_error_number.h:
+
+../../modules/core/includes/machine.h:
+
+../../modules/localization/includes/localization.h:
+
+/usr/include/libintl.h:
+
+../../modules/output_stream/includes/sciprint.h:
+
+../../modules/core/includes/BOOL.h:
+
+../../modules/api_scilab/includes/api_scilab.h:
+
+../../modules/core/includes/stack-c.h:
+
+../../modules/core/includes/core_math.h:
+
+/usr/include/math.h:
+
+/usr/include/x86_64-linux-gnu/bits/math-vector.h:
+
+/usr/include/x86_64-linux-gnu/bits/libm-simd-decl-stubs.h:
+
+/usr/include/x86_64-linux-gnu/bits/huge_val.h:
+
+/usr/include/x86_64-linux-gnu/bits/huge_valf.h:
+
+/usr/include/x86_64-linux-gnu/bits/huge_vall.h:
+
+/usr/include/x86_64-linux-gnu/bits/inf.h:
+
+/usr/include/x86_64-linux-gnu/bits/nan.h:
+
+/usr/include/x86_64-linux-gnu/bits/mathdef.h:
+
+/usr/include/x86_64-linux-gnu/bits/mathcalls.h:
+
+/usr/include/x86_64-linux-gnu/bits/mathinline.h:
+
+/usr/include/values.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/float.h:
+
+../../modules/core/includes/stack-def.h:
+
+../../modules/core/includes/machine.h:
+
+../../modules/core/includes/stackTypeVariable.h:
+
+../../modules/core/includes/BOOL.h:
+
+../../modules/core/includes/doublecomplex.h:
+
+../../modules/core/includes/stack1.h:
+
+../../modules/core/includes/scisparse.h:
+
+../../modules/core/includes/stack2.h:
+
+../../modules/core/includes/stack3.h:
+
+../../modules/core/includes/stack-optional.h:
+
+../../modules/core/includes/sci_types.h:
+
+../../modules/api_scilab/includes/api_common.h:
+
+../../modules/api_scilab/includes/api_scilab.h:
+
+../../modules/api_scilab/includes/api_double.h:
+
+../../modules/core/includes/doublecomplex.h:
+
+../../modules/api_scilab/includes/api_string.h:
+
+/usr/include/x86_64-linux-gnu/bits/wchar2.h:
+
+../../modules/api_scilab/includes/api_int.h:
+
+../../modules/api_scilab/includes/api_poly.h:
+
+../../modules/api_scilab/includes/api_sparse.h:
+
+../../modules/api_scilab/includes/api_boolean.h:
+
+../../modules/api_scilab/includes/api_boolean_sparse.h:
+
+../../modules/api_scilab/includes/api_pointer.h:
+
+../../modules/api_scilab/includes/api_list.h:
+
+../../modules/api_scilab/includes/api_error.h:
+
+../../modules/api_scilab/includes/api_handle.h:
+
+../../modules/api_scilab/includes/api_optional.h:
+
+../../modules/core/includes/stack-optional.h:
+
+../../modules/api_scilab/includes/api_hypermat.h:
+
+../../modules/core/includes/core_math.h:
+
+../../modules/core/includes/sci_types.h:
+
+src/cpp/../../../call_scilab/includes/call_scilab.h:
+
+includes/h5_fileManagement.h:
+
+includes/h5_readDataFromFile_v1.h:
+
+includes/h5_attributeConstants.h:
+
+../../modules/core/includes/intmacr2tree.h:
+
+../../modules/core/includes/stack-c.h:
+
+../../modules/core/includes/Funtab.h:
+
+../../modules/fileio/includes/expandPathVariable.h:
+
+../../modules/fileio/includes/dynlib_fileio.h:
+
+../../modules/core/includes/freeArrayOfString.h:
diff --git a/modules/hdf5/src/cpp/.deps/libscihdf5_algo_la-listvar_in_hdf5_v1.Plo b/modules/hdf5/src/cpp/.deps/libscihdf5_algo_la-listvar_in_hdf5_v1.Plo
new file mode 100755
index 000000000..c2efbdc21
--- /dev/null
+++ b/modules/hdf5/src/cpp/.deps/libscihdf5_algo_la-listvar_in_hdf5_v1.Plo
@@ -0,0 +1,528 @@
+src/cpp/libscihdf5_algo_la-listvar_in_hdf5_v1.lo: \
+ src/cpp/listvar_in_hdf5_v1.cpp /usr/include/stdc-predef.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/hdf5.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5public.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5pubconf.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5version.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/include/x86_64-linux-gnu/sys/types.h \
+ /usr/include/x86_64-linux-gnu/bits/types.h \
+ /usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/time.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.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/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/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h \
+ /usr/include/limits.h /usr/include/x86_64-linux-gnu/bits/posix1_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/local_lim.h \
+ /usr/include/linux/limits.h \
+ /usr/include/x86_64-linux-gnu/bits/posix2_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/xopen_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio_lim.h /usr/include/inttypes.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/stdint.h /usr/include/stdint.h \
+ /usr/include/x86_64-linux-gnu/bits/wchar.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5api_adpt.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Apublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Ipublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Opublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Lpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Tpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5ACpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Cpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Dpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Epublic.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/sys_errlist.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio2.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Epubgen.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Fpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Gpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5MMpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Ppublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Zpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Rpublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5Spublic.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDcore.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDfamily.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDlog.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDmpi.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDmpio.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDmpiposix.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDmulti.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDsec2.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDstdio.h \
+ /home/shashank/scilab-master_5.5.2/usr/include/H5FDdirect.h \
+ /usr/include/string.h /usr/include/xlocale.h \
+ /usr/include/x86_64-linux-gnu/bits/string3.h includes/gw_hdf5.h \
+ includes/dynlib_hdf5_scilab.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/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/output_stream/includes/Scierror.h \
+ ../../modules/output_stream/includes/do_error_number.h \
+ ../../modules/core/includes/machine.h \
+ ../../modules/localization/includes/localization.h \
+ /usr/include/libintl.h ../../modules/output_stream/includes/sciprint.h \
+ ../../modules/core/includes/BOOL.h \
+ ../../modules/api_scilab/includes/api_scilab.h \
+ ../../modules/core/includes/stack-c.h \
+ ../../modules/core/includes/core_math.h /usr/include/math.h \
+ /usr/include/x86_64-linux-gnu/bits/math-vector.h \
+ /usr/include/x86_64-linux-gnu/bits/libm-simd-decl-stubs.h \
+ /usr/include/x86_64-linux-gnu/bits/huge_val.h \
+ /usr/include/x86_64-linux-gnu/bits/huge_valf.h \
+ /usr/include/x86_64-linux-gnu/bits/huge_vall.h \
+ /usr/include/x86_64-linux-gnu/bits/inf.h \
+ /usr/include/x86_64-linux-gnu/bits/nan.h \
+ /usr/include/x86_64-linux-gnu/bits/mathdef.h \
+ /usr/include/x86_64-linux-gnu/bits/mathcalls.h \
+ /usr/include/x86_64-linux-gnu/bits/mathinline.h /usr/include/values.h \
+ /usr/lib/gcc/x86_64-linux-gnu/5/include/float.h \
+ ../../modules/core/includes/stack-def.h \
+ ../../modules/core/includes/machine.h \
+ ../../modules/core/includes/stackTypeVariable.h \
+ ../../modules/core/includes/BOOL.h \
+ ../../modules/core/includes/doublecomplex.h \
+ ../../modules/core/includes/stack1.h \
+ ../../modules/core/includes/scisparse.h \
+ ../../modules/core/includes/stack2.h \
+ ../../modules/core/includes/stack3.h \
+ ../../modules/core/includes/stack-optional.h \
+ ../../modules/core/includes/sci_types.h \
+ ../../modules/api_scilab/includes/api_common.h \
+ ../../modules/api_scilab/includes/api_scilab.h \
+ ../../modules/api_scilab/includes/api_double.h \
+ ../../modules/core/includes/doublecomplex.h \
+ ../../modules/api_scilab/includes/api_string.h \
+ /usr/include/x86_64-linux-gnu/bits/wchar2.h \
+ ../../modules/api_scilab/includes/api_int.h \
+ ../../modules/api_scilab/includes/api_poly.h \
+ ../../modules/api_scilab/includes/api_sparse.h \
+ ../../modules/api_scilab/includes/api_boolean.h \
+ ../../modules/api_scilab/includes/api_boolean_sparse.h \
+ ../../modules/api_scilab/includes/api_pointer.h \
+ ../../modules/api_scilab/includes/api_list.h \
+ ../../modules/api_scilab/includes/api_error.h \
+ ../../modules/api_scilab/includes/api_handle.h \
+ ../../modules/api_scilab/includes/api_optional.h \
+ ../../modules/core/includes/stack-optional.h \
+ ../../modules/api_scilab/includes/api_hypermat.h \
+ ../../modules/core/includes/core_math.h \
+ ../../modules/core/includes/sci_types.h \
+ src/cpp/../../../call_scilab/includes/call_scilab.h \
+ includes/h5_fileManagement.h includes/h5_readDataFromFile_v1.h \
+ ../../modules/fileio/includes/expandPathVariable.h \
+ ../../modules/fileio/includes/dynlib_fileio.h \
+ ../../modules/core/includes/freeArrayOfString.h \
+ /usr/include/c++/5/vector /usr/include/c++/5/bits/stl_algobase.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/c++config.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/os_defines.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/cpu_defines.h \
+ /usr/include/c++/5/bits/functexcept.h \
+ /usr/include/c++/5/bits/exception_defines.h \
+ /usr/include/c++/5/bits/cpp_type_traits.h \
+ /usr/include/c++/5/ext/type_traits.h \
+ /usr/include/c++/5/ext/numeric_traits.h \
+ /usr/include/c++/5/bits/stl_pair.h /usr/include/c++/5/bits/move.h \
+ /usr/include/c++/5/bits/concept_check.h \
+ /usr/include/c++/5/bits/stl_iterator_base_types.h \
+ /usr/include/c++/5/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/5/debug/debug.h /usr/include/c++/5/bits/stl_iterator.h \
+ /usr/include/c++/5/bits/ptr_traits.h \
+ /usr/include/c++/5/bits/predefined_ops.h \
+ /usr/include/c++/5/bits/allocator.h \
+ /usr/include/x86_64-linux-gnu/c++/5/bits/c++allocator.h \
+ /usr/include/c++/5/ext/new_allocator.h /usr/include/c++/5/new \
+ /usr/include/c++/5/exception \
+ /usr/include/c++/5/bits/atomic_lockfree_defines.h \
+ /usr/include/c++/5/bits/memoryfwd.h \
+ /usr/include/c++/5/bits/stl_construct.h \
+ /usr/include/c++/5/ext/alloc_traits.h \
+ /usr/include/c++/5/bits/stl_uninitialized.h \
+ /usr/include/c++/5/bits/stl_vector.h \
+ /usr/include/c++/5/bits/stl_bvector.h \
+ /usr/include/c++/5/bits/range_access.h \
+ /usr/include/c++/5/bits/vector.tcc
+
+/usr/include/stdc-predef.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/hdf5.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5public.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5pubconf.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5version.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/include/x86_64-linux-gnu/sys/types.h:
+
+/usr/include/x86_64-linux-gnu/bits/types.h:
+
+/usr/include/x86_64-linux-gnu/bits/typesizes.h:
+
+/usr/include/time.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.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/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/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h:
+
+/usr/include/limits.h:
+
+/usr/include/x86_64-linux-gnu/bits/posix1_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/local_lim.h:
+
+/usr/include/linux/limits.h:
+
+/usr/include/x86_64-linux-gnu/bits/posix2_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/xopen_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio_lim.h:
+
+/usr/include/inttypes.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/stdint.h:
+
+/usr/include/stdint.h:
+
+/usr/include/x86_64-linux-gnu/bits/wchar.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5api_adpt.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Apublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Ipublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Opublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Lpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Tpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5ACpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Cpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Dpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Epublic.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/sys_errlist.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio2.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Epubgen.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Fpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Gpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5MMpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Ppublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Zpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Rpublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5Spublic.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDcore.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDfamily.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDlog.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDmpi.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDmpio.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDmpiposix.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDmulti.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDsec2.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDstdio.h:
+
+/home/shashank/scilab-master_5.5.2/usr/include/H5FDdirect.h:
+
+/usr/include/string.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/x86_64-linux-gnu/bits/string3.h:
+
+includes/gw_hdf5.h:
+
+includes/dynlib_hdf5_scilab.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/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/output_stream/includes/Scierror.h:
+
+../../modules/output_stream/includes/do_error_number.h:
+
+../../modules/core/includes/machine.h:
+
+../../modules/localization/includes/localization.h:
+
+/usr/include/libintl.h:
+
+../../modules/output_stream/includes/sciprint.h:
+
+../../modules/core/includes/BOOL.h:
+
+../../modules/api_scilab/includes/api_scilab.h:
+
+../../modules/core/includes/stack-c.h:
+
+../../modules/core/includes/core_math.h:
+
+/usr/include/math.h:
+
+/usr/include/x86_64-linux-gnu/bits/math-vector.h:
+
+/usr/include/x86_64-linux-gnu/bits/libm-simd-decl-stubs.h:
+
+/usr/include/x86_64-linux-gnu/bits/huge_val.h:
+
+/usr/include/x86_64-linux-gnu/bits/huge_valf.h:
+
+/usr/include/x86_64-linux-gnu/bits/huge_vall.h:
+
+/usr/include/x86_64-linux-gnu/bits/inf.h:
+
+/usr/include/x86_64-linux-gnu/bits/nan.h:
+
+/usr/include/x86_64-linux-gnu/bits/mathdef.h:
+
+/usr/include/x86_64-linux-gnu/bits/mathcalls.h:
+
+/usr/include/x86_64-linux-gnu/bits/mathinline.h:
+
+/usr/include/values.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/5/include/float.h:
+
+../../modules/core/includes/stack-def.h:
+
+../../modules/core/includes/machine.h:
+
+../../modules/core/includes/stackTypeVariable.h:
+
+../../modules/core/includes/BOOL.h:
+
+../../modules/core/includes/doublecomplex.h:
+
+../../modules/core/includes/stack1.h:
+
+../../modules/core/includes/scisparse.h:
+
+../../modules/core/includes/stack2.h:
+
+../../modules/core/includes/stack3.h:
+
+../../modules/core/includes/stack-optional.h:
+
+../../modules/core/includes/sci_types.h:
+
+../../modules/api_scilab/includes/api_common.h:
+
+../../modules/api_scilab/includes/api_scilab.h:
+
+../../modules/api_scilab/includes/api_double.h:
+
+../../modules/core/includes/doublecomplex.h:
+
+../../modules/api_scilab/includes/api_string.h:
+
+/usr/include/x86_64-linux-gnu/bits/wchar2.h:
+
+../../modules/api_scilab/includes/api_int.h:
+
+../../modules/api_scilab/includes/api_poly.h:
+
+../../modules/api_scilab/includes/api_sparse.h:
+
+../../modules/api_scilab/includes/api_boolean.h:
+
+../../modules/api_scilab/includes/api_boolean_sparse.h:
+
+../../modules/api_scilab/includes/api_pointer.h:
+
+../../modules/api_scilab/includes/api_list.h:
+
+../../modules/api_scilab/includes/api_error.h:
+
+../../modules/api_scilab/includes/api_handle.h:
+
+../../modules/api_scilab/includes/api_optional.h:
+
+../../modules/core/includes/stack-optional.h:
+
+../../modules/api_scilab/includes/api_hypermat.h:
+
+../../modules/core/includes/core_math.h:
+
+../../modules/core/includes/sci_types.h:
+
+src/cpp/../../../call_scilab/includes/call_scilab.h:
+
+includes/h5_fileManagement.h:
+
+includes/h5_readDataFromFile_v1.h:
+
+../../modules/fileio/includes/expandPathVariable.h:
+
+../../modules/fileio/includes/dynlib_fileio.h:
+
+../../modules/core/includes/freeArrayOfString.h:
+
+/usr/include/c++/5/vector:
+
+/usr/include/c++/5/bits/stl_algobase.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/c++config.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/os_defines.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/cpu_defines.h:
+
+/usr/include/c++/5/bits/functexcept.h:
+
+/usr/include/c++/5/bits/exception_defines.h:
+
+/usr/include/c++/5/bits/cpp_type_traits.h:
+
+/usr/include/c++/5/ext/type_traits.h:
+
+/usr/include/c++/5/ext/numeric_traits.h:
+
+/usr/include/c++/5/bits/stl_pair.h:
+
+/usr/include/c++/5/bits/move.h:
+
+/usr/include/c++/5/bits/concept_check.h:
+
+/usr/include/c++/5/bits/stl_iterator_base_types.h:
+
+/usr/include/c++/5/bits/stl_iterator_base_funcs.h:
+
+/usr/include/c++/5/debug/debug.h:
+
+/usr/include/c++/5/bits/stl_iterator.h:
+
+/usr/include/c++/5/bits/ptr_traits.h:
+
+/usr/include/c++/5/bits/predefined_ops.h:
+
+/usr/include/c++/5/bits/allocator.h:
+
+/usr/include/x86_64-linux-gnu/c++/5/bits/c++allocator.h:
+
+/usr/include/c++/5/ext/new_allocator.h:
+
+/usr/include/c++/5/new:
+
+/usr/include/c++/5/exception:
+
+/usr/include/c++/5/bits/atomic_lockfree_defines.h:
+
+/usr/include/c++/5/bits/memoryfwd.h:
+
+/usr/include/c++/5/bits/stl_construct.h:
+
+/usr/include/c++/5/ext/alloc_traits.h:
+
+/usr/include/c++/5/bits/stl_uninitialized.h:
+
+/usr/include/c++/5/bits/stl_vector.h:
+
+/usr/include/c++/5/bits/stl_bvector.h:
+
+/usr/include/c++/5/bits/range_access.h:
+
+/usr/include/c++/5/bits/vector.tcc:
diff --git a/modules/hdf5/src/cpp/.dirstamp b/modules/hdf5/src/cpp/.dirstamp
new file mode 100755
index 000000000..e69de29bb
--- /dev/null
+++ b/modules/hdf5/src/cpp/.dirstamp
diff --git a/modules/hdf5/src/cpp/.libs/libscihdf5_algo_la-H5ArrayData.o b/modules/hdf5/src/cpp/.libs/libscihdf5_algo_la-H5ArrayData.o
new file mode 100755
index 000000000..97f754f71
--- /dev/null
+++ b/modules/hdf5/src/cpp/.libs/libscihdf5_algo_la-H5ArrayData.o
Binary files differ
diff --git a/modules/hdf5/src/cpp/.libs/libscihdf5_algo_la-H5Attribute.o b/modules/hdf5/src/cpp/.libs/libscihdf5_algo_la-H5Attribute.o
new file mode 100755
index 000000000..b9f88c26f
--- /dev/null
+++ b/modules/hdf5/src/cpp/.libs/libscihdf5_algo_la-H5Attribute.o
Binary files differ
diff --git a/modules/hdf5/src/cpp/.libs/libscihdf5_algo_la-H5AttributesList.o b/modules/hdf5/src/cpp/.libs/libscihdf5_algo_la-H5AttributesList.o
new file mode 100755
index 000000000..0862a9556
--- /dev/null
+++ b/modules/hdf5/src/cpp/.libs/libscihdf5_algo_la-H5AttributesList.o
Binary files differ
diff --git a/modules/hdf5/src/cpp/.libs/libscihdf5_algo_la-H5CompoundData.o b/modules/hdf5/src/cpp/.libs/libscihdf5_algo_la-H5CompoundData.o
new file mode 100755
index 000000000..311889494
--- /dev/null
+++ b/modules/hdf5/src/cpp/.libs/libscihdf5_algo_la-H5CompoundData.o
Binary files differ
diff --git a/modules/hdf5/src/cpp/.libs/libscihdf5_algo_la-H5DataConverter.o b/modules/hdf5/src/cpp/.libs/libscihdf5_algo_la-H5DataConverter.o
new file mode 100755
index 000000000..45367a3e8
--- /dev/null
+++ b/modules/hdf5/src/cpp/.libs/libscihdf5_algo_la-H5DataConverter.o
Binary files differ
diff --git a/modules/hdf5/src/cpp/.libs/libscihdf5_algo_la-H5DataFactory.o b/modules/hdf5/src/cpp/.libs/libscihdf5_algo_la-H5DataFactory.o
new file mode 100755
index 000000000..b85269b60
--- /dev/null
+++ b/modules/hdf5/src/cpp/.libs/libscihdf5_algo_la-H5DataFactory.o
Binary files differ
diff --git a/modules/hdf5/src/cpp/.libs/libscihdf5_algo_la-H5Dataset.o b/modules/hdf5/src/cpp/.libs/libscihdf5_algo_la-H5Dataset.o
new file mode 100755
index 000000000..cf610955d
--- /dev/null
+++ b/modules/hdf5/src/cpp/.libs/libscihdf5_algo_la-H5Dataset.o
Binary files differ
diff --git a/modules/hdf5/src/cpp/.libs/libscihdf5_algo_la-H5Dataspace.o b/modules/hdf5/src/cpp/.libs/libscihdf5_algo_la-H5Dataspace.o
new file mode 100755
index 000000000..7e8f733cc
--- /dev/null
+++ b/modules/hdf5/src/cpp/.libs/libscihdf5_algo_la-H5Dataspace.o
Binary files differ
diff --git a/modules/hdf5/src/cpp/.libs/libscihdf5_algo_la-H5ExternalLink.o b/modules/hdf5/src/cpp/.libs/libscihdf5_algo_la-H5ExternalLink.o
new file mode 100755
index 000000000..505c30a66
--- /dev/null
+++ b/modules/hdf5/src/cpp/.libs/libscihdf5_algo_la-H5ExternalLink.o
Binary files differ
diff --git a/modules/hdf5/src/cpp/.libs/libscihdf5_algo_la-H5File.o b/modules/hdf5/src/cpp/.libs/libscihdf5_algo_la-H5File.o
new file mode 100755
index 000000000..b6703ce52
--- /dev/null
+++ b/modules/hdf5/src/cpp/.libs/libscihdf5_algo_la-H5File.o
Binary files differ
diff --git a/modules/hdf5/src/cpp/.libs/libscihdf5_algo_la-H5Group.o b/modules/hdf5/src/cpp/.libs/libscihdf5_algo_la-H5Group.o
new file mode 100755
index 000000000..e431663fb
--- /dev/null
+++ b/modules/hdf5/src/cpp/.libs/libscihdf5_algo_la-H5Group.o
Binary files differ
diff --git a/modules/hdf5/src/cpp/.libs/libscihdf5_algo_la-H5HardLink.o b/modules/hdf5/src/cpp/.libs/libscihdf5_algo_la-H5HardLink.o
new file mode 100755
index 000000000..0b1f2c153
--- /dev/null
+++ b/modules/hdf5/src/cpp/.libs/libscihdf5_algo_la-H5HardLink.o
Binary files differ
diff --git a/modules/hdf5/src/cpp/.libs/libscihdf5_algo_la-H5Link.o b/modules/hdf5/src/cpp/.libs/libscihdf5_algo_la-H5Link.o
new file mode 100755
index 000000000..b86b4dc69
--- /dev/null
+++ b/modules/hdf5/src/cpp/.libs/libscihdf5_algo_la-H5Link.o
Binary files differ
diff --git a/modules/hdf5/src/cpp/.libs/libscihdf5_algo_la-H5Object.o b/modules/hdf5/src/cpp/.libs/libscihdf5_algo_la-H5Object.o
new file mode 100755
index 000000000..4ed883df4
--- /dev/null
+++ b/modules/hdf5/src/cpp/.libs/libscihdf5_algo_la-H5Object.o
Binary files differ
diff --git a/modules/hdf5/src/cpp/.libs/libscihdf5_algo_la-H5Options.o b/modules/hdf5/src/cpp/.libs/libscihdf5_algo_la-H5Options.o
new file mode 100755
index 000000000..77eb65ed0
--- /dev/null
+++ b/modules/hdf5/src/cpp/.libs/libscihdf5_algo_la-H5Options.o
Binary files differ
diff --git a/modules/hdf5/src/cpp/.libs/libscihdf5_algo_la-H5ReferenceData.o b/modules/hdf5/src/cpp/.libs/libscihdf5_algo_la-H5ReferenceData.o
new file mode 100755
index 000000000..ca56953fa
--- /dev/null
+++ b/modules/hdf5/src/cpp/.libs/libscihdf5_algo_la-H5ReferenceData.o
Binary files differ
diff --git a/modules/hdf5/src/cpp/.libs/libscihdf5_algo_la-H5SoftLink.o b/modules/hdf5/src/cpp/.libs/libscihdf5_algo_la-H5SoftLink.o
new file mode 100755
index 000000000..254788802
--- /dev/null
+++ b/modules/hdf5/src/cpp/.libs/libscihdf5_algo_la-H5SoftLink.o
Binary files differ
diff --git a/modules/hdf5/src/cpp/.libs/libscihdf5_algo_la-H5StringData.o b/modules/hdf5/src/cpp/.libs/libscihdf5_algo_la-H5StringData.o
new file mode 100755
index 000000000..42581043c
--- /dev/null
+++ b/modules/hdf5/src/cpp/.libs/libscihdf5_algo_la-H5StringData.o
Binary files differ
diff --git a/modules/hdf5/src/cpp/.libs/libscihdf5_algo_la-H5Type.o b/modules/hdf5/src/cpp/.libs/libscihdf5_algo_la-H5Type.o
new file mode 100755
index 000000000..e7392b600
--- /dev/null
+++ b/modules/hdf5/src/cpp/.libs/libscihdf5_algo_la-H5Type.o
Binary files differ
diff --git a/modules/hdf5/src/cpp/.libs/libscihdf5_algo_la-H5VariableScope.o b/modules/hdf5/src/cpp/.libs/libscihdf5_algo_la-H5VariableScope.o
new file mode 100755
index 000000000..12f623806
--- /dev/null
+++ b/modules/hdf5/src/cpp/.libs/libscihdf5_algo_la-H5VariableScope.o
Binary files differ
diff --git a/modules/hdf5/src/cpp/.libs/libscihdf5_algo_la-H5VlenData.o b/modules/hdf5/src/cpp/.libs/libscihdf5_algo_la-H5VlenData.o
new file mode 100755
index 000000000..32652b57a
--- /dev/null
+++ b/modules/hdf5/src/cpp/.libs/libscihdf5_algo_la-H5VlenData.o
Binary files differ
diff --git a/modules/hdf5/src/cpp/.libs/libscihdf5_algo_la-HDF5Scilab.o b/modules/hdf5/src/cpp/.libs/libscihdf5_algo_la-HDF5Scilab.o
new file mode 100755
index 000000000..7ffd1cec6
--- /dev/null
+++ b/modules/hdf5/src/cpp/.libs/libscihdf5_algo_la-HDF5Scilab.o
Binary files differ
diff --git a/modules/hdf5/src/cpp/.libs/libscihdf5_algo_la-import_from_hdf5_v1.o b/modules/hdf5/src/cpp/.libs/libscihdf5_algo_la-import_from_hdf5_v1.o
new file mode 100755
index 000000000..1d1976102
--- /dev/null
+++ b/modules/hdf5/src/cpp/.libs/libscihdf5_algo_la-import_from_hdf5_v1.o
Binary files differ
diff --git a/modules/hdf5/src/cpp/.libs/libscihdf5_algo_la-listvar_in_hdf5_v1.o b/modules/hdf5/src/cpp/.libs/libscihdf5_algo_la-listvar_in_hdf5_v1.o
new file mode 100755
index 000000000..db4228dd4
--- /dev/null
+++ b/modules/hdf5/src/cpp/.libs/libscihdf5_algo_la-listvar_in_hdf5_v1.o
Binary files differ
diff --git a/modules/hdf5/src/cpp/H5ArrayData.cpp b/modules/hdf5/src/cpp/H5ArrayData.cpp
new file mode 100755
index 000000000..e8a050300
--- /dev/null
+++ b/modules/hdf5/src/cpp/H5ArrayData.cpp
@@ -0,0 +1,124 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2012 - Scilab Enterprises - Calixte DENIZET
+ *
+ * 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 "H5ArrayData.hxx"
+#include "H5DataFactory.hxx"
+
+namespace org_modules_hdf5
+{
+
+H5ArrayData::H5ArrayData(H5Object & _parent, const hsize_t _totalSize, const hsize_t _dataSize, const hsize_t _ndims, const hsize_t * _dims, char * _data, hid_t arrayType, const hsize_t _stride, const size_t _offset, const bool _dataOwner) : H5BasicData<char>(_parent, _totalSize, _dataSize, _ndims, _dims, _data, _stride, _offset, _dataOwner), cumprod(H5Object::getCumProd(_ndims, dims))
+{
+ type = H5Tget_super(arrayType);
+ baseSize = H5Tget_size(type);
+ andims = H5Tget_array_ndims(arrayType);
+ adims = new hsize_t[andims];
+ H5Tget_array_dims(arrayType, adims);
+ atotalSize = 1;
+
+ if (H5Tget_class(type) == H5T_STRING && !H5Tis_variable_str(type))
+ {
+ // We have a C-string so it is null terminated
+ baseSize++;
+ }
+
+ for (unsigned int i = 0; i < andims; i++)
+ {
+ atotalSize *= adims[i];
+ }
+
+}
+
+H5ArrayData::~H5ArrayData()
+{
+ delete[] cumprod;
+ delete[] adims;
+ H5Tclose(type);
+}
+
+bool H5ArrayData::isArray() const
+{
+ return true;
+}
+
+H5Object & H5ArrayData::getData(const unsigned int size, const unsigned int * index) const
+{
+ unsigned int pos = 0;
+ hsize_t * _dims = 0;
+
+ for (unsigned int i = 0; i < size; i++)
+ {
+ pos += (int)cumprod[i] * index[i];
+ }
+
+ if (pos >= totalSize)
+ {
+ throw H5Exception(__LINE__, __FILE__, _("Invalid index."));
+ }
+
+ return H5DataFactory::getObjectData(*const_cast<H5ArrayData *>(this), atotalSize, baseSize, type, andims, adims, static_cast<char *>(data) + offset + pos * (stride ? stride : dataSize), 0, 0, false);
+}
+
+std::string H5ArrayData::toString(const unsigned int indentLevel) const
+{
+ std::ostringstream os;
+ std::string indentString = H5Object::getIndentString(indentLevel + 1);
+
+ os << H5Object::getIndentString(indentLevel) << "HDF5 Array data" << std::endl
+ << indentString << _("Dimensions") << ": [";
+
+ if (ndims == 0)
+ {
+ os << "1 x 1]";
+ }
+ else if (ndims == 1)
+ {
+ os << "1 x " << dims[0] << "]";
+ }
+ else
+ {
+ for (unsigned int i = 0; i < ndims - 1; i++)
+ {
+ os << dims[i] << " x ";
+ }
+ os << dims[ndims - 1] << "]" << std::endl;
+ }
+
+ return os.str();
+}
+
+std::string H5ArrayData::dump(std::map<haddr_t, std::string> & alreadyVisited, const unsigned int indentLevel) const
+{
+ return H5DataConverter::dump(alreadyVisited, indentLevel, (int)ndims, dims, *this, false);
+}
+
+void H5ArrayData::printData(std::ostream & os, const unsigned int pos, const unsigned int indentLevel) const
+{
+ os << "[ ";
+ H5Data & hdata = H5DataFactory::getObjectData(*const_cast<H5ArrayData *>(this), atotalSize, baseSize, type, andims, adims, static_cast<char *>(data) + offset + pos * (stride ? stride : dataSize), 0, 0, false);
+
+ for (unsigned int i = 0; i < atotalSize - 1; i++)
+ {
+ hdata.printData(os, i, indentLevel + 1);
+ os << ", ";
+ }
+ hdata.printData(os, (int)atotalSize - 1, (int)indentLevel + 1);
+ os << " ]";
+
+ delete &hdata;
+}
+
+void H5ArrayData::toScilab(void * pvApiCtx, const int lhsPosition, int * parentList, const int listPosition, const bool flip) const
+{
+ H5Object::toScilab(pvApiCtx, lhsPosition, parentList, listPosition, flip);
+}
+}
diff --git a/modules/hdf5/src/cpp/H5ArrayData.hxx b/modules/hdf5/src/cpp/H5ArrayData.hxx
new file mode 100755
index 000000000..54af57d46
--- /dev/null
+++ b/modules/hdf5/src/cpp/H5ArrayData.hxx
@@ -0,0 +1,56 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2012 - Scilab Enterprises - Calixte DENIZET
+ *
+ * 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 __H5ARRAYDATA_HXX__
+#define __H5ARRAYDATA_HXX__
+
+#include "H5BasicData.hxx"
+
+namespace org_modules_hdf5
+{
+
+class H5ArrayData : public H5BasicData<char>
+{
+
+ const hsize_t * cumprod;
+ hid_t type;
+ hsize_t atotalSize;
+ hsize_t andims;
+ hsize_t baseSize;
+ hsize_t * adims;
+
+public:
+
+ H5ArrayData(H5Object & _parent, const hsize_t _totalSize, const hsize_t _dataSize, const hsize_t _ndims, const hsize_t * _dims, char * _data, hid_t arrayType, const hsize_t stride, const size_t offset, const bool _dataOwner);
+
+ virtual ~H5ArrayData();
+
+ virtual H5Object & getData(const unsigned int size, const unsigned int * index) const;
+
+ virtual bool isArray() const;
+
+ virtual std::string toString(const unsigned int indentLevel) const;
+
+ virtual std::string dump(std::map<haddr_t, std::string> & alreadyVisited, const unsigned int indentLevel) const;
+
+ virtual void printData(std::ostream & os, const unsigned int pos, const unsigned int indentLevel) const;
+
+ virtual void toScilab(void * pvApiCtx, const int lhsPosition, int * parentList = 0, const int listPosition = 0, const bool flip = true) const;
+
+ virtual bool mustDelete() const
+ {
+ return false;
+ }
+};
+}
+
+#endif // __H5ARRAYDATA_HXX__
diff --git a/modules/hdf5/src/cpp/H5Attribute.cpp b/modules/hdf5/src/cpp/H5Attribute.cpp
new file mode 100755
index 000000000..9881483eb
--- /dev/null
+++ b/modules/hdf5/src/cpp/H5Attribute.cpp
@@ -0,0 +1,266 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2012 - Scilab Enterprises - Calixte DENIZET
+ *
+ * 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 "H5Options.hxx"
+#include "H5Attribute.hxx"
+#include "H5DataFactory.hxx"
+
+namespace org_modules_hdf5
+{
+
+H5Attribute::H5Attribute(H5Object & _parent, const std::string & _name) : H5Object(_parent, _name)
+{
+ if (H5Aexists(getParent().getH5Id(), name.c_str()) <= 0)
+ {
+ throw H5Exception(__LINE__, __FILE__, _("Cannot open attribute: %s"), name.c_str());
+ }
+
+ attr = H5Aopen(getParent().getH5Id(), name.c_str(), H5P_DEFAULT);
+ if (attr < 0)
+ {
+ throw H5Exception(__LINE__, __FILE__, _("Cannot open attribute: %s"), name.c_str());
+ }
+}
+
+H5Attribute::H5Attribute(H5Object & _parent, hid_t _attr, const std::string & _name) : H5Object(_parent, _name), attr(_attr)
+{
+
+}
+
+H5Attribute::~H5Attribute()
+{
+ if (attr >= 0)
+ {
+ H5Aclose(attr);
+ }
+}
+
+H5Data & H5Attribute::getData()
+{
+ return H5DataFactory::getData(*this, attr, 0, 0, true);
+}
+
+H5Type & H5Attribute::getDataType()
+{
+ hid_t type = H5Aget_type(attr);
+ if (type < 0)
+ {
+ throw H5Exception(__LINE__, __FILE__, _("Cannot get the attribute type"));
+ }
+
+ return *new H5Type(*this, type);
+}
+
+H5Dataspace & H5Attribute::getSpace()
+{
+ hid_t space = H5Aget_space(attr);
+ if (space < 0)
+ {
+ throw H5Exception(__LINE__, __FILE__, _("Cannot get the attribute dataspace"));
+ }
+
+ return *new H5Dataspace(*this, space);
+}
+
+void H5Attribute::getAccessibleAttribute(const std::string & _name, const int pos, void * pvApiCtx) const
+{
+ std::string lower(_name);
+ std::transform(_name.begin(), _name.end(), lower.begin(), tolower);
+
+ if (lower == "type")
+ {
+ const H5Type & type = const_cast<H5Attribute *>(this)->getDataType();
+ type.createOnScilabStack(pos, pvApiCtx);
+
+ return;
+ }
+ else if (lower == "dataspace")
+ {
+ const H5Dataspace & space = const_cast<H5Attribute *>(this)->getSpace();
+ space.createOnScilabStack(pos, pvApiCtx);
+
+ return;
+ }
+ else if (lower == "data")
+ {
+ const H5Data & data = const_cast<H5Attribute *>(this)->getData();
+ data.toScilab(pvApiCtx, pos, 0, 0, H5Options::isReadFlip());
+
+ delete &data;
+
+ return;
+ }
+
+ H5Object::getAccessibleAttribute(_name, pos, pvApiCtx);
+}
+
+std::string H5Attribute::dump(std::map<haddr_t, std::string> & alreadyVisited, const unsigned int indentLevel) const
+{
+ std::ostringstream os;
+ const H5Type & type = const_cast<H5Attribute *>(this)->getDataType();
+ const H5Dataspace & space = const_cast<H5Attribute *>(this)->getSpace();
+ H5Data * data = 0;
+
+ try
+ {
+ data = &const_cast<H5Attribute *>(this)->getData();
+ }
+ catch (const H5Exception & /*e*/)
+ {
+
+ }
+
+ os << H5Object::getIndentString(indentLevel) << "ATTRIBUTE \"" << getName() << "\" {" << std::endl
+ << type.dump(alreadyVisited, indentLevel + 1)
+ << space.dump(alreadyVisited, indentLevel + 1);
+
+ if (data)
+ {
+ os << data->dump(alreadyVisited, indentLevel + 1);
+ }
+ else
+ {
+ os << H5Object::getIndentString(indentLevel + 1) << _("Error in retrieving data.") << std::endl;
+ }
+
+ os << H5Object::getIndentString(indentLevel) << "}" << std::endl;
+
+ delete &type;
+ delete &space;
+ if (data)
+ {
+ delete data;
+ }
+
+ return os.str();
+}
+
+std::string H5Attribute::toString(const unsigned int indentLevel) const
+{
+ std::ostringstream os;
+ const std::string indentString = H5Object::getIndentString(indentLevel + 1);
+ const H5Type & type = const_cast<H5Attribute *>(this)->getDataType();
+ const H5Dataspace & space = const_cast<H5Attribute *>(this)->getSpace();
+
+ os << H5Object::getIndentString(indentLevel) << "HDF5 Attribute" << std::endl
+ << indentString << "Filename" << ": " << getFile().getFileName() << std::endl
+ << indentString << "Name" << ": " << getName() << std::endl
+ << indentString << "Parent path" << ": " << getParent().getCompletePath() << std::endl
+ << indentString << "Type" << ": " << type.getTypeName() << std::endl
+ << indentString << "Dataspace" << ": " << space.getTypeName() << std::endl
+ << indentString << "Data" << ": " << space.getStringDims() << std::endl;
+
+ delete &type;
+ delete &space;
+
+ return os.str();
+}
+
+void H5Attribute::copy(H5Object & parent, const std::string & name)
+{
+ H5Attribute::copy(this->getH5Id(), parent.getH5Id(), name);
+}
+
+hid_t H5Attribute::create(H5Object & loc, const std::string & name, const hid_t type, const hid_t targettype, const hid_t srcspace, const hid_t targetspace, void * data, const bool chunked)
+{
+ return create(loc.getH5Id(), name, type, targettype, srcspace, targetspace, data);
+}
+
+hid_t H5Attribute::create(const hid_t loc, const std::string & name, const hid_t type, const hid_t targettype, const hid_t srcspace, const hid_t targetspace, void * data)
+{
+ herr_t err;
+ if (H5Aexists(loc, name.c_str()) > 0)
+ {
+ throw H5Exception(__LINE__, __FILE__, _("Attribute %s already exists."), name.c_str());
+ }
+
+ hid_t attr = H5Acreate(loc, name.c_str(), targettype, targetspace == -1 ? srcspace : targetspace, H5P_DEFAULT, H5P_DEFAULT);
+ if (attr < 0)
+ {
+ throw H5Exception(__LINE__, __FILE__, _("Cannot create a new attribute."));
+ }
+
+ err = H5Awrite(attr, type, data);
+ if (err < 0)
+ {
+ H5Aclose(attr);
+ throw H5Exception(__LINE__, __FILE__, _("Cannot write data in the attribute."));
+ }
+
+ return attr;
+}
+
+void H5Attribute::copy(const hid_t src, const hid_t dest, const std::string & name)
+{
+ hid_t type, stype;
+ hid_t space, sspace;
+ char * data = 0;
+ hsize_t size;
+ hsize_t * dims = 0;
+ hsize_t ndims;
+
+ sspace = H5Aget_space(src);
+ if (sspace < 0)
+ {
+ throw H5Exception(__LINE__, __FILE__, _("Cannot copy the attribute"));
+ }
+ space = H5Scopy(sspace);
+ H5Sclose(sspace);
+
+ stype = H5Aget_type(src);
+ if (stype < 0)
+ {
+ H5Sclose(space);
+ throw H5Exception(__LINE__, __FILE__, _("Cannot copy the attribute"));
+ }
+ type = H5Tcopy(stype);
+ H5Tclose(stype);
+
+ size = H5Tget_size(type);
+ dims = new hsize_t[__SCILAB_HDF5_MAX_DIMS__];
+ ndims = H5Sget_simple_extent_dims(space, dims, 0);
+ for (unsigned int i = 0; i < ndims; i++)
+ {
+ size *= dims[i];
+ }
+
+ data = new char[size];
+ if (H5Aread(src, type, data) < 0)
+ {
+ H5Sclose(space);
+ H5Tclose(type);
+ delete[] dims;
+ delete[] data;
+
+ throw H5Exception(__LINE__, __FILE__, _("Cannot read attribute data."));
+ }
+
+ try
+ {
+ hid_t attr = create(dest, name, type, type, space, space, data);
+ H5Aclose(attr);
+ H5Sclose(space);
+ H5Tclose(type);
+ delete[] dims;
+ delete[] data;
+ }
+ catch (const H5Exception & /*e*/)
+ {
+ H5Sclose(space);
+ H5Tclose(type);
+ delete[] dims;
+ delete[] data;
+ throw;
+ }
+}
+
+}
diff --git a/modules/hdf5/src/cpp/H5Attribute.hxx b/modules/hdf5/src/cpp/H5Attribute.hxx
new file mode 100755
index 000000000..3ef808adc
--- /dev/null
+++ b/modules/hdf5/src/cpp/H5Attribute.hxx
@@ -0,0 +1,60 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2012 - Scilab Enterprises - Calixte DENIZET
+ *
+ * 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 __H5ATTRIBUTES_HXX__
+#define __H5ATTRIBUTES_HXX__
+
+#include "H5Object.hxx"
+#include "H5Type.hxx"
+#include "H5Data.hxx"
+#include "H5Dataspace.hxx"
+#include "H5File.hxx"
+
+namespace org_modules_hdf5
+{
+class H5Attribute : public H5Object
+{
+ hid_t attr;
+
+public :
+
+ H5Attribute(H5Object & _parent, const std::string & name);
+ H5Attribute(H5Object & _parent, hid_t _attr, const std::string & _name);
+
+ virtual ~H5Attribute();
+
+ virtual hid_t getH5Id() const
+ {
+ return attr;
+ }
+
+ virtual bool isAttribute() const
+ {
+ return true;
+ }
+
+ H5Data & getData();
+ H5Type & getDataType();
+ H5Dataspace & getSpace();
+ virtual void copy(H5Object & parent, const std::string & name);
+ virtual void getAccessibleAttribute(const std::string & _name, const int pos, void * pvApiCtx) const;
+
+ virtual std::string dump(std::map<haddr_t, std::string> & alreadyVisited, const unsigned int indentLevel) const;
+ virtual std::string toString(const unsigned int indentLevel) const;
+
+ static hid_t create(const hid_t loc, const std::string & name, const hid_t type, const hid_t targettype, const hid_t srcspace, const hid_t targetspace, void * data);
+ static hid_t create(H5Object & loc, const std::string & name, const hid_t type, const hid_t targettype, const hid_t srcspace, const hid_t targetspace, void * data, const bool chunked = false);
+ static void copy(const hid_t src, const hid_t dest, const std::string & name);
+};
+}
+
+#endif // __H5ATTRIBUTE_HXX__
diff --git a/modules/hdf5/src/cpp/H5AttributesList.cpp b/modules/hdf5/src/cpp/H5AttributesList.cpp
new file mode 100755
index 000000000..80e09282b
--- /dev/null
+++ b/modules/hdf5/src/cpp/H5AttributesList.cpp
@@ -0,0 +1,125 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2012 - Scilab Enterprises - Calixte DENIZET
+ *
+ * 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 "H5AttributesList.hxx"
+#include "H5Attribute.hxx"
+
+namespace org_modules_hdf5
+{
+
+H5AttributesList::H5AttributesList(H5Object & _parent) : H5ListObject<H5Attribute>(_parent) { }
+
+H5AttributesList::H5AttributesList(H5Object & _parent, const unsigned int _size, const unsigned int * _index) : H5ListObject<H5Attribute>(_parent, _size, _index) { }
+
+H5AttributesList::~H5AttributesList() { }
+
+const unsigned int H5AttributesList::getSize() const
+{
+ if (H5ListObject<H5Attribute>::indexList)
+ {
+ return H5ListObject<H5Attribute>::indexSize;
+ }
+ else
+ {
+ H5O_info_t info;
+ herr_t err = H5Oget_info(parent.getH5Id(), &info);
+
+ if (err < 0)
+ {
+ throw H5Exception(__LINE__, __FILE__, _("Cannot get the size of attribute list."));
+ }
+
+ return (unsigned int)info.num_attrs;
+ }
+}
+
+void H5AttributesList::setObject(const unsigned int pos, H5Attribute & attribute)
+{
+
+}
+
+H5Attribute & H5AttributesList::getObject(const std::string & name)
+{
+ return *new H5Attribute(parent, name);
+}
+
+H5Attribute & H5AttributesList::getObject(const int pos)
+{
+ return getObject(pos, true);
+}
+
+H5Attribute & H5AttributesList::getObject(const int pos, const bool checkPos)
+{
+ hid_t attr;
+ ssize_t ssize;
+ std::string name;
+ int _pos = pos;
+
+ if (checkPos)
+ {
+ unsigned int size = getSize();
+ if (pos < 0 || pos >= (int)size)
+ {
+ throw H5Exception(__LINE__, __FILE__, _("Invalid index %d: must be between 0 and %d."), pos, size);
+ }
+ }
+
+ if (H5ListObject<H5Attribute>::indexList)
+ {
+ _pos = H5ListObject<H5Attribute>::indexList[pos];
+ }
+
+ attr = H5Aopen_by_idx(parent.getH5Id(), ".", H5_INDEX_NAME, H5_ITER_NATIVE, (hsize_t)_pos, H5P_DEFAULT, H5P_DEFAULT);
+ if (attr < 0)
+ {
+ throw H5Exception(__LINE__, __FILE__, _("Cannot open attribute at position %d."), pos);
+ }
+
+ ssize = H5Aget_name(attr, 0, 0);
+ if (ssize > 0)
+ {
+ char * _name = new char[ssize + 1];
+ H5Aget_name(attr, ssize + 1, _name);
+ name = std::string(_name);
+ delete[] _name;
+ }
+
+ return *new H5Attribute(parent, attr, name);
+}
+
+std::string H5AttributesList::dump(std::map<haddr_t, std::string> & alreadyVisited, const unsigned int indentLevel) const
+{
+ std::ostringstream os;
+ unsigned int size = getSize();
+
+ for (unsigned int i = 0; i < size; i++)
+ {
+ const H5Attribute & attr = const_cast<H5AttributesList *>(this)->getObject(i, false);
+ os << attr.dump(alreadyVisited, indentLevel);
+
+ delete &attr;
+ }
+
+ return os.str();
+}
+
+std::string H5AttributesList::toString(const unsigned int indentLevel) const
+{
+ std::ostringstream os;
+ std::string indentString = H5Object::getIndentString(indentLevel);
+
+ os << indentString << _("Filename") << ": " << getFile().getFileName() << std::endl
+ << indentString << _("Number of elements") << ": " << getSize();
+
+ return os.str();
+}
+}
diff --git a/modules/hdf5/src/cpp/H5AttributesList.hxx b/modules/hdf5/src/cpp/H5AttributesList.hxx
new file mode 100755
index 000000000..8a2e71612
--- /dev/null
+++ b/modules/hdf5/src/cpp/H5AttributesList.hxx
@@ -0,0 +1,45 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2012 - Scilab Enterprises - Calixte DENIZET
+ *
+ * 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 __H5ATTRIBUTESLIST_HXX__
+#define __H5ATTRIBUTESLIST_HXX__
+
+#include "H5ListObject.hxx"
+
+namespace org_modules_hdf5
+{
+class H5Attribute;
+
+class H5AttributesList : public H5ListObject<H5Attribute>
+{
+
+public :
+
+ H5AttributesList(H5Object & _parent);
+ H5AttributesList(H5Object & _parent, const unsigned int size, const unsigned int * index);
+
+ ~H5AttributesList();
+
+ virtual void setObject(const unsigned int pos, H5Attribute & attribute);
+ virtual H5Attribute & getObject(const int pos);
+ virtual H5Attribute & getObject(const std::string & name);
+ virtual const unsigned int getSize() const;
+
+ virtual std::string dump(std::map<haddr_t, std::string> & alreadyVisited, const unsigned int indentLevel) const;
+ virtual std::string toString(const unsigned int indentLevel) const;
+
+private:
+ H5Attribute & getObject(const int pos, const bool checkPos);
+};
+}
+
+#endif // __H5ATTRIBUTESLIST_HXX__
diff --git a/modules/hdf5/src/cpp/H5BasicData.hxx b/modules/hdf5/src/cpp/H5BasicData.hxx
new file mode 100755
index 000000000..2d8c21902
--- /dev/null
+++ b/modules/hdf5/src/cpp/H5BasicData.hxx
@@ -0,0 +1,251 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2012 - Scilab Enterprises - Calixte DENIZET
+ *
+ * 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 __H5BASICDATA_HXX__
+#define __H5BASICDATA_HXX__
+
+#include "H5Data.hxx"
+#include "H5Object.hxx"
+#include "H5DataConverter.hxx"
+
+#define __SCILAB_STACK_CREATOR__(U,NAME) static void create(void * pvApiCtx, const int position, const int rows, const int cols, U * ptr, int * list, const int listPosition) \
+ { \
+ SciErr err; \
+ if (list) \
+ { \
+ if (rows == 0 || cols == 0) \
+ { \
+ createMatrixOfDoubleInList(pvApiCtx, position, list, listPosition, 0, 0, 0); \
+ return; \
+ } \
+ err = createMatrixOf##NAME##InList(pvApiCtx, position, list, listPosition, rows, cols, ptr); \
+ } \
+ else \
+ { \
+ if (rows == 0 || cols == 0) \
+ { \
+ createEmptyMatrix(pvApiCtx, position); \
+ return; \
+ } \
+ err = createMatrixOf##NAME(pvApiCtx, position, rows, cols, ptr); \
+ } \
+ if (err.iErr) \
+ { \
+ throw H5Exception(__LINE__, __FILE__, "Cannot allocate memory"); \
+ } \
+ }
+
+#define __SCILAB_STACK_ALLOCATOR__(U,NAME) static void alloc(void * pvApiCtx, const int position, const int rows, const int cols, int * list, const int listPosition, U ** ptr) \
+ { \
+ SciErr err; \
+ if (list) \
+ { \
+ err = allocMatrixOf##NAME##InList(pvApiCtx, position, list, listPosition, rows, cols, ptr); \
+ } \
+ else \
+ { \
+ err = allocMatrixOf##NAME(pvApiCtx, position, rows, cols, ptr); \
+ } \
+ if (err.iErr) \
+ { \
+ throw H5Exception(__LINE__, __FILE__, "Cannot allocate memory"); \
+ } \
+ }
+
+#define __SCILAB_ALLOCATORS_CREATORS__(U,NAME) __SCILAB_STACK_CREATOR__(U,NAME) \
+ __SCILAB_STACK_ALLOCATOR__(U,NAME)
+
+
+namespace org_modules_hdf5
+{
+template<typename T>
+class H5BasicData : public H5Data
+{
+
+protected:
+
+ T * transformedData;
+
+public:
+
+ H5BasicData(H5Object & _parent, const hsize_t _totalSize, const hsize_t _dataSize, const hsize_t _ndims, const hsize_t * _dims, T * _data, const hsize_t _stride, const size_t _offset, const bool _dataOwner) : H5Data(_parent, _totalSize, _dataSize, _ndims, _dims, static_cast<void *>(_data), _stride, _offset, _dataOwner), transformedData(0)
+ {
+ //std::cout << totalSize << ", " << stride << ", " << offset << std::endl;
+ }
+
+ virtual ~H5BasicData()
+ {
+ if (transformedData)
+ {
+ delete[] transformedData;
+ }
+ }
+
+ virtual void printData(std::ostream & os, const unsigned int pos, const unsigned int indentLevel) const
+ {
+ os << static_cast<T *>(getData())[pos];
+ }
+
+ virtual void copyData(T * dest) const
+ {
+ if (dest)
+ {
+ if (stride == 0)
+ {
+ memcpy(static_cast<void *>(dest), data, totalSize * dataSize);
+ }
+ else if (transformedData)
+ {
+ memcpy(static_cast<void *>(dest), static_cast<void *>(transformedData), totalSize * dataSize);
+ }
+ else
+ {
+ char * cdata = static_cast<char *>(data) + offset;
+ if (sizeof(T) == dataSize)
+ {
+ for (int i = 0; i < totalSize; i++)
+ {
+ dest[i] = *((T *)cdata);
+ cdata += stride;
+ }
+ }
+ else
+ {
+ char * _dest = reinterpret_cast<char *>(dest);
+ for (int i = 0; i < totalSize; i++)
+ {
+ memcpy(_dest, cdata, dataSize);
+ cdata += stride;
+ _dest += dataSize;
+ }
+ }
+ }
+ }
+ else
+ {
+ throw H5Exception(__LINE__, __FILE__, _("Cannot copy data to an empty pointer"));
+ }
+ }
+
+ inline virtual void * getData() const
+ {
+ if (stride == 0)
+ {
+ return data;
+ }
+ else
+ {
+ if (!transformedData)
+ {
+ char * dest = new char[totalSize * dataSize];
+ copyData(reinterpret_cast<T *>(dest));
+ const_cast<H5BasicData *>(this)->transformedData = reinterpret_cast<T *>(dest);
+ }
+
+ return static_cast<void *>(transformedData);
+ }
+ }
+
+ virtual void toScilab(void * pvApiCtx, const int lhsPosition, int * parentList = 0, const int listPosition = 0, const bool flip = true) const
+ {
+ T * newData = 0;
+ hsize_t _ndims = ndims;
+ hsize_t _totalSize = totalSize;
+ hsize_t * _dims = const_cast<hsize_t *>(dims);
+
+ if (_ndims == 0)
+ {
+ create(pvApiCtx, lhsPosition, 1, 1, static_cast<T *>(getData()), parentList, listPosition);
+ }
+ else if (_ndims == 1)
+ {
+ alloc(pvApiCtx, lhsPosition, 1, (int)*_dims, parentList, listPosition, &newData);
+ copyData(newData);
+ }
+ else
+ {
+ if (_ndims == 2)
+ {
+ if (flip)
+ {
+ alloc(pvApiCtx, lhsPosition, (int)_dims[1], (int)_dims[0], parentList, listPosition, &newData);
+ }
+ else
+ {
+ alloc(pvApiCtx, lhsPosition, (int)_dims[0], (int)_dims[1], parentList, listPosition, &newData);
+ }
+
+ H5DataConverter::C2FHypermatrix(2, _dims, 0, static_cast<T *>(getData()), newData, flip);
+ }
+ else
+ {
+ int * list = getHypermatrix(pvApiCtx, lhsPosition, parentList, listPosition, flip);
+ alloc(pvApiCtx, lhsPosition, (int)_totalSize, 1, list, 3, &newData);
+ H5DataConverter::C2FHypermatrix((int)_ndims, _dims, _totalSize, static_cast<T *>(getData()), newData, flip);
+ }
+ }
+ }
+
+ virtual std::string dump(std::map<haddr_t, std::string> & alreadyVisited, const unsigned int indentLevel) const
+ {
+ return H5DataConverter::dump(alreadyVisited, indentLevel, (int)ndims, dims, *this);
+ }
+
+ static void putStringVectorOnStack(std::vector<std::string> & strs, const int rows, const int cols, const int pos, void * pvApiCtx)
+ {
+ if (rows * cols != strs.size())
+ {
+ throw H5Exception(__LINE__, __FILE__, _("Wrong dimensions."));
+ }
+
+ if (strs.size() == 0)
+ {
+ create(pvApiCtx, pos, 0, 0, "", 0, 0);
+ }
+ else
+ {
+ std::vector<const char *> _strs;
+ _strs.reserve(strs.size());
+ for (unsigned int i = 0; i < strs.size(); i++)
+ {
+ _strs.push_back(strs[i].c_str());
+ }
+ create(pvApiCtx, pos, rows, cols, const_cast<char **>(&(_strs[0])), 0, 0);
+ }
+ }
+
+ __SCILAB_ALLOCATORS_CREATORS__(double, Double)
+ __SCILAB_ALLOCATORS_CREATORS__(char, Integer8)
+ __SCILAB_ALLOCATORS_CREATORS__(unsigned char, UnsignedInteger8)
+ __SCILAB_ALLOCATORS_CREATORS__(short, Integer16)
+ __SCILAB_ALLOCATORS_CREATORS__(unsigned short, UnsignedInteger16)
+ __SCILAB_ALLOCATORS_CREATORS__(int, Integer32)
+ __SCILAB_ALLOCATORS_CREATORS__(unsigned int, UnsignedInteger32)
+
+#ifdef _SCILAB_INT64__
+ __SCILAB_ALLOCATORS_CREATORS__(long long, Integer64)
+ __SCILAB_ALLOCATORS_CREATORS__(unsigned long long, UnsignedInteger64)
+#endif
+
+ __SCILAB_STACK_CREATOR__(char *, String)
+ static void alloc(void * pvApiCtx, const int position, const int rows, const int cols, int * list, const int listPosition, char*** ptr) {}
+};
+}
+
+
+#undef __SCILAB_STACK_CREATOR__
+#undef __SCILAB_STACK_ALLOCATOR__
+#undef __SCILAB_LIST_CREATOR__
+#undef __SCILAB_LIST_ALLOCATOR__
+#undef __SCILAB_ALLOCATORS_CREATORS__
+
+#endif // __H5BASICDATA_HXX__
diff --git a/modules/hdf5/src/cpp/H5BitfieldData.hxx b/modules/hdf5/src/cpp/H5BitfieldData.hxx
new file mode 100755
index 000000000..a7a4b8886
--- /dev/null
+++ b/modules/hdf5/src/cpp/H5BitfieldData.hxx
@@ -0,0 +1,113 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2012 - Scilab Enterprises - Calixte DENIZET
+ *
+ * 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 __H5BITFIELDDATA_HXX__
+#define __H5BITFIELDDATA_HXX__
+
+#include "H5BasicData.hxx"
+
+namespace org_modules_hdf5
+{
+
+class H5Bitfield1Data : public H5BasicData<unsigned char>
+{
+
+public:
+
+ H5Bitfield1Data(H5Object & _parent, const hsize_t _totalSize, const hsize_t _dataSize, const hsize_t _ndims, const hsize_t * _dims, unsigned char * _data, const hsize_t _stride, const size_t _offset, const bool _dataOwner) : H5BasicData<unsigned char>(_parent, _totalSize, _dataSize, _ndims, _dims, _data, _stride, _offset, _dataOwner)
+ {
+
+ }
+
+ virtual ~H5Bitfield1Data()
+ {
+
+ }
+
+ virtual void printData(std::ostream & os, const unsigned int pos, const unsigned int indentLevel) const
+ {
+ os << "0x" << std::hex << std::setfill('0') << std::setw(2) << (int)static_cast<unsigned char * >(getData())[pos];
+ }
+};
+
+class H5Bitfield2Data : public H5BasicData<unsigned short>
+{
+
+public:
+
+ H5Bitfield2Data(H5Object & _parent, const hsize_t _totalSize, const hsize_t _dataSize, const hsize_t _ndims, const hsize_t * _dims, unsigned short * _data, const hsize_t _stride, const size_t _offset, const bool _dataOwner) : H5BasicData<unsigned short>(_parent, _totalSize, _dataSize, _ndims, _dims, _data, _stride, _offset, _dataOwner)
+ {
+
+ }
+
+ virtual ~H5Bitfield2Data()
+ {
+
+ }
+
+ virtual void printData(std::ostream & os, const unsigned int pos, const unsigned int indentLevel) const
+ {
+ const unsigned short x = static_cast<unsigned short * >(getData())[pos];
+ os << std::hex << std::setfill('0') << std::setw(2) << (x & 0xFF) << ":" << ((x >> 8) & 0xFF);
+ }
+};
+
+class H5Bitfield4Data : public H5BasicData<unsigned int>
+{
+
+public:
+
+ H5Bitfield4Data(H5Object & _parent, const hsize_t _totalSize, const hsize_t _dataSize, const hsize_t _ndims, const hsize_t * _dims, unsigned int * _data, const hsize_t _stride, const size_t _offset, const bool _dataOwner) : H5BasicData<unsigned int>(_parent, _totalSize, _dataSize, _ndims, _dims, _data, _stride, _offset, _dataOwner)
+ {
+
+ }
+
+ virtual ~H5Bitfield4Data()
+ {
+
+ }
+
+ virtual void printData(std::ostream & os, const unsigned int pos, const unsigned int indentLevel) const
+ {
+ const unsigned int x = static_cast<unsigned int * >(getData())[pos];
+ os << std::hex << std::setfill('0') << std::setw(2) << (x & 0xFF) << ":" << ((x >> 8) & 0xFF) << ":" << ((x >> 16) & 0xFF) << ":" << ((x >> 24) & 0xFF);
+ }
+};
+
+#ifdef __SCILAB_INT64__
+
+class H5Bitfield8Data : public H5BasicData<unsigned long>
+{
+
+public:
+
+ H5Bitfield8Data(H5Object & _parent, const hsize_t _totalSize, const hsize_t _dataSize, const hsize_t _ndims, const hsize_t * _dims, unsigned long * _data, const hsize_t _stride, const size_t _offset, const bool _dataOwner) : H5BasicData<unsigned long>(_parent, _totalSize, _dataSize, _ndims, _dims, _data, _stride, _offset, _dataOwner)
+ {
+
+ }
+
+ virtual ~H5Bitfield8Data()
+ {
+
+ }
+
+ virtual void printData(std::ostream & os, const unsigned int pos, const unsigned int indentLevel) const
+ {
+ const unsigned long long x = static_cast<unsigned long long * >(getData())[pos];
+ os << std::hex << std::setfill('0') << std::setw(2) << (x & 0xFF) << ":" << ((x >> 8) & 0xFF) << ":" << ((x >> 16) & 0xFF) << ":" << ((x >> 24) & 0xFF) << ":" << ((x >> 32) & 0xFF) << ":" << ((x >> 40) & 0xFF) << ":" << ((x >> 48) & 0xFF) << ":" << ((x >> 56) & 0xFF);
+ }
+};
+
+#endif // __SCILAB_INT64__
+}
+
+#endif // __H5BITFIELDDATA_HXX__
diff --git a/modules/hdf5/src/cpp/H5CharData.hxx b/modules/hdf5/src/cpp/H5CharData.hxx
new file mode 100755
index 000000000..818041a2b
--- /dev/null
+++ b/modules/hdf5/src/cpp/H5CharData.hxx
@@ -0,0 +1,43 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2012 - Scilab Enterprises - Calixte DENIZET
+ *
+ * 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 __H5CHARDATA_HXX__
+#define __H5CHARDATA_HXX__
+
+#include "H5Data.hxx"
+
+namespace org_modules_hdf5
+{
+
+class H5CharData : public H5BasicData<char>
+{
+
+public:
+
+ H5CharData(H5Object & _parent, const hsize_t _totalSize, const hsize_t _dataSize, const hsize_t _ndims, const hsize_t * _dims, char * _data, const hsize_t _stride, const size_t _offset, const bool _dataOwner) : H5BasicData<char>(_parent, _totalSize, _dataSize, _ndims, _dims, _data, _stride, _offset, _dataOwner)
+ {
+
+ }
+
+ virtual ~H5CharData()
+ {
+
+ }
+
+ virtual void printData(std::ostream & os, const unsigned int pos, const unsigned int indentLevel) const
+ {
+ os << (int)static_cast<char *>(getData())[pos];
+ }
+};
+}
+
+#endif // __H5CHARDATA_HXX__
diff --git a/modules/hdf5/src/cpp/H5CompoundData.cpp b/modules/hdf5/src/cpp/H5CompoundData.cpp
new file mode 100755
index 000000000..951f59751
--- /dev/null
+++ b/modules/hdf5/src/cpp/H5CompoundData.cpp
@@ -0,0 +1,182 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2012 - Scilab Enterprises - Calixte DENIZET
+ *
+ * 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 "H5Options.hxx"
+#include "H5CompoundData.hxx"
+#include "H5DataFactory.hxx"
+
+namespace org_modules_hdf5
+{
+
+H5CompoundData::H5CompoundData(H5Object & _parent, const hsize_t _totalSize, const hsize_t _dataSize, const hsize_t _ndims, const hsize_t * _dims, char * _data, hid_t compoundType, const hsize_t _stride, const size_t _offset, const bool _dataOwner) : H5BasicData<char>(_parent, _totalSize, _dataSize, _ndims, _dims, _data, _stride, _offset, _dataOwner), type(compoundType), cumprod(H5Object::getCumProd(_ndims, dims))
+{
+ nfields = (unsigned int)H5Tget_nmembers(compoundType);
+ infos = new std::map<std::string, FieldInfo *>();
+ fieldinfos = new FieldInfo *[nfields];
+ for (unsigned int i = 0; i < nfields; i++)
+ {
+ hid_t mtype = H5Tget_member_type(compoundType, i);
+ hsize_t size = H5Tget_size(mtype);
+ char * mname = H5Tget_member_name(compoundType, i);
+ size_t offs = H5Tget_member_offset(compoundType, i);
+ FieldInfo * info = 0;
+ if (H5Tget_class(type) == H5T_STRING && !H5Tis_variable_str(type))
+ {
+ // We have a C-string so it is null terminated
+ size++;
+ }
+
+ info = new FieldInfo(mtype, size, offs, std::string(mname));
+ (*infos)[std::string(mname)] = info;
+ fieldinfos[i] = info;
+ free(mname);
+ }
+}
+
+H5CompoundData::~H5CompoundData()
+{
+ infos->erase(infos->begin(), infos->end());
+ delete infos;
+ delete[] fieldinfos;
+ delete[] cumprod;
+ H5Tclose(type);
+}
+
+void H5CompoundData::toScilab(void * pvApiCtx, const int lhsPosition, int * parentList, const int listPosition, const bool flip) const
+{
+ H5Object::toScilab(pvApiCtx, lhsPosition, parentList, listPosition, flip);
+}
+
+bool H5CompoundData::isCompound() const
+{
+ return true;
+}
+
+void H5CompoundData::getAccessibleAttribute(const std::string & _name, const int pos, void * pvApiCtx) const
+{
+ H5Data & data = getData(_name);
+ data.toScilab(pvApiCtx, pos, 0, 0, H5Options::isReadFlip());
+
+ if (data.mustDelete())
+ {
+ delete &data;
+ }
+}
+
+H5Data & H5CompoundData::getData(const std::string fieldname) const
+{
+ std::map<std::string, FieldInfo *>::const_iterator it = infos->find(fieldname);
+
+ if (it != infos->end())
+ {
+ return H5DataFactory::getObjectData(*const_cast<H5CompoundData *>(this), totalSize, it->second->size, it->second->type, ndims, dims, data, stride ? stride : dataSize, offset + it->second->offset, false);
+ }
+
+ throw H5Exception(__LINE__, __FILE__, _("Invalid field name: %s"), fieldname.c_str());
+}
+
+H5Object & H5CompoundData::getData(const unsigned int size, const unsigned int * index) const
+{
+ unsigned int pos = 0;
+ unsigned int cumprod = 1;
+ hsize_t * _dims = 0;
+
+ for (unsigned int i = 0; i < size; i++)
+ {
+ pos += cumprod * index[i];
+ }
+
+ if (pos >= totalSize)
+ {
+ throw H5Exception(__LINE__, __FILE__, _("Invalid index."));
+ }
+
+ _dims = new hsize_t[1];
+ _dims[0] = 1;
+
+ return *new H5CompoundData(*const_cast<H5CompoundData *>(this), 1, dataSize, 1, _dims, static_cast<char *>(data) + offset + pos * (dataSize + stride), type, 0, 0, false);
+}
+
+void H5CompoundData::getFieldNames(const int position, void * vApiCtx)
+{
+ std::vector<std::string> names;
+ names.reserve(nfields);
+
+ for (unsigned int i = 0; i < nfields; i++)
+ {
+ names.push_back(fieldinfos[i]->name);
+ }
+ H5BasicData<char>::putStringVectorOnStack(names, (int)names.size(), 1, position, pvApiCtx);
+}
+
+std::string H5CompoundData::toString(const unsigned int indentLevel) const
+{
+ std::ostringstream os;
+ std::string indentString = H5Object::getIndentString(indentLevel + 1);
+
+ os << H5Object::getIndentString(indentLevel) << "HDF5 Compound data" << std::endl
+ << indentString << _("Dimensions") << ": [";
+
+ if (ndims == 0)
+ {
+ os << "1 x 1]";
+ }
+ else if (ndims == 1)
+ {
+ os << "1 x " << dims[0] << "]";
+ }
+ else
+ {
+ for (unsigned int i = 0; i < ndims - 1; i++)
+ {
+ os << dims[i] << " x ";
+ }
+ os << dims[ndims - 1] << "]" << std::endl;
+ }
+
+ os << indentString << _("Fields Names") << ": [";
+ for (unsigned int i = 0; i < nfields - 1; i++)
+ {
+ os << fieldinfos[i]->name << ", ";
+ }
+ os << fieldinfos[nfields - 1]->name << "]";
+
+ return os.str();
+}
+
+std::string H5CompoundData::dump(std::map<haddr_t, std::string> & alreadyVisited, const unsigned int indentLevel) const
+{
+ return H5DataConverter::dump(alreadyVisited, indentLevel, (int)ndims, dims, *this, false);
+}
+
+void H5CompoundData::printData(std::ostream & os, const unsigned int pos, const unsigned int indentLevel) const
+{
+ os << "{" << std::endl;
+ std::string indent = H5Object::getIndentString(indentLevel + 2);
+
+ for (unsigned int i = 0; i < nfields; i++)
+ {
+ H5Data & hdata = H5DataFactory::getObjectData(*const_cast<H5CompoundData *>(this), totalSize, fieldinfos[i]->size, fieldinfos[i]->type, ndims, dims, data, stride ? stride : dataSize, offset + fieldinfos[i]->offset, false);
+ os << indent;
+ hdata.printData(os, pos, indentLevel + 2);
+
+ if (i != nfields - 1)
+ {
+ os << ", " << std::endl;
+ }
+
+ delete &hdata;
+ }
+
+ os << std::endl << H5Object::getIndentString(indentLevel + 1) << "}";
+}
+}
diff --git a/modules/hdf5/src/cpp/H5CompoundData.hxx b/modules/hdf5/src/cpp/H5CompoundData.hxx
new file mode 100755
index 000000000..3c12ac93f
--- /dev/null
+++ b/modules/hdf5/src/cpp/H5CompoundData.hxx
@@ -0,0 +1,84 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2012 - Scilab Enterprises - Calixte DENIZET
+ *
+ * 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 __H5COMPOUNDDATA_HXX__
+#define __H5COMPOUNDDATA_HXX__
+
+#include "H5BasicData.hxx"
+
+namespace org_modules_hdf5
+{
+
+class H5CompoundData : public H5BasicData<char>
+{
+public:
+
+ H5CompoundData(H5Object & _parent, const hsize_t _totalSize, const hsize_t _dataSize, const hsize_t _ndims, const hsize_t * _dims, char * _data, hid_t compoundType, const hsize_t stride, const size_t offset, const bool _dataOwner);
+
+ virtual ~H5CompoundData();
+
+ virtual void toScilab(void * pvApiCtx, const int lhsPosition, int * parentList = 0, const int listPosition = 0, const bool flip = true) const;
+
+ virtual void getAccessibleAttribute(const std::string & _name, const int pos, void * pvApiCtx) const;
+
+ virtual H5Data & getData(const std::string fieldname) const;
+
+ virtual H5Object & getData(const unsigned int size, const unsigned int * index) const;
+
+ virtual bool isCompound() const;
+
+ virtual std::string toString(const unsigned int indentLevel) const;
+
+ virtual std::string dump(std::map<haddr_t, std::string> & alreadyVisited, const unsigned int indentLevel) const;
+
+ virtual void printData(std::ostream & os, const unsigned int pos, const unsigned int indentLevel) const;
+
+ virtual void getFieldNames(const int position, void * pvApiCtx);
+
+ virtual bool mustDelete() const
+ {
+ return false;
+ }
+
+protected:
+ class FieldInfo
+ {
+
+ public:
+
+ const hid_t type;
+ const hsize_t size;
+ const size_t offset;
+ const std::string name;
+
+ FieldInfo(const hid_t _type, const hsize_t _size, const size_t _offset, const std::string _name) : type(_type), size(_size), offset(_offset), name(_name) { }
+
+ ~FieldInfo()
+ {
+ if (type)
+ {
+ H5Tclose(type);
+ }
+ }
+ };
+
+private:
+
+ const hsize_t * cumprod;
+ unsigned int nfields;
+ std::map<std::string, FieldInfo *> * infos;
+ FieldInfo ** fieldinfos;
+ const hid_t type;
+};
+}
+
+#endif // __H5COMPOUNDDATA_HXX__
diff --git a/modules/hdf5/src/cpp/H5Data.hxx b/modules/hdf5/src/cpp/H5Data.hxx
new file mode 100755
index 000000000..c40474e5d
--- /dev/null
+++ b/modules/hdf5/src/cpp/H5Data.hxx
@@ -0,0 +1,125 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2012 - Scilab Enterprises - Calixte DENIZET
+ *
+ * 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 __H5DATA_HXX__
+#define __H5DATA_HXX__
+
+#include "H5Data.hxx"
+#include "H5Object.hxx"
+
+namespace org_modules_hdf5
+{
+class H5Data : public H5Object
+{
+
+protected:
+
+ void * data;
+ const hsize_t totalSize;
+ const hsize_t dataSize;
+ const hsize_t ndims;
+ const hsize_t * dims;
+ const hsize_t stride;
+ const size_t offset;
+ const bool dataOwner;
+
+public:
+
+ H5Data(H5Object & _parent, const hsize_t _totalSize, const hsize_t _dataSize, const hsize_t _ndims, const hsize_t * _dims, void * _data, const hsize_t _stride, const size_t _offset, const bool _dataOwner) : H5Object(_parent), totalSize(_totalSize), dataSize(_dataSize), ndims(_ndims), dims(_dims), data(_data), stride(_stride), offset(_offset), dataOwner(_dataOwner)
+ {
+
+ }
+
+ virtual ~H5Data()
+ {
+ if (dataOwner)
+ {
+ delete[] dims;
+ delete[] static_cast<char *>(data);
+ }
+ }
+
+ inline virtual void * getData() const
+ {
+ return data;
+ }
+
+ virtual void printData(std::ostream & os, const unsigned int pos, const unsigned int indentLevel) const { }
+
+protected:
+
+ void createEmpty(void * pvApiCtx, const int position, int * parentList = 0, const int listPosition = 0) const
+ {
+ if (parentList)
+ {
+ createMatrixOfDoubleInList(pvApiCtx, position, parentList, listPosition, 0, 0, 0);
+ }
+ else
+ {
+ createEmptyMatrix(pvApiCtx, position);
+ }
+ }
+
+ int * getHypermatrix(void * pvApiCtx, const int position, int * parentList = 0, const int listPosition = 0, const bool flip = true) const
+ {
+ static const char * hypermat[3] = {"hm", "dims", "entries"};
+
+ int * list = 0;
+ SciErr err;
+ if (parentList)
+ {
+ err = createMListInList(pvApiCtx, position, parentList, listPosition, 3, &list);
+ }
+ else
+ {
+ err = createMList(pvApiCtx, position, 3, &list);
+ }
+
+ if (err.iErr)
+ {
+ throw H5Exception(__LINE__, __FILE__, _("Cannot create an hypermatrix on the stack"));
+ }
+
+ err = createMatrixOfStringInList(pvApiCtx, position, list, 1, 1, 3, hypermat);
+ if (err.iErr)
+ {
+ throw H5Exception(__LINE__, __FILE__, _("Cannot create an hypermatrix on the stack"));
+ }
+
+ int * _dims = 0;
+ err = allocMatrixOfInteger32InList(pvApiCtx, position, list, 2, 1, (int)ndims, &_dims);
+ if (err.iErr)
+ {
+ throw H5Exception(__LINE__, __FILE__, _("Cannot create an hypermatrix on the stack"));
+ }
+
+ if (flip)
+ {
+ for (int i = 0; i < ndims; i++)
+ {
+ _dims[i] = (int)dims[ndims - 1 - i];
+ }
+ }
+ else
+ {
+ for (int i = 0; i < ndims; i++)
+ {
+ _dims[i] = (int)dims[i];
+ }
+ }
+
+ return list;
+ }
+};
+}
+
+#endif // __H5DATA_HXX__
diff --git a/modules/hdf5/src/cpp/H5DataConverter.cpp b/modules/hdf5/src/cpp/H5DataConverter.cpp
new file mode 100755
index 000000000..7498a5c55
--- /dev/null
+++ b/modules/hdf5/src/cpp/H5DataConverter.cpp
@@ -0,0 +1,59 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2012 - Scilab Enterprises - Calixte DENIZET
+ *
+ * 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 "H5DataConverter.hxx"
+
+namespace org_modules_hdf5
+{
+
+int * H5DataConverter::getHypermatrix(void * pvApiCtx, const int position, const int ndims, const hsize_t * dims)
+{
+ static const char * hypermat[3] = {"hm", "dims", "entries"};
+
+ int * list = 0;
+ SciErr err = createMList(pvApiCtx, position, 3, &list);
+ if (err.iErr)
+ {
+ throw H5Exception(__LINE__, __FILE__, _("Cannot create an hypermatrix on the stack"));
+ }
+
+ err = createMatrixOfStringInList(pvApiCtx, position, list, 1, 1, 3, hypermat);
+ if (err.iErr)
+ {
+ throw H5Exception(__LINE__, __FILE__, _("Cannot create an hypermatrix on the stack"));
+ }
+
+ if (sizeof(int) == sizeof(hsize_t))
+ {
+ err = createMatrixOfInteger32InList(pvApiCtx, position, list, 2, 1, ndims, (int *)dims);
+ if (err.iErr)
+ {
+ throw H5Exception(__LINE__, __FILE__, _("Cannot create an hypermatrix on the stack"));
+ }
+ }
+ else
+ {
+ int * _dims = 0;
+ err = allocMatrixOfInteger32InList(pvApiCtx, position, list, 2, 1, ndims, &_dims);
+ if (err.iErr)
+ {
+ throw H5Exception(__LINE__, __FILE__, _("Cannot create an hypermatrix on the stack"));
+ }
+ for (int i = 0; i < ndims; i++)
+ {
+ _dims[i] = (int)dims[i];
+ }
+ }
+
+ return list;
+}
+}
diff --git a/modules/hdf5/src/cpp/H5DataConverter.hxx b/modules/hdf5/src/cpp/H5DataConverter.hxx
new file mode 100755
index 000000000..9ecda311a
--- /dev/null
+++ b/modules/hdf5/src/cpp/H5DataConverter.hxx
@@ -0,0 +1,171 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2012 - Scilab Enterprises - Calixte DENIZET
+ *
+ * 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 __H5DATACONVERTER_HXX__
+#define __H5DATACONVERTER_HXX__
+
+#include "H5Exception.hxx"
+#include "H5Object.hxx"
+#include "H5Data.hxx"
+
+extern "C"
+{
+#include "api_scilab.h"
+#include "Scierror.h"
+#include "localization.h"
+}
+
+namespace org_modules_hdf5
+{
+
+class H5DataConverter
+{
+
+public:
+
+ static std::string dump(std::map<haddr_t, std::string> & alreadyVisited, const unsigned int indentLevel, const int ndims, const hsize_t * dims, const H5Data & obj, const bool line = true)
+ {
+ std::ostringstream os;
+ std::string indent = H5Object::getIndentString(indentLevel);
+ unsigned int pos = 0;
+
+ os.setf(std::ios::fixed, std::ios::floatfield);
+ os.precision(1);
+
+ os << indent << "DATA {" << std::endl;
+ printData(indentLevel, indent + "(", os, ndims, dims, &pos, obj, line);
+ os << indent << "}" << std::endl;
+
+ return os.str();
+ }
+
+ static void printData(const unsigned int indentLevel, const std::string & start, std::ostringstream & os, const int ndims, const hsize_t * dims, unsigned int * pos, const H5Data & obj, const bool line)
+ {
+ std::string indent = H5Object::getIndentString(indentLevel);
+
+ if (ndims == 0)
+ {
+ os << start << "0): ";
+ obj.printData(os, 0, 0);
+ os << std::endl;
+ }
+ else if (ndims == 1)
+ {
+ if (line)
+ {
+ os << start << "0): ";
+ for (hsize_t i = 0; i < dims[0] - 1; i++)
+ {
+ obj.printData(os, *pos + (int)i, 0);
+ os << ", ";
+ }
+ obj.printData(os, *pos + (int)dims[0] - 1, 0);
+ }
+ else
+ {
+ for (hsize_t i = 0; i < dims[0] - 1; i++)
+ {
+ os << start << i << "): ";
+ obj.printData(os, *pos + (int)i, indentLevel);
+ os << ", " << std::endl;
+ }
+ os << start << dims[0] - 1 << "): ";
+ obj.printData(os, *pos + (int)dims[0] - 1, indentLevel);
+ }
+
+ os << std::endl;
+ *pos += (int)dims[0];
+ }
+ else
+ {
+ std::ostringstream oss;
+ for (hsize_t i = 0; i < dims[0]; i++)
+ {
+ oss << start << (unsigned int)i << ",";
+ printData(indentLevel, oss.str(), os, ndims - 1, dims + 1, pos, obj, line);
+ oss.str("");
+ }
+ }
+ }
+
+ template <typename T>
+ static void C2FHypermatrix(const int ndims, const hsize_t * dims, const hsize_t size, const T * src, T * dest, const bool flip = true)
+ {
+ if (flip)
+ {
+ hsize_t totalSize = 1;
+ for (int i = 0; i < ndims; i++)
+ {
+ totalSize *= dims[i];
+ }
+ memcpy(dest, src, totalSize * sizeof(T));
+ }
+ else
+ {
+ if (ndims == 2)
+ {
+ for (int i = 0; i < dims[0]; i++)
+ {
+ for (int j = 0; j < dims[1]; j++)
+ {
+ dest[i + dims[0] * j] = src[j + dims[1] * i];
+ }
+ }
+ }
+ else
+ {
+ hsize_t * cumprod = new hsize_t[ndims];
+ hsize_t * cumdiv = new hsize_t[ndims];
+ cumprod[0] = 1;
+ cumdiv[ndims - 1] = 1;
+ for (int i = 0; i < ndims - 1; i++)
+ {
+ cumprod[i + 1] = dims[i] * cumprod[i];
+ cumdiv[i] = size / cumprod[i + 1];
+ }
+
+ reorder(ndims, dims, cumprod, cumdiv, src, dest);
+ delete[] cumprod;
+ delete[] cumdiv;
+ }
+ }
+ }
+
+private:
+
+ static int * getHypermatrix(void * pvApiCtx, const int position, const int ndims, const hsize_t * dims);
+
+ template <typename T>
+ static void reorder(const int ndims, const hsize_t * dims, const hsize_t * cumprod, const hsize_t * cumdiv, const T * src, T * dest)
+ {
+ if (ndims == 1)
+ {
+ for (int i = 0; i < *dims; i++)
+ {
+ *dest = src[i];
+ dest += *cumprod;
+ }
+ }
+ else
+ {
+ for (int i = 0; i < *dims; i++)
+ {
+ reorder(ndims - 1, dims + 1, cumprod + 1, cumdiv + 1, src, dest);
+ dest += *cumprod;
+ src += *cumdiv;
+ }
+ }
+ }
+};
+}
+
+#endif // __H5DATACONVERTER_HXX__
diff --git a/modules/hdf5/src/cpp/H5DataFactory.cpp b/modules/hdf5/src/cpp/H5DataFactory.cpp
new file mode 100755
index 000000000..d5c620dbe
--- /dev/null
+++ b/modules/hdf5/src/cpp/H5DataFactory.cpp
@@ -0,0 +1,375 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2012 - Scilab Enterprises - Calixte DENIZET
+ *
+ * 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 "H5DataFactory.hxx"
+
+namespace org_modules_hdf5
+{
+
+H5Data & H5DataFactory::getData(H5Object & parent, const hid_t obj, H5Dataspace * space, hsize_t * selectdims, const bool isAttribute)
+{
+ hsize_t ndims;
+ hsize_t * dims = 0;
+ hsize_t totalSize;
+ hsize_t dataSize;
+ void * data = 0;
+ const hid_t spaceId = space ? space->getH5Id() : -1;
+ const hid_t type = isAttribute ? H5Aget_type(obj) : H5Dget_type(obj);
+ const hid_t nativeType = H5Tget_native_type(type, H5T_DIR_DEFAULT);
+ if (type < 0)
+ {
+ throw H5Exception(__LINE__, __FILE__, _("Cannot get the data type"));
+ }
+
+ try
+ {
+ getNativeData(obj, spaceId, selectdims, type, &totalSize, &dataSize, &ndims, &dims, &data, isAttribute);
+ H5Data & ret = getObjectData(parent, totalSize, dataSize, nativeType, ndims, dims, data, 0, 0, true);
+ H5Tclose(type);
+ H5Tclose(nativeType);
+
+ return ret;
+ }
+ catch (const H5Exception & /*e*/)
+ {
+ H5Tclose(type);
+ H5Tclose(nativeType);
+ if (dims)
+ {
+ delete[] dims;
+ }
+
+ if (data)
+ {
+ delete[] static_cast<char *>(data);
+ }
+ throw;
+ }
+}
+
+H5Data & H5DataFactory::getObjectData(H5Object & parent, const hsize_t totalSize, const hsize_t dataSize, const hid_t type, const hsize_t ndims, const hsize_t * dims, void * data, const hsize_t stride, const size_t offset, const bool dataOwner)
+{
+ switch (H5Tget_class(type))
+ {
+ case H5T_INTEGER:
+ if (H5Tequal(type, H5T_NATIVE_SCHAR))
+ {
+ return *new H5CharData(parent, totalSize, dataSize, ndims, dims, (char *)data, stride, offset, dataOwner);
+ }
+ else if (H5Tequal(type, H5T_NATIVE_UCHAR))
+ {
+ return *new H5UnsignedCharData(parent, totalSize, dataSize, ndims, dims, (unsigned char *)data, stride, offset, dataOwner);
+ }
+ else if (H5Tequal(type, H5T_NATIVE_SHORT))
+ {
+ return *new H5BasicData<short>(parent, totalSize, dataSize, ndims, dims, (short *)data, stride, offset, dataOwner);
+ }
+ else if (H5Tequal(type, H5T_NATIVE_USHORT))
+ {
+ return *new H5BasicData<unsigned short>(parent, totalSize, dataSize, ndims, dims, (unsigned short *)data, stride, offset, dataOwner);
+ }
+ else if (H5Tequal(type, H5T_NATIVE_INT))
+ {
+ return *new H5BasicData<int>(parent, totalSize, dataSize, ndims, dims, (int *)data, stride, offset, dataOwner);
+ }
+ else if (H5Tequal(type, H5T_NATIVE_UINT))
+ {
+ return *new H5BasicData<unsigned int>(parent, totalSize, dataSize, ndims, dims, (unsigned int *)data, stride, offset, dataOwner);
+ }
+
+#ifdef __SCILAB_INT64__
+
+ else if (H5Tequal(type, H5T_NATIVE_LONG))
+ {
+ return *new H5BasicData<long long>(parent, totalSize, dataSize, ndims, dims, (long long *)data, stride, offset, dataOwner);
+ }
+ else if (H5Tequal(type, H5T_NATIVE_ULONG))
+ {
+ return *new H5BasicData<unsigned long long>(parent, totalSize, dataSize, ndims, dims, (unsigned long long *)data, stride, offset, dataOwner);
+ }
+#else
+
+ else if (H5Tequal(type, H5T_NATIVE_LONG))
+ {
+ return *new H5TransformedData<long long, int>(parent, totalSize, dataSize, ndims, dims, (long long *)data, stride, offset, dataOwner);
+ }
+ else if (H5Tequal(type, H5T_NATIVE_ULONG))
+ {
+ return *new H5TransformedData<unsigned long long, unsigned int>(parent, totalSize, dataSize, ndims, dims, (unsigned long long *)data, stride, offset, dataOwner);
+ }
+
+#endif // __SCILAB_INT64__
+
+ else
+ {
+ throw H5Exception(__LINE__, __FILE__, _("Unknown integer datatype."));
+ }
+ break;
+ case H5T_FLOAT:
+ if (H5Tequal(type, H5T_NATIVE_FLOAT))
+ {
+ return *new H5TransformedData<float, double>(parent, totalSize, dataSize, ndims, dims, (float *)data, stride, offset, dataOwner);
+ }
+ else if (H5Tequal(type, H5T_NATIVE_DOUBLE))
+ {
+ return *new H5BasicData<double>(parent, totalSize, dataSize, ndims, dims, (double *)data, stride, offset, dataOwner);
+ }
+ else
+ {
+ throw H5Exception(__LINE__, __FILE__, _("Unknown floating-point datatype."));
+ }
+ break;
+ case H5T_TIME:
+ return *new H5TimeData(parent, totalSize, dataSize, ndims, dims, (char *)data, stride, offset, dataOwner);
+ case H5T_STRING:
+ if (H5Tis_variable_str(type))
+ {
+ return *new H5StringData(parent, totalSize, dataSize, ndims, dims, (char **)data, stride, offset, dataOwner);
+ }
+ else
+ {
+ return *new H5StringData(parent, totalSize, dataSize, ndims, dims, (char *)data, stride, offset, dataOwner);
+ }
+ case H5T_BITFIELD:
+ switch (dataSize)
+ {
+ case 1:
+ return *new H5Bitfield1Data(parent, totalSize, dataSize, ndims, dims, static_cast<unsigned char *>(data), stride, offset, dataOwner);
+ case 2:
+ return *new H5Bitfield2Data(parent, totalSize, dataSize, ndims, dims, static_cast<unsigned short *>(data), stride, offset, dataOwner);
+ case 4:
+ return *new H5Bitfield4Data(parent, totalSize, dataSize, ndims, dims, static_cast<unsigned int *>(data), stride, offset, dataOwner);
+ case 8:
+ //return *new H5BitfieldData<unsigned long long>(parent, totalSize, dataSize, ndims, dims, static_cast<unsigned long long *>(data), stride, offset, false);
+ default:
+ throw H5Exception(__LINE__, __FILE__, _("Bitfield is too big"));
+ }
+
+ case H5T_OPAQUE:
+ return *new H5OpaqueData(parent, totalSize, dataSize, ndims, dims, (unsigned char *)data, stride, offset, dataOwner);
+ case H5T_COMPOUND:
+ return *new H5CompoundData(parent, totalSize, dataSize, ndims, dims, (char *)data, H5Tcopy(type), stride, offset, dataOwner);
+ case H5T_REFERENCE:
+ // TODO: virer le false
+ return *new H5ReferenceData(parent, H5Tequal(type, H5T_STD_REF_DSETREG) ? H5R_DATASET_REGION : H5R_OBJECT, totalSize, dataSize, ndims, dims, (char *)data, stride, offset, dataOwner);
+ case H5T_ENUM:
+ {
+ int nmembers = H5Tget_nmembers(type);
+ std::string * names = nmembers > 0 ? new std::string[nmembers] : 0;
+
+ for (int i = 0; i < nmembers; i++)
+ {
+ char * mname = H5Tget_member_name(type, i);
+ names[i] = std::string(mname);
+ //HDF5 version > 1.8.13
+ //H5free_memory(mnale);
+
+ //freed memory allocated by H5Tget_member_name trigger a segfault on Windows.
+ //http://lists.hdfgroup.org/pipermail/hdf-forum_lists.hdfgroup.org/2014-September/008061.html
+ //little memory leaks are better then crashs :x
+#ifndef _MSC_VER
+ free(mname);
+#endif
+ }
+
+ if (H5Tget_sign(type) == H5T_SGN_NONE)
+ {
+ switch (dataSize)
+ {
+ case 1:
+ return *new H5EnumData<unsigned char>(parent, totalSize, dataSize, ndims, dims, (unsigned char *)data, type, H5T_NATIVE_UCHAR, nmembers, names, stride, offset, dataOwner);
+ case 2:
+ return *new H5EnumData<unsigned short>(parent, totalSize, dataSize, ndims, dims, (unsigned short *)data, type, H5T_NATIVE_USHORT, nmembers, names, stride, offset, dataOwner);
+ case 4:
+ return *new H5EnumData<unsigned int>(parent, totalSize, dataSize, ndims, dims, (unsigned int *)data, type, H5T_NATIVE_UINT, nmembers, names, stride, offset, dataOwner);
+#ifdef __SCILAB_INT64__
+ case 8:
+ return *new H5EnumData<unsigned long long>(parent, totalSize, dataSize, ndims, dims, (unsigned long long *)data, type, H5T_NATIVE_ULLONG, nmembers, names, stride, offset, dataOwner);
+#endif
+ }
+ }
+ else
+ {
+ switch (dataSize)
+ {
+ case 1:
+ return *new H5EnumData<char>(parent, totalSize, dataSize, ndims, dims, (char *)data, type, H5T_NATIVE_CHAR, nmembers, names, stride, offset, dataOwner);
+ case 2:
+ return *new H5EnumData<short>(parent, totalSize, dataSize, ndims, dims, (short *)data, type, H5T_NATIVE_SHORT, nmembers, names, stride, offset, dataOwner);
+ case 4:
+ return *new H5EnumData<int>(parent, totalSize, dataSize, ndims, dims, (int *)data, type, H5T_NATIVE_INT, nmembers, names, stride, offset, dataOwner);
+#ifdef __SCILAB_INT64__
+ case 8:
+ return *new H5EnumData<long long>(parent, totalSize, dataSize, ndims, dims, (long long *)data, type, H5T_NATIVE_LLONG, nmembers, names, stride, offset, dataOwner);
+#endif
+ }
+ }
+
+ return *new H5EnumData<char>(parent, totalSize, dataSize, ndims, dims, (char *)data, type, H5T_NATIVE_CHAR, nmembers, names, stride, offset, dataOwner);
+ }
+ case H5T_VLEN:
+ return *new H5VlenData(parent, totalSize, dataSize, ndims, dims, static_cast<char *>(data), type, stride, offset, dataOwner);
+ case H5T_ARRAY:
+ return *new H5ArrayData(parent, totalSize, dataSize, ndims, dims, static_cast<char *>(data), type, stride, offset, dataOwner);
+ default:
+ throw H5Exception(__LINE__, __FILE__, _("Cannot get data from an unknown data type."));
+ }
+
+ throw H5Exception(__LINE__, __FILE__, _("Cannot get data from an unknown data type."));
+}
+
+void H5DataFactory::getNativeData(const hid_t obj, const hid_t space, hsize_t * selectdims, const hid_t type, hsize_t * totalSize, hsize_t * dataSize, hsize_t * ndims, hsize_t ** dims, void ** data, const bool isAttribute)
+{
+ hid_t nativeType = H5Tget_native_type(type, H5T_DIR_DEFAULT);
+ hid_t _space = space < 0 ? (isAttribute ? H5Aget_space(obj) : H5Dget_space(obj)) : space;
+ hsize_t size = H5Tget_size(nativeType);
+ H5S_sel_type sel;
+ hid_t targetspace;
+ herr_t err;
+ hsize_t * blockbuf = 0;
+ bool hyperslab = false;
+ bool isString = false;
+
+ *totalSize = 1;
+ if (H5Tget_class(nativeType) == H5T_STRING && !H5Tis_variable_str(nativeType))
+ {
+ // We have a C-string so it is null terminated
+ size++;
+ isString = true;
+ }
+
+ *dataSize = size;
+ *ndims = H5Sget_simple_extent_dims(_space, 0, 0);
+ *dims = new hsize_t[*ndims];
+
+ if (isAttribute)
+ {
+ H5Sget_simple_extent_dims(_space, *dims, 0);
+ for (unsigned int i = 0; i < *ndims; i++)
+ {
+ *totalSize *= (*dims)[i];
+ }
+ }
+ else
+ {
+ sel = H5Sget_select_type(_space);
+ switch (sel)
+ {
+ case H5S_SEL_NONE:
+ case H5S_SEL_ALL:
+ H5Sget_simple_extent_dims(_space, *dims, 0);
+ for (unsigned int i = 0; i < *ndims; i++)
+ {
+ *totalSize *= (*dims)[i];
+ }
+ break;
+ case H5S_SEL_POINTS:
+ break;
+ case H5S_SEL_HYPERSLABS:
+ for (unsigned int i = 0; i < *ndims; i++)
+ {
+ (*dims)[i] = selectdims[i];
+ *totalSize *= (*dims)[i];
+ }
+ hyperslab = true;
+ }
+ }
+
+ size *= *totalSize;
+
+ if ((hsize_t)((size_t)size) != size)
+ {
+ H5Tclose(nativeType);
+ if (space < 0)
+ {
+ H5Sclose(_space);
+ }
+ delete[] *dims;
+ throw H5Exception(__LINE__, __FILE__, _("Memory to allocate is too big"));
+ }
+
+ try
+ {
+ if (isString)
+ {
+ *data = static_cast<void *>(new char[(size_t)size]());
+ }
+ else
+ {
+ // No need to initialize the array
+ *data = static_cast<void *>(new char[(size_t)size]);
+ }
+ }
+ catch (const std::bad_alloc & /*e*/)
+ {
+ H5Tclose(nativeType);
+ if (space < 0)
+ {
+ H5Sclose(_space);
+ }
+ *data = 0;
+ delete[] *dims;
+ *dims = 0;
+ throw H5Exception(__LINE__, __FILE__, _("Cannot allocate memory to get the data"));
+ }
+
+ if (!*data)
+ {
+ H5Tclose(nativeType);
+ if (space < 0)
+ {
+ H5Sclose(_space);
+ }
+ delete[] *dims;
+ *dims = 0;
+ throw H5Exception(__LINE__, __FILE__, _("Cannot allocate memory to get the data"));
+ }
+
+ if (hyperslab)
+ {
+ targetspace = H5Screate_simple((int) * ndims, *dims, 0);
+ err = H5Dread(obj, nativeType, targetspace, _space, H5P_DEFAULT, *data);
+ H5Sclose(targetspace);
+ }
+ else
+ {
+ if (isAttribute)
+ {
+ err = H5Aread(obj, nativeType, *data);
+ }
+ else
+ {
+ err = H5Dread(obj, nativeType, H5S_ALL, H5S_ALL, H5P_DEFAULT, *data);
+ }
+ }
+
+ if (err < 0)
+ {
+ H5Tclose(nativeType);
+ if (space < 0)
+ {
+ H5Sclose(_space);
+ }
+ delete[] static_cast<char *>(*data);
+ *data = 0;
+ delete[] *dims;
+ *dims = 0;
+ throw H5Exception(__LINE__, __FILE__, _("Cannot retrieve the data from the attribute"));
+ }
+
+ H5Tclose(nativeType);
+ if (space < 0)
+ {
+ H5Sclose(_space);
+ }
+}
+}
diff --git a/modules/hdf5/src/cpp/H5DataFactory.hxx b/modules/hdf5/src/cpp/H5DataFactory.hxx
new file mode 100755
index 000000000..0ff72cbae
--- /dev/null
+++ b/modules/hdf5/src/cpp/H5DataFactory.hxx
@@ -0,0 +1,50 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2012 - Scilab Enterprises - Calixte DENIZET
+ *
+ * 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 __H5DATAFACTORY_HXX__
+#define __H5DATAFACTORY_HXX__
+
+#include "HDF5Objects.h"
+#include "H5Object.hxx"
+#include "H5Data.hxx"
+#include "H5StringData.hxx"
+#include "H5TimeData.hxx"
+#include "H5BitfieldData.hxx"
+#include "H5ReferenceData.hxx"
+#include "H5CompoundData.hxx"
+#include "H5ArrayData.hxx"
+#include "H5OpaqueData.hxx"
+#include "H5TransformedData.hxx"
+#include "H5EnumData.hxx"
+#include "H5VlenData.hxx"
+#include "H5CharData.hxx"
+#include "H5UnsignedCharData.hxx"
+
+namespace org_modules_hdf5
+{
+
+class H5DataFactory
+{
+
+public:
+
+ static H5Data & getData(H5Object & parent, const hid_t obj, H5Dataspace * space, hsize_t * selectdims, const bool isAttribute);
+
+ static H5Data & getObjectData(H5Object & parent, const hsize_t totalSize, const hsize_t dataSize, const hid_t type, const hsize_t ndims, const hsize_t * dims, void * data, const hsize_t stride, const size_t offset, const bool dataOwner);
+
+private:
+
+ static void getNativeData(const hid_t obj, const hid_t space, hsize_t * selectdims, const hid_t type, hsize_t * totalSize, hsize_t * dataSize, hsize_t * ndims, hsize_t ** dims, void ** data, const bool isAttribute);
+};
+}
+
+#endif // __H5DATAFACTORY_HXX__
diff --git a/modules/hdf5/src/cpp/H5Dataset.cpp b/modules/hdf5/src/cpp/H5Dataset.cpp
new file mode 100755
index 000000000..44fd93984
--- /dev/null
+++ b/modules/hdf5/src/cpp/H5Dataset.cpp
@@ -0,0 +1,473 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2012 - Scilab Enterprises - Calixte DENIZET
+ *
+ * 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 "H5Options.hxx"
+#include "H5Dataset.hxx"
+#include "H5DataFactory.hxx"
+#include "H5Attribute.hxx"
+#include "H5HardLink.hxx"
+
+namespace org_modules_hdf5
+{
+
+void H5Dataset::init()
+{
+ dataset = H5Dopen2(getParent().getH5Id(), name.c_str(), H5P_DEFAULT);
+ if (dataset < 0)
+ {
+ throw H5Exception(__LINE__, __FILE__, _("Cannot open the given dataset %s."), name.c_str());
+ }
+}
+
+H5Dataset::H5Dataset(H5Object & _parent, const std::string & _name) : H5Object(_parent, _name), dataset((hid_t) - 1)
+{
+ init();
+}
+
+H5Dataset::H5Dataset(H5Object & _parent, hid_t _dataset, const std::string & _name) : H5Object(_parent, _name), dataset(_dataset)
+{
+
+}
+
+H5Dataset::~H5Dataset()
+{
+ if (dataset >= 0)
+ {
+ H5Dclose(dataset);
+ }
+}
+
+H5Data & H5Dataset::getData()
+{
+ return H5DataFactory::getData(*this, dataset, 0, 0, false);
+}
+
+H5Data & H5Dataset::getData(H5Dataspace & space, hsize_t * dims)
+{
+ return H5DataFactory::getData(*this, dataset, &space, dims, false);
+}
+
+H5Dataspace & H5Dataset::getSpace()
+{
+ hid_t space = H5Dget_space(dataset);
+ if (space < 0)
+ {
+ throw H5Exception(__LINE__, __FILE__, _("Cannot get the dataspace associated with dataset named %s."), name.c_str());
+ }
+
+ return *new H5Dataspace(*this, space);
+}
+
+H5Type & H5Dataset::getDataType()
+{
+ hid_t type = H5Dget_type(dataset);
+ if (type < 0)
+ {
+ throw H5Exception(__LINE__, __FILE__, _("Cannot get the dataspace associated with dataset named %s."), name.c_str());
+ }
+
+ return *new H5Type(*this, type);
+}
+
+H5Dataset::H5Layout & H5Dataset::getLayout()
+{
+ hid_t plist = H5Dget_create_plist(dataset);
+ H5D_layout_t layout = H5Pget_layout(plist);
+ H5Dataset::H5Layout * obj = 0;
+
+ switch (layout)
+ {
+ case H5D_COMPACT:
+ obj = new H5Dataset::H5CompactLayout(*this);
+ break;
+ case H5D_CONTIGUOUS:
+ obj = new H5Dataset::H5ContiguousLayout(*this);
+ break;
+ case H5D_CHUNKED:
+ obj = new H5Dataset::H5ChunkedLayout(*this);
+ break;
+ default:
+ H5Pclose(plist);
+ throw H5Exception(__LINE__, __FILE__, _("Invalid layout"));
+ }
+
+ H5Pclose(plist);
+
+ return *obj;
+}
+
+void H5Dataset::getAccessibleAttribute(const std::string & _name, const int pos, void * pvApiCtx) const
+{
+ std::string lower(_name);
+
+ std::transform(_name.begin(), _name.end(), lower.begin(), tolower);
+
+ if (lower == "attributes")
+ {
+ std::vector<std::string> names;
+ getNames(*this, names, ATTRIBUTE);
+ H5BasicData<char>::putStringVectorOnStack(names, (int)names.size(), 1, pos, pvApiCtx);
+
+ return;
+ }
+ else if (lower == "type")
+ {
+ const H5Type & type = const_cast<H5Dataset *>(this)->getDataType();
+ type.createOnScilabStack(pos, pvApiCtx);
+
+ return;
+ }
+ else if (lower == "dataspace")
+ {
+ const H5Dataspace & space = const_cast<H5Dataset *>(this)->getSpace();
+ space.createOnScilabStack(pos, pvApiCtx);
+
+ return;
+ }
+ else if (lower == "data")
+ {
+ const H5Data & data = const_cast<H5Dataset *>(this)->getData();
+ data.toScilab(pvApiCtx, pos, 0, 0, H5Options::isReadFlip());
+
+ if (data.mustDelete())
+ {
+ delete &data;
+ }
+
+ return;
+ }
+ /*else if (lower == "layout")
+ {
+ const H5Dataset::H5Layout & layout = const_cast<H5Dataset *>(this)->getLayout();
+ layout.createOnScilabStack(pos, pvApiCtx);
+
+ return;
+ }*/
+ else
+ {
+ try
+ {
+ H5Object & obj = H5Object::getObject(*const_cast<H5Dataset *>(this), _name);
+ obj.createOnScilabStack(pos, pvApiCtx);
+ return;
+ }
+ catch (const H5Exception & /*e*/) { }
+ }
+
+ H5Object::getAccessibleAttribute(_name, pos, pvApiCtx);
+}
+
+void H5Dataset::label(const unsigned int size, const unsigned int * dim, const char ** names) const
+{
+ hsize_t dims[__SCILAB_HDF5_MAX_DIMS__];
+ unsigned int ndims;
+ hid_t space = H5Dget_space(dataset);
+ if (space < 0)
+ {
+ throw H5Exception(__LINE__, __FILE__, _("Cannot get the dataspace associated with dataset named %s."), name.c_str());
+ }
+
+ ndims = H5Sget_simple_extent_dims(space, (hsize_t *)dims, 0);
+ H5Sclose(space);
+
+ for (unsigned int i = 0; i < size; i++)
+ {
+ if (dim[i] > ndims)
+ {
+
+ throw H5Exception(__LINE__, __FILE__, _("Only %d dimensions."), ndims);
+ }
+ H5DSset_label(dataset, dim[i], names[i]);
+ }
+}
+
+std::string H5Dataset::dump(std::map<haddr_t, std::string> & alreadyVisited, const unsigned int indentLevel) const
+{
+ std::ostringstream os;
+ haddr_t addr = this->getAddr();
+ std::map<haddr_t, std::string>::iterator it = alreadyVisited.find(addr);
+ if (it != alreadyVisited.end())
+ {
+ os << H5Object::getIndentString(indentLevel) << "DATASET \"" << getName() << "\" {" << std::endl
+ << H5Object::getIndentString(indentLevel + 1) << "HARDLINK \"" << it->second << "\"" << std::endl
+ << H5Object::getIndentString(indentLevel) << "}" << std::endl;
+
+ return os.str();
+ }
+ else
+ {
+ alreadyVisited.insert(std::pair<haddr_t, std::string>(addr, getCompletePath()));
+ }
+
+ const H5Type & type = const_cast<H5Dataset *>(this)->getDataType();
+ const H5Dataspace & space = const_cast<H5Dataset *>(this)->getSpace();
+ const H5AttributesList & attrs = const_cast<H5Dataset *>(this)->getAttributes();
+ const H5Dataset::H5Layout & layout = const_cast<H5Dataset *>(this)->getLayout();
+
+ H5Data * data = 0;
+
+ try
+ {
+ data = &const_cast<H5Dataset *>(this)->getData();
+ }
+ catch (const H5Exception & /*e*/)
+ {
+
+ }
+
+ os << H5Object::getIndentString(indentLevel) << "DATASET \"" << getName() << "\" {" << std::endl
+ << type.dump(alreadyVisited, indentLevel + 1)
+ << space.dump(alreadyVisited, indentLevel + 1)
+ << layout.dump(alreadyVisited, indentLevel + 1);
+
+ if (data)
+ {
+ os << data->dump(alreadyVisited, indentLevel + 1);
+ }
+ else
+ {
+ os << H5Object::getIndentString(indentLevel + 1) << _("Error in retrieving data.") << std::endl;
+ }
+
+ os << attrs.dump(alreadyVisited, indentLevel + 1)
+ << H5Object::getIndentString(indentLevel) << "}" << std::endl;
+
+ delete &type;
+ delete &space;
+ if (data)
+ {
+ delete data;
+ }
+ delete &attrs;
+ delete &layout;
+
+ return os.str();
+}
+
+void H5Dataset::printLsInfo(std::ostringstream & os) const
+{
+ const H5Dataspace & space = const_cast<H5Dataset *>(this)->getSpace();
+ std::vector<unsigned int> dims = space.getDims(true);
+ std::string str(getName());
+ H5Object::getResizedString(str);
+
+ os << str << "Dataset {";
+
+ if (dims.size() == 0)
+ {
+ os << "}";
+ }
+ else
+ {
+ for (unsigned int i = 0; i < dims.size() - 1; i++)
+ {
+ os << dims[i] << ", ";
+ }
+ os << dims[dims.size() - 1] << "}";
+ }
+
+ delete &space;
+
+ os << std::endl;
+}
+
+std::string H5Dataset::ls() const
+{
+ std::ostringstream os;
+ printLsInfo(os);
+
+ return os.str();
+}
+
+void H5Dataset::ls(std::vector<std::string> & name, std::vector<std::string> & type) const
+{
+ herr_t err;
+ OpDataGetLs opdata(const_cast<H5Dataset *>(this), &name, &type);
+ hsize_t idx = 0;
+
+ err = H5Aiterate(dataset, H5_INDEX_NAME, H5_ITER_INC, &idx, H5Object::getLsAttributes, &opdata);
+ if (err < 0)
+ {
+ throw H5Exception(__LINE__, __FILE__, _("Cannot list dataset attributes."));
+ }
+}
+
+std::string H5Dataset::toString(const unsigned int indentLevel) const
+{
+ std::ostringstream os;
+ std::string indentString = H5Object::getIndentString(indentLevel + 1);
+ const H5Type & type = const_cast<H5Dataset *>(this)->getDataType();
+ const H5AttributesList & attrs = const_cast<H5Dataset *>(this)->getAttributes();
+ const H5Dataspace & space = const_cast<H5Dataset *>(this)->getSpace();
+
+ os << H5Object::getIndentString(indentLevel) << "HDF5 Dataset" << std::endl
+ << indentString << "Filename" << ": " << getParent().getFile().getFileName() << std::endl
+ << indentString << "Name" << ": " << getName() << std::endl
+ << indentString << "Path" << ": " << getCompletePath() << std::endl
+ << indentString << "Type" << ": " << type.getTypeName() << std::endl
+ << indentString << "Dataspace" << ": " << space.getTypeName() << std::endl
+ << indentString << "Data" << ": " << space.getStringDims() << std::endl
+ << indentString << "Attributes" << ": [1 x " << attrs.getSize() << "]";
+
+ delete &space;
+ delete &type;
+ delete &attrs;
+
+ return os.str();
+}
+
+bool H5Dataset::isChunked() const
+{
+ hid_t plist = H5Dget_create_plist(dataset);
+ H5D_layout_t layout = H5Pget_layout(plist);
+ bool chunked = layout == H5D_CHUNKED;
+ H5Pclose(plist);
+
+ return chunked;
+}
+
+hid_t H5Dataset::create(H5Object & loc, const std::string & name, const hid_t type, const hid_t targettype, const hid_t srcspace, const hid_t targetspace, void * data, const bool chunked)
+{
+ herr_t err;
+ hid_t dataset;
+
+ if (H5Lexists(loc.getH5Id(), name.c_str(), H5P_DEFAULT) > 0)
+ {
+ dataset = H5Oopen(loc.getH5Id(), name.c_str(), H5P_DEFAULT);
+ if (dataset < 0)
+ {
+ throw H5Exception(__LINE__, __FILE__, _("Cannot open the dataset: %s"), name.c_str());
+ }
+
+ if (targetspace > 0)
+ {
+ hid_t space = H5Dget_space(dataset);
+ if (space < 0)
+ {
+ throw H5Exception(__LINE__, __FILE__, _("Cannot get the dataspace associated with dataset named %s."), name.c_str());
+ }
+
+ hsize_t * dims = 0;
+ hsize_t * ddims = 0;
+ hsize_t * maxdims = 0;
+ hsize_t * dmaxdims = 0;
+
+ try
+ {
+ herr_t err;
+ int ndims = H5Sget_simple_extent_ndims(space);
+ if (ndims < 0)
+ {
+ throw H5Exception(__LINE__, __FILE__, _("Invalid source space"));
+ }
+ int dndims = H5Sget_simple_extent_ndims(targetspace);
+ if (dndims < 0)
+ {
+ throw H5Exception(__LINE__, __FILE__, _("Invalid target space"));
+ }
+ hsize_t * dims = new hsize_t[ndims];
+ hsize_t * ddims = new hsize_t[dndims];
+ hsize_t * maxdims = new hsize_t[ndims];
+ hsize_t * dmaxdims = new hsize_t[dndims];
+
+ H5Sget_simple_extent_dims(space, dims, maxdims);
+ H5Sget_simple_extent_dims(targetspace, ddims, dmaxdims);
+ H5Sclose(space);
+
+ if (ndims != dndims)
+ {
+ throw H5Exception(__LINE__, __FILE__, _("Wrong dimensions."));
+ }
+ else
+ {
+ for (int i = 0; i < ndims; i++)
+ {
+ if (maxdims[i] != dmaxdims[i])
+ {
+ throw H5Exception(__LINE__, __FILE__, _("Cannot modify maximum dimensions."));
+ }
+ if (ddims[i] > dims[i])
+ {
+ err = H5Dset_extent(dataset, ddims);
+ if (err < 0)
+ {
+ throw H5Exception(__LINE__, __FILE__, _("Cannot modify dimension %d."), i);
+ }
+ break;
+ }
+ }
+ }
+
+ delete[] dims;
+ delete[] ddims;
+ delete[] maxdims;
+ delete[] dmaxdims;
+
+ }
+ catch (const H5Exception & /*e*/)
+ {
+ delete[] dims;
+ delete[] ddims;
+ delete[] maxdims;
+ delete[] dmaxdims;
+ throw;
+ }
+ }
+ }
+ else
+ {
+ if (chunked)
+ {
+ herr_t err;
+ int ndims = H5Sget_simple_extent_ndims(targetspace);
+ if (ndims < 0)
+ {
+ throw H5Exception(__LINE__, __FILE__, _("Invalid target space"));
+ }
+
+ hsize_t * dims = new hsize_t[ndims];
+
+ H5Sget_simple_extent_dims(targetspace, dims, 0);
+ hid_t dcpl = H5Pcreate(H5P_DATASET_CREATE);
+ H5Pset_layout(dcpl, H5D_CHUNKED);
+ err = H5Pset_chunk(dcpl, ndims, dims);
+ delete[] dims;
+
+ if (err < 0)
+ {
+ H5Pclose(dcpl);
+ throw H5Exception(__LINE__, __FILE__, _("Cannot set the chunk dimensions: %s"), name.c_str());
+ }
+
+ dataset = H5Dcreate(loc.getH5Id(), name.c_str(), targettype, targetspace == -1 ? srcspace : targetspace, H5P_DEFAULT, dcpl, H5P_DEFAULT);
+ H5Pclose(dcpl);
+ }
+ else
+ {
+ dataset = H5Dcreate(loc.getH5Id(), name.c_str(), targettype, targetspace == -1 ? srcspace : targetspace, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT);
+ }
+
+ if (dataset < 0)
+ {
+ throw H5Exception(__LINE__, __FILE__, _("Cannot create the dataset: %s"), name.c_str());
+ }
+ }
+
+ err = H5Dwrite(dataset, type, srcspace, targetspace == -1 ? H5S_ALL : targetspace, H5P_DEFAULT, data);
+ if (err < 0)
+ {
+ throw H5Exception(__LINE__, __FILE__, _("Cannot write data in the dataset."));
+ }
+
+ return dataset;
+}
+}
diff --git a/modules/hdf5/src/cpp/H5Dataset.hxx b/modules/hdf5/src/cpp/H5Dataset.hxx
new file mode 100755
index 000000000..5ab583bb6
--- /dev/null
+++ b/modules/hdf5/src/cpp/H5Dataset.hxx
@@ -0,0 +1,193 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2012 - Scilab Enterprises - Calixte DENIZET
+ *
+ * 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 __H5DATASET_HXX__
+#define __H5DATASET_HXX__
+
+#include "H5Object.hxx"
+#include "H5Data.hxx"
+#include "H5Dataspace.hxx"
+#include "H5Type.hxx"
+#include "H5AttributesList.hxx"
+
+#define __HDF5_SCILAB_NAME_LENGTH__ 256
+
+namespace org_modules_hdf5
+{
+class H5Dataset : public H5Object
+{
+ hid_t dataset;
+
+public :
+
+ H5Dataset(H5Object & _parent, const std::string & _name);
+ H5Dataset(H5Object & _parent, hid_t _dataset, const std::string & _name);
+
+ virtual ~H5Dataset();
+
+ hid_t getH5Id() const
+ {
+ return dataset;
+ }
+
+ virtual bool isDataset() const
+ {
+ return true;
+ }
+
+ H5Data & getData();
+ H5Data & getData(H5Dataspace & space, hsize_t * dims);
+ H5Dataspace & getSpace();
+ H5Type & getDataType();
+ bool isChunked() const;
+
+ void label(const unsigned int size, const unsigned int * dim, const char ** name) const;
+
+ virtual void getAccessibleAttribute(const std::string & name, const int pos, void * pvApiCtx) const;
+ virtual std::string dump(std::map<haddr_t, std::string> & alreadyVisited, const unsigned int indentLevel) const;
+ virtual std::string toString(const unsigned int indentLevel) const;
+ virtual std::string ls() const;
+ virtual void ls(std::vector<std::string> & name, std::vector<std::string> & type) const;
+ virtual void printLsInfo(std::ostringstream & os) const;
+
+ class H5Layout : public H5Object
+ {
+
+ public :
+
+ H5Layout(H5Object & _parent) : H5Object(_parent) { }
+
+ virtual hsize_t getStorageSize() const
+ {
+ return H5Dget_storage_size(parent.getH5Id());
+ }
+
+ virtual haddr_t getIOffset() const
+ {
+ return H5Dget_offset(parent.getH5Id());
+ }
+
+ virtual int getExternalCount() const
+ {
+ hid_t plist = H5Dget_create_plist(parent.getH5Id());
+ int count = H5Pget_external_count(plist);
+
+ H5Pclose(plist);
+ return count;
+ }
+
+ virtual ~H5Layout() { }
+ };
+
+ class H5CompactLayout : public H5Layout
+ {
+
+ public :
+
+ H5CompactLayout(H5Object & _parent) : H5Layout(_parent) { }
+
+ virtual ~H5CompactLayout() { }
+
+ virtual std::string dump(std::map<haddr_t, std::string> & alreadyVisited, const unsigned int indentLevel = 0) const
+ {
+ std::ostringstream os;
+ std::string indent = H5Object::getIndentString(indentLevel);
+ std::string indent1 = H5Object::getIndentString(indentLevel + 1);
+
+ os << indent << "STORAGE_LAYOUT {" << std::endl
+ << indent1 << "COMPACT" << std::endl
+ << indent1 << "SIZE " << getStorageSize() << std::endl
+ << indent << "}" << std::endl;
+
+ return os.str();
+ }
+ };
+
+ class H5ChunkedLayout : public H5Layout
+ {
+
+ public :
+
+ H5ChunkedLayout(H5Object & _parent) : H5Layout(_parent) { }
+
+ virtual ~H5ChunkedLayout() { }
+
+ virtual std::string dump(std::map<haddr_t, std::string> & alreadyVisited, const unsigned int indentLevel = 0) const
+ {
+ std::ostringstream os;
+ std::string indent = H5Object::getIndentString(indentLevel);
+ std::string indent1 = H5Object::getIndentString(indentLevel + 1);
+ // TODO: chunked est a finir (cf h5dump.c::2758)
+ os << indent << "STORAGE_LAYOUT {" << std::endl
+ << indent1 << "CHUNKED" << std::endl
+ << indent1 << "SIZE " << getStorageSize() << std::endl
+ << indent << "}" << std::endl;
+
+ return os.str();
+ }
+ };
+
+ class H5ContiguousLayout : public H5Layout
+ {
+
+ public :
+
+ H5ContiguousLayout(H5Object & _parent) : H5Layout(_parent) { }
+
+ virtual ~H5ContiguousLayout() { }
+
+ virtual std::string dump(std::map<haddr_t, std::string> & alreadyVisited, const unsigned int indentLevel = 0) const
+ {
+ std::ostringstream os;
+ std::string indent = H5Object::getIndentString(indentLevel);
+ std::string indent1 = H5Object::getIndentString(indentLevel + 1);
+ unsigned int extCount = (unsigned int)getExternalCount();
+
+ os << indent << "STORAGE_LAYOUT {" << std::endl
+ << indent1 << "CONTIGUOUS" << std::endl;
+
+ if (extCount)
+ {
+ hid_t plist = H5Dget_create_plist(parent.getH5Id());
+ for (unsigned int i = 0; i < extCount; i++)
+ {
+ off_t offset;
+ hsize_t size;
+ char name[__HDF5_SCILAB_NAME_LENGTH__];
+ H5Pget_external(plist, i, __HDF5_SCILAB_NAME_LENGTH__, name, &offset, &size);
+ os << indent1 << "FILENAME " << name << " SIZE " << size << " OFFSET " << offset << std::endl;
+ }
+ H5Pclose(plist);
+ }
+ else
+ {
+ os << indent1 << "SIZE " << getStorageSize() << std::endl
+ << indent1 << "OFFSET " << getIOffset() << std::endl;
+ }
+
+ os << indent << "}" << std::endl;
+
+ return os.str();
+ }
+ };
+
+ H5Layout & getLayout();
+
+ static hid_t create(H5Object & loc, const std::string & name, const hid_t type, const hid_t targettype, const hid_t srcspace, const hid_t targetspace, void * data, const bool chunked = false);
+
+private:
+
+ void init();
+};
+}
+
+#endif // __H5DATASET_HXX__
diff --git a/modules/hdf5/src/cpp/H5DatasetsList.cpp b/modules/hdf5/src/cpp/H5DatasetsList.cpp
new file mode 100755
index 000000000..b3a1e7a88
--- /dev/null
+++ b/modules/hdf5/src/cpp/H5DatasetsList.cpp
@@ -0,0 +1,28 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2012 - Scilab Enterprises - Calixte DENIZET
+ *
+ * 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 "H5DatasetsList.hxx"
+#include "H5Group.hxx"
+
+namespace org_modules_hdf5
+{
+
+H5DatasetsList::H5DatasetsList(H5Group & _parent) : H5NamedObjectsList<H5Dataset>(_parent, H5G_DATASET, "H5 Dataset")
+{
+
+}
+
+H5DatasetsList::~H5DatasetsList()
+{
+
+}
+}
diff --git a/modules/hdf5/src/cpp/H5DatasetsList.hxx b/modules/hdf5/src/cpp/H5DatasetsList.hxx
new file mode 100755
index 000000000..6eadcae6f
--- /dev/null
+++ b/modules/hdf5/src/cpp/H5DatasetsList.hxx
@@ -0,0 +1,35 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2012 - Scilab Enterprises - Calixte DENIZET
+ *
+ * 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 __H5DATASETSLIST_HXX__
+#define __H5DATASETSLIST_HXX__
+
+#include "H5NamedObjectsList.hxx"
+#include "H5Dataset.hxx"
+
+namespace org_modules_hdf5
+{
+
+class H5Group;
+
+class H5DatasetsList : public H5NamedObjectsList<H5Dataset>
+{
+
+public :
+
+ H5DatasetsList(H5Group & _parent) : H5NamedObjectsList<H5Dataset>(_parent, H5O_TYPE_DATASET, -1, "H5 Dataset") { }
+
+ ~H5DatasetsList() { }
+};
+}
+
+#endif // __H5DATASETSLIST_HXX__
diff --git a/modules/hdf5/src/cpp/H5Dataspace.cpp b/modules/hdf5/src/cpp/H5Dataspace.cpp
new file mode 100755
index 000000000..db9efaf21
--- /dev/null
+++ b/modules/hdf5/src/cpp/H5Dataspace.cpp
@@ -0,0 +1,257 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2012 - Scilab Enterprises - Calixte DENIZET
+ *
+ * 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 "H5File.hxx"
+#include "H5Dataspace.hxx"
+
+namespace org_modules_hdf5
+{
+
+H5Dataspace::H5Dataspace(H5Object & _parent, hid_t _space) : H5Object(_parent), space(_space)
+{
+}
+
+H5Dataspace::~H5Dataspace()
+{
+ if (space >= 0)
+ {
+ H5Sclose(space);
+ }
+}
+
+hid_t H5Dataspace::getH5Id()
+{
+ return space;
+}
+
+std::string H5Dataspace::getTypeName() const
+{
+ H5S_class_t _class = H5Sget_simple_extent_type(space);
+ switch (_class)
+ {
+ case H5S_SCALAR:
+ return "scalar";
+ case H5S_SIMPLE:
+ return "simple";
+ case H5S_NULL:
+ return "null";
+ case H5S_NO_CLASS:
+ return "no class";
+ default:
+ return std::string(_("unknown dataspace"));
+ }
+}
+
+std::vector<unsigned int> H5Dataspace::getDims(const bool b) const
+{
+ hsize_t dims[__SCILAB_HDF5_MAX_DIMS__];
+ int ndims;
+ std::vector<unsigned int> vdims;
+ H5S_class_t _class = H5Sget_simple_extent_type(space);
+
+ switch (_class)
+ {
+ case H5S_SCALAR:
+ vdims.push_back(1);
+ break;
+ case H5S_SIMPLE:
+ if (b)
+ {
+ ndims = H5Sget_simple_extent_dims(space, (hsize_t *)dims, 0);
+ }
+ else
+ {
+ ndims = H5Sget_simple_extent_dims(space, 0, (hsize_t *)dims);
+ }
+ vdims.reserve(ndims);
+ for (int i = 0; i < ndims; i++)
+ {
+ vdims.push_back(static_cast<unsigned int>(dims[i]));
+ }
+ break;
+ case H5S_NULL:
+ vdims.push_back(0);
+ break;
+ case H5S_NO_CLASS:
+ default:
+ throw H5Exception(__LINE__, __FILE__, _("Unknown dataspace: cannot get its dimensions"));
+ }
+
+ return vdims;
+}
+
+void H5Dataspace::select() const
+{
+ herr_t err = H5Sselect_all(space);
+ if (err)
+ {
+ throw H5Exception(__LINE__, __FILE__, _("Cannot select all."));
+ }
+}
+
+void H5Dataspace::getAccessibleAttribute(const std::string & _name, const int pos, void * pvApiCtx) const
+{
+ SciErr err;
+ std::string lower(_name);
+ std::transform(_name.begin(), _name.end(), lower.begin(), tolower);
+
+ if (lower == "dims" || lower == "dimensions")
+ {
+ std::vector<unsigned int> dims = getDims(true);
+ err = createMatrixOfUnsignedInteger32(pvApiCtx, pos, 1, (int)dims.size(), &(dims[0]));
+ if (err.iErr)
+ {
+ throw H5Exception(__LINE__, __FILE__, _("Cannot create an array of integer on the stack."));
+ }
+
+ return;
+ }
+ else if (lower == "extents")
+ {
+ std::vector<unsigned int> dims = getDims(false);
+ err = createMatrixOfUnsignedInteger32(pvApiCtx, pos, 1, (int)dims.size(), &(dims[0]));
+ if (err.iErr)
+ {
+ throw H5Exception(__LINE__, __FILE__, _("Cannot create an array of integer on the stack."));
+ }
+
+ return;
+ }
+ else if (lower == "type")
+ {
+ std::string type = getTypeName();
+ const char * _type = type.c_str();
+ err = createMatrixOfString(pvApiCtx, pos, 1, 1, &_type);
+ if (err.iErr)
+ {
+ throw H5Exception(__LINE__, __FILE__, _("Cannot create a string on the stack."));
+ }
+
+ return;
+ }
+
+ H5Object::getAccessibleAttribute(_name, pos, pvApiCtx);
+}
+
+std::string H5Dataspace::dump(std::map<haddr_t, std::string> & alreadyVisited, const unsigned int indentLevel) const
+{
+ std::ostringstream os;
+ hsize_t dims[__SCILAB_HDF5_MAX_DIMS__];
+ hsize_t maxdims[__SCILAB_HDF5_MAX_DIMS__];
+ int ndims;
+ H5S_class_t _class = H5Sget_simple_extent_type(space);
+
+ os << H5Object::getIndentString(indentLevel);
+
+ switch (_class)
+ {
+ case H5S_SCALAR:
+ os << "DATASPACE SCALAR";
+ break;
+ case H5S_SIMPLE:
+ os << "DATASPACE SIMPLE { ";
+ ndims = H5Sget_simple_extent_dims(space, (hsize_t *)dims, (hsize_t *)maxdims);
+ os << "( ";
+ for (int i = 0; i < ndims - 1; i++)
+ {
+ os << dims[i] << ", ";
+ }
+ os << dims[ndims - 1] << " ) / ( ";
+ for (int i = 0; i < ndims - 1; i++)
+ {
+ if (maxdims[i] == H5S_UNLIMITED)
+ {
+ os << "H5S_UNLIMITED, ";
+ }
+ else
+ {
+ os << maxdims[i] << ", ";
+ }
+ }
+ if (maxdims[ndims - 1] == H5S_UNLIMITED)
+ {
+ os << "H5S_UNLIMITED ) }";
+ }
+ else
+ {
+ os << maxdims[ndims - 1] << " ) }";
+ }
+ break;
+ case H5S_NULL:
+ os << "DATASPACE NULL";
+ break;
+ case H5S_NO_CLASS:
+ default:
+ os << _("Unknown dataspace");
+ }
+
+ os << std::endl;
+
+ return os.str();
+}
+
+std::string H5Dataspace::getStringDims() const
+{
+ H5S_class_t _class = H5Sget_simple_extent_type(space);
+ switch (_class)
+ {
+ case H5S_SCALAR:
+ return "[1 x 1]";
+ case H5S_SIMPLE:
+ {
+ const std::vector<unsigned int> dims = getDims(true);
+ std::ostringstream os;
+
+ if (dims.size() == 1)
+ {
+ os << "[1 x " << dims[0] << "]";
+ return os.str();
+ }
+
+ os << "[";
+ for (unsigned int i = 0; i < dims.size() - 1; i++)
+ {
+ os << dims[i] << " x ";
+ }
+ os << dims[dims.size() - 1] << "]";
+
+ return os.str();
+ }
+ case H5S_NULL:
+ return "[]";
+ case H5S_NO_CLASS:
+ return "?";
+ default:
+ return std::string(_("unknown dataspace"));
+ }
+}
+
+std::string H5Dataspace::toString(unsigned int indentLevel) const
+{
+ std::ostringstream os;
+ std::string indentString = H5Object::getIndentString(indentLevel + 1);
+ std::string type = getTypeName();
+
+ os << H5Object::getIndentString(indentLevel) << "HDF5 Dataspace" << std::endl
+ << indentString << "Filename" << ": " << getParent().getFile().getFileName() << std::endl
+ << indentString << "Path" << ": " << getCompletePath() << std::endl
+ << indentString << "Type" << ": " << type;
+
+ if (type == "simple")
+ {
+ os << std::endl << indentString << _("Dimensions") << ": [1 x " << getDims(true).size() << "]" << std::endl
+ << indentString << _("Extents") << ": [1 x " << getDims(false).size() << "]";
+ }
+
+ return os.str();
+}
+}
diff --git a/modules/hdf5/src/cpp/H5Dataspace.hxx b/modules/hdf5/src/cpp/H5Dataspace.hxx
new file mode 100755
index 000000000..90eeb532a
--- /dev/null
+++ b/modules/hdf5/src/cpp/H5Dataspace.hxx
@@ -0,0 +1,131 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2012 - Scilab Enterprises - Calixte DENIZET
+ *
+ * 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 __H5DATASPACE_HXX__
+#define __H5DATASPACE_HXX__
+
+#include "HDF5Objects.h"
+#include "H5Object.hxx"
+
+namespace org_modules_hdf5
+{
+
+class H5Dataspace : public H5Object
+{
+ hid_t space;
+
+public:
+
+ H5Dataspace(H5Object & _parent, hid_t _space);
+ ~H5Dataspace();
+
+ virtual hid_t getH5Id();
+ virtual std::vector<unsigned int> getDims(const bool b) const;
+ virtual std::string getTypeName() const;
+
+ virtual std::string dump(std::map<haddr_t, std::string> & alreadyVisited, const unsigned int indentLevel) const;
+ virtual std::string toString(const unsigned int indentLevel) const;
+ virtual std::string getStringDims() const;
+
+ virtual void getAccessibleAttribute(const std::string & name, const int pos, void * pvApiCtx) const;
+
+ void select() const;
+
+ virtual bool isDataspace() const
+ {
+ return true;
+ }
+
+ template <typename T>
+ hsize_t * select(const unsigned int size, const T * start, const T * stride, const T * count, const T * block) const
+ {
+ return select(space, size, start, stride, count, block);
+ }
+
+ template <typename T>
+ static hsize_t * select(const hid_t space, const unsigned int size, const T * start, const T * stride, const T * count, const T * block)
+ {
+ if (!start)
+ {
+ H5Sselect_all(space);
+ return 0;
+ }
+
+ if (H5Sget_simple_extent_ndims(space) != size)
+ {
+ throw H5Exception(__LINE__, __FILE__, _("Invalid selection rank."));
+ }
+
+ herr_t err;
+ hsize_t * hstart = new hsize_t[size];
+ hsize_t * hstride = new hsize_t[size];
+ hsize_t * hcount = new hsize_t[size];
+ hsize_t * hblock = new hsize_t[size];
+ hsize_t * dims = new hsize_t[size];
+
+ for (unsigned int i = 0; i < size; i++)
+ {
+ hstart[i] = (hsize_t)start[i] - 1;
+ hstride[i] = stride ? (hsize_t)stride[i] : 1;
+ hblock[i] = block ? (hsize_t)block[i] : 1;
+ hcount[i] = (hsize_t)count[i];
+ dims[i] = hblock[i] * hcount[i];
+ }
+
+ err = H5Sselect_hyperslab(space, H5S_SELECT_SET, hstart, hstride, hcount, hblock);
+ delete[] hstart;
+ delete[] hstride;
+ delete[] hcount;
+ delete[] hblock;
+ if (err < 0)
+ {
+ delete[] dims;
+ throw H5Exception(__LINE__, __FILE__, _("Invalid selection."));
+ }
+
+ if (H5Sselect_valid(space) <= 0)
+ {
+ H5Sselect_all(space);
+ delete[] dims;
+ throw H5Exception(__LINE__, __FILE__, _("Invalid selection."));
+ }
+
+ return dims;
+ }
+
+ template <typename T>
+ void select(const unsigned int size, const T * coords) const
+ {
+ herr_t err;
+ hsize_t * hcoords = new hsize_t[size];
+ H5S_seloper_t selop = H5S_SELECT_SET;
+
+ err = H5Sselect_elements(space, selop, (size_t)size, hcoords);
+ delete[] hcoords;
+ if (err)
+ {
+ throw H5Exception(__LINE__, __FILE__, _("Invalid selection."));
+ }
+
+ if (H5Sselect_valid(space) <= 0)
+ {
+ H5Sselect_all(space);
+ throw H5Exception(__LINE__, __FILE__, _("Invalid selection."));
+ }
+ }
+
+ static H5Dataspace & createDataspace(H5Object & parent, const std::string & type);
+ static H5Dataspace & createDataspace(H5Object & parent, const int rank, const hsize_t * dims, const hsize_t * maxdims);
+};
+}
+
+#endif // __H5DATASPACE_HXX__
diff --git a/modules/hdf5/src/cpp/H5EnumData.hxx b/modules/hdf5/src/cpp/H5EnumData.hxx
new file mode 100755
index 000000000..e510f96d7
--- /dev/null
+++ b/modules/hdf5/src/cpp/H5EnumData.hxx
@@ -0,0 +1,63 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2012 - Scilab Enterprises - Calixte DENIZET
+ *
+ * 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 __H5ENUMDATA_HXX__
+#define __H5ENUMDATA_HXX__
+
+#include <map>
+#include <string>
+#include <vector>
+
+#include "H5Data.hxx"
+
+namespace org_modules_hdf5
+{
+
+template<typename T>
+class H5EnumData : public H5BasicData<T>
+{
+ typedef std::map<T, std::string> MapType;
+ const unsigned int nmembers;
+ const std::string * names;
+ MapType map;
+
+public:
+
+ H5EnumData(H5Object & _parent, const hsize_t _totalSize, const hsize_t _dataSize, const hsize_t _ndims, const hsize_t * _dims, T * _data, hid_t enumType, hid_t nativeType, const unsigned int _nmembers, const std::string * _names, const hsize_t _stride, const size_t _offset, const bool _dataOwner) : H5BasicData<T>(_parent, _totalSize, _dataSize, _ndims, _dims, _data, _stride, _offset, _dataOwner), nmembers(_nmembers), names(_names)
+ {
+ hid_t super = H5Tget_super(enumType);
+ for (unsigned long long i = 0; i < nmembers; ++i)
+ {
+ T value = 0;
+ H5Tget_member_value(enumType, i, &value);
+ H5Tconvert(super, nativeType, 1, &value, 0, H5P_DEFAULT);
+ map.insert(std::pair<T, std::string>(value, names[i]));
+ }
+ }
+
+ virtual ~H5EnumData()
+ {
+ if (names)
+ {
+ delete[] names;
+ }
+ }
+
+ virtual void printData(std::ostream & os, const unsigned int pos, const unsigned int indentLevel) const
+ {
+ typename MapType::const_iterator i = map.find(static_cast<T *>(H5BasicData<T>::getData())[pos]);
+ os << i->second;
+ }
+};
+}
+
+#endif // __H5ENUMDATA_HXX__
diff --git a/modules/hdf5/src/cpp/H5Exception.hxx b/modules/hdf5/src/cpp/H5Exception.hxx
new file mode 100755
index 000000000..b281ad998
--- /dev/null
+++ b/modules/hdf5/src/cpp/H5Exception.hxx
@@ -0,0 +1,144 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2012 - Scilab Enterprises - Calixte DENIZET
+ *
+ * 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 __H5EXCEPTION_HXX__
+#define __H5EXCEPTION_HXX__
+
+extern "C"
+{
+#include "localization.h"
+#include "backtrace_print.h"
+}
+
+#include "HDF5Objects.h"
+
+#include <cstdlib>
+#include <exception>
+#include <sstream>
+#include <string>
+#include <cstdio>
+#include <stdarg.h>
+
+#define BUFFER_SIZE 1024
+
+namespace org_modules_hdf5
+{
+class H5Exception : public std::exception
+{
+ std::string message;
+ std::string file;
+ int line;
+
+public :
+
+ H5Exception(const int _line, const char * _file, std::string _message, ...) : message(""), file(_file), line(_line)
+ {
+ char str[BUFFER_SIZE];
+ va_list args;
+
+ va_start(args, _message);
+ vsnprintf(str, BUFFER_SIZE, _message.c_str(), args);
+ va_end(args);
+
+ message = getDescription(std::string(str));
+ }
+
+ H5Exception(const int _line, const char * _file, const char * _message, ...) : message(""), file(_file), line(_line)
+ {
+ char str[BUFFER_SIZE];
+ va_list args;
+
+ va_start(args, _message);
+ vsnprintf(str, BUFFER_SIZE, _message, args);
+ va_end(args);
+
+ message = getDescription(std::string(str));
+ }
+
+ virtual ~H5Exception() throw() { }
+
+ virtual const char * what() const throw()
+ {
+ return message.c_str();
+ }
+
+private:
+
+ static std::string getHDF5ErrorMsg()
+ {
+ hid_t stid = H5Eget_current_stack();
+ if (stid < 0)
+ {
+ return std::string(_("Cannot get the current stack of errors."));
+ }
+
+ ssize_t stackSize = H5Eget_num(stid);
+ std::string ret;
+
+ if (stackSize)
+ {
+ herr_t err = H5Ewalk2(stid, H5E_WALK_UPWARD, getStackErrorMsg, &ret);
+ H5Eclear2(stid);
+ }
+
+ return ret;
+ }
+
+ static herr_t getStackErrorMsg(unsigned int n, const H5E_error2_t * eptr, void * client_data)
+ {
+ std::string * str = (std::string *)client_data;
+ str->append(eptr->desc);
+
+ return -1;
+ }
+
+ inline std::string getDescription(std::string m) const
+ {
+ std::ostringstream os;
+ std::string err = getHDF5ErrorMsg();
+ if (!err.empty())
+ {
+ os << m << std::endl
+ << _("HDF5 description") << ": " << err << "." << std::flush;
+
+ m = os.str();
+ os.str("");
+ }
+
+#if defined(__HDF5OBJECTS_DEBUG__)
+
+ if (line == -1)
+ {
+ return m;
+ }
+
+ const char * bt = backtrace_print(0, 1);
+
+ os << m << std::endl
+ << "DEBUG Information:" << std::endl
+ << gettext("Exception thrown in file") << " " << file << " " << gettext("at line") << " " << line << std::endl
+ << bt << std::flush;
+
+ free(const_cast<char *>(bt));
+
+ return os.str();
+
+#else
+
+ return m;
+
+#endif
+ }
+};
+}
+
+#endif // __H5EXCEPTION_HXX__
diff --git a/modules/hdf5/src/cpp/H5ExternalLink.cpp b/modules/hdf5/src/cpp/H5ExternalLink.cpp
new file mode 100755
index 000000000..e8642e76d
--- /dev/null
+++ b/modules/hdf5/src/cpp/H5ExternalLink.cpp
@@ -0,0 +1,153 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2012 - Scilab Enterprises - Calixte DENIZET
+ *
+ * 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 "H5ExternalLink.hxx"
+
+namespace org_modules_hdf5
+{
+
+std::vector<std::string *> H5ExternalLink::getLinkTargets() const
+{
+ herr_t err;
+ H5L_info_t info;
+ char * buf = 0;
+ std::vector<std::string *> ret;
+ const char * filename = 0;
+ const char * obj_path = 0;
+
+ err = H5Lget_info(getParent().getH5Id(), getName().c_str(), &info, H5P_DEFAULT);
+ if (err < 0)
+ {
+ throw H5Exception(__LINE__, __FILE__, _("Cannot get the link info"));
+ }
+
+ buf = new char[info.u.val_size];
+ err = H5Lget_val(getParent().getH5Id(), getName().c_str(), buf, info.u.val_size, H5P_DEFAULT);
+ if (err < 0)
+ {
+ delete[] buf;
+ throw H5Exception(__LINE__, __FILE__, _("Cannot get the link target"));
+ }
+
+ // According to the doc the flags arg is useless
+ // For the future: follow the evolution of this argument.
+ err = H5Lunpack_elink_val(buf, info.u.val_size, 0, &filename, &obj_path);
+ if (err < 0)
+ {
+ delete[] buf;
+ throw H5Exception(__LINE__, __FILE__, _("Cannot get the link target"));
+ }
+
+ ret.reserve(2);
+ ret[0] = new std::string(filename);
+ ret[1] = new std::string(obj_path);
+
+ delete[] buf;
+
+ return ret;
+}
+
+std::string H5ExternalLink::getLinkType() const
+{
+ return "external";
+}
+
+void H5ExternalLink::getAccessibleAttribute(const std::string & _name, const int pos, void * pvApiCtx) const
+{
+ SciErr err;
+ std::string lower(_name);
+ std::transform(_name.begin(), _name.end(), lower.begin(), tolower);
+
+ if (lower == "type")
+ {
+ const std::string linkType = getLinkType();
+ const char * _type = linkType.c_str();
+ err = createMatrixOfString(pvApiCtx, pos, 1, 1, &_type);
+ if (err.iErr)
+ {
+ throw H5Exception(__LINE__, __FILE__, _("Cannot create a string on the stack."));
+ }
+
+ return;
+ }
+ else if (lower == "target")
+ {
+ const char * _target[2];
+ std::vector<std::string *> target = getLinkTargets();
+ _target[0] = (*target[0]).c_str();
+ _target[1] = (*target[1]).c_str();
+
+ err = createMatrixOfString(pvApiCtx, pos, 1, 2, _target);
+ target.erase(target.begin(), target.end());
+ if (err.iErr)
+ {
+ throw H5Exception(__LINE__, __FILE__, _("Cannot create a string on the stack."));
+ }
+
+ return;
+ }
+
+ H5Object::getAccessibleAttribute(_name, pos, pvApiCtx);
+}
+
+void H5ExternalLink::printLsInfo(std::ostringstream & os) const
+{
+ std::string str(getName());
+ H5Object::getResizedString(str);
+ std::vector<std::string *> target = getLinkTargets();
+
+ os << str << "External Link {" << *target[0] << "//" << *target[1] << "}" << std::endl;
+
+ target.erase(target.begin(), target.end());
+}
+
+std::string H5ExternalLink::ls() const
+{
+ std::ostringstream os;
+ printLsInfo(os);
+
+ return os.str();
+}
+
+std::string H5ExternalLink::dump(std::map<haddr_t, std::string> & alreadyVisited, const unsigned int indentLevel) const
+{
+ std::ostringstream os;
+ std::vector<std::string *> target = getLinkTargets();
+
+ os << H5Object::getIndentString(indentLevel) << "EXTERNAL_LINK \"" << name << "\" {" << std::endl
+ << H5Object::getIndentString(indentLevel + 1) << "TARGETFILE \"" << *target[0] << "\"" << std::endl
+ << H5Object::getIndentString(indentLevel + 1) << "TARGETPATH \"" << *target[1] << "\"" << std::endl
+ << H5Object::getIndentString(indentLevel) << "}" << std::endl;
+
+ target.erase(target.begin(), target.end());
+
+ return os.str();
+}
+
+std::string H5ExternalLink::toString(const unsigned int indentLevel) const
+{
+ std::ostringstream os;
+ std::vector<std::string *> target = getLinkTargets();
+ std::string indentString = H5Object::getIndentString(indentLevel);
+
+ os << indentString << _("Filename") << ": " << getFile().getFileName() << std::endl
+ << indentString << _("Link type") << ": " << getLinkType() << std::endl
+ << indentString << _("Link name") << ": " << name << std::endl
+ << indentString << _("Link path") << ": " << getCompletePath() << std::endl
+ << indentString << _("Link target file") << ": " << *target[0] << std::endl
+ << indentString << _("Link target path") << ": " << *target[1];
+
+ target.erase(target.begin(), target.end());
+
+ return os.str();
+}
+}
diff --git a/modules/hdf5/src/cpp/H5ExternalLink.hxx b/modules/hdf5/src/cpp/H5ExternalLink.hxx
new file mode 100755
index 000000000..359bb5627
--- /dev/null
+++ b/modules/hdf5/src/cpp/H5ExternalLink.hxx
@@ -0,0 +1,42 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2012 - Scilab Enterprises - Calixte DENIZET
+ *
+ * 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 __H5EXTERNALLINK_HXX__
+#define __H5EXTERNALLINK_HXX__
+
+#include "H5Link.hxx"
+
+namespace org_modules_hdf5
+{
+
+class H5ExternalLink : public H5Link
+{
+public:
+
+ H5ExternalLink(H5Object & _parent, const char * name) : H5Link(_parent, name) { }
+ H5ExternalLink(H5Object & _parent, const std::string & name) : H5Link(_parent, name) { }
+
+ virtual ~H5ExternalLink() { }
+
+ virtual std::string toString(const unsigned int indentLevel) const;
+ virtual std::string dump(std::map<haddr_t, std::string> & alreadyVisited, const unsigned int indentLevel = 0) const;
+ virtual std::string ls() const;
+ virtual void printLsInfo(std::ostringstream & os) const;
+
+ std::vector<std::string *> getLinkTargets() const;
+ virtual std::string getLinkType() const;
+
+ virtual void getAccessibleAttribute(const std::string & name, const int pos, void * pvApiCtx) const;
+};
+}
+
+#endif // __H5EXTERNALLINK_HXX__
diff --git a/modules/hdf5/src/cpp/H5File.cpp b/modules/hdf5/src/cpp/H5File.cpp
new file mode 100755
index 000000000..13415e687
--- /dev/null
+++ b/modules/hdf5/src/cpp/H5File.cpp
@@ -0,0 +1,452 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2012 - Scilab Enterprises - Calixte DENIZET
+ *
+ * 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 "HDF5Objects.h"
+#include "H5Group.hxx"
+#include "H5File.hxx"
+
+extern "C"
+{
+#include "FileExist.h"
+}
+
+namespace org_modules_hdf5
+{
+
+void H5File::init(const hid_t fapl)
+{
+ bool opened;
+
+#if !defined(__HDF5ERROR_PRINT__)
+ H5Eset_auto(H5E_DEFAULT, 0, 0);
+#endif
+
+ if (filename.empty())
+ {
+ throw H5Exception(__LINE__, __FILE__, _("Invalid hdf5 file: empty filename."));
+ }
+
+ switch (flags)
+ {
+ case RDONLY:
+ if (!FileExist(const_cast<char *>(filename.c_str())) || H5Fis_hdf5(filename.c_str()) <= 0)
+ {
+ throw H5Exception(__LINE__, __FILE__, _("Invalid hdf5 file: %s."), filename.c_str());
+ }
+
+ file = H5Fopen(filename.c_str(), H5F_ACC_RDONLY, fapl);
+ if (file < 0)
+ {
+ throw H5Exception(__LINE__, __FILE__, _("Cannot open the given hdf5 file: %s."), filename.c_str());
+ }
+
+ opened = true;
+ break;
+ case RDWR:
+ if (!FileExist(const_cast<char *>(filename.c_str())) || H5Fis_hdf5(filename.c_str()) <= 0)
+ {
+ throw H5Exception(__LINE__, __FILE__, _("Invalid hdf5 file: %s."), filename.c_str());
+ }
+
+ file = H5Fopen(filename.c_str(), H5F_ACC_RDWR, fapl);
+ if (file < 0)
+ {
+ throw H5Exception(__LINE__, __FILE__, _("Cannot open the given hdf5 file: %s."), filename.c_str());
+ }
+
+ opened = true;
+ break;
+ case TRUNC:
+ file = H5Fcreate(filename.c_str(), H5F_ACC_TRUNC, H5P_DEFAULT, fapl);
+ if (file < 0)
+ {
+ throw H5Exception(__LINE__, __FILE__, _("Cannot create the given hdf5 file: %s."), filename.c_str());
+ }
+
+ break;
+ case EXCL:
+ file = H5Fcreate(filename.c_str(), H5F_ACC_EXCL, H5P_DEFAULT, fapl);
+ if (file < 0)
+ {
+ throw H5Exception(__LINE__, __FILE__, _("Cannot create the given hdf5 file: %s."), filename.c_str());
+ }
+ break;
+ case APPEND:
+ if (FileExist(const_cast<char *>(filename.c_str())))
+ {
+ if (H5Fis_hdf5(filename.c_str()) > 0)
+ {
+ file = H5Fopen(filename.c_str(), H5F_ACC_RDWR, fapl);
+ if (file < 0)
+ {
+ throw H5Exception(__LINE__, __FILE__, _("Cannot open the given hdf5 file: %s."), filename.c_str());
+ }
+
+ opened = true;
+ }
+ else
+ {
+ struct stat stat_buf;
+ int rc = stat(filename.c_str(), &stat_buf);
+ if (!rc && stat_buf.st_size == 0)
+ {
+ throw H5Exception(__LINE__, __FILE__, _("Cannot open the file: %s, an empty file with the same name already exists."), filename.c_str());
+ }
+
+ throw H5Exception(__LINE__, __FILE__, _("Cannot append the file (not HDF5): %s."), filename.c_str());
+ }
+ }
+ else
+ {
+ file = H5Fcreate(filename.c_str(), H5F_ACC_EXCL, H5P_DEFAULT, fapl);
+ if (file < 0)
+ {
+ throw H5Exception(__LINE__, __FILE__, _("Cannot create the given hdf5 file: %s."), filename.c_str());
+ }
+ }
+ break;
+ default:
+ throw H5Exception(__LINE__, __FILE__, _("Invalid flag."));
+ }
+
+ if (opened && path != "/" && H5Lexists(file, path.c_str(), H5P_DEFAULT) <= 0)
+ {
+ H5Fclose(file);
+ throw H5Exception(__LINE__, __FILE__, _("Invalid path: %s"), path.c_str());
+ }
+}
+
+H5File::H5File(const std::string & _filename, const std::string & _path, const std::string & access) : H5Object(H5Object::getRoot()), filename(_filename), path(_path), flags(getFlags(access))
+{
+ hid_t fapl = H5Pcreate(H5P_FILE_ACCESS);
+ H5Pset_fclose_degree(fapl, H5F_CLOSE_STRONG);
+
+ try
+ {
+ init(fapl);
+ H5Pclose(fapl);
+ }
+ catch (const H5Exception & /*e*/)
+ {
+ H5Pclose(fapl);
+ throw;
+ }
+}
+
+H5File::H5File(const std::string & _filename, const std::string & _path, const std::string & access, const std::string & driver) : H5Object(H5Object::getRoot()), filename(_filename), path(_path), flags(getFlags(access))
+{
+ hid_t fapl = H5Pcreate(H5P_FILE_ACCESS);
+ H5Pset_fclose_degree(fapl, H5F_CLOSE_STRONG);
+
+ if (driver == "stdio")
+ {
+ H5Pset_fapl_stdio(fapl);
+ }
+ else if (driver == "sec2")
+ {
+ H5Pset_fapl_sec2(fapl);
+ }
+
+ try
+ {
+ init(fapl);
+ H5Pclose(fapl);
+ }
+ catch (const H5Exception & /*e*/)
+ {
+ H5Pclose(fapl);
+ throw;
+ }
+}
+
+H5File::H5File(const std::string & _filename, const std::string & _path, const std::string & access, const bool backingStore, const size_t blockSize) : H5Object(H5Object::getRoot()), filename(_filename), path(_path), flags(getFlags(access))
+{
+ herr_t err;
+ hid_t fapl = H5Pcreate(H5P_FILE_ACCESS);
+ H5Pset_fclose_degree(fapl, H5F_CLOSE_STRONG);
+
+ err = H5Pset_fapl_core(fapl, blockSize, (hbool_t)backingStore);
+ if (err < 0)
+ {
+ H5Pclose(fapl);
+ throw H5Exception(__LINE__, __FILE__, _("Cannot set \'core\' as driver."));
+ }
+
+ try
+ {
+ init(fapl);
+ H5Pclose(fapl);
+ }
+ catch (const H5Exception & /*e*/)
+ {
+ H5Pclose(fapl);
+ throw;
+ }
+}
+
+H5File::H5File(const std::string & _filename, const std::string & _path, const std::string & access, const hsize_t memberSize) : H5Object(H5Object::getRoot()), filename(_filename), path(_path), flags(getFlags(access))
+{
+ herr_t err;
+ hid_t fapl;
+ hid_t fapl2;
+
+ if (filename.find("%d") == std::string::npos)
+ {
+ throw H5Exception(__LINE__, __FILE__, _("Invalid filename: must contain a '%d'."));
+ }
+
+ fapl = H5Pcreate(H5P_FILE_ACCESS);
+ H5Pset_fclose_degree(fapl, H5F_CLOSE_STRONG);
+ fapl2 = H5Pcreate(H5P_FILE_ACCESS);
+ H5Pset_fclose_degree(fapl2, H5F_CLOSE_STRONG);
+
+ err = H5Pset_fapl_family(fapl, memberSize, fapl2);
+ H5Pclose(fapl2);
+ if (err < 0)
+ {
+ H5Pclose(fapl);
+ throw H5Exception(__LINE__, __FILE__, _("Cannot set \'family\' as driver."));
+ }
+
+ try
+ {
+ init(fapl);
+ H5Pclose(fapl);
+ }
+ catch (const H5Exception & /*e*/)
+ {
+ H5Pclose(fapl);
+ throw;
+ }
+}
+
+
+H5File::~H5File()
+{
+ H5Fflush(file, H5F_SCOPE_GLOBAL);
+ cleanup();
+ if (file >= 0)
+ {
+
+#if defined(__HDF5OBJECTS_DEBUG__)
+
+ std::cout << "File " << filename << " is closing." << std::endl
+ << "Open groups: " << H5Fget_obj_count(file, H5F_OBJ_GROUP) << std::endl
+ << "Open datasets: " << H5Fget_obj_count(file, H5F_OBJ_DATASET) << std::endl
+ << "Open datatypes: " << H5Fget_obj_count(file, H5F_OBJ_DATATYPE) << std::endl
+ << "Open attributes: " << H5Fget_obj_count(file, H5F_OBJ_ATTR) << std::endl
+ << "Open all (except the file itself): " << H5Fget_obj_count(file, H5F_OBJ_ALL) - 1 << std::endl;
+
+#endif
+
+ H5Fclose(file);
+ H5garbage_collect();
+ }
+}
+
+void H5File::flush(const bool local) const
+{
+ herr_t err = H5Fflush(file, local ? H5F_SCOPE_LOCAL : H5F_SCOPE_GLOBAL);
+ if (err < 0)
+ {
+ throw H5Exception(__LINE__, __FILE__, _("Error in flushing the file."));
+ }
+}
+
+H5Object & H5File::getRoot()
+{
+ hid_t obj = H5Oopen(getH5Id(), path.c_str(), H5P_DEFAULT);
+ if (obj < 0)
+ {
+ throw H5Exception(__LINE__, __FILE__, _("Invalid path: %s"), path.c_str());
+ }
+
+ try
+ {
+ return H5Object::getObject(*this, obj);
+ }
+ catch (const H5Exception & /*e*/)
+ {
+ H5Oclose(obj);
+ throw;
+ }
+}
+
+std::string H5File::getCompletePath() const
+{
+ return "";
+}
+
+hsize_t H5File::getFileSize() const
+{
+ herr_t err;
+ hsize_t size = 0;
+
+ err = H5Fget_filesize(file, &size);
+ if (err < 0)
+ {
+ throw H5Exception(__LINE__, __FILE__, _("Cannot retrieve file size: %s"), filename.c_str());
+ }
+
+ return size;
+}
+
+void H5File::getFileHDF5Version(unsigned int * out) const
+{
+ herr_t err = H5get_libversion(out, out + 1, out + 2);
+ if (err < 0)
+ {
+ throw H5Exception(__LINE__, __FILE__, _("Cannot retrieve file version: %s"), filename.c_str());
+ }
+}
+
+void H5File::getAccessibleAttribute(const std::string & _name, const int pos, void * pvApiCtx) const
+{
+ SciErr err;
+ std::string lower(_name);
+
+ /* try
+ {
+ H5Object & _root = const_cast<H5File *>(this)->getRoot();
+ H5Object & obj = H5Object::getObject(_root, _name);
+ obj.createOnScilabStack(pos, pvApiCtx);
+ return;
+ }
+ catch (const H5Exception & e) { }
+ */
+
+ if (H5Object::isEmptyPath(_name))
+ {
+ this->createOnScilabStack(pos, pvApiCtx);
+ return;
+ }
+
+ if (_name.at(0) == '/')
+ {
+ H5Object * obj = 0;
+
+ try
+ {
+ obj = &H5Object::getObject(*const_cast<H5File *>(this), _name);
+ obj->createOnScilabStack(pos, pvApiCtx);
+ return;
+ }
+ catch (const H5Exception & /*e*/)
+ {
+ if (obj)
+ {
+ delete obj;
+ }
+ throw;
+ }
+ }
+
+ std::transform(_name.begin(), _name.end(), lower.begin(), tolower);
+
+ if (lower == "name")
+ {
+ const char * _filename = filename.c_str();
+ err = createMatrixOfString(pvApiCtx, pos, 1, 1, &_filename);
+ if (err.iErr)
+ {
+ throw H5Exception(__LINE__, __FILE__, _("Cannot create a string on the stack."));
+ }
+
+ return;
+ }
+ else if (lower == "size")
+ {
+ unsigned int size = (unsigned int)getFileSize();
+ err = createMatrixOfUnsignedInteger32(pvApiCtx, pos, 1, 1, &size);
+ if (err.iErr)
+ {
+ throw H5Exception(__LINE__, __FILE__, _("Cannot create an integer on the stack."));
+ }
+
+ return;
+ }
+ else if (lower == "version")
+ {
+ unsigned int version[3];
+ getFileHDF5Version(version);
+ err = createMatrixOfUnsignedInteger32(pvApiCtx, pos, 1, 3, (unsigned int *)version);
+ if (err.iErr)
+ {
+ throw H5Exception(__LINE__, __FILE__, _("Cannot create an array of integer on the stack."));
+ }
+
+ return;
+ }
+ else if (lower == "root")
+ {
+ H5Object & _root = const_cast<H5File *>(this)->getRoot();
+ _root.createOnScilabStack(pos, pvApiCtx);
+ return;
+ }
+
+ throw H5Exception(__LINE__, __FILE__, _("Invalid field %s."), _name.c_str());
+}
+
+std::string H5File::dump(std::map<haddr_t, std::string> & alreadyVisited, const unsigned int indentLevel) const
+{
+ std::ostringstream os;
+ H5Object & _root = const_cast<H5File *>(this)->getRoot();
+ os << H5Object::getIndentString(indentLevel) << "HDF5 \"" << filename << "\" {" << std::endl
+ << _root.dump(alreadyVisited, indentLevel + 1)
+ << H5Object::getIndentString(indentLevel) << "}" << std::endl;
+
+ delete &_root;
+
+ return os.str();
+}
+
+void H5File::ls(std::vector<std::string> & name, std::vector<std::string> & type) const
+{
+ H5Object & _root = const_cast<H5File *>(this)->getRoot();
+ _root.ls(name, type);
+ delete &_root;
+}
+
+std::string H5File::ls() const
+{
+ H5Object & _root = const_cast<H5File *>(this)->getRoot();
+ std::string str = _root.ls();
+ delete &_root;
+
+ return str;
+}
+
+std::string H5File::toString(const unsigned int indentLevel) const
+{
+ herr_t err;
+ hsize_t size = 0;
+ std::ostringstream os;
+ unsigned int major = 0, minor = 0, release = 0;
+ std::string indentString = H5Object::getIndentString(indentLevel + 1);
+
+ err = H5Fget_filesize(file, &size);
+ if (err < 0)
+ {
+ throw H5Exception(__LINE__, __FILE__, _("Cannot retrieve file size: %s"), filename.c_str());
+ }
+
+ err = H5get_libversion(&major, &minor, &release);
+
+ os << H5Object::getIndentString(indentLevel) << "HDF5 File" << std::endl
+ << indentString << "Filename" << ": " << filename << std::endl
+ << indentString << "Version" << ": " << major << "." << minor << "." << release << std::endl
+ << indentString << "Size" << ": " << size << std::endl
+ << indentString << "Root" << ": /" << std::endl;
+
+ return os.str();
+}
+}
diff --git a/modules/hdf5/src/cpp/H5File.hxx b/modules/hdf5/src/cpp/H5File.hxx
new file mode 100755
index 000000000..2b1b1b8d7
--- /dev/null
+++ b/modules/hdf5/src/cpp/H5File.hxx
@@ -0,0 +1,111 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2012 - Scilab Enterprises - Calixte DENIZET
+ *
+ * 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 __H5FILE_HXX__
+#define __H5FILE_HXX__
+
+#include "H5Object.hxx"
+
+#include <sys/stat.h>
+
+namespace org_modules_hdf5
+{
+class H5Group;
+
+class H5File : public H5Object
+{
+ enum FileAccess { RDONLY, RDWR, TRUNC, EXCL, APPEND };
+
+ const std::string filename;
+ const std::string path;
+ const FileAccess flags;
+ hid_t file;
+
+public :
+
+ H5File(const std::string & _filename, const std::string & _path, const std::string & access = "a");
+ H5File(const std::string & _filename, const std::string & _path, const std::string & access, const std::string & driver);
+ H5File(const std::string & _filename, const std::string & _path, const std::string & access, const bool backingStore, const size_t blockSize);
+ H5File(const std::string & _filename, const std::string & _path, const std::string & access, const hsize_t memberSize);
+
+ ~H5File();
+
+ virtual H5Object & getRoot();
+ virtual hid_t getH5Id() const
+ {
+ return file;
+ }
+
+ virtual bool isFile() const
+ {
+ return true;
+ }
+
+ void flush(const bool local) const;
+
+ virtual std::string getCompletePath() const;
+
+ const std::string & getFileName() const
+ {
+ return filename;
+ }
+
+ const std::string & getRootPath() const
+ {
+ return path;
+ }
+
+ hsize_t getFileSize() const;
+ void getFileHDF5Version(unsigned int * out) const;
+
+ virtual void getAccessibleAttribute(const std::string & name, const int pos, void * pvApiCtx) const;
+
+ virtual std::string toString(const unsigned int indentLevel) const;
+ virtual std::string dump(std::map<haddr_t, std::string> & alreadyVisited, const unsigned int indentLevel = 0) const;
+ virtual std::string ls() const;
+ virtual void ls(std::vector<std::string> & name, std::vector<std::string> & type) const;
+
+ static bool checkFileAccess(const std::string & access)
+ {
+ return access == "r" || access == "r+" || access == "w" || access == "w-" || access == "a";
+ }
+
+private :
+
+ void init(const hid_t fapl);
+
+ static FileAccess getFlags(const std::string & access)
+ {
+ if (access == "r")
+ {
+ return RDONLY;
+ }
+ else if (access == "r+")
+ {
+ return RDWR;
+ }
+ else if (access == "w")
+ {
+ return TRUNC;
+ }
+ else if (access == "w-")
+ {
+ return EXCL;
+ }
+
+ return APPEND;
+ }
+
+};
+}
+
+#endif // __H5FILE_HXX__
diff --git a/modules/hdf5/src/cpp/H5FloatData.hxx b/modules/hdf5/src/cpp/H5FloatData.hxx
new file mode 100755
index 000000000..744f17cc6
--- /dev/null
+++ b/modules/hdf5/src/cpp/H5FloatData.hxx
@@ -0,0 +1,107 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2012 - Scilab Enterprises - Calixte DENIZET
+ *
+ * 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 __H5FLOATDATA_HXX__
+#define __H5FLOATDATA_HXX__
+
+#include "H5BasicData.hxx"
+
+namespace org_modules_hdf5
+{
+
+class H5FloatData : public H5Data
+{
+
+protected:
+
+ double * transformedData;
+
+public:
+
+ H5FloatData(H5Object & _parent, const hsize_t _totalSize, const hsize_t _dataSize, const hsize_t _ndims, const hsize_t * _dims, float * _data, const hsize_t _stride = -1, const size_t _offset = 0, const bool _dataOwner = true) : H5Data(_parent, _totalSize, _dataSize, _ndims, _dims, _data, _stride, _offset, _dataOwner)
+ {
+ transformedData = new double[totalSize];
+
+ if (stride == -1)
+ {
+ for (unsigned int i = 0; i < (unsigned int)totalSize; i++)
+ {
+ transformedData[i] = (double)(_data[i]);
+ }
+ }
+ else
+ {
+ char * __data = (char *)_data;
+ for (unsigned int i = 0; i < (unsigned int)totalSize; i++)
+ {
+ transformedData[i] = (double)(*((float *)(__data + offset)));
+ __data += stride;
+ }
+ }
+ }
+
+ virtual ~H5FloatData()
+ {
+ delete[] transformedData;
+ }
+
+ virtual void * getData() const
+ {
+ return transformedData;
+ }
+
+ virtual void printData(std::ostream & os, const unsigned int pos, const unsigned int indentLevel) const
+ {
+ os << transformedData[pos];
+ }
+
+ virtual void toScilab(void * pvApiCtx, const int lhsPosition, int * parentList = 0, const int listPosition = 0, const bool flip = true) const
+ {
+ SciErr err;
+ double * newData = 0;
+ if (ndims == 1)
+ {
+ H5BasicData<char>::alloc(pvApiCtx, lhsPosition, 1, *dims, parentList, listPosition, &newData);
+ memcpy(static_cast<void *>(newData), static_cast<void *>(transformedData), totalSize * sizeof(double));
+ }
+ else
+ {
+ if (ndims == 2)
+ {
+ if (flip)
+ {
+ H5BasicData<char>::alloc(pvApiCtx, lhsPosition, dims[1], dims[0], parentList, listPosition, &newData);
+ }
+ else
+ {
+ H5BasicData<char>::alloc(pvApiCtx, lhsPosition, dims[0], dims[1], parentList, listPosition, &newData);
+ }
+
+ H5DataConverter::C2FHypermatrix(2, dims, 0, static_cast<double *>(getData()), newData, flip);
+ }
+ else
+ {
+ int * list = getHypermatrix(pvApiCtx, lhsPosition, parentList, listPosition, flip);
+ H5BasicData<char>::alloc(pvApiCtx, lhsPosition, totalSize, 1, list, 3, &newData);
+ H5DataConverter::C2FHypermatrix(ndims, dims, totalSize, static_cast<double *>(getData()), newData, flip);
+ }
+ }
+ }
+
+ virtual std::string dump(std::map<haddr_t, std::string> & alreadyVisited, const unsigned int indentLevel) const
+ {
+ return H5DataConverter::dump(alreadyVisited, indentLevel, ndims, dims, *this);
+ }
+};
+}
+
+#endif // __H5FLOATDATA_HXX__
diff --git a/modules/hdf5/src/cpp/H5Group.cpp b/modules/hdf5/src/cpp/H5Group.cpp
new file mode 100755
index 000000000..fcea6a4c4
--- /dev/null
+++ b/modules/hdf5/src/cpp/H5Group.cpp
@@ -0,0 +1,476 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2012 - Scilab Enterprises - Calixte DENIZET
+ *
+ * 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 "H5Group.hxx"
+#include "H5File.hxx"
+#include "H5SoftLinksList.hxx"
+#include "H5GroupsList.hxx"
+#include "H5DatasetsList.hxx"
+#include "H5TypesList.hxx"
+#include "H5Link.hxx"
+#include "H5BasicData.hxx"
+
+namespace org_modules_hdf5
+{
+
+void H5Group::init()
+{
+ group = H5Gopen(getParent().getH5Id(), name.c_str(), H5P_DEFAULT);
+ if (group < 0)
+ {
+ throw H5Exception(__LINE__, __FILE__, _("Cannot open the group %s."), name.c_str());
+ }
+}
+
+H5Group::H5Group(H5Object & _parent, const std::string & _name) : H5Object(_parent, _name)
+{
+ init();
+}
+
+H5Group::H5Group(H5Object & _parent, hid_t _group, const std::string & _name) : H5Object(_parent, _name), group(_group)
+{
+
+}
+
+H5Group::~H5Group()
+{
+ if (group >= 0)
+ {
+ H5Gclose(group);
+ }
+}
+
+H5NamedObjectsList<H5SoftLink> & H5Group::getSoftLinks()
+{
+ return *new H5NamedObjectsList<H5SoftLink>(*this, -1, H5L_TYPE_SOFT, "Soft Link");
+}
+
+H5NamedObjectsList<H5ExternalLink> & H5Group::getExternalLinks()
+{
+ return *new H5NamedObjectsList<H5ExternalLink>(*this, -1, H5L_TYPE_EXTERNAL, "External Link");
+}
+
+H5GroupsList & H5Group::getGroups()
+{
+ return *new H5GroupsList(*this);
+}
+
+H5NamedObjectsList<H5Group> & H5Group::getHardGroups()
+{
+ return *new H5NamedObjectsList<H5Group>(*this, H5O_TYPE_GROUP, H5L_TYPE_HARD, "Group");
+}
+
+H5NamedObjectsList<H5Type> & H5Group::getHardTypes()
+{
+ return *new H5NamedObjectsList<H5Type>(*this, H5O_TYPE_NAMED_DATATYPE, H5L_TYPE_HARD, "Type");
+}
+
+H5NamedObjectsList<H5Dataset> & H5Group::getHardDatasets()
+{
+ return *new H5NamedObjectsList<H5Dataset>(*this, H5O_TYPE_DATASET, H5L_TYPE_HARD, "Dataset");
+}
+
+H5DatasetsList & H5Group::getDatasets()
+{
+ return *new H5DatasetsList(*this);
+}
+
+H5TypesList & H5Group::getTypes()
+{
+ return *new H5TypesList(*this);
+}
+
+const unsigned int H5Group::getLinksSize() const
+{
+ herr_t err;
+ H5G_info_t info;
+
+ err = H5Gget_info(group, &info);
+ if (err < 0)
+ {
+ throw H5Exception(__LINE__, __FILE__, _("Cannot get the links number"));
+ }
+
+ return (unsigned int)info.nlinks;
+}
+
+std::string H5Group::getCompletePath() const
+{
+ std::string name = getName();
+ if (name == "/")
+ {
+ return "/";
+ }
+
+ return H5Object::getCompletePath();
+}
+
+void H5Group::getAccessibleAttribute(const std::string & _name, const int pos, void * pvApiCtx) const
+{
+ SciErr err;
+ std::string lower(_name);
+
+ std::transform(_name.begin(), _name.end(), lower.begin(), tolower);
+
+ if (lower == "attributes")
+ {
+ std::vector<std::string> names;
+ getNames(*this, names, ATTRIBUTE);
+ H5BasicData<char>::putStringVectorOnStack(names, (int)names.size(), 1, pos, pvApiCtx);
+
+ return;
+ }
+ else if (lower == "groups")
+ {
+ std::vector<std::string> names;
+ getNames(*this, names, GROUP);
+ H5BasicData<char>::putStringVectorOnStack(names, (int)names.size(), 1, pos, pvApiCtx);
+
+ return;
+ }
+ else if (lower == "datasets")
+ {
+ std::vector<std::string> names;
+ getNames(*this, names, DATASET);
+ H5BasicData<char>::putStringVectorOnStack(names, (int)names.size(), 1, pos, pvApiCtx);
+
+ return;
+ }
+ else if (lower == "types")
+ {
+ std::vector<std::string> names;
+ getNames(*this, names, TYPE);
+ H5BasicData<char>::putStringVectorOnStack(names, (int)names.size(), 1, pos, pvApiCtx);
+
+ return;
+ }
+ else if (lower == "externals")
+ {
+ std::vector<std::string> names;
+ getNames(*this, names, EXTERNAL);
+ H5BasicData<char>::putStringVectorOnStack(names, (int)names.size(), 1, pos, pvApiCtx);
+
+ return;
+ }
+ else if (lower == "softs")
+ {
+ std::vector<std::string> names;
+ getNames(*this, names, SOFT);
+ H5BasicData<char>::putStringVectorOnStack(names, (int)names.size(), 1, pos, pvApiCtx);
+
+ return;
+ }
+ else if (lower == "danglings")
+ {
+ std::vector<std::string> names;
+ getNames(*this, names, DANGLING);
+ H5BasicData<char>::putStringVectorOnStack(names, (int)names.size(), 1, pos, pvApiCtx);
+
+ return;
+ }
+ else if (lower == "hards")
+ {
+ std::vector<std::string> names;
+ getNames(*this, names, HARD);
+ H5BasicData<char>::putStringVectorOnStack(names, (int)names.size(), 1, pos, pvApiCtx);
+
+ return;
+ }
+ else if (lower == "links")
+ {
+ std::vector<std::string> names;
+ std::vector<std::string> types;
+ std::vector<std::string> linkstype;
+ std::vector<const char *> _str;
+ H5Object::getLinksInfo(*this, names, types, linkstype);
+ _str.reserve(names.size() * 3);
+
+ for (unsigned int i = 0; i < names.size(); i++)
+ {
+ _str.push_back(names[i].c_str());
+ }
+ for (unsigned int i = 0; i < names.size(); i++)
+ {
+ _str.push_back(linkstype[i].c_str());
+ }
+ for (unsigned int i = 0; i < names.size(); i++)
+ {
+ _str.push_back(types[i].c_str());
+ }
+
+ err = createMatrixOfString(pvApiCtx, pos, (int)names.size(), 3, &(_str[0]));
+ if (err.iErr)
+ {
+ throw H5Exception(__LINE__, __FILE__, _("Cannot create a column of strings on the stack."));
+ }
+
+ return;
+ }
+ else
+ {
+ try
+ {
+ H5Object & obj = H5Object::getObject(*const_cast<H5Group *>(this), _name);
+ obj.createOnScilabStack(pos, pvApiCtx);
+ return;
+ }
+ catch (const H5Exception & /*e*/) { }
+ }
+
+ H5Object::getAccessibleAttribute(_name, pos, pvApiCtx);
+}
+
+void H5Group::ls(std::vector<std::string> & name, std::vector<std::string> & type) const
+{
+ herr_t err;
+ OpDataGetLs opdata(const_cast<H5Group *>(this), &name, &type);
+ hsize_t idx = 0;
+
+ err = H5Literate(group, H5_INDEX_NAME, H5_ITER_INC, &idx, getLsInfo, &opdata);
+ if (err < 0)
+ {
+ throw H5Exception(__LINE__, __FILE__, _("Cannot list group links."));
+ }
+
+ idx = 0;
+ err = H5Aiterate(group, H5_INDEX_NAME, H5_ITER_INC, &idx, H5Object::getLsAttributes, &opdata);
+ if (err < 0)
+ {
+ throw H5Exception(__LINE__, __FILE__, _("Cannot list group attributes."));
+ }
+}
+
+herr_t H5Group::getLsInfo(hid_t g_id, const char * name, const H5L_info_t * info, void * op_data)
+{
+ H5O_info_t oinfo;
+ herr_t err;
+ hid_t obj;
+ OpDataGetLs & opdata = *(OpDataGetLs *)op_data;
+
+ switch (info->type)
+ {
+ case H5L_TYPE_SOFT:
+ opdata.name->push_back(name);
+ opdata.type->push_back("soft");
+ break;
+ case H5L_TYPE_EXTERNAL:
+ opdata.name->push_back(name);
+ opdata.type->push_back("external");
+ break;
+ case H5L_TYPE_HARD:
+ obj = H5Oopen_by_addr(g_id, info->u.address);
+ if (obj < 0)
+ {
+ return (herr_t) - 1;
+ }
+
+ err = H5Oget_info(obj, &oinfo);
+ H5Oclose(obj);
+ if (err < 0)
+ {
+ return (herr_t) - 1;
+ }
+
+ switch (oinfo.type)
+ {
+ case H5O_TYPE_GROUP:
+ opdata.name->push_back(name);
+ opdata.type->push_back("group");
+ break;
+ case H5O_TYPE_DATASET:
+ opdata.name->push_back(name);
+ opdata.type->push_back("dataset");
+ break;
+ case H5O_TYPE_NAMED_DATATYPE:
+ opdata.name->push_back(name);
+ opdata.type->push_back("type");
+ break;
+ default:
+ return (herr_t) - 1;
+ }
+ break;
+ default:
+ return (herr_t) - 1;
+ }
+
+ return (herr_t)0;
+}
+
+std::string H5Group::ls() const
+{
+ std::ostringstream os;
+ herr_t err;
+ OpDataPrintLs opdata;
+ opdata.parent = const_cast<H5Group *>(this);
+ opdata.os = &os;
+ hsize_t idx = 0;
+
+ err = H5Literate(group, H5_INDEX_NAME, H5_ITER_INC, &idx, printLsInfo, &opdata);
+ if (err < 0)
+ {
+ throw H5Exception(__LINE__, __FILE__, _("Cannot list group contents"));
+ }
+
+ return os.str();
+}
+
+herr_t H5Group::printLsInfo(hid_t g_id, const char * name, const H5L_info_t * info, void * op_data)
+{
+ H5O_info_t oinfo;
+ herr_t err;
+ H5Object * hobj = 0;
+ hid_t obj = 0;
+ OpDataPrintLs & opdata = *(OpDataPrintLs *)op_data;
+
+ switch (info->type)
+ {
+ case H5L_TYPE_SOFT:
+ hobj = new H5SoftLink(*opdata.parent, name);
+ break;
+ case H5L_TYPE_EXTERNAL:
+ hobj = new H5ExternalLink(*opdata.parent, name);
+ break;
+ case H5L_TYPE_HARD:
+ obj = H5Oopen(g_id, name, H5P_DEFAULT);
+ err = H5Oget_info(obj, &oinfo);
+ H5Oclose(obj);
+
+ if (err < 0)
+ {
+ return (herr_t) - 1;
+ }
+
+ switch (oinfo.type)
+ {
+ case H5O_TYPE_GROUP:
+ hobj = new H5Group(*opdata.parent, name);
+ break;
+ case H5O_TYPE_DATASET:
+ hobj = new H5Dataset(*opdata.parent, name);
+ break;
+ case H5O_TYPE_NAMED_DATATYPE:
+ hobj = new H5Type(*opdata.parent, name);
+ break;
+ default:
+ return (herr_t) - 1;
+ }
+ break;
+ default:
+ return (herr_t) - 1;
+ }
+
+ hobj->printLsInfo(*opdata.os);
+ delete hobj;
+
+ return (herr_t)0;
+}
+
+void H5Group::printLsInfo(std::ostringstream & os) const
+{
+ std::string str(getName());
+ H5Object::getResizedString(str);
+
+ os << str << "Group" << std::endl;
+}
+
+std::string H5Group::dump(std::map<haddr_t, std::string> & alreadyVisited, const unsigned int indentLevel) const
+{
+ std::ostringstream os;
+ haddr_t addr = this->getAddr();
+ std::map<haddr_t, std::string>::iterator it = alreadyVisited.find(addr);
+ if (it != alreadyVisited.end())
+ {
+ os << H5Object::getIndentString(indentLevel) << "GROUP \"" << getName() << "\" {" << std::endl
+ << H5Object::getIndentString(indentLevel + 1) << "HARDLINK \"" << it->second << "\"" << std::endl
+ << H5Object::getIndentString(indentLevel) << "}" << std::endl;
+
+ return os.str();
+ }
+ else
+ {
+ alreadyVisited.insert(std::pair<haddr_t, std::string>(addr, getCompletePath()));
+ }
+
+ H5AttributesList & attrs = const_cast<H5Group *>(this)->getAttributes();
+ H5NamedObjectsList<H5SoftLink> & softlinks = const_cast<H5Group *>(this)->getSoftLinks();
+ H5NamedObjectsList<H5ExternalLink> & externallinks = const_cast<H5Group *>(this)->getExternalLinks();
+ H5NamedObjectsList<H5Group> & hardgroups = const_cast<H5Group *>(this)->getHardGroups();
+ H5NamedObjectsList<H5Type> & hardtypes = const_cast<H5Group *>(this)->getHardTypes();
+ H5NamedObjectsList<H5Dataset> & harddatasets = const_cast<H5Group *>(this)->getHardDatasets();
+
+ os << H5Object::getIndentString(indentLevel) << "GROUP \"" << name << "\" {" << std::endl;
+ os << attrs.dump(alreadyVisited, indentLevel + 1);
+ os << hardgroups.dump(alreadyVisited, indentLevel + 1);
+ os << hardtypes.dump(alreadyVisited, indentLevel + 1);
+ os << harddatasets.dump(alreadyVisited, indentLevel + 1);
+ os << softlinks.dump(alreadyVisited, indentLevel + 1);
+ os << externallinks.dump(alreadyVisited, indentLevel + 1);
+ os << H5Object::getIndentString(indentLevel) << "}" << std::endl;
+
+ delete &attrs;
+ delete &softlinks;
+ delete &externallinks;
+ delete &hardgroups;
+ delete &hardtypes;
+ delete &harddatasets;
+
+ return os.str();
+}
+
+std::string H5Group::toString(const unsigned int indentLevel) const
+{
+ std::ostringstream os;
+ std::string indentString = H5Object::getIndentString(indentLevel + 1);
+ OpDataCount opdata(false);
+ H5Object::count(*this, opdata);
+
+ os << H5Object::getIndentString(indentLevel) << "HDF5 Group" << std::endl
+ << indentString << "Filename" << ": " << getFile().getFileName() << std::endl
+ << indentString << "Name" << ": " << getBaseName() << std::endl
+ << indentString << "Path" << ": " << getCompletePath() << std::endl
+ << indentString << "Attributes" << ": [1 x " << getAttributesNumber() << "]" << std::endl
+ << indentString << "Groups" << ": [1 x " << opdata.group << "]" << std::endl
+ << indentString << "Datasets" << ": [1 x " << opdata.dataset << "]" << std::endl
+ << indentString << "Types" << ": [1 x " << opdata.type << "]" << std::endl
+ << indentString << "Externals" << ": [1 x " << opdata.external << "]" << std::endl
+ << indentString << "Softs" << ": [1 x " << opdata.soft << "]";
+
+ return os.str();
+}
+
+void H5Group::createGroup(H5Object & parent, const std::string & name)
+{
+ const char * _name = name.c_str();
+ createGroup(parent, 1, &_name);
+}
+
+void H5Group::createGroup(H5Object & parent, const int size, const char ** names)
+{
+ hid_t obj;
+ hid_t loc = parent.getH5Id();
+
+ for (unsigned int i = 0; i < (unsigned int)size; i++)
+ {
+ if (H5Lexists(loc, names[i], H5P_DEFAULT) > 0)
+ {
+ throw H5Exception(__LINE__, __FILE__, _("The group already exists: %s."), names[i]);
+ }
+
+ obj = H5Gcreate(loc, names[i], H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT);
+ if (obj < 0)
+ {
+ throw H5Exception(__LINE__, __FILE__, _("Cannot create the group: %s."), names[i]);
+ }
+ H5Gclose(obj);
+ }
+}
+}
diff --git a/modules/hdf5/src/cpp/H5Group.hxx b/modules/hdf5/src/cpp/H5Group.hxx
new file mode 100755
index 000000000..6dc4d302e
--- /dev/null
+++ b/modules/hdf5/src/cpp/H5Group.hxx
@@ -0,0 +1,90 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2012 - Scilab Enterprises - Calixte DENIZET
+ *
+ * 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 __H5GROUP_HXX__
+#define __H5GROUP_HXX__
+
+#include "H5Object.hxx"
+#include "H5Type.hxx"
+#include "H5Dataset.hxx"
+#include "H5SoftLink.hxx"
+#include "H5ExternalLink.hxx"
+#include "H5NamedObjectsList.hxx"
+#include "H5AttributesList.hxx"
+
+namespace org_modules_hdf5
+{
+
+class H5SoftLinksList;
+class H5LinksList;
+class H5GroupsList;
+class H5DatasetsList;
+class H5TypesList;
+class H5File;
+
+class H5Group : public H5Object
+{
+ typedef struct
+ {
+ H5Object * parent;
+ std::ostringstream * os;
+ } OpDataPrintLs;
+
+ hid_t group;
+
+public:
+
+ H5Group(H5Object & _parent, const std::string & name);
+ H5Group(H5Object & _parent, hid_t _group, const std::string & _name);
+
+ virtual ~H5Group();
+
+ virtual hid_t getH5Id() const
+ {
+ return group;
+ }
+
+ virtual bool isGroup() const
+ {
+ return true;
+ }
+
+ virtual H5NamedObjectsList<H5SoftLink> & getSoftLinks();
+ virtual H5NamedObjectsList<H5ExternalLink> & getExternalLinks();
+ virtual H5GroupsList & getGroups();
+ virtual H5NamedObjectsList<H5Group> & getHardGroups();
+ virtual H5NamedObjectsList<H5Type> & getHardTypes();
+ virtual H5NamedObjectsList<H5Dataset> & getHardDatasets();
+ virtual H5DatasetsList & getDatasets();
+ virtual H5TypesList & getTypes();
+ const unsigned int getLinksSize() const;
+ virtual std::string getCompletePath() const;
+ virtual std::string toString(const unsigned int indentLevel) const;
+ virtual std::string dump(std::map<haddr_t, std::string> & alreadyVisited, const unsigned int indentLevel = 0) const;
+ virtual std::string ls() const;
+ virtual void ls(std::vector<std::string> & name, std::vector<std::string> & type) const;
+ virtual void printLsInfo(std::ostringstream & os) const;
+
+ virtual void getAccessibleAttribute(const std::string & name, const int pos, void * pvApiCtx) const;
+
+ static void createGroup(H5Object & parent, const std::string & name);
+ static void createGroup(H5Object & parent, const int size, const char ** names);
+
+private :
+
+ void init();
+ static herr_t printLsInfo(hid_t g_id, const char * name, const H5L_info_t * info, void * op_data);
+ static herr_t getLsInfo(hid_t g_id, const char * name, const H5L_info_t * info, void * op_data);
+};
+}
+
+#endif // __H5GROUP_HXX__
diff --git a/modules/hdf5/src/cpp/H5GroupsList.cpp b/modules/hdf5/src/cpp/H5GroupsList.cpp
new file mode 100755
index 000000000..f6234dc2c
--- /dev/null
+++ b/modules/hdf5/src/cpp/H5GroupsList.cpp
@@ -0,0 +1,121 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2012 - Scilab Enterprises - Calixte DENIZET
+ *
+ * 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 "H5GroupsList.hxx"
+
+namespace org_modules_hdf5
+{
+
+H5GroupsList::H5GroupsList(H5Object & _parent) : H5ListObject<H5Group>(_parent) { }
+
+H5GroupsList::~H5GroupsList() { }
+
+const unsigned int H5GroupsList::getSize() const
+{
+ H5G_info_t info;
+ hsize_t count = 0;
+ hid_t parentId = getParent().getH5Id();
+ herr_t err = H5Gget_info(parentId, &info);
+
+ if (err < 0)
+ {
+ throw H5Exception(__LINE__, __FILE__, _("Cannot get the number of groups."));
+ }
+
+ for (hsize_t i = 0; i < info.nlinks; i++)
+ {
+ int type = H5Gget_objtype_by_idx(parentId, i);
+ if (type == H5G_GROUP)
+ {
+ count++;
+ }
+ }
+
+ return (unsigned int)count;
+}
+
+void H5GroupsList::setObject(const unsigned int pos, H5Group & obj)
+{
+
+}
+
+H5Group & H5GroupsList::getObject(const int pos)
+{
+ return getObject(pos, true);
+}
+
+H5Group & H5GroupsList::getObject(const int pos, const bool checkPos)
+{
+ int type;
+ herr_t err;
+ hsize_t count = 0;
+ hsize_t index = 0;
+ hid_t parentId = getParent().getH5Id();
+ ssize_t nameSize;
+ char * name = 0;
+
+ if (checkPos)
+ {
+ unsigned int size = getSize();
+ if (pos < 0 || pos >= size)
+ {
+ throw H5Exception(__LINE__, __FILE__, _("Invalid index %d: must be between 0 and %d."), pos, size);
+ }
+ }
+
+ err = H5Gget_info(parentId, &info);
+ if (err < 0)
+ {
+ throw H5Exception(__LINE__, __FILE__, _("Cannot get the number of groups."));
+ }
+
+ for (; index < info.nlinks; index++)
+ {
+ int type = H5Gget_objtype_by_idx(parentId, index);
+ if (type == H5G_GROUP)
+ {
+ count++;
+ if (count == pos)
+ {
+ break;
+ }
+ }
+ }
+
+ nameSize = H5Gget_objname_by_idx(parentId, index, 0, 0);
+ name = (char *)MALLOC((nameSize + 1) * sizeof(char));
+ H5Gget_objname_by_idx(parentId, index, name, nameSize + 1);
+
+ return *new H5Group(getParent(), name);
+}
+
+std::string H5GroupsList::dump(const unsigned int indentLevel) const
+{
+ std::ostringstream os;
+ const unsigned int size = getSize();
+
+ for (unsigned int i = 0; i < size; i++)
+ {
+ const H5Group & group = const_cast<H5GroupsList *>(this)->getObject(i, false);
+ os << group.toString(indentLevel) << std::endl;
+
+ delete &group;
+ }
+
+ return os.str();
+}
+
+std::string H5GroupsList::toString(const unsigned int indentLevel) const
+{
+
+}
+}
diff --git a/modules/hdf5/src/cpp/H5GroupsList.hxx b/modules/hdf5/src/cpp/H5GroupsList.hxx
new file mode 100755
index 000000000..d9db26dcc
--- /dev/null
+++ b/modules/hdf5/src/cpp/H5GroupsList.hxx
@@ -0,0 +1,36 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2012 - Scilab Enterprises - Calixte DENIZET
+ *
+ * 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 __H5GROUPSLIST_HXX__
+#define __H5GROUPSLIST_HXX__
+
+#include "H5NamedObjectsList.hxx"
+#include "H5Group.hxx"
+
+namespace org_modules_hdf5
+{
+
+class H5GroupsList : public H5NamedObjectsList<H5Group>
+{
+
+public :
+
+ H5GroupsList(H5Group & _parent) : H5NamedObjectsList<H5Group>(_parent, H5O_TYPE_GROUP, -1, "H5 Group") { }
+
+ ~H5GroupsList()
+ {
+
+ }
+};
+}
+
+#endif // __H5GROUPSLIST_HXX__
diff --git a/modules/hdf5/src/cpp/H5HardLink.cpp b/modules/hdf5/src/cpp/H5HardLink.cpp
new file mode 100755
index 000000000..b31fc22bd
--- /dev/null
+++ b/modules/hdf5/src/cpp/H5HardLink.cpp
@@ -0,0 +1,110 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2012 - Scilab Enterprises - Calixte DENIZET
+ *
+ * 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 "H5Object.hxx"
+#include "H5HardLink.hxx"
+
+namespace org_modules_hdf5
+{
+
+H5Object & H5HardLink::getLinkedObject() const
+{
+ herr_t err;
+ H5L_info_t info;
+ hid_t obj;
+
+ err = H5Lget_info(getParent().getH5Id(), name.c_str(), &info, H5P_DEFAULT);
+ if (err < 0)
+ {
+ throw H5Exception(__LINE__, __FILE__, _("Cannot get the link info"));
+ }
+
+ obj = H5Oopen_by_addr(getFile().getH5Id(), info.u.address);
+ if (obj < 0)
+ {
+ throw H5Exception(__LINE__, __FILE__, _("Cannot get linked object"));
+ }
+
+ try
+ {
+ return H5Object::getObject(*const_cast<H5HardLink *>(this), obj);
+ }
+ catch (const H5Exception & /*e*/)
+ {
+ H5Oclose(obj);
+ throw;
+ }
+}
+
+std::string H5HardLink::getLinkType() const
+{
+ return "hard";
+}
+
+void H5HardLink::getAccessibleAttribute(const std::string & _name, const int pos, void * pvApiCtx) const
+{
+ SciErr err;
+ std::string lower(_name);
+ std::transform(_name.begin(), _name.end(), lower.begin(), tolower);
+
+ if (lower == "type")
+ {
+ const std::string linkType = getLinkType();
+ const char * _type = linkType.c_str();
+ err = createMatrixOfString(pvApiCtx, pos, 1, 1, &_type);
+ if (err.iErr)
+ {
+ throw H5Exception(__LINE__, __FILE__, _("Cannot create a string on the stack."));
+ }
+
+ return;
+ }
+ else if (lower == "target")
+ {
+ H5Object & obj = getLinkedObject();
+ obj.createOnScilabStack(pos, pvApiCtx);
+
+ return;
+ }
+
+ H5Object::getAccessibleAttribute(_name, pos, pvApiCtx);
+}
+
+std::string H5HardLink::dump(std::map<haddr_t, std::string> & alreadyVisited, const unsigned int indentLevel) const
+{
+ std::ostringstream os;
+ H5Object & obj = getLinkedObject();
+
+ os << H5Object::getIndentString(indentLevel) << "HARDLINK \"" << obj.getName() << "\"" << std::endl;
+
+ delete &obj;
+
+ return os.str();
+}
+
+std::string H5HardLink::toString(const unsigned int indentLevel) const
+{
+ std::ostringstream os;
+ std::string indentString = H5Object::getIndentString(indentLevel);
+ H5Object & obj = getLinkedObject();
+
+ os << indentString << _("Filename") << ": " << getFile().getFileName() << std::endl
+ << indentString << _("Link type") << ": " << getLinkType() << std::endl
+ << indentString << _("Link name") << ": " << name << std::endl
+ << indentString << _("Link path") << ": " << getCompletePath() << std::endl
+ << indentString << _("Link target name") << ": " << obj.getName();
+
+ delete &obj;
+
+ return os.str();
+}
+}
diff --git a/modules/hdf5/src/cpp/H5HardLink.hxx b/modules/hdf5/src/cpp/H5HardLink.hxx
new file mode 100755
index 000000000..a99e560d1
--- /dev/null
+++ b/modules/hdf5/src/cpp/H5HardLink.hxx
@@ -0,0 +1,42 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2012 - Scilab Enterprises - Calixte DENIZET
+ *
+ * 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 __H5HARDLINK_HXX__
+#define __H5HARDLINK_HXX__
+
+#include "H5Link.hxx"
+
+namespace org_modules_hdf5
+{
+
+class H5Object;
+
+class H5HardLink : public H5Link
+{
+public:
+
+ H5HardLink(H5Object & _parent, const char * name) : H5Link(_parent, name) { }
+ H5HardLink(H5Object & _parent, const std::string & name) : H5Link(_parent, name) { }
+
+ virtual ~H5HardLink() { }
+
+ virtual std::string toString(const unsigned int indentLevel) const;
+ virtual std::string dump(std::map<haddr_t, std::string> & alreadyVisited, const unsigned int indentLevel = 0) const;
+
+ H5Object & getLinkedObject() const;
+ virtual std::string getLinkType() const;
+
+ virtual void getAccessibleAttribute(const std::string & name, const int pos, void * pvApiCtx) const;
+};
+}
+
+#endif // __H5HARDLINK_HXX__
diff --git a/modules/hdf5/src/cpp/H5Link.cpp b/modules/hdf5/src/cpp/H5Link.cpp
new file mode 100755
index 000000000..b7c962cff
--- /dev/null
+++ b/modules/hdf5/src/cpp/H5Link.cpp
@@ -0,0 +1,70 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2012 - Scilab Enterprises - Calixte DENIZET
+ *
+ * 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 "H5Link.hxx"
+#include "H5SoftLink.hxx"
+#include "H5ExternalLink.hxx"
+#include "H5HardLink.hxx"
+#include "H5Object.hxx"
+
+namespace org_modules_hdf5
+{
+
+H5Link::H5Link(H5Object & _parent, const std::string & _name) : H5Object(_parent, _name)
+{
+ if (H5Lexists(_parent.getH5Id(), name.c_str(), H5P_DEFAULT) <= 0)
+ {
+ throw H5Exception(__LINE__, __FILE__, _("The link %s does not exist."), name.c_str());
+ }
+}
+
+H5Link::~H5Link()
+{
+
+}
+
+H5Link & H5Link::getLink(H5Object & _parent, const std::string & _name)
+{
+ return getLink(_parent, _name.c_str());
+}
+
+H5Link & H5Link::getLink(H5Object & _parent, const char * _name)
+{
+ herr_t err;
+ H5L_info_t info;
+ H5Link * link = 0;
+ err = H5Lget_info(_parent.getH5Id(), _name, &info, H5P_DEFAULT);
+
+ if (err < 0)
+ {
+ throw H5Exception(__LINE__, __FILE__, _("Cannot get the link info"));
+ }
+
+ switch (info.type)
+ {
+ case H5L_TYPE_HARD:
+ link = new H5HardLink(_parent, _name);
+ break;
+ case H5L_TYPE_SOFT:
+ link = new H5SoftLink(_parent, _name);
+ break;
+ case H5L_TYPE_EXTERNAL:
+ link = new H5ExternalLink(_parent, _name);
+ break;
+ case H5L_TYPE_ERROR:
+ default:
+ throw H5Exception(__LINE__, __FILE__, _("Invalid link type: %s."), _name);
+ }
+
+ return *link;
+}
+}
diff --git a/modules/hdf5/src/cpp/H5Link.hxx b/modules/hdf5/src/cpp/H5Link.hxx
new file mode 100755
index 000000000..006afd8ca
--- /dev/null
+++ b/modules/hdf5/src/cpp/H5Link.hxx
@@ -0,0 +1,48 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2012 - Scilab Enterprises - Calixte DENIZET
+ *
+ * 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 __H5LINK_HXX__
+#define __H5LINK_HXX__
+
+#include "H5Object.hxx"
+#include "H5File.hxx"
+
+namespace org_modules_hdf5
+{
+
+class H5Link : public H5Object
+{
+
+protected:
+
+public:
+
+ H5Link(H5Object & _parent, const std::string & name);
+
+ virtual ~H5Link();
+
+ virtual std::string dump(std::map<haddr_t, std::string> & alreadyVisited, const unsigned int indentLevel = 0) const
+ {
+ return "";
+ };
+
+ virtual std::string getLinkType() const
+ {
+ return "";
+ }
+
+ static H5Link & getLink(H5Object & _parent, const char * _name);
+ static H5Link & getLink(H5Object & _parent, const std::string & _name);
+};
+}
+
+#endif // __H5LINK_HXX__
diff --git a/modules/hdf5/src/cpp/H5LinksList.cpp b/modules/hdf5/src/cpp/H5LinksList.cpp
new file mode 100755
index 000000000..7507b3810
--- /dev/null
+++ b/modules/hdf5/src/cpp/H5LinksList.cpp
@@ -0,0 +1,101 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2012 - Scilab Enterprises - Calixte DENIZET
+ *
+ * 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 "H5LinksList.hxx"
+
+namespace org_modules_hdf5
+{
+H5LinksList::H5LinksList(H5Object & _parent) : H5ListObject<H5Object>(_parent) { }
+
+H5LinksList::~H5LinksList() { }
+
+const unsigned int H5LinksList::getSize() const
+{
+ H5G_info_t info;
+ herr_t err = H5Gget_info(getParent().getH5Id(), &info);
+
+ if (err < 0)
+ {
+ throw H5Exception(__LINE__, __FILE__, _("Cannot get the number of links."));
+ }
+
+ return (unsigned int)info.nlinks;
+}
+
+void H5LinksList::setObject(const unsigned int pos, H5Object & obj)
+{
+
+}
+
+H5Object & H5LinksList::getObject(const int pos)
+{
+ return getObject(pos, true);
+}
+
+H5Object & H5LinksList::getObject(const int pos, const bool checkPos)
+{
+ if (checkPos)
+ {
+ unsigned int size = getSize();
+ if (pos < 0 || pos >= size)
+ {
+ throw H5Exception(__LINE__, __FILE__, _("Invalid index %d: must be between 0 and %d."), pos, size);
+ }
+ }
+
+ H5Object * obj = 0;
+ hid_t parentId = getParent().getH5Id();
+ ssize_t nameSize = H5Gget_objname_by_idx(parentId, (hsize_t)pos, 0, 0);
+ char * name = (char *)MALLOC((nameSize + 1) * sizeof(char));
+ H5Gget_objname_by_idx(parentId, (hsize_t)pos, name, nameSize + 1);
+ int type = H5Gget_objtype_by_idx(parentId, (hsize_t)pos);
+
+ switch (type)
+ {
+ case H5G_LINK:
+ obj = &H5Link::getLink(getParent(), name);
+ break;
+ case H5G_GROUP:
+ obj = new H5Group(getParent(), name);
+ break;
+ case H5G_DATASET:
+ obj = new H5Dataset(getParent(), name);
+ break;
+ case H5G_TYPE:
+ obj = new H5Type(getParent(), name);
+ break;
+ }
+
+ return *obj;
+}
+
+std::string H5LinksList::dump(std::map<haddr_t, std::string> & alreadyVisited, const unsigned int indentLevel) const
+{
+ std::ostringstream os;
+ const unsigned int size = getSize();
+
+ for (unsigned int i = 0; i < size; i++)
+ {
+ const H5Object & obj = const_cast<H5LinksList *>(this)->getObject(i, false);
+ os << obj.dump(alreadyVisited, indentLevel);
+
+ delete &obj;
+ }
+
+ return os.str();
+}
+
+std::string H5LinksList::toString(const unsigned int indentLevel) const
+{
+ return "";
+}
+}
diff --git a/modules/hdf5/src/cpp/H5LinksList.hxx b/modules/hdf5/src/cpp/H5LinksList.hxx
new file mode 100755
index 000000000..5a97d365a
--- /dev/null
+++ b/modules/hdf5/src/cpp/H5LinksList.hxx
@@ -0,0 +1,49 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2012 - Scilab Enterprises - Calixte DENIZET
+ *
+ * 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 __H5LINKSLIST_HXX__
+#define __H5LINKSLIST_HXX__
+
+#include "H5Object.hxx"
+#include "H5ListObject.hxx"
+#include "H5Group.hxx"
+#include "H5Dataset.hxx"
+#include "H5Type.hxx"
+#include "H5Link.hxx"
+
+namespace org_modules_hdf5
+{
+class H5Attribute;
+
+class H5LinksList : public H5ListObject<H5Object>
+{
+
+public :
+
+ H5LinksList(H5Object & _parent);
+
+ ~H5LinksList();
+
+ void setObject(const unsigned int pos, H5Object & obj);
+ H5Object & getObject(const int pos);
+ const unsigned int getSize() const;
+
+ virtual std::string dump(std::map<haddr_t, std::string> & alreadyVisited, const unsigned int indentLevel) const;
+ virtual std::string toString(const unsigned int indentLevel) const;
+
+private:
+
+ H5Object & getObject(const int pos, const bool checkPos);
+};
+}
+
+#endif // __H5LINKSLIST_HXX__
diff --git a/modules/hdf5/src/cpp/H5ListObject.hxx b/modules/hdf5/src/cpp/H5ListObject.hxx
new file mode 100755
index 000000000..2732e98c1
--- /dev/null
+++ b/modules/hdf5/src/cpp/H5ListObject.hxx
@@ -0,0 +1,73 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2012 - Scilab Enterprises - Calixte DENIZET
+ *
+ * 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 __H5LISTOBJECT_HXX__
+#define __H5LISTOBJECT_HXX__
+
+#include "H5Object.hxx"
+#include "H5Attribute.hxx"
+
+namespace org_modules_hdf5
+{
+
+template<typename T>
+class H5ListObject : public H5Object
+{
+
+public :
+
+ H5ListObject(H5Object & _parent) : H5Object(_parent), indexSize(0), indexList(0) { }
+ H5ListObject(H5Object & _parent, const unsigned int size, const unsigned int * index) : H5Object(_parent), indexSize(size), indexList(index) { }
+
+ virtual ~H5ListObject()
+ {
+ if (indexList)
+ {
+ delete indexList;
+ }
+ }
+
+ virtual bool isList() const
+ {
+ return true;
+ }
+
+ virtual void setObject(const unsigned int pos, T & object) = 0;
+ virtual T & getObject(const int pos) = 0;
+ virtual T & getObject(const std::string & name)
+ {
+ throw H5Exception(__LINE__, __FILE__, _("Invalid operation"));
+ }
+
+ virtual const unsigned int getSize() const = 0;
+
+ virtual void getAccessibleAttribute(const double index, const int pos, void * pvApiCtx) const
+ {
+ T & obj = const_cast<H5ListObject<T> *>(this)->getObject((int)index);
+ obj.createOnScilabStack(pos, pvApiCtx);
+ }
+
+ virtual void getAccessibleAttribute(const std::string & name, const int pos, void * pvApiCtx) const
+ {
+ T & obj = const_cast<H5ListObject *>(this)->getObject(name);
+ obj.createOnScilabStack(pos, pvApiCtx);
+ }
+
+protected :
+
+ const unsigned int indexSize;
+ const unsigned int * indexList;
+
+};
+}
+
+#endif // __H5FILE_HXX__
diff --git a/modules/hdf5/src/cpp/H5NamedObjectsList.hxx b/modules/hdf5/src/cpp/H5NamedObjectsList.hxx
new file mode 100755
index 000000000..b5b8f9622
--- /dev/null
+++ b/modules/hdf5/src/cpp/H5NamedObjectsList.hxx
@@ -0,0 +1,320 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2012 - Scilab Enterprises - Calixte DENIZET
+ *
+ * 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 __H5NAMEDOBJECTSLIST_HXX__
+#define __H5NAMEDOBJECTSLIST_HXX__
+
+#include "H5Object.hxx"
+#include "H5File.hxx"
+#include "H5Link.hxx"
+#include "H5ListObject.hxx"
+
+#ifdef _MSC_VER
+#include "strdup_windows.h"
+#endif
+namespace org_modules_hdf5
+{
+
+class H5Group;
+
+template <typename T>
+class H5NamedObjectsList : public H5ListObject<T>
+{
+
+ typedef struct
+ {
+ union
+ {
+ unsigned int count;
+ const char * name;
+ } u;
+ int linktype;
+ int basetype;
+ } OpData;
+
+ int prevPos;
+ hsize_t idx;
+
+public :
+
+ H5NamedObjectsList(H5Group & _parent, const int _baseType, const int _linkType, const std::string _baseTypeName) : H5ListObject<T>(_parent), baseType(_baseType), linkType(_linkType), baseTypeName(_baseTypeName), prevPos(0), idx(0) { }
+
+ H5NamedObjectsList(H5Group & _parent, const unsigned int _size, const unsigned int * _index, const int _baseType, const int _linkType, const std::string _baseTypeName) : H5ListObject<T>(_parent, _size, _index), baseType(_baseType), linkType(_linkType), baseTypeName(_baseTypeName), prevPos(0), idx(0)
+ {
+ const unsigned int lsize = getSize(true);
+ for (unsigned int i = 0; i < H5ListObject<T>::indexSize; i++)
+ {
+ if (H5ListObject<T>::indexList[i] >= lsize)
+ {
+ throw H5Exception(__LINE__, __FILE__, _("Invalid index at position %d"), i);
+ }
+ }
+ }
+
+ virtual ~H5NamedObjectsList()
+ {
+
+ }
+
+ void setObject(const unsigned int pos, T & obj)
+ {
+
+ }
+
+ T & getObject(const int pos)
+ {
+ return getObject(pos, true);
+ }
+
+ inline static herr_t count(hid_t g_id, const char * name, const H5L_info_t * info, void * op_data)
+ {
+ OpData & opdata = *(OpData *)op_data;
+
+ if ((opdata.linktype != -1 && info->type == opdata.linktype) || (opdata.linktype == -1 && info->type != H5L_TYPE_ERROR))
+ {
+ H5O_info_t oinfo;
+ herr_t err;
+ if (opdata.basetype != -1)
+ {
+ hid_t obj = H5Oopen(g_id, name, H5P_DEFAULT);
+
+ if (obj < 0)
+ {
+ return (herr_t) - 1;
+ }
+
+ err = H5Oget_info(obj, &oinfo);
+ H5Oclose(obj);
+
+ if (err < 0)
+ {
+ return (herr_t) - 2;
+ }
+
+ if (oinfo.type == opdata.basetype)
+ {
+ opdata.u.count++;
+ }
+ }
+ else
+ {
+ opdata.u.count++;
+ }
+ }
+
+ return (herr_t)0;
+ }
+
+ inline static herr_t getElement(hid_t g_id, const char * name, const H5L_info_t * info, void * op_data)
+ {
+ OpData & opdata = *(OpData *)op_data;
+
+ if ((opdata.linktype != -1 && info->type == opdata.linktype) || (opdata.linktype == -1 && info->type != H5L_TYPE_ERROR))
+ {
+ H5O_info_t oinfo;
+ herr_t err;
+ if (opdata.basetype != -1)
+ {
+ hid_t obj = H5Oopen(g_id, name, H5P_DEFAULT);
+
+ if (obj < 0)
+ {
+ return (herr_t) - 1;
+ }
+
+ err = H5Oget_info(obj, &oinfo);
+ H5Oclose(obj);
+
+ if (err < 0)
+ {
+ return (herr_t) - 2;
+ }
+
+ if (oinfo.type == opdata.basetype)
+ {
+ opdata.u.count--;
+ }
+ }
+ else
+ {
+ opdata.u.count--;
+ }
+
+ if (opdata.u.count == 0)
+ {
+ opdata.u.name = strdup(name);
+
+ return (herr_t)1;
+ }
+ }
+
+ return (herr_t)0;
+ }
+
+ const unsigned int getSize() const
+ {
+ return getSize(false);
+ }
+
+ const unsigned int getSize(const bool indexChecking) const
+ {
+ if (H5ListObject<T>::indexList && !indexChecking)
+ {
+ return H5ListObject<T>::indexSize;
+ }
+ else
+ {
+ hsize_t idx = 0;
+ OpData op_data;
+ herr_t err;
+
+ op_data.u.count = 0;
+ op_data.linktype = linkType;
+ op_data.basetype = baseType;
+
+ err = H5Literate(H5Object::getParent().getH5Id(), H5_INDEX_NAME, H5_ITER_INC, &idx, count, &op_data);
+
+ if (err < 0)
+ {
+ throw H5Exception(__LINE__, __FILE__, _("Cannot get the number of objects."));
+ }
+
+ return op_data.u.count;
+ }
+ }
+
+ virtual std::string dump(std::map<haddr_t, std::string> & alreadyVisited, const unsigned int indentLevel) const
+ {
+ std::ostringstream os;
+ const unsigned int size = getSize();
+
+ for (unsigned int i = 0; i < size; i++)
+ {
+ const T & obj = const_cast<H5NamedObjectsList *>(this)->getObject(i, false);
+ os << obj.dump(alreadyVisited, indentLevel);
+
+ delete &obj;
+ }
+
+ return os.str();
+ }
+
+ virtual void printLsInfo(std::ostringstream & os) const
+ {
+ const unsigned int size = getSize();
+
+ for (unsigned int i = 0; i < size; i++)
+ {
+ const T & obj = const_cast<H5NamedObjectsList *>(this)->getObject(i, false);
+ obj.printLsInfo(os);
+
+ delete &obj;
+ }
+ }
+
+ virtual std::string toString(const unsigned int indentLevel) const
+ {
+ std::ostringstream os;
+ std::string indentString = H5Object::getIndentString(indentLevel);
+ const unsigned int size = getSize();
+
+ os << indentString << _("Filename") << ": " << H5Object::getParent().getFile().getFileName() << std::endl
+ << indentString << _("Parent group name") << ": " << H5Object::getParent().getName() << std::endl
+ << indentString << _("Parent group path") << ": " << H5Object::getParent().getCompletePath() << std::endl
+ << indentString << _("Elements type") << ": " << baseTypeName << std::endl
+ << indentString << _("Size") << ": " << size;
+
+ return os.str();
+ }
+
+protected :
+
+ const int baseType;
+ const int linkType;
+ const std::string baseTypeName;
+
+private:
+
+ T & getObject(const int pos, const bool checkPos)
+ {
+ OpData op_data;
+ herr_t err;
+ int _pos = pos;
+
+ if (H5ListObject<T>::indexList)
+ {
+ if (pos >= 0 && pos < (int)H5ListObject<T>::indexSize)
+ {
+ _pos = H5ListObject<T>::indexList[pos];
+ }
+ else
+ {
+ throw H5Exception(__LINE__, __FILE__, _("Invalid index: %d."), pos);
+ }
+ }
+
+ op_data.linktype = linkType;
+ op_data.basetype = baseType;
+
+ if (_pos < prevPos)
+ {
+ idx = 0;
+ op_data.u.count = _pos + 1;
+ }
+ else
+ {
+ op_data.u.count = _pos - prevPos + 1;
+ }
+
+ err = H5Literate(H5Object::getParent().getH5Id(), H5_INDEX_NAME, H5_ITER_INC, &idx, getElement, &op_data);
+
+ if (err > 0)
+ {
+ prevPos = _pos + 1;
+ return *new T(H5Object::getParent(), op_data.u.name);
+ }
+ else
+ {
+ idx = 0;
+ prevPos = 0;
+ throw H5Exception(__LINE__, __FILE__, _("Cannot get object at position %d."), pos);
+ }
+ }
+
+ T & getObject(const std::string & name)
+ {
+ H5O_info_t info;
+ herr_t err;
+ H5Object * obj = 0;
+
+ if (H5Lexists(H5Object::getParent().getH5Id(), name.c_str(), H5P_DEFAULT) <= 0)
+ {
+ throw H5Exception(__LINE__, __FILE__, _("Invalid name: %s."), name.c_str());
+ }
+
+ err = H5Oget_info_by_name(H5Object::getParent().getH5Id(), name.c_str(), &info, H5P_DEFAULT);
+ if (err < 0)
+ {
+ throw H5Exception(__LINE__, __FILE__, _("Invalid name: %s."), name.c_str());
+ }
+
+ if (info.type == baseType)
+ {
+ return *new T(H5Object::getParent(), name);
+ }
+
+ throw H5Exception(__LINE__, __FILE__, _("Invalid HDF5 object"));
+ }
+};
+}
+
+#endif // __H5NAMEDOBJECTSLIST_HXX__
diff --git a/modules/hdf5/src/cpp/H5Object.cpp b/modules/hdf5/src/cpp/H5Object.cpp
new file mode 100755
index 000000000..3cf1ef6dc
--- /dev/null
+++ b/modules/hdf5/src/cpp/H5Object.cpp
@@ -0,0 +1,713 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2012 - Scilab Enterprises - Calixte DENIZET
+ *
+ * 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 "H5Object.hxx"
+#include "H5File.hxx"
+#include "H5Group.hxx"
+#include "H5Dataset.hxx"
+#include "H5Type.hxx"
+#include "H5AttributesList.hxx"
+#include "H5Attribute.hxx"
+
+namespace org_modules_hdf5
+{
+
+H5Object & H5Object::root = *new H5Object();
+
+H5Object::H5Object(H5Object & _parent, const std::string & _name) : parent(_parent), children(std::set<H5Object *>()), locked(false), scilabId(-1), name(_name)
+{
+ parent.registerChild(this);
+}
+
+H5Object::H5Object(H5Object & _parent) : parent(_parent), children(std::set<H5Object *>()), locked(false), scilabId(-1)
+{
+ parent.registerChild(this);
+}
+
+H5Object::~H5Object()
+{
+ cleanup();
+}
+
+void H5Object::cleanup()
+{
+ locked = true;
+ for (std::set<H5Object *>::iterator it = children.begin(); it != children.end(); it++)
+ {
+ delete *it;
+ }
+ children.clear();
+ locked = false;
+ parent.unregisterChild(this);
+
+ H5VariableScope::removeId(scilabId);
+}
+
+hid_t H5Object::getH5Id() const
+{
+ return (hid_t) - 1;
+}
+
+hsize_t H5Object::getAttributesNumber() const
+{
+ H5O_info_t info;
+ H5Oget_info(getH5Id(), &info);
+
+ return info.num_attrs;
+}
+
+
+/*std::string H5Object::getName() const
+ {
+ herr_t err;
+ hid_t obj = getH5Id();
+ ssize_t size;
+ char * name = 0;
+ std::string ret;
+
+ size = H5Iget_name(obj, 0, 0);
+ if (size < 0)
+ {
+ throw H5Exception(__LINE__, __FILE__, _("Cannot get object name."));
+ }
+
+ name = new char[size + 1];
+ if (H5Iget_name(obj, name, size + 1) < 0)
+ {
+ delete[] name;
+ throw H5Exception(__LINE__, __FILE__, _("Cannot get object name."));
+ }
+
+ ret = std::string(name);
+ delete[] name;
+
+ return ret;
+ }*/
+
+H5File & H5Object::getFile() const
+{
+ const H5Object * sobj = this;
+ const H5Object * obj = &parent;
+ while (obj != &root)
+ {
+ sobj = obj;
+ obj = &(obj->parent);
+ }
+
+ return *reinterpret_cast<H5File *>(const_cast<H5Object *>(sobj));
+}
+
+void H5Object::getAccessibleAttribute(const std::string & _name, const int pos, void * pvApiCtx) const
+{
+ SciErr err;
+ std::string lower(_name);
+ std::transform(_name.begin(), _name.end(), lower.begin(), tolower);
+
+ if (lower == "name")
+ {
+ const std::string name = getName();
+ const char * _name = name.c_str();
+ err = createMatrixOfString(pvApiCtx, pos, 1, 1, &_name);
+ if (err.iErr)
+ {
+ throw H5Exception(__LINE__, __FILE__, _("Cannot create a string on the stack."));
+ }
+
+ return;
+ }
+ else if (lower == "path")
+ {
+ const std::string completePath = getCompletePath();
+ const char * path = completePath.c_str();
+ err = createMatrixOfString(pvApiCtx, pos, 1, 1, &path);
+ if (err.iErr)
+ {
+ throw H5Exception(__LINE__, __FILE__, _("Cannot create a string on the stack."));
+ }
+
+ return;
+ }
+
+ throw H5Exception(__LINE__, __FILE__, _("Invalid field: %s"), _name.c_str());
+}
+
+void H5Object::createOnScilabStack(int pos, void * pvApiCtx) const
+{
+ static const char * fields[] = {"H5Object", "_id"};
+ int * mlistaddr = 0;
+ SciErr err;
+ int id = getScilabId();
+
+ if (id == -1)
+ {
+ id = H5VariableScope::getVariableId(*const_cast<H5Object *>(this));
+ const_cast<H5Object *>(this)->setScilabId(id);
+ }
+
+ err = createMList(pvApiCtx, pos, 2, &mlistaddr);
+ if (err.iErr)
+ {
+ throw H5Exception(__LINE__, __FILE__, _("Cannot create a mlist on the stack."));
+ }
+
+ err = createMatrixOfStringInList(pvApiCtx, pos, mlistaddr, 1, 1, 2, fields);
+ if (err.iErr)
+ {
+ throw H5Exception(__LINE__, __FILE__, _("Cannot create a mlist on the stack."));
+ }
+
+ err = createMatrixOfInteger32InList(pvApiCtx, pos, mlistaddr, 2, 1, 1, &id);
+ if (err.iErr)
+ {
+ throw H5Exception(__LINE__, __FILE__, _("Cannot create a mlist on the stack."));
+ }
+}
+
+void H5Object::createInScilabList(int * list, int stackPos, int pos, void * pvApiCtx) const
+{
+ static const char * fields[] = {"H5Object", "_id"};
+ int * mlistaddr = 0;
+ SciErr err;
+ int id = H5VariableScope::getVariableId(*const_cast<H5Object *>(this));
+ const_cast<H5Object *>(this)->setScilabId(id);
+
+ err = createMListInList(pvApiCtx, stackPos, list, pos, 2, &mlistaddr);
+ if (err.iErr)
+ {
+ throw H5Exception(__LINE__, __FILE__, _("Cannot create a mlist on the stack."));
+ }
+
+ err = createMatrixOfStringInList(pvApiCtx, stackPos, mlistaddr, 1, 1, 2, fields);
+ if (err.iErr)
+ {
+ throw H5Exception(__LINE__, __FILE__, _("Cannot create a mlist on the stack."));
+ }
+
+ err = createMatrixOfInteger32InList(pvApiCtx, stackPos, mlistaddr, 2, 1, 1, &id);
+ if (err.iErr)
+ {
+ throw H5Exception(__LINE__, __FILE__, _("Cannot create a mlist on the stack."));
+ }
+}
+
+H5AttributesList & H5Object::getAttributes()
+{
+ return *new H5AttributesList(*this);
+}
+
+void H5Object::getNames(const H5Object & obj, std::vector<std::string> & names, FilterType type) const
+{
+ herr_t err;
+ OpDataFilter opdata(&names, type, true);
+ hsize_t idx = 0;
+
+ if (type == ATTRIBUTE)
+ {
+ err = H5Aiterate(obj.getH5Id(), H5_INDEX_NAME, H5_ITER_NATIVE, &idx, H5Object::filterAttributesIterator, &opdata);
+ }
+ else
+ {
+ err = H5Literate(obj.getH5Id(), H5_INDEX_NAME, H5_ITER_NATIVE, &idx, H5Object::filterIterator, &opdata);
+ }
+
+ if (err < 0)
+ {
+ throw H5Exception(__LINE__, __FILE__, _("Cannot list names."));
+ }
+}
+
+H5Object & H5Object::getObject(H5Object & parent, hid_t obj)
+{
+ H5O_info_t info;
+ herr_t err = H5Oget_info(obj, &info);
+ ssize_t size;
+ char * name = 0;
+ std::string _name;
+ //TODO: voir pr utiliser getName().
+
+ if (err < 0)
+ {
+ throw H5Exception(__LINE__, __FILE__, _("Cannot retrieve information about the object"));
+ }
+
+ size = H5Iget_name(obj, 0, 0);
+ name = new char[size + 1];
+ H5Iget_name(obj, name, size + 1);
+ _name = std::string(name);
+ delete[] name;
+
+ switch (info.type)
+ {
+ case H5O_TYPE_GROUP:
+ return *new H5Group(parent, obj, _name);
+ case H5O_TYPE_DATASET:
+ return *new H5Dataset(parent, obj, _name);
+ case H5O_TYPE_NAMED_DATATYPE:
+ return *new H5Type(parent, obj, _name);
+ case H5O_TYPE_UNKNOWN:
+ default:
+ throw H5Exception(__LINE__, __FILE__, _("Unknown HDF5 object"));
+ }
+}
+
+H5Object & H5Object::getObject(H5Object & parent, const std::string & name)
+{
+ hid_t loc = parent.getH5Id();
+ H5O_info_t info;
+ herr_t err;
+ H5Object * obj = 0;
+
+ if (parent.isFile() && name == "/")
+ {
+ obj = &reinterpret_cast<H5File *>(&parent)->getRoot();
+ }
+ else
+ {
+ if (H5Lexists(loc, name.c_str(), H5P_DEFAULT) <= 0)
+ {
+ if (H5Aexists(loc, name.c_str()) <= 0)
+ {
+ throw H5Exception(__LINE__, __FILE__, _("Invalid name: %s."), name.c_str());
+ }
+
+ return *new H5Attribute(parent, name);
+ }
+
+ err = H5Oget_info_by_name(loc, name.c_str(), &info, H5P_DEFAULT);
+
+ if (err < 0)
+ {
+ throw H5Exception(__LINE__, __FILE__, _("Invalid name: %s."), name.c_str());
+ }
+
+ switch (info.type)
+ {
+ case H5O_TYPE_GROUP:
+ obj = new H5Group(parent, name);
+ break;
+ case H5O_TYPE_DATASET:
+ obj = new H5Dataset(parent, name);
+ break;
+ case H5O_TYPE_NAMED_DATATYPE:
+ obj = new H5Type(parent, name);
+ break;
+ default:
+ throw H5Exception(__LINE__, __FILE__, _("Invalid HDF5 object"));
+ }
+ }
+
+ return *obj;
+}
+
+H5Object & H5Object::getObject(H5Object & parent, const std::string & name, const bool isAttr)
+{
+ hid_t loc = parent.getH5Id();
+ H5O_info_t info;
+ herr_t err;
+ H5Object * obj = 0;
+
+ if (parent.isFile() && name == "/")
+ {
+ if (isAttr)
+ {
+ throw H5Exception(__LINE__, __FILE__, _("Invalid name: %s."), name.c_str());
+ }
+
+ obj = &reinterpret_cast<H5File *>(&parent)->getRoot();
+ }
+ else if (isAttr)
+ {
+ if (H5Aexists(loc, name.c_str()) > 0)
+ {
+ obj = new H5Attribute(parent, name);
+ }
+ else
+ {
+ throw H5Exception(__LINE__, __FILE__, _("Invalid name: %s."), name.c_str());
+ }
+ }
+ else
+ {
+ if (H5Lexists(loc, name.c_str(), H5P_DEFAULT) <= 0)
+ {
+ throw H5Exception(__LINE__, __FILE__, _("Invalid name: %s."), name.c_str());
+ }
+
+ err = H5Oget_info_by_name(loc, name.c_str(), &info, H5P_DEFAULT);
+ if (err < 0)
+ {
+ throw H5Exception(__LINE__, __FILE__, _("Invalid name: %s."), name.c_str());
+ }
+
+ switch (info.type)
+ {
+ case H5O_TYPE_GROUP:
+ obj = new H5Group(parent, name);
+ break;
+ case H5O_TYPE_DATASET:
+ obj = new H5Dataset(parent, name);
+ break;
+ case H5O_TYPE_NAMED_DATATYPE:
+ obj = new H5Type(parent, name);
+ break;
+ default:
+ throw H5Exception(__LINE__, __FILE__, _("Invalid HDF5 object"));
+ }
+ }
+
+ return *obj;
+}
+
+std::string H5Object::getCompletePath() const
+{
+ std::string name = getName();
+ if (name.empty())
+ {
+ return parent.getCompletePath();
+ }
+
+ std::string path = parent.getCompletePath();
+ if (path.empty())
+ {
+ if (name.at(0) != '/')
+ {
+ return "/" + name;
+ }
+ return name;
+ }
+
+ if (path.at(path.length() - 1) == '/' && name.at(0) == '/')
+ {
+ return path + name.substr(1);
+ }
+ else if (path.at(path.length() - 1) == '/' || name.at(0) == '/')
+ {
+ return path + name;
+ }
+
+ return path + "/" + name;
+}
+
+void H5Object::getLinksInfo(const H5Object & obj, std::vector<std::string> & linksName, std::vector<std::string> & type, std::vector<std::string> & linksType)
+{
+ hsize_t idx = 0;
+ LinksInfo info(&linksName, &type, &linksType);
+
+ H5Literate(obj.getH5Id(), H5_INDEX_NAME, H5_ITER_INC, &idx, iterateGetInfo, &info);
+}
+
+herr_t H5Object::iterateGetInfo(hid_t g_id, const char * name, const H5L_info_t * info, void * op_data)
+{
+ H5O_info_t oinfo;
+ herr_t err;
+ LinksInfo & linfo = *(LinksInfo *)op_data;
+ hid_t obj;
+
+ linfo.name->push_back(std::string(name));
+
+ switch (info->type)
+ {
+ case H5L_TYPE_HARD:
+ linfo.linkType->push_back("hard");
+ break;
+ case H5L_TYPE_SOFT:
+ linfo.linkType->push_back("soft");
+ break;
+ case H5L_TYPE_EXTERNAL:
+ linfo.linkType->push_back("external");
+ break;
+ default:
+ linfo.linkType->push_back("error");
+ }
+
+ obj = H5Oopen(g_id, name, H5P_DEFAULT);
+ if (obj < 0)
+ {
+ if (info->type == H5L_TYPE_HARD)
+ {
+ return (herr_t) - 1;
+ }
+
+ linfo.type->push_back("dangling");
+
+ return (herr_t)0;
+ }
+
+ err = H5Oget_info(obj, &oinfo);
+ H5Oclose(obj);
+
+ if (err < 0)
+ {
+ return (herr_t) - 2;
+ }
+
+ switch (oinfo.type)
+ {
+ case H5O_TYPE_GROUP:
+ linfo.type->push_back("group");
+ break;
+ case H5O_TYPE_DATASET:
+ linfo.type->push_back("dataset");
+ break;
+ case H5O_TYPE_NAMED_DATATYPE:
+ linfo.type->push_back("datatype");
+ break;
+ default:
+ linfo.type->push_back("unknown");
+ }
+
+ return (herr_t)0;
+}
+
+herr_t H5Object::getLsAttributes(hid_t location_id, const char * attr_name, const H5A_info_t * ainfo, void * op_data)
+{
+ OpDataGetLs & opdata = *(OpDataGetLs *)op_data;
+ opdata.name->push_back(std::string(attr_name));
+ opdata.type->push_back("attribute");
+
+ return (herr_t)0;
+}
+
+herr_t H5Object::filterAttributesIterator(hid_t location_id, const char * attr_name, const H5A_info_t * ainfo, void * op_data)
+{
+ OpDataFilter & opdata = *(OpDataFilter *)op_data;
+ opdata.name->push_back(std::string(attr_name));
+
+ return (herr_t)0;
+}
+
+void H5Object::count(const H5Object & obj, OpDataCount & opdata)
+{
+ hsize_t idx = 0;
+ herr_t err = H5Literate(obj.getH5Id(), H5_INDEX_NAME, H5_ITER_INC, &idx, countIterator, &opdata);
+ if (err < 0)
+ {
+ throw H5Exception(__LINE__, __FILE__, _("Cannot list group contents"));
+ }
+}
+
+herr_t H5Object::countIterator(hid_t g_id, const char * name, const H5L_info_t * info, void * op_data)
+{
+ H5O_info_t oinfo;
+ herr_t err;
+ hid_t obj;
+ OpDataCount & opdata = *(OpDataCount *)op_data;
+
+ switch (info->type)
+ {
+ case H5L_TYPE_SOFT:
+ opdata.soft++;
+ break;
+ case H5L_TYPE_EXTERNAL:
+ opdata.external++;
+ break;
+ case H5L_TYPE_HARD:
+ opdata.hard++;
+ break;
+ default:
+ return (herr_t) - 1;
+ }
+
+ if (info->type == H5L_TYPE_HARD)
+ {
+ obj = H5Oopen_by_addr(g_id, info->u.address);
+ }
+ else if (opdata.followLink)
+ {
+ obj = H5Oopen(g_id, name, H5P_DEFAULT);
+ }
+ else
+ {
+ return (herr_t)0;
+ }
+
+ if (obj < 0)
+ {
+ if (info->type == H5L_TYPE_HARD)
+ {
+ return (herr_t) - 1;
+ }
+ opdata.dangling++;
+ return (herr_t)0;
+ }
+
+ err = H5Oget_info(obj, &oinfo);
+ H5Oclose(obj);
+ if (err < 0)
+ {
+ return err;
+ }
+
+ switch (oinfo.type)
+ {
+ case H5O_TYPE_GROUP:
+ opdata.group++;
+ break;
+ case H5O_TYPE_DATASET:
+ opdata.dataset++;
+ break;
+ case H5O_TYPE_NAMED_DATATYPE:
+ opdata.type++;
+ break;
+ default:
+ return (herr_t) - 1;
+ }
+
+ return (herr_t)0;
+}
+
+herr_t H5Object::filterIterator(hid_t g_id, const char * name, const H5L_info_t * info, void * op_data)
+{
+ H5O_info_t oinfo;
+ herr_t err;
+ hid_t obj;
+ OpDataFilter & opdata = *(OpDataFilter *)op_data;
+
+ switch (opdata.type)
+ {
+ case HARD:
+ if (info->type == H5L_TYPE_HARD)
+ {
+ opdata.name->push_back(name);
+ return (herr_t)0;
+ }
+ break;
+ case SOFT:
+ if (info->type == H5L_TYPE_SOFT)
+ {
+ opdata.name->push_back(name);
+ return (herr_t)0;
+ }
+ break;
+ case EXTERNAL:
+ if (info->type == H5L_TYPE_EXTERNAL)
+ {
+ opdata.name->push_back(name);
+ return (herr_t)0;
+ }
+ break;
+ }
+
+ if (info->type == H5L_TYPE_HARD)
+ {
+ obj = H5Oopen_by_addr(g_id, info->u.address);
+ }
+ else
+ {
+ obj = H5Oopen(g_id, name, H5P_DEFAULT);
+ }
+
+ if (obj < 0)
+ {
+ if (info->type == H5L_TYPE_HARD)
+ {
+ return (herr_t) - 1;
+ }
+ if (opdata.type == DANGLING)
+ {
+ opdata.name->push_back(name);
+ return (herr_t)0;
+ }
+ else
+ {
+ return (herr_t)0;
+ }
+ }
+
+ err = H5Oget_info(obj, &oinfo);
+ H5Oclose(obj);
+ if (err < 0)
+ {
+ return err;
+ }
+
+ switch (opdata.type)
+ {
+ case GROUP:
+ if (oinfo.type == H5O_TYPE_GROUP)
+ {
+ opdata.name->push_back(name);
+ return (herr_t)0;
+ }
+ break;
+ case DATASET:
+ if (oinfo.type == H5O_TYPE_DATASET)
+ {
+ opdata.name->push_back(name);
+ return (herr_t)0;
+ }
+ break;
+ case TYPE:
+ if (oinfo.type == H5O_TYPE_NAMED_DATATYPE)
+ {
+ opdata.name->push_back(name);
+ return (herr_t)0;
+ }
+ break;
+ default:
+ return (herr_t)0;
+ }
+
+ return (herr_t)0;
+}
+
+herr_t H5Object::filterSoftLinkIterator(hid_t g_id, const char * name, const H5L_info_t * info, void * op_data)
+{
+ herr_t err;
+ OpDataSoftLinkFilter & opdata = *(OpDataSoftLinkFilter *)op_data;
+
+ if (info->type == H5L_TYPE_SOFT && opdata.type == SOFT)
+ {
+ char * buf = new char[info->u.val_size];
+
+ err = H5Lget_val(g_id, name, buf, info->u.val_size, H5P_DEFAULT);
+ if (err < 0)
+ {
+ delete[] buf;
+ return err;
+ }
+
+ opdata.name->push_back(name);
+ opdata.value->push_back(std::string(buf));
+
+ delete[] buf;
+ }
+ else if (info->type == H5L_TYPE_EXTERNAL && opdata.type == EXTERNAL)
+ {
+ char * buf = new char[info->u.val_size];
+ const char * filename = 0;
+ const char * obj_path = 0;
+
+ err = H5Lget_val(g_id, name, buf, info->u.val_size, H5P_DEFAULT);
+ if (err < 0)
+ {
+ delete[] buf;
+ return err;
+ }
+
+ err = H5Lunpack_elink_val(buf, info->u.val_size, 0, &filename, &obj_path);
+ if (err < 0)
+ {
+ delete[] buf;
+ return err;
+ }
+
+ opdata.name->push_back(name);
+ opdata.value->push_back(std::string(filename));
+ opdata.value->push_back(std::string(obj_path));
+
+ delete[] buf;
+ }
+
+ return (herr_t)0;
+}
+}
diff --git a/modules/hdf5/src/cpp/H5Object.hxx b/modules/hdf5/src/cpp/H5Object.hxx
new file mode 100755
index 000000000..6f0d39a9a
--- /dev/null
+++ b/modules/hdf5/src/cpp/H5Object.hxx
@@ -0,0 +1,429 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2012 - Scilab Enterprises - Calixte DENIZET
+ *
+ * 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
+ *
+ */
+
+#ifdef _MSC_VER
+#pragma warning(disable: 4355) //disable Warning C4355: 'this' : used in base member initializer list
+#endif
+
+#ifndef __H5OBJECT_HXX__
+#define __H5OBJECT_HXX__
+
+#include "HDF5Objects.h"
+
+#include <algorithm>
+#include <cstdlib>
+#include <iostream>
+#include <iomanip>
+#include <limits>
+#include <map>
+#include <set>
+#include <string>
+
+extern "C"
+{
+#include "MALLOC.h"
+#include "Scierror.h"
+#include "api_scilab.h"
+#include "localization.h"
+}
+
+#include "H5VariableScope.hxx"
+#include "H5Exception.hxx"
+
+#define __H5_INDENT_LENGTH__ 3
+#define __H5_LS_LENGTH__ 25
+
+namespace org_modules_hdf5
+{
+class H5AttributesList;
+class H5File;
+
+class H5Object
+{
+ static H5Object & root;
+
+ bool locked;
+ H5Object & parent;
+ int scilabId;
+
+ friend class H5AttributesList;
+ friend class H5LinkList;
+ friend class H5Dataset;
+
+public :
+
+ enum FilterType {HARD, SOFT, EXTERNAL, DANGLING, GROUP, DATASET, TYPE, ATTRIBUTE};
+
+ H5Object(H5Object & _parent);
+ H5Object(H5Object & _parent, const std::string & _name);
+ virtual ~H5Object();
+
+ virtual void cleanup();
+
+ virtual hid_t getH5Id() const;
+ virtual H5AttributesList & getAttributes();
+ virtual hsize_t getAttributesNumber() const;
+
+ virtual H5O_info_t getInfo() const
+ {
+ H5O_info_t info;
+ H5Oget_info(getH5Id(), &info);
+
+ return info;
+ }
+
+ virtual bool isFile() const
+ {
+ return false;
+ }
+
+ virtual bool isGroup() const
+ {
+ return false;
+ }
+
+ virtual bool isAttribute() const
+ {
+ return false;
+ }
+
+ virtual bool isReference() const
+ {
+ return false;
+ }
+
+ virtual bool isDataspace() const
+ {
+ return false;
+ }
+
+ virtual bool isDataset() const
+ {
+ return false;
+ }
+
+ virtual bool isType() const
+ {
+ return false;
+ }
+
+ virtual bool isList() const
+ {
+ return false;
+ }
+
+ virtual bool isCompound() const
+ {
+ return false;
+ }
+
+ virtual bool isArray() const
+ {
+ return false;
+ }
+
+ virtual bool isVlen() const
+ {
+ return false;
+ }
+
+ virtual bool mustDelete() const
+ {
+ return true;
+ }
+
+ virtual haddr_t getAddr() const
+ {
+ return getInfo().addr;
+ }
+
+ virtual const std::string & getName() const
+ {
+ return name;
+ }
+
+ virtual H5Object & getData(const unsigned int size, const unsigned int * index) const
+ {
+ throw H5Exception(__LINE__, __FILE__, _("Cannot retrieve numeric index."));
+ }
+
+ virtual H5Object & getData(const unsigned int size, const double * index) const
+ {
+ unsigned int * _index = new unsigned int[size];
+ for (unsigned int i = 0; i < size; i++)
+ {
+ _index[i] = (unsigned int)(index[i] - 1);
+ }
+
+ try
+ {
+ return getData(size, _index);
+ }
+ catch (const H5Exception & /*e*/)
+ {
+ delete[] _index;
+ throw;
+ }
+ }
+
+
+ virtual const std::string getBaseName() const
+ {
+ std::string::size_type pos = name.find_last_of('/');
+ if (pos == std::string::npos)
+ {
+ return name;
+ }
+ else
+ {
+ return name.substr(pos + 1);
+ }
+ }
+
+ virtual std::string getCompletePath() const;
+ virtual std::string dump(std::map<haddr_t, std::string> & alreadyVisited, const unsigned int indentLevel = 0) const
+ {
+ return "";
+ }
+
+ virtual std::string ls() const
+ {
+ return "";
+ }
+
+ virtual void ls(std::vector<std::string> & name, std::vector<std::string> & type) const
+ {
+
+ }
+
+ virtual void ls(std::vector<std::string> & name, FilterType type) const
+ {
+ getNames(*this, name, type);
+ }
+
+ virtual void printLsInfo(std::ostringstream & os) const
+ {
+ return;
+ }
+
+ virtual std::string toString() const
+ {
+ return toString(0);
+ }
+ virtual std::string toString(const unsigned int indentLevel) const
+ {
+ return "";
+ }
+ virtual void getAccessibleAttribute(const std::string & _name, const int pos, void * pvApiCtx) const;
+ virtual void getAccessibleAttribute(const double index, const int pos, void * pvApiCtx) const
+ {
+ throw H5Exception(__LINE__, __FILE__, _("Invalid operation"));
+ }
+
+ virtual void setAccessibleAttribute(const std::string & name, const int pos, void * pvApiCtx) const
+ {
+ throw H5Exception(__LINE__, __FILE__, _("Invalid operation"));
+ }
+
+ virtual void setAccessibleAttribute(const double index, const int pos, void * pvApiCtx) const
+ {
+ throw H5Exception(__LINE__, __FILE__, _("Invalid operation"));
+ }
+
+ void setScilabId(const int id)
+ {
+ scilabId = id;
+ }
+
+ const int getScilabId() const
+ {
+ return scilabId;
+ }
+
+ H5Object & getParent() const
+ {
+ return parent;
+ }
+ H5File & getFile() const;
+
+ virtual void getNames(const H5Object & obj, std::vector<std::string> & names, FilterType type) const;
+ virtual void createOnScilabStack(int pos, void * pvApiCtx) const;
+ virtual void createInScilabList(int * list, int stackPos, int pos, void * pvApiCtx) const;
+
+ virtual void toScilab(void * pvApiCtx, const int lhsPosition, int * parentList = 0, const int listPosition = 0, const bool flip = true) const
+ {
+ if (parentList)
+ {
+ createInScilabList(parentList, lhsPosition, listPosition, pvApiCtx);
+ }
+ else
+ {
+ createOnScilabStack(lhsPosition, pvApiCtx);
+ }
+ }
+
+ bool isRoot() const
+ {
+ return this == &root;
+ }
+
+ void unregisterChild(H5Object * child)
+ {
+ if (!locked)
+ {
+ children.erase(child);
+ }
+ }
+
+ static std::string getIndentString(const unsigned int indentLevel)
+ {
+ return std::string((size_t)(__H5_INDENT_LENGTH__ * indentLevel), ' ');
+ }
+
+ static H5Object & getRoot()
+ {
+ return root;
+ }
+
+ static void cleanAll()
+ {
+ root.locked = true;
+ for (std::set<H5Object *>::iterator it = root.children.begin(); it != root.children.end(); it++)
+ {
+ delete *it;
+ }
+ root.children.clear();
+ root.locked = false;
+ H5VariableScope::clearScope();
+ }
+
+ static void getResizedString(std::string & str)
+ {
+ if (str.length() < __H5_LS_LENGTH__)
+ {
+ str.resize(__H5_LS_LENGTH__, ' ');
+ }
+ }
+
+ static H5Object & getObject(H5Object & parent, hid_t obj);
+ static H5Object & getObject(H5Object & parent, const std::string & name);
+ static H5Object & getObject(H5Object & parent, const std::string & name, const bool isAttr);
+ static void getLinksInfo(const H5Object & obj, std::vector<std::string> & linksName, std::vector<std::string> & types, std::vector<std::string> & linksType);
+
+ inline static hsize_t * getCumProd(const hsize_t ndims, const hsize_t * dims)
+ {
+ hsize_t * ret = new hsize_t[ndims];
+ ret[0] = 1;
+ for (unsigned int i = 1; i < ndims; i++)
+ {
+ ret[i] *= ret[i - 1];
+ }
+
+ return ret;
+ }
+
+ inline static bool isEmptyPath(const std::string & path)
+ {
+ return path.empty() || path == ".";
+ }
+
+ inline static bool isEmptyPath(const char * path)
+ {
+ return path[0] == '\0' || (path[0] == '.' && path[1] == '\0');
+ }
+
+protected :
+
+ class OpDataGetLs
+ {
+ public:
+ H5Object * parent;
+ std::vector<std::string> * name;
+ std::vector<std::string> * type;
+
+ OpDataGetLs(H5Object * _parent, std::vector<std::string> * _name, std::vector<std::string> * _type) : parent(_parent), name(_name), type(_type) { }
+ };
+
+ class OpDataCount
+ {
+ public:
+ unsigned int soft;
+ unsigned int external;
+ unsigned int hard;
+ unsigned int dangling;
+ unsigned int group;
+ unsigned int dataset;
+ unsigned int type;
+ const bool followLink;
+
+ OpDataCount(const bool _followLink) : soft(0), external(0), hard(0), dangling(0), group(0), dataset(0), type(0), followLink(_followLink) { }
+ };
+
+ class OpDataFilter
+ {
+ public:
+ std::vector<std::string> * name;
+ FilterType type;
+ const bool followLink;
+
+ OpDataFilter(std::vector<std::string> * _name, FilterType _type, const bool _followLink) : name(_name), type(_type), followLink(_followLink) { }
+ };
+
+ class OpDataSoftLinkFilter
+ {
+ public:
+ std::vector<std::string> * name;
+ std::vector<std::string> * value;
+ FilterType type;
+
+ OpDataSoftLinkFilter(std::vector<std::string> * _name, std::vector<std::string> * _value, FilterType _type) : name(_name), value(_value), type(_type) { }
+ };
+
+ const std::string name;
+ std::set<H5Object *> children;
+ void registerChild(H5Object * child)
+ {
+ if (!locked)
+ {
+ children.insert(child);
+ }
+ }
+
+ static void count(const H5Object & obj, OpDataCount & opdata);
+ static herr_t countIterator(hid_t g_id, const char * name, const H5L_info_t * info, void * op_data);
+ static herr_t filterAttributesIterator(hid_t location_id, const char * attr_name, const H5A_info_t * ainfo, void * op_data);
+ static herr_t filterIterator(hid_t g_id, const char * name, const H5L_info_t * info, void * op_data);
+ static herr_t filterSoftLinkIterator(hid_t g_id, const char * name, const H5L_info_t * info, void * op_data);
+ static herr_t getLsAttributes(hid_t location_id, const char * attr_name, const H5A_info_t * ainfo, void * op_data);
+
+private :
+
+ H5Object() : parent(*this), locked(false), scilabId(-1) { }
+
+ class LinksInfo
+ {
+ public:
+ std::vector<std::string> * name;
+ std::vector<std::string> * type;
+ std::vector<std::string> * linkType;
+
+ LinksInfo(std::vector<std::string> * _name, std::vector<std::string> * _type, std::vector<std::string> * _linkType) : name(_name), type(_type), linkType(_linkType) { }
+ };
+
+ static herr_t iterateGetInfo(hid_t g_id, const char * name, const H5L_info_t * info, void * op_data);
+};
+}
+
+#undef __H5_INDENT_LENGTH__
+#undef __H5_LS_LENGTH__
+
+#endif // __H5OBJECT_HXX__
diff --git a/modules/hdf5/src/cpp/H5OpaqueData.hxx b/modules/hdf5/src/cpp/H5OpaqueData.hxx
new file mode 100755
index 000000000..9c45af2ce
--- /dev/null
+++ b/modules/hdf5/src/cpp/H5OpaqueData.hxx
@@ -0,0 +1,84 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2012 - Scilab Enterprises - Calixte DENIZET
+ *
+ * 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 __H5OPAQUEDATA_HXX__
+#define __H5OPAQUEDATA_HXX__
+
+#include "H5Data.hxx"
+
+namespace org_modules_hdf5
+{
+
+class H5OpaqueData : public H5BasicData<unsigned char>
+{
+
+public:
+
+ H5OpaqueData(H5Object & _parent, const hsize_t _totalSize, const hsize_t _dataSize, const hsize_t _ndims, const hsize_t * _dims, unsigned char * _data, const hsize_t _stride, const size_t _offset, const bool _dataOwner) : H5BasicData<unsigned char>(_parent, _totalSize, _dataSize, _ndims, _dims, _data, _stride, _offset, _dataOwner)
+ {
+
+ }
+
+ virtual ~H5OpaqueData()
+ {
+
+ }
+
+ virtual void printData(std::ostream & os, const unsigned int pos, const unsigned int indentLevel) const
+ {
+ const unsigned char * x = &static_cast<unsigned char * >(getData())[pos * dataSize];
+ for (unsigned int i = 0; i < dataSize - 1; i++)
+ {
+ os << std::hex << std::setfill('0') << std::setw(2) << (int)x[i] << ":";
+ }
+ os << std::hex << std::setfill('0') << std::setw(2) << (int)x[dataSize - 1];
+ }
+
+ virtual void toScilab(void * pvApiCtx, const int lhsPosition, int * parentList = 0, const int listPosition = 0, const bool flip = true) const
+ {
+ unsigned char * newData = 0;
+
+ if (ndims == 0)
+ {
+ alloc(pvApiCtx, lhsPosition, 1, (int)dataSize, parentList, listPosition, &newData);
+ copyData(newData);
+ }
+ else if (ndims == 1)
+ {
+ alloc(pvApiCtx, lhsPosition, (int)*dims, (int)dataSize, parentList, listPosition, &newData);
+ copyData(newData);
+ }
+ else
+ {
+ int * list = getHypermatrix(pvApiCtx, lhsPosition, parentList, listPosition, flip);
+ hsize_t * _dims = new hsize_t[ndims + 1];
+ memcpy(_dims, dims, ndims * sizeof(hsize_t));
+ _dims[ndims] = (hsize_t)dataSize;
+
+ try
+ {
+ alloc(pvApiCtx, lhsPosition, (int)(totalSize * dataSize), 1, list, 3, &newData);
+ H5DataConverter::C2FHypermatrix((int)ndims + 1, _dims, (int)(totalSize * dataSize), static_cast<unsigned char *>(getData()), newData, flip);
+ }
+ catch (const H5Exception & /*e*/)
+ {
+ delete[] _dims;
+ throw;
+ }
+
+ delete[] _dims;
+ }
+ }
+};
+}
+
+#endif // __H5OPAQUEDATA_HXX__
diff --git a/modules/hdf5/src/cpp/H5Options.cpp b/modules/hdf5/src/cpp/H5Options.cpp
new file mode 100755
index 000000000..261bfef4f
--- /dev/null
+++ b/modules/hdf5/src/cpp/H5Options.cpp
@@ -0,0 +1,19 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2013 - Scilab Enterprises - Calixte DENIZET
+ *
+ * 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 "H5Options.hxx"
+
+namespace org_modules_hdf5
+{
+H5Options::RowOrder H5Options::writeStyle = FORTRAN;
+H5Options::RowOrder H5Options::readStyle = FORTRAN;
+}
diff --git a/modules/hdf5/src/cpp/H5Options.hxx b/modules/hdf5/src/cpp/H5Options.hxx
new file mode 100755
index 000000000..32adb7cb2
--- /dev/null
+++ b/modules/hdf5/src/cpp/H5Options.hxx
@@ -0,0 +1,100 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2013 - Scilab Enterprises - Calixte DENIZET
+ *
+ * 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 __H5OPTIONS_HXX__
+#define __H5OPTIONS_HXX__
+
+#include <algorithm>
+#include <string>
+
+#include "H5Exception.hxx"
+
+extern "C"
+{
+#include "localization.h"
+}
+
+namespace org_modules_hdf5
+{
+
+class H5Options
+{
+ enum RowOrder {
+ C,
+ FORTRAN
+ };
+
+ static RowOrder writeStyle;
+ static RowOrder readStyle;
+
+public:
+
+ static void setOption(const std::string op, const std::string & style)
+ {
+ std::string upperStyle(style);
+ std::transform(style.begin(), style.end(), upperStyle.begin(), toupper);
+ std::string upperOp(op);
+ std::transform(op.begin(), op.end(), upperOp.begin(), toupper);
+ RowOrder order;
+
+ if (upperStyle == "C")
+ {
+ order = C;
+ }
+ else if (upperStyle == "FORTRAN")
+ {
+ order = FORTRAN;
+ }
+ else
+ {
+ throw H5Exception(__LINE__, __FILE__, _("Invalid option: must be C or FORTRAN."));
+ }
+
+ if (upperOp == "READ")
+ {
+ setWriteStyle(order);
+ }
+ else if (upperOp == "WRITE")
+ {
+ setReadStyle(order);
+ }
+ else
+ {
+ throw H5Exception(__LINE__, __FILE__, _("Invalid option: must be C or FORTRAN."));
+ }
+ }
+
+ static bool isWriteFlip()
+ {
+ return writeStyle == FORTRAN;
+ }
+
+ static bool isReadFlip()
+ {
+ return readStyle == FORTRAN;
+ }
+
+private:
+
+ static void setWriteStyle(const RowOrder order)
+ {
+ writeStyle = order;
+ }
+
+ static void setReadStyle(const RowOrder order)
+ {
+ readStyle = order;
+ }
+};
+}
+
+#endif // __H5OPTIONS_HXX__
diff --git a/modules/hdf5/src/cpp/H5ReferenceData.cpp b/modules/hdf5/src/cpp/H5ReferenceData.cpp
new file mode 100755
index 000000000..691d3fe1a
--- /dev/null
+++ b/modules/hdf5/src/cpp/H5ReferenceData.cpp
@@ -0,0 +1,300 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2012 - Scilab Enterprises - Calixte DENIZET
+ *
+ * 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 "H5ReferenceData.hxx"
+
+namespace org_modules_hdf5
+{
+
+H5ReferenceData::H5ReferenceData(H5Object & _parent, const bool _datasetReference, const hsize_t _totalSize, const hsize_t _dataSize, const hsize_t _ndims, const hsize_t * _dims, char * _data, const hsize_t _stride, const size_t _offset, const bool _dataOwner) : H5BasicData<char>(_parent, _totalSize, _dataSize, _ndims, _dims, _data, _stride, _offset, _dataOwner), datasetReference(_datasetReference), cumprod(H5Object::getCumProd(_ndims, dims))
+{
+
+}
+
+H5ReferenceData::~H5ReferenceData()
+{
+ delete[] cumprod;
+}
+
+void H5ReferenceData::toScilab(void * pvApiCtx, const int lhsPosition, int * parentList, const int listPosition, const bool flip) const
+{
+ H5Object::toScilab(pvApiCtx, lhsPosition, parentList, listPosition, flip);
+}
+
+const char ** H5ReferenceData::getReferencesName() const
+{
+ hid_t file = getFile().getH5Id();
+ char * cdata = static_cast<char *>(data) + offset;
+ const char ** names = new const char*[totalSize];
+
+ for (int i = 0; i < totalSize; i++)
+ {
+ void * ref = &(((void **)cdata)[i]);
+ hid_t obj = H5Rdereference(file, datasetReference ? H5R_DATASET_REGION : H5R_OBJECT, ref);
+ H5O_info_t info;
+ H5Oget_info(obj, &info);
+ H5Oclose(obj);
+ ssize_t size = H5Rget_name(file, datasetReference ? H5R_DATASET_REGION : H5R_OBJECT, ref, 0, 0);
+ char * name = new char[size + 1];
+ H5Rget_name(file, datasetReference ? H5R_DATASET_REGION : H5R_OBJECT, ref, name, size + 1);
+
+ names[i] = name;
+ }
+
+ return names;
+}
+
+H5Object & H5ReferenceData::getData(const unsigned int size, const unsigned int * index) const
+{
+ char * cdata = static_cast<char *>(data) + offset;
+ void ** ref = 0;
+ unsigned int pos = 0;
+ unsigned int cumprod = 1;
+ H5O_info_t info;
+ H5Object * hobj;
+ hid_t obj;
+ hid_t file;
+ ssize_t ssize;
+ char * name = 0;
+ std::string _name;
+
+ for (unsigned int i = 0; i < size; i++)
+ {
+ pos += cumprod * index[i];
+ }
+
+ if (pos >= totalSize)
+ {
+ throw H5Exception(__LINE__, __FILE__, _("Invalid index."));
+ }
+
+ cdata += pos * (stride ? stride : dataSize);
+
+ file = getFile().getH5Id();
+ ref = &(((void **)cdata)[0]);
+ obj = H5Rdereference(file, datasetReference ? H5R_DATASET_REGION : H5R_OBJECT, ref);
+ if (obj < 0)
+ {
+ throw H5Exception(__LINE__, __FILE__, _("Cannot open object at the given position."));
+ }
+
+ ssize = H5Rget_name(file, datasetReference ? H5R_DATASET_REGION : H5R_OBJECT, ref, 0, 0);
+ name = new char[ssize + 1];
+ H5Rget_name(file, datasetReference ? H5R_DATASET_REGION : H5R_OBJECT, ref, name, ssize + 1);
+ _name = std::string(name);
+ delete[] name;
+
+ H5Oget_info(obj, &info);
+ switch (info.type)
+ {
+ case H5O_TYPE_GROUP:
+ hobj = new H5Group(getParent(), obj, _name);
+ break;
+ case H5O_TYPE_DATASET:
+ hobj = new H5Dataset(getParent(), obj, _name);
+ break;
+ case H5O_TYPE_NAMED_DATATYPE:
+ hobj = new H5Type(getParent(), obj, _name);
+ break;
+ case H5O_TYPE_UNKNOWN:
+ default:
+ H5Oclose(obj);
+ throw H5Exception(__LINE__, __FILE__, _("Unknown HDF5 object"));
+ }
+
+ return *hobj;
+}
+
+H5Object ** H5ReferenceData::getReferencesObject() const
+{
+ hid_t file = getFile().getH5Id();
+ char * cdata = static_cast<char *>(data) + offset;
+ H5Object ** objs = new H5Object *[totalSize];
+
+ for (int i = 0; i < totalSize; i++)
+ {
+ void * ref = &(((void **)cdata)[i]);
+ hid_t obj = H5Rdereference(file, datasetReference ? H5R_DATASET_REGION : H5R_OBJECT, ref);
+ objs[i] = &H5Object::getObject(getParent(), obj);
+ }
+
+ return objs;
+}
+
+void H5ReferenceData::deleteReferencesObjects(H5Object ** objs, const unsigned int size)
+{
+ for (unsigned int i = 0; i < size; i++)
+ {
+ delete objs[i];
+ }
+
+ delete[] objs;
+}
+
+std::string H5ReferenceData::toString(const unsigned int indentLevel) const
+{
+ std::ostringstream os;
+ std::string indentString = H5Object::getIndentString(indentLevel + 1);
+
+ os << H5Object::getIndentString(indentLevel) << "HDF5 Reference data" << std::endl
+ << indentString << _("Dimensions") << ": [";
+
+ if (ndims == 0)
+ {
+ os << "1 x 1]";
+ }
+ else if (ndims == 1)
+ {
+ os << "1 x " << dims[0] << "]";
+ }
+ else
+ {
+ for (unsigned int i = 0; i < ndims - 1; i++)
+ {
+ os << dims[i] << " x ";
+ }
+ os << dims[ndims - 1] << "]";
+ }
+
+ return os.str();
+}
+
+std::string H5ReferenceData::dump(std::map<haddr_t, std::string> & alreadyVisited, const unsigned int indentLevel) const
+{
+ return H5DataConverter::dump(alreadyVisited, indentLevel, (int)ndims, dims, *this);
+}
+
+void H5ReferenceData::printData(std::ostream & os, const unsigned int pos, const unsigned int indentLevel) const
+{
+ char * cdata = static_cast<char *>(data) + offset + pos * (stride ? stride : dataSize);
+ void ** ref = &(((void **)cdata)[0]);
+ hid_t file = getFile().getH5Id();
+ hid_t obj = H5Rdereference(file, datasetReference ? H5R_DATASET_REGION : H5R_OBJECT, ref);
+ if (obj < 0)
+ {
+ os << "NULL";
+ return;
+ }
+
+ ssize_t size = H5Rget_name(file, datasetReference ? H5R_DATASET_REGION : H5R_OBJECT, ref, 0, 0);
+ char * name = 0;
+ H5O_info_t info;
+
+ if (size != -1)
+ {
+ name = new char[size + 1];
+ H5Rget_name(file, datasetReference ? H5R_DATASET_REGION : H5R_OBJECT, ref, name, size + 1);
+
+ if (datasetReference == H5R_OBJECT)
+ {
+ H5Oget_info(obj, &info);
+ H5Oclose(obj);
+
+ switch (info.type)
+ {
+ case H5O_TYPE_GROUP:
+ os << "GROUP ";
+ break;
+ case H5O_TYPE_DATASET:
+ os << "DATASET ";
+ break;
+ case H5O_TYPE_NAMED_DATATYPE:
+ os << "DATATYPE ";
+ break;
+ case H5O_TYPE_UNKNOWN:
+ default:
+ if (size != -1)
+ {
+ delete[] name;
+ }
+ throw H5Exception(__LINE__, __FILE__, _("Unknown HDF5 object"));
+ }
+
+ os << (haddr_t)(*ref) << " " << name;
+ }
+ else
+ {
+ hid_t space = H5Rget_region(file, H5R_DATASET_REGION, ref);
+ hssize_t npoints = H5Sget_select_elem_npoints(space);
+ hsize_t ndims = H5Sget_simple_extent_dims(space, 0, 0);
+ H5Oclose(obj);
+
+ os << "DATASET " << name << " {";
+
+ if (npoints >= 0)
+ {
+ const hsize_t N = ndims * npoints;
+ hsize_t * buf = new hsize_t[N];
+ herr_t err = H5Sget_select_elem_pointlist(space, 0, npoints, buf);
+ for (hssize_t i = 0; i < (hssize_t)N; i += ndims)
+ {
+ os << "(";
+ for (unsigned int j = 0; j < ndims - 1; j++)
+ {
+ os << buf[i + j] << ",";
+ }
+ os << buf[i + ndims - 1] << ")";
+
+ if (i != N - ndims)
+ {
+ os << ", ";
+ }
+ else
+ {
+ os << "}";
+ }
+ }
+ delete[] buf;
+ }
+ else
+ {
+ hssize_t nblocks = H5Sget_select_hyper_nblocks(space);
+ if (nblocks >= 0)
+ {
+ const hsize_t N = 2 * ndims * nblocks;
+ hsize_t * buf = new hsize_t[N];
+ herr_t err = H5Sget_select_hyper_blocklist(space, 0, nblocks, buf);
+ for (hssize_t i = 0; i < (hssize_t)N; i += 2 * ndims)
+ {
+ os << "(";
+ for (unsigned int j = 0; j < ndims - 1; j++)
+ {
+ os << buf[i + j] << ",";
+ }
+ os << buf[i + ndims - 1] << ")-(";
+ for (unsigned int j = 0; j < ndims - 1; j++)
+ {
+ os << buf[i + ndims + j] << ",";
+ }
+ os << buf[i + 2 * ndims - 1] << ")";
+
+ if (i != N - 2 * ndims)
+ {
+ os << ", ";
+ }
+ else
+ {
+ os << "}";
+ }
+ }
+
+ delete[] buf;
+ }
+ }
+
+ H5Sclose(space);
+ }
+
+ delete[] name;
+ }
+}
+}
diff --git a/modules/hdf5/src/cpp/H5ReferenceData.hxx b/modules/hdf5/src/cpp/H5ReferenceData.hxx
new file mode 100755
index 000000000..8dcb554a8
--- /dev/null
+++ b/modules/hdf5/src/cpp/H5ReferenceData.hxx
@@ -0,0 +1,64 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2012 - Scilab Enterprises - Calixte DENIZET
+ *
+ * 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 __H5REFERENCEDATA_HXX__
+#define __H5REFERENCEDATA_HXX__
+
+#include "H5File.hxx"
+#include "H5Group.hxx"
+#include "H5Dataset.hxx"
+#include "H5Type.hxx"
+#include "H5BasicData.hxx"
+
+namespace org_modules_hdf5
+{
+
+class H5ReferenceData : public H5BasicData<char>
+{
+
+ const bool datasetReference;
+ const hsize_t * cumprod;
+
+public:
+
+ H5ReferenceData(H5Object & _parent, const bool _datasetReference, const hsize_t _totalSize, const hsize_t _dataSize, const hsize_t _ndims, const hsize_t * _dims, char * _data, const hsize_t _stride, const size_t _offset, const bool _dataOwner);
+
+ virtual ~H5ReferenceData();
+
+ virtual void toScilab(void * pvApiCtx, const int lhsPosition, int * parentList = 0, const int listPosition = 0, const bool flip = true) const;
+
+ bool isReference() const
+ {
+ return true;
+ }
+ const char ** getReferencesName() const;
+
+ H5Object ** getReferencesObject() const;
+
+ virtual H5Object & getData(const unsigned int size, const unsigned int * index) const;
+
+ virtual std::string toString(const unsigned int indentLevel) const;
+
+ virtual std::string dump(std::map<haddr_t, std::string> & alreadyVisited, const unsigned int indentLevel) const;
+
+ virtual void printData(std::ostream & os, const unsigned int pos, const unsigned int indentLevel) const;
+
+ virtual bool mustDelete() const
+ {
+ return false;
+ }
+
+ static void deleteReferencesObjects(H5Object ** objs, const unsigned int size);
+};
+}
+
+#endif // __H5REFERENCEDATA_HXX__
diff --git a/modules/hdf5/src/cpp/H5SoftLink.cpp b/modules/hdf5/src/cpp/H5SoftLink.cpp
new file mode 100755
index 000000000..50c8714b0
--- /dev/null
+++ b/modules/hdf5/src/cpp/H5SoftLink.cpp
@@ -0,0 +1,123 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2012 - Scilab Enterprises - Calixte DENIZET
+ *
+ * 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 "H5SoftLink.hxx"
+
+namespace org_modules_hdf5
+{
+
+std::string H5SoftLink::getLinkValue() const
+{
+ herr_t err;
+ H5L_info_t info;
+ char * buf = 0;
+ std::string ret;
+
+ err = H5Lget_info(getParent().getH5Id(), name.c_str(), &info, H5P_DEFAULT);
+ if (err < 0)
+ {
+ throw H5Exception(__LINE__, __FILE__, _("Cannot get the link info"));
+ }
+
+ buf = new char[info.u.val_size];
+ err = H5Lget_val(getParent().getH5Id(), name.c_str(), static_cast<void *>(buf), info.u.val_size, H5P_DEFAULT);
+ if (err < 0)
+ {
+ throw H5Exception(__LINE__, __FILE__, _("Cannot get the link target"));
+ }
+
+ ret = std::string(buf);
+ delete[] buf;
+
+ return ret;
+}
+
+std::string H5SoftLink::getLinkType() const
+{
+ return "soft";
+}
+
+void H5SoftLink::getAccessibleAttribute(const std::string & _name, const int pos, void * pvApiCtx) const
+{
+ SciErr err;
+ std::string lower(_name);
+ std::transform(_name.begin(), _name.end(), lower.begin(), tolower);
+
+ if (lower == "type")
+ {
+ const std::string linkType = getLinkType();
+ const char * _type = linkType.c_str();
+ err = createMatrixOfString(pvApiCtx, pos, 1, 1, &_type);
+ if (err.iErr)
+ {
+ throw H5Exception(__LINE__, __FILE__, _("Cannot create a string on the stack."));
+ }
+
+ return;
+ }
+ else if (lower == "target")
+ {
+ const std::string linkValue = getLinkValue();
+ const char * _target = linkValue.c_str();
+ err = createMatrixOfString(pvApiCtx, pos, 1, 1, &_target);
+ if (err.iErr)
+ {
+ throw H5Exception(__LINE__, __FILE__, _("Cannot create a string on the stack."));
+ }
+
+ return;
+ }
+
+ H5Object::getAccessibleAttribute(_name, pos, pvApiCtx);
+}
+
+std::string H5SoftLink::dump(std::map<haddr_t, std::string> & alreadyVisited, const unsigned int indentLevel) const
+{
+ std::ostringstream os;
+
+ os << H5Object::getIndentString(indentLevel) << "SOFTLINK \"" << name << "\" {" << std::endl
+ << H5Object::getIndentString(indentLevel + 1) << "LINKTARGET \"" << getLinkValue() << "\"" << std::endl
+ << H5Object::getIndentString(indentLevel) << "}" << std::endl;
+
+ return os.str();
+}
+
+void H5SoftLink::printLsInfo(std::ostringstream & os) const
+{
+ std::string str(getName());
+ H5Object::getResizedString(str);
+
+ os << str << "Soft Link {" << getLinkValue() << "}" << std::endl;
+}
+
+std::string H5SoftLink::ls() const
+{
+ std::ostringstream os;
+ printLsInfo(os);
+
+ return os.str();
+}
+
+std::string H5SoftLink::toString(const unsigned int indentLevel) const
+{
+ std::ostringstream os;
+ std::string indentString = H5Object::getIndentString(indentLevel);
+
+ os << indentString << _("Filename") << ": " << getFile().getFileName() << std::endl
+ << indentString << _("Link type") << ": " << getLinkType() << std::endl
+ << indentString << _("Link name") << ": " << name << std::endl
+ << indentString << _("Link path") << ": " << getCompletePath() << std::endl
+ << indentString << _("Link target") << ": " << getLinkValue() << std::endl;
+
+ return os.str();
+}
+}
diff --git a/modules/hdf5/src/cpp/H5SoftLink.hxx b/modules/hdf5/src/cpp/H5SoftLink.hxx
new file mode 100755
index 000000000..6e9f1278d
--- /dev/null
+++ b/modules/hdf5/src/cpp/H5SoftLink.hxx
@@ -0,0 +1,42 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2012 - Scilab Enterprises - Calixte DENIZET
+ *
+ * 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 __H5SOFTLINK_HXX__
+#define __H5SOFTLINK_HXX__
+
+#include "H5Link.hxx"
+
+namespace org_modules_hdf5
+{
+
+class H5SoftLink : public H5Link
+{
+public:
+
+ H5SoftLink(H5Object & _parent, const char * name) : H5Link(_parent, name) { }
+ H5SoftLink(H5Object & _parent, const std::string & name) : H5Link(_parent, name) { }
+
+ virtual ~H5SoftLink() { }
+
+ virtual std::string toString(const unsigned int indentLevel) const;
+ virtual std::string dump(std::map<haddr_t, std::string> & alreadyVisited, const unsigned int indentLevel = 0) const;
+ virtual std::string ls() const;
+ virtual void printLsInfo(std::ostringstream & os) const;
+
+ std::string getLinkValue() const;
+ virtual std::string getLinkType() const;
+
+ virtual void getAccessibleAttribute(const std::string & name, const int pos, void * pvApiCtx) const;
+};
+}
+
+#endif // __H5SOFTLINK_HXX__
diff --git a/modules/hdf5/src/cpp/H5SoftLinksList.hxx b/modules/hdf5/src/cpp/H5SoftLinksList.hxx
new file mode 100755
index 000000000..8c3de9fc6
--- /dev/null
+++ b/modules/hdf5/src/cpp/H5SoftLinksList.hxx
@@ -0,0 +1,37 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2012 - Scilab Enterprises - Calixte DENIZET
+ *
+ * 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 __H5SOFTLINKSLIST_HXX__
+#define __H5SOFTLINKSLIST_HXX__
+
+#include "H5NamedObjectsList.hxx"
+#include "H5SoftLink.hxx"
+#include "H5Group.hxx"
+
+namespace org_modules_hdf5
+{
+
+class H5SoftLinksList : public H5NamedObjectsList<H5SoftLink>
+{
+
+public :
+
+ H5SoftLinksList(H5Group & _parent) : H5NamedObjectsList<H5SoftLink>(_parent, H5O_TYPE_GROUP, H5L_TYPE_SOFT, "H5 Soft Link") { }
+
+ ~H5SoftLinksList()
+ {
+
+ }
+};
+}
+
+#endif // __H5SOFTLINKSLIST_HXX__
diff --git a/modules/hdf5/src/cpp/H5StringData.cpp b/modules/hdf5/src/cpp/H5StringData.cpp
new file mode 100755
index 000000000..fcbf2a0d2
--- /dev/null
+++ b/modules/hdf5/src/cpp/H5StringData.cpp
@@ -0,0 +1,168 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2012 - Scilab Enterprises - Calixte DENIZET
+ *
+ * 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 "H5StringData.hxx"
+
+namespace org_modules_hdf5
+{
+
+H5StringData::H5StringData(H5Object & _parent, const hsize_t _totalSize, const hsize_t _stringSize, const hsize_t _ndims, const hsize_t * _dims, char * _data, const hsize_t _stride, const size_t _offset, const bool _dataOwner) : H5Data(_parent, _totalSize, _stringSize, _ndims, _dims, _data, _stride == 0 ? _stringSize : _stride, _offset, _dataOwner)
+{
+ char * __data = static_cast<char *>(_data);
+ transformedData = new char*[totalSize];
+
+ if (stride == 0)
+ {
+ *transformedData = __data;
+ for (unsigned int i = 1; i < (unsigned int)totalSize; i++)
+ {
+ transformedData[i] = transformedData[i - 1] + dataSize;
+ }
+ }
+ else
+ {
+ for (unsigned int i = 0; i < (unsigned int)totalSize; i++)
+ {
+ transformedData[i] = __data + offset;
+ __data += stride;
+ }
+ }
+}
+
+H5StringData::H5StringData(H5Object & _parent, const hsize_t _totalSize, const hsize_t _stringSize, const hsize_t _ndims, const hsize_t * _dims, char ** _data, const hsize_t _stride, const size_t _offset, const bool _dataOwner) : H5Data(_parent, _totalSize, _stringSize, _ndims, _dims, _data, _stride == 0 ? _stringSize : _stride, _offset, _dataOwner), transformedData(0)
+{
+
+}
+
+H5StringData::~H5StringData()
+{
+
+ if (transformedData)
+ {
+ delete[] transformedData;
+ }
+ else
+ {
+ char ** _data = reinterpret_cast<char **>(getData());
+ hid_t space = H5Screate_simple(1, &totalSize, 0);
+ hid_t type = H5Tcopy(H5T_C_S1);
+ H5Tset_size(type, H5T_VARIABLE);
+ H5Tset_strpad(type, H5T_STR_NULLTERM);
+
+ herr_t err = H5Dvlen_reclaim(type, space, H5P_DEFAULT, _data);
+ if (err < 0)
+ {
+ throw H5Exception(__LINE__, __FILE__, _("Cannot free the memory associated with String data"));
+ }
+
+ H5Tclose(type);
+ H5Sclose(space);
+ }
+}
+
+void * H5StringData::getData() const
+{
+ if (transformedData)
+ {
+ return transformedData;
+ }
+ else
+ {
+ return H5Data::getData();
+ }
+}
+
+void H5StringData::printData(std::ostream & os, const unsigned int pos, const unsigned int indentLevel) const
+{
+ char * str = static_cast<char **>(getData())[pos];
+ if (str)
+ {
+ os << "\"" << str << "\"";
+ }
+ else
+ {
+ os << "NULL";
+ }
+}
+
+void H5StringData::toScilab(void * pvApiCtx, const int lhsPosition, int * parentList, const int listPosition, const bool flip) const
+{
+ static char EMPTY[] = { '\0' };
+
+ char ** _tdata = 0;
+ char ** _data = static_cast<char **>(getData());
+
+ if (!transformedData)
+ {
+ // It is possible to have a nil pointer (Scilab doesn't like that)
+ // so we replace nil ptr by an empty string...
+
+ _tdata = new char *[totalSize];
+ for (hsize_t i = 0; i < totalSize; i++)
+ {
+ if (_data[i])
+ {
+ _tdata[i] = _data[i];
+ }
+ else
+ {
+ _tdata[i] = static_cast<char *>(EMPTY);
+ }
+ }
+ _data = _tdata;
+ }
+
+ std::cout << ndims << std::endl;
+
+ if (ndims == 0)
+ {
+ H5BasicData<char *>::create(pvApiCtx, lhsPosition, 1, 1, _data, parentList, listPosition);
+ }
+ else if (ndims == 1)
+ {
+ H5BasicData<char *>::create(pvApiCtx, lhsPosition, 1, (int)*dims, _data, parentList, listPosition);
+ }
+ else
+ {
+ char ** newData = new char *[totalSize];
+ if (ndims == 2)
+ {
+ H5DataConverter::C2FHypermatrix(2, dims, 0, _data, newData, flip);
+ if (flip)
+ {
+ H5BasicData<char *>::create(pvApiCtx, lhsPosition, (int)dims[1], (int)dims[0], newData, parentList, listPosition);
+ }
+ else
+ {
+ H5BasicData<char *>::create(pvApiCtx, lhsPosition, (int)dims[0], (int)dims[1], newData, parentList, listPosition);
+ }
+ }
+ else
+ {
+ int * list = getHypermatrix(pvApiCtx, lhsPosition, parentList, listPosition, flip);
+ H5DataConverter::C2FHypermatrix((int)ndims, dims, totalSize, _data, newData, flip);
+ H5BasicData<char *>::create(pvApiCtx, lhsPosition, (int)totalSize, 1, newData, list, 3);
+ }
+ delete[] newData;
+ }
+
+ if (_tdata)
+ {
+ delete[] _tdata;
+ }
+}
+
+std::string H5StringData::dump(std::map<haddr_t, std::string> & alreadyVisited, const unsigned int indentLevel) const
+{
+ return H5DataConverter::dump(alreadyVisited, indentLevel, (int)ndims, dims, *this);
+}
+}
diff --git a/modules/hdf5/src/cpp/H5StringData.hxx b/modules/hdf5/src/cpp/H5StringData.hxx
new file mode 100755
index 000000000..6d2a29907
--- /dev/null
+++ b/modules/hdf5/src/cpp/H5StringData.hxx
@@ -0,0 +1,46 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2012 - Scilab Enterprises - Calixte DENIZET
+ *
+ * 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 __H5STRINGDATA_HXX__
+#define __H5STRINGDATA_HXX__
+
+#include "H5BasicData.hxx"
+
+namespace org_modules_hdf5
+{
+
+class H5StringData : public H5Data
+{
+
+protected:
+
+ char ** transformedData;
+
+public:
+
+ H5StringData(H5Object & _parent, const hsize_t _totalSize, const hsize_t _stringSize, const hsize_t _ndims, const hsize_t * _dims, char * _data, const hsize_t _stride, const size_t _offset, const bool _dataOwner);
+
+ H5StringData(H5Object & _parent, const hsize_t _totalSize, const hsize_t _stringSize, const hsize_t _ndims, const hsize_t * _dims, char ** _data, const hsize_t _stride, const size_t _offset, const bool _dataOwner);
+
+ virtual ~H5StringData();
+
+ virtual void * getData() const;
+
+ virtual void printData(std::ostream & os, const unsigned int pos, const unsigned int indentLevel) const;
+
+ virtual void toScilab(void * pvApiCtx, const int lhsPosition, int * parentList = 0, const int listPosition = 0, const bool flip = true) const;
+
+ virtual std::string dump(std::map<haddr_t, std::string> & alreadyVisited, const unsigned int indentLevel) const;
+};
+}
+
+#endif // __H5STRINGDATA_HXX__
diff --git a/modules/hdf5/src/cpp/H5TimeData.hxx b/modules/hdf5/src/cpp/H5TimeData.hxx
new file mode 100755
index 000000000..0cd4cc3ed
--- /dev/null
+++ b/modules/hdf5/src/cpp/H5TimeData.hxx
@@ -0,0 +1,37 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2012 - Scilab Enterprises - Calixte DENIZET
+ *
+ * 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 __H5TIMEDATA_HXX__
+#define __H5TIMEDATA_HXX__
+
+#include "H5BasicData.hxx"
+
+namespace org_modules_hdf5
+{
+
+class H5TimeData : public H5BasicData<char>
+{
+
+public:
+
+ H5TimeData(H5Object & _parent, const hsize_t _totalSize, const hsize_t _dataSize, const hsize_t _ndims, const hsize_t * _dims, char * _data, const hsize_t _stride, const size_t _offset, const bool _dataOwner) : H5BasicData<char>(_parent, _totalSize, _dataSize, _ndims, _dims, _data, _stride, _offset, _dataOwner)
+ {
+ }
+
+ virtual ~H5TimeData()
+ {
+
+ }
+};
+}
+
+#endif // __H5TIMEDATA_HXX__
diff --git a/modules/hdf5/src/cpp/H5TransformedData.hxx b/modules/hdf5/src/cpp/H5TransformedData.hxx
new file mode 100755
index 000000000..503ed6ae4
--- /dev/null
+++ b/modules/hdf5/src/cpp/H5TransformedData.hxx
@@ -0,0 +1,112 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2012 - Scilab Enterprises - Calixte DENIZET
+ *
+ * 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 __H5TRANSFORMEDDATA_HXX__
+#define __H5TRANSFORMEDDATA_HXX__
+
+#include "H5BasicData.hxx"
+
+namespace org_modules_hdf5
+{
+
+template <typename T, typename U>
+class H5TransformedData : public H5Data
+{
+
+protected:
+
+ U * transformedData;
+
+public:
+
+ H5TransformedData(H5Object & _parent, const hsize_t _totalSize, const hsize_t _dataSize, const hsize_t _ndims, const hsize_t * _dims, T * _data, const hsize_t _stride, const size_t _offset, const bool _dataOwner) : H5Data(_parent, _totalSize, _dataSize, _ndims, _dims, _data, _stride, _offset, _dataOwner)
+ {
+ transformedData = new U[totalSize];
+
+ if (stride == 0)
+ {
+ for (unsigned int i = 0; i < (unsigned int)totalSize; i++)
+ {
+ transformedData[i] = (U)(_data[i]);
+ }
+ }
+ else
+ {
+ char * __data = (char *)_data;
+ for (unsigned int i = 0; i < (unsigned int)totalSize; i++)
+ {
+ transformedData[i] = (U)(*((T *)(__data + offset)));
+ __data += stride;
+ }
+ }
+ }
+
+ virtual ~H5TransformedData()
+ {
+ delete[] transformedData;
+ }
+
+ virtual void * getData() const
+ {
+ return transformedData;
+ }
+
+ virtual void printData(std::ostream & os, const unsigned int pos, const unsigned int indentLevel) const
+ {
+ os << transformedData[pos];
+ }
+
+ virtual void toScilab(void * pvApiCtx, const int lhsPosition, int * parentList = 0, const int listPosition = 0, const bool flip = true) const
+ {
+ U * newData = 0;
+
+ if (ndims == 0)
+ {
+ H5BasicData<U>::create(pvApiCtx, lhsPosition, 1, 1, static_cast<U *>(getData()), parentList, listPosition);
+ }
+ else if (ndims == 1)
+ {
+ H5BasicData<U>::alloc(pvApiCtx, lhsPosition, 1, (int)*dims, parentList, listPosition, &newData);
+ memcpy(static_cast<void *>(newData), static_cast<void *>(transformedData), totalSize * sizeof(U));
+ }
+ else
+ {
+ if (ndims == 2)
+ {
+ if (flip)
+ {
+ H5BasicData<U>::alloc(pvApiCtx, lhsPosition, (int)dims[1], (int)dims[0], parentList, listPosition, &newData);
+ }
+ else
+ {
+ H5BasicData<U>::alloc(pvApiCtx, lhsPosition, (int)dims[0], (int)dims[1], parentList, listPosition, &newData);
+ }
+
+ H5DataConverter::C2FHypermatrix(2, dims, 0, static_cast<U *>(getData()), newData);
+ }
+ else
+ {
+ int * list = getHypermatrix(pvApiCtx, lhsPosition, parentList, listPosition, flip);
+ H5BasicData<U>::alloc(pvApiCtx, lhsPosition, (int)totalSize, 1, list, 3, &newData);
+ H5DataConverter::C2FHypermatrix((int)ndims, dims, totalSize, static_cast<U *>(getData()), newData, flip);
+ }
+ }
+ }
+
+ virtual std::string dump(std::map<haddr_t, std::string> & alreadyVisited, const unsigned int indentLevel) const
+ {
+ return H5DataConverter::dump(alreadyVisited, indentLevel, (int)ndims, dims, *this);
+ }
+};
+}
+
+#endif // __H5TRANSFORMEDDATA_HXX__
diff --git a/modules/hdf5/src/cpp/H5Type.cpp b/modules/hdf5/src/cpp/H5Type.cpp
new file mode 100755
index 000000000..17387b504
--- /dev/null
+++ b/modules/hdf5/src/cpp/H5Type.cpp
@@ -0,0 +1,1729 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2012 - Scilab Enterprises - Calixte DENIZET
+ *
+ * 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 "H5Type.hxx"
+
+namespace org_modules_hdf5
+{
+
+std::map<std::string, hid_t> H5Type::nameToType = initMap();
+
+void H5Type::init()
+{
+ type = H5Topen(getParent().getH5Id(), name.c_str(), H5P_DEFAULT);
+ if (type < 0)
+ {
+ throw H5Exception(__LINE__, __FILE__, _("Invalid H5Type name: %s."), name.c_str());
+ }
+}
+
+H5Type::H5Type(H5Object & _parent, const hid_t _type) : H5Object(_parent), type(_type)
+{
+
+}
+
+H5Type::H5Type(H5Object & _parent, const hid_t _type, const std::string & _name) : H5Object(_parent, _name), type(_type)
+{
+
+}
+
+H5Type::H5Type(H5Object & _parent, const std::string & _name) : H5Object(_parent, _name)
+{
+ init();
+}
+
+H5Type::~H5Type()
+{
+ if (type >= 0)
+ {
+ H5Tclose(type);
+ }
+}
+
+std::string H5Type::getClassName() const
+{
+ switch (H5Tget_class(type))
+ {
+ case H5T_INTEGER:
+ return "integer";
+ case H5T_FLOAT:
+ return "float";
+ case H5T_TIME:
+ return "time";
+ case H5T_STRING:
+ return "string";
+ case H5T_BITFIELD:
+ return "bitfield";
+ case H5T_OPAQUE:
+ return "opaque";
+ case H5T_COMPOUND:
+ return "compound";
+ case H5T_REFERENCE:
+ return "reference";
+ case H5T_ENUM:
+ return "enum";
+ case H5T_VLEN:
+ return "vlen";
+ case H5T_ARRAY:
+ return "array";
+ default:
+ return "unknown";
+ }
+}
+
+unsigned int H5Type::getTypeSize() const
+{
+ return (unsigned int)H5Tget_size(type);
+}
+
+std::string H5Type::getTypeName() const
+{
+ return getNameFromType(type);
+}
+
+unsigned int H5Type::getNativeTypeSize() const
+{
+ const hid_t nativeType = H5Tget_native_type(type, H5T_DIR_DEFAULT);
+ unsigned int size = (unsigned int)H5Tget_size(nativeType);
+ H5Tclose(nativeType);
+
+ return size;
+}
+
+std::string H5Type::getNativeTypeName() const
+{
+ const hid_t nativeType = H5Tget_native_type(type, H5T_DIR_DEFAULT);
+ std::string name = getNameFromType(nativeType);
+ H5Tclose(nativeType);
+
+ return name;
+}
+
+std::string H5Type::getNameFromType(hid_t type)
+{
+ std::string sorder, ssign;
+ std::ostringstream os;
+ H5T_sign_t sign;
+ H5T_order_t order;
+
+ switch (H5Tget_class(type))
+ {
+ case H5T_INTEGER:
+ if (H5Tequal(type, H5T_STD_I8BE) > 0)
+ {
+ return "H5T_STD_I8BE";
+ }
+ else if (H5Tequal(type, H5T_STD_I8LE) > 0)
+ {
+ return "H5T_STD_I8LE";
+ }
+ else if (H5Tequal(type, H5T_STD_I16BE) > 0)
+ {
+ return "H5T_STD_I16BE";
+ }
+ else if (H5Tequal(type, H5T_STD_I16LE) > 0)
+ {
+ return "H5T_STD_I16LE";
+ }
+ else if (H5Tequal(type, H5T_STD_I32BE) > 0)
+ {
+ return "H5T_STD_I32BE";
+ }
+ else if (H5Tequal(type, H5T_STD_I32LE) > 0)
+ {
+ return "H5T_STD_I32LE";
+ }
+ else if (H5Tequal(type, H5T_STD_I64BE) > 0)
+ {
+ return "H5T_STD_I64BE";
+ }
+ else if (H5Tequal(type, H5T_STD_I64LE) > 0)
+ {
+ return "H5T_STD_I64LE";
+ }
+ else if (H5Tequal(type, H5T_STD_U8BE) > 0)
+ {
+ return "H5T_STD_U8BE";
+ }
+ else if (H5Tequal(type, H5T_STD_U8LE) > 0)
+ {
+ return "H5T_STD_U8LE";
+ }
+ else if (H5Tequal(type, H5T_STD_U16BE) > 0)
+ {
+ return "H5T_STD_U16BE";
+ }
+ else if (H5Tequal(type, H5T_STD_U16LE) > 0)
+ {
+ return "H5T_STD_U16LE";
+ }
+ else if (H5Tequal(type, H5T_STD_U32BE) > 0)
+ {
+ return "H5T_STD_U32BE";
+ }
+ else if (H5Tequal(type, H5T_STD_U32LE) > 0)
+ {
+ return "H5T_STD_U32LE";
+ }
+ else if (H5Tequal(type, H5T_STD_U64BE) > 0)
+ {
+ return "H5T_STD_U64BE";
+ }
+ else if (H5Tequal(type, H5T_STD_U64LE) > 0)
+ {
+ return "H5T_STD_U64LE";
+ }
+ else if (H5Tequal(type, H5T_NATIVE_SCHAR) > 0)
+ {
+ return "H5T_NATIVE_SCHAR";
+ }
+ else if (H5Tequal(type, H5T_NATIVE_UCHAR) > 0)
+ {
+ return "H5T_NATIVE_UCHAR";
+ }
+ else if (H5Tequal(type, H5T_NATIVE_SHORT) > 0)
+ {
+ return "H5T_NATIVE_SHORT";
+ }
+ else if (H5Tequal(type, H5T_NATIVE_USHORT) > 0)
+ {
+ return "H5T_NATIVE_USHORT";
+ }
+ else if (H5Tequal(type, H5T_NATIVE_INT) > 0)
+ {
+ return "H5T_NATIVE_INT";
+ }
+ else if (H5Tequal(type, H5T_NATIVE_UINT) > 0)
+ {
+ return "H5T_NATIVE_UINT";
+ }
+ else if (H5Tequal(type, H5T_NATIVE_LONG) > 0)
+ {
+ return "H5T_NATIVE_LONG";
+ }
+ else if (H5Tequal(type, H5T_NATIVE_ULONG) > 0)
+ {
+ return "H5T_NATIVE_ULONG";
+ }
+ else if (H5Tequal(type, H5T_NATIVE_LLONG) > 0)
+ {
+ return "H5T_NATIVE_LLONG";
+ }
+ else if (H5Tequal(type, H5T_NATIVE_ULLONG) > 0)
+ {
+ return "H5T_NATIVE_ULLONG";
+ }
+ else if (H5Tequal(type, H5T_NATIVE_INT8) > 0)
+ {
+ return "H5T_NATIVE_INT8";
+ }
+ else if (H5Tequal(type, H5T_NATIVE_UINT8) > 0)
+ {
+ return "H5T_NATIVE_UINT8";
+ }
+ else if (H5Tequal(type, H5T_NATIVE_INT_LEAST8) > 0)
+ {
+ return "H5T_NATIVE_INT_LEAST8";
+ }
+ else if (H5Tequal(type, H5T_NATIVE_UINT_LEAST8) > 0)
+ {
+ return "H5T_NATIVE_UINT_LEAST8";
+ }
+ else if (H5Tequal(type, H5T_NATIVE_INT_FAST8) > 0)
+ {
+ return "H5T_NATIVE_INT_FAST8";
+ }
+ else if (H5Tequal(type, H5T_NATIVE_UINT_FAST8) > 0)
+ {
+ return "H5T_NATIVE_UINT_FAST8";
+ }
+ else if (H5Tequal(type, H5T_NATIVE_INT16) > 0)
+ {
+ return "H5T_NATIVE_INT16";
+ }
+ else if (H5Tequal(type, H5T_NATIVE_UINT16) > 0)
+ {
+ return "H5T_NATIVE_UINT16";
+ }
+ else if (H5Tequal(type, H5T_NATIVE_INT_LEAST16) > 0)
+ {
+ return "H5T_NATIVE_INT_LEAST16";
+ }
+ else if (H5Tequal(type, H5T_NATIVE_UINT_LEAST16) > 0)
+ {
+ return "H5T_NATIVE_UINT_LEAST16";
+ }
+ else if (H5Tequal(type, H5T_NATIVE_INT_FAST16) > 0)
+ {
+ return "H5T_NATIVE_INT_FAST16";
+ }
+ else if (H5Tequal(type, H5T_NATIVE_UINT_FAST16) > 0)
+ {
+ return "H5T_NATIVE_UINT_FAST16";
+ }
+ else if (H5Tequal(type, H5T_NATIVE_INT32) > 0)
+ {
+ return "H5T_NATIVE_INT32";
+ }
+ else if (H5Tequal(type, H5T_NATIVE_UINT32) > 0)
+ {
+ return "H5T_NATIVE_UINT32";
+ }
+ else if (H5Tequal(type, H5T_NATIVE_INT_LEAST32) > 0)
+ {
+ return "H5T_NATIVE_INT_LEAST32";
+ }
+ else if (H5Tequal(type, H5T_NATIVE_UINT_LEAST32) > 0)
+ {
+ return "H5T_NATIVE_UINT_LEAST32";
+ }
+ else if (H5Tequal(type, H5T_NATIVE_INT_FAST32) > 0)
+ {
+ return "H5T_NATIVE_INT_FAST32";
+ }
+ else if (H5Tequal(type, H5T_NATIVE_UINT_FAST32) > 0)
+ {
+ return "H5T_NATIVE_UINT_FAST32";
+ }
+ else if (H5Tequal(type, H5T_NATIVE_INT64) > 0)
+ {
+ return "H5T_NATIVE_INT64";
+ }
+ else if (H5Tequal(type, H5T_NATIVE_UINT64) > 0)
+ {
+ return "H5T_NATIVE_UINT64";
+ }
+ else if (H5Tequal(type, H5T_NATIVE_INT_LEAST64) > 0)
+ {
+ return "H5T_NATIVE_INT_LEAST64";
+ }
+ else if (H5Tequal(type, H5T_NATIVE_UINT_LEAST64) > 0)
+ {
+ return "H5T_NATIVE_UINT_LEAST64";
+ }
+ else if (H5Tequal(type, H5T_NATIVE_INT_FAST64) > 0)
+ {
+ return "H5T_NATIVE_INT_FAST64";
+ }
+ else if (H5Tequal(type, H5T_NATIVE_UINT_FAST64) > 0)
+ {
+ return "H5T_NATIVE_UINT_FAST64";
+ }
+ else if (H5Tequal(type, H5T_INTEL_I8) > 0)
+ {
+ return "H5T_INTEL_I8";
+ }
+ else if (H5Tequal(type, H5T_INTEL_I16) > 0)
+ {
+ return "H5T_INTEL_I16";
+ }
+ else if (H5Tequal(type, H5T_INTEL_I32) > 0)
+ {
+ return "H5T_INTEL_I32";
+ }
+ else if (H5Tequal(type, H5T_INTEL_I64) > 0)
+ {
+ return "H5T_INTEL_I64";
+ }
+ else if (H5Tequal(type, H5T_INTEL_U8) > 0)
+ {
+ return "H5T_INTEL_U8";
+ }
+ else if (H5Tequal(type, H5T_INTEL_U16) > 0)
+ {
+ return "H5T_INTEL_U16";
+ }
+ else if (H5Tequal(type, H5T_INTEL_U32) > 0)
+ {
+ return "H5T_INTEL_U32";
+ }
+ else if (H5Tequal(type, H5T_INTEL_U64) > 0)
+ {
+ return "H5T_INTEL_U64";
+ }
+ else if (H5Tequal(type, H5T_ALPHA_I8) > 0)
+ {
+ return "H5T_ALPHA_I8";
+ }
+ else if (H5Tequal(type, H5T_ALPHA_I16) > 0)
+ {
+ return "H5T_ALPHA_I16";
+ }
+ else if (H5Tequal(type, H5T_ALPHA_I32) > 0)
+ {
+ return "H5T_ALPHA_I32";
+ }
+ else if (H5Tequal(type, H5T_ALPHA_I64) > 0)
+ {
+ return "H5T_ALPHA_I64";
+ }
+ else if (H5Tequal(type, H5T_ALPHA_U8) > 0)
+ {
+ return "H5T_ALPHA_U8";
+ }
+ else if (H5Tequal(type, H5T_ALPHA_U16) > 0)
+ {
+ return "H5T_ALPHA_U16";
+ }
+ else if (H5Tequal(type, H5T_ALPHA_U32) > 0)
+ {
+ return "H5T_ALPHA_U32";
+ }
+ else if (H5Tequal(type, H5T_ALPHA_U64) > 0)
+ {
+ return "H5T_ALPHA_U64";
+ }
+ else if (H5Tequal(type, H5T_MIPS_I8) > 0)
+ {
+ return "H5T_MIPS_I8";
+ }
+ else if (H5Tequal(type, H5T_MIPS_I16) > 0)
+ {
+ return "H5T_MIPS_I16";
+ }
+ else if (H5Tequal(type, H5T_MIPS_I32) > 0)
+ {
+ return "H5T_MIPS_I32";
+ }
+ else if (H5Tequal(type, H5T_MIPS_I64) > 0)
+ {
+ return "H5T_MIPS_I64";
+ }
+ else if (H5Tequal(type, H5T_MIPS_U8) > 0)
+ {
+ return "H5T_MIPS_U8";
+ }
+ else if (H5Tequal(type, H5T_MIPS_U16) > 0)
+ {
+ return "H5T_MIPS_U16";
+ }
+ else if (H5Tequal(type, H5T_MIPS_U32) > 0)
+ {
+ return "H5T_MIPS_U32";
+ }
+ else if (H5Tequal(type, H5T_MIPS_U64) > 0)
+ {
+ return "H5T_MIPS_U64";
+ }
+ else if (H5Tequal(type, H5T_NATIVE_HADDR) > 0)
+ {
+ return "H5T_NATIVE_HADDR";
+ }
+ else if (H5Tequal(type, H5T_NATIVE_HSIZE) > 0)
+ {
+ return "H5T_NATIVE_HSIZE";
+ }
+ else if (H5Tequal(type, H5T_NATIVE_HSSIZE) > 0)
+ {
+ return "H5T_NATIVE_HSSIZE";
+ }
+ else if (H5Tequal(type, H5T_NATIVE_HERR) > 0)
+ {
+ return "H5T_NATIVE_HERR";
+ }
+ else if (H5Tequal(type, H5T_NATIVE_HBOOL) > 0)
+ {
+ return "H5T_NATIVE_HBOOL";
+ }
+ else
+ {
+ if (H5Tget_size(type) > 1)
+ {
+ order = H5Tget_order(type);
+ if (H5T_ORDER_LE == order)
+ {
+ sorder = " little-endian";
+ }
+ else if (H5T_ORDER_BE == order)
+ {
+ sorder = " big-endian";
+ }
+ else if (H5T_ORDER_VAX == order)
+ {
+ sorder = " mixed-endian";
+ }
+ else
+ {
+ sorder = " unknown-byte-order";
+ }
+ }
+ else
+ {
+ sorder = "";
+ }
+
+ sign = H5Tget_sign(type);
+ if (sign >= 0)
+ {
+ if (sign == H5T_SGN_NONE)
+ {
+ ssign = " unsigned";
+ }
+ else if (sign == H5T_SGN_2)
+ {
+ ssign = "";
+ }
+ else
+ {
+ ssign = " unknown-sign";
+ }
+ }
+ else
+ {
+ ssign = " unknown-sign";
+ }
+
+ os << (unsigned long)(8 * H5Tget_size(type)) << "-bit"
+ << sorder
+ << ssign
+ << " integer";
+
+ return os.str();
+ }
+ break;
+ case H5T_FLOAT:
+ if (H5Tequal(type, H5T_IEEE_F32BE) > 0)
+ {
+ return "H5T_IEEE_F32BE";
+ }
+ else if (H5Tequal(type, H5T_IEEE_F32LE) > 0)
+ {
+ return "H5T_IEEE_F32LE";
+ }
+ else if (H5Tequal(type, H5T_IEEE_F64BE) > 0)
+ {
+ return "H5T_IEEE_F64BE";
+ }
+ else if (H5Tequal(type, H5T_IEEE_F64LE) > 0)
+ {
+ return "H5T_IEEE_F64LE";
+ }
+ else if (H5Tequal(type, H5T_VAX_F32) > 0)
+ {
+ return "H5T_VAX_F32";
+ }
+ else if (H5Tequal(type, H5T_VAX_F64) > 0)
+ {
+ return "H5T_VAX_F64";
+ }
+ else if (H5Tequal(type, H5T_NATIVE_FLOAT) > 0)
+ {
+ return "H5T_NATIVE_FLOAT";
+ }
+ else if (H5Tequal(type, H5T_NATIVE_DOUBLE) > 0)
+ {
+ return "H5T_NATIVE_DOUBLE";
+ }
+ else if (H5Tequal(type, H5T_NATIVE_LDOUBLE) > 0)
+ {
+ return "H5T_NATIVE_LDOUBLE";
+ }
+ else if (H5Tequal(type, H5T_INTEL_F32) > 0)
+ {
+ return "H5T_INTEL_F32";
+ }
+ else if (H5Tequal(type, H5T_INTEL_F64) > 0)
+ {
+ return "H5T_INTEL_F64";
+ }
+ else if (H5Tequal(type, H5T_ALPHA_F32) > 0)
+ {
+ return "H5T_ALPHA_F32";
+ }
+ else if (H5Tequal(type, H5T_ALPHA_F64) > 0)
+ {
+ return "H5T_ALPHA_F64";
+ }
+ else if (H5Tequal(type, H5T_VAX_F32) > 0)
+ {
+ return "H5T_VAX_F32";
+ }
+ else if (H5Tequal(type, H5T_VAX_F64) > 0)
+ {
+ return "H5T_VAX_F64";
+ }
+ else if (H5Tequal(type, H5T_MIPS_F32) > 0)
+ {
+ return "H5T_MIPS_F32";
+ }
+ else if (H5Tequal(type, H5T_MIPS_F64) > 0)
+ {
+ return "H5T_MIPS_F64";
+ }
+ else
+ {
+ if (H5Tget_size(type) > 1)
+ {
+ order = H5Tget_order(type);
+ if (order == H5T_ORDER_LE)
+ {
+ sorder = " little-endian";
+ }
+ else if (order == H5T_ORDER_BE)
+ {
+ sorder = " big-endian";
+ }
+ else if (order == H5T_ORDER_VAX)
+ {
+ sorder = " mixed-endian";
+ }
+ else
+ {
+ sorder = " unknown-byte-order";
+ }
+ }
+ else
+ {
+ sorder = "";
+ }
+
+ os << (unsigned long)(8 * H5Tget_size(type)) << "-bit"
+ << sorder
+ << " floating-point";
+
+ return os.str();
+ }
+ break;
+ case H5T_TIME:
+ if (H5Tequal(type, H5T_UNIX_D32BE) > 0)
+ {
+ return "H5T_UNIX_D32BE";
+ }
+ else if (H5Tequal(type, H5T_UNIX_D32LE) > 0)
+ {
+ return "H5T_UNIX_D32LE";
+ }
+ else if (H5Tequal(type, H5T_UNIX_D64BE) > 0)
+ {
+ return "H5T_UNIX_D64BE";
+ }
+ else if (H5Tequal(type, H5T_UNIX_D64LE) > 0)
+ {
+ return "H5T_UNIX_D64LE";
+ }
+ else
+ {
+ return "Unknown time format";
+ }
+ break;
+ case H5T_STRING:
+ return "H5T_STRING";
+ break;
+ case H5T_BITFIELD:
+ if (H5Tequal(type, H5T_STD_B8BE) > 0)
+ {
+ return "H5T_STD_B8BE";
+ }
+ else if (H5Tequal(type, H5T_STD_B8LE) > 0)
+ {
+ return "H5T_STD_B8LE";
+ }
+ else if (H5Tequal(type, H5T_STD_B16BE) > 0)
+ {
+ return "H5T_STD_B16BE";
+ }
+ else if (H5Tequal(type, H5T_STD_B16LE) > 0)
+ {
+ return "H5T_STD_B16LE";
+ }
+ else if (H5Tequal(type, H5T_STD_B32BE) > 0)
+ {
+ return "H5T_STD_B32BE";
+ }
+ else if (H5Tequal(type, H5T_STD_B32LE) > 0)
+ {
+ return "H5T_STD_B32LE";
+ }
+ else if (H5Tequal(type, H5T_STD_B64BE) > 0)
+ {
+ return "H5T_STD_B64BE";
+ }
+ else if (H5Tequal(type, H5T_STD_B64LE) > 0)
+ {
+ return "H5T_STD_B64LE";
+ }
+ else if (H5Tequal(type, H5T_INTEL_B8) > 0)
+ {
+ return "H5T_INTEL_B8";
+ }
+ else if (H5Tequal(type, H5T_INTEL_B16) > 0)
+ {
+ return "H5T_INTEL_B16";
+ }
+ else if (H5Tequal(type, H5T_INTEL_B32) > 0)
+ {
+ return "H5T_INTEL_B32";
+ }
+ else if (H5Tequal(type, H5T_INTEL_B64) > 0)
+ {
+ return "H5T_INTEL_B64";
+ }
+ else if (H5Tequal(type, H5T_ALPHA_B8) > 0)
+ {
+ return "H5T_ALPHA_B8";
+ }
+ else if (H5Tequal(type, H5T_ALPHA_B16) > 0)
+ {
+ return "H5T_ALPHA_B16";
+ }
+ else if (H5Tequal(type, H5T_ALPHA_B32) > 0)
+ {
+ return "H5T_ALPHA_B32";
+ }
+ else if (H5Tequal(type, H5T_ALPHA_B64) > 0)
+ {
+ return "H5T_ALPHA_B64";
+ }
+ else if (H5Tequal(type, H5T_MIPS_B8) > 0)
+ {
+ return "H5T_MIPS_B8";
+ }
+ else if (H5Tequal(type, H5T_MIPS_B16) > 0)
+ {
+ return "H5T_MIPS_B16";
+ }
+ else if (H5Tequal(type, H5T_MIPS_B32) > 0)
+ {
+ return "H5T_MIPS_B32";
+ }
+ else if (H5Tequal(type, H5T_MIPS_B64) > 0)
+ {
+ return "H5T_MIPS_B64";
+ }
+ else
+ {
+ return "undefined bitfield";
+ }
+ case H5T_OPAQUE:
+ return "H5T_OPAQUE";
+ case H5T_COMPOUND:
+ return "H5T_COMPOUND";
+ case H5T_REFERENCE:
+ if (H5Tequal(type, H5T_STD_REF_DSETREG) > 0)
+ {
+ return "H5T_STD_REF_DSETREG";
+ }
+ else
+ {
+ return "H5T_STD_REF_OBJECT";
+ }
+ break;
+ case H5T_ENUM:
+ return "H5T_ENUM";
+ case H5T_VLEN:
+ return "H5T_VLEN";
+ case H5T_ARRAY:
+ return "H5T_ARRAY";
+ default:
+ return _("Unknown datatype");
+ }
+}
+
+void H5Type::printComplexNameFromType(std::ostringstream & os, const unsigned int indentLevel, const hid_t type)
+{
+ std::string indent = H5Object::getIndentString(indentLevel);
+ if (H5Tget_class(type) == H5T_COMPOUND)
+ {
+ unsigned int nmembers = H5Tget_nmembers(type);
+
+ os << indent << "H5T_COMPOUND {" << std::endl;
+
+ for (unsigned int i = 0; i < nmembers; i++)
+ {
+ char * mname = H5Tget_member_name(type, i);
+ hid_t mtype = H5Tget_member_type(type, i);
+
+ os << indent;
+ H5Type::printComplexNameFromType(os, indentLevel + 1, mtype);
+ os << " \"" << mname << "\";" << std::endl;
+ os << std::endl;
+
+ free(mname);
+ }
+
+ os << indent << "}";
+ }
+ else if (H5Tget_class(type) == H5T_ARRAY)
+ {
+ hid_t super = H5Tget_super(type);
+ unsigned int ndims = H5Tget_array_ndims(type);
+ hsize_t * dims = new hsize_t[ndims];
+ H5Tget_array_dims(type, dims);
+
+ os << indent << "H5T_ARRAY { ";
+
+ for (unsigned int i = 0; i < ndims; i++)
+ {
+ os << "[" << (unsigned int)dims[i] << "]";
+ }
+
+ os << " ";
+ H5Type::printComplexNameFromType(os, indentLevel + 1, super);
+ os << " }";
+ H5Tclose(super);
+ }
+ else if (H5Tget_class(type) == H5T_VLEN)
+ {
+ hid_t super = H5Tget_super(type);
+ os << indent << "H5T_VLEN { ";
+ H5Type::printComplexNameFromType(os, indentLevel + 1, super);
+ os << " }";
+ H5Tclose(super);
+ }
+ else
+ {
+ os << getNameFromType(type);
+ }
+}
+
+void H5Type::getAccessibleAttribute(const std::string & _name, const int pos, void * pvApiCtx) const
+{
+ SciErr err;
+ std::string lower(_name);
+ std::transform(_name.begin(), _name.end(), lower.begin(), tolower);
+
+ if (lower == "class")
+ {
+ std::string _class = getClassName();
+ const char * __class = _class.c_str();
+ err = createMatrixOfString(pvApiCtx, pos, 1, 1, &__class);
+ if (err.iErr)
+ {
+ throw H5Exception(__LINE__, __FILE__, _("Cannot create a string on the stack."));
+ }
+
+ return;
+ }
+ else if (lower == "type")
+ {
+ std::string type = getTypeName();
+ const char * _type = type.c_str();
+ err = createMatrixOfString(pvApiCtx, pos, 1, 1, &_type);
+ if (err.iErr)
+ {
+ throw H5Exception(__LINE__, __FILE__, _("Cannot create a string on the stack."));
+ }
+
+ return;
+ }
+ else if (lower == "size")
+ {
+ unsigned int size = getTypeSize();
+ err = createMatrixOfUnsignedInteger32(pvApiCtx, pos, 1, 1, &size);
+ if (err.iErr)
+ {
+ throw H5Exception(__LINE__, __FILE__, _("Cannot create an integer on the stack."));
+ }
+
+ return;
+ }
+ else if (lower == "nativetype")
+ {
+ std::string type = getNativeTypeName();
+ const char * _type = type.c_str();
+ err = createMatrixOfString(pvApiCtx, pos, 1, 1, &_type);
+ if (err.iErr)
+ {
+ throw H5Exception(__LINE__, __FILE__, _("Cannot create a string on the stack."));
+ }
+
+ return;
+ }
+ else if (lower == "nativesize")
+ {
+ unsigned int size = getNativeTypeSize();
+ err = createMatrixOfUnsignedInteger32(pvApiCtx, pos, 1, 1, &size);
+ if (err.iErr)
+ {
+ throw H5Exception(__LINE__, __FILE__, _("Cannot create an integer on the stack."));
+ }
+
+ return;
+ }
+
+ H5Object::getAccessibleAttribute(_name, pos, pvApiCtx);
+}
+
+std::string H5Type::dump(std::map<haddr_t, std::string> & alreadyVisited, const unsigned int indentLevel) const
+{
+ std::string sorder, ssign;
+ std::ostringstream os;
+ H5T_sign_t sign;
+ hsize_t * dims = 0;
+ unsigned int ndims;
+ hid_t strType;
+ hid_t super;
+ hid_t native = -1;
+ size_t size;
+ size_t dstSize;
+ unsigned int nmembers;
+ H5T_order_t order;
+ H5T_str_t strpad;
+ H5T_cset_t cset;
+ htri_t isVariableLength;
+ std::string indent;
+ char * opaqueTag = 0;
+ char * value = 0;
+
+ os << H5Object::getIndentString(indentLevel);
+
+ if (!name.empty())
+ {
+ os << "DATATYPE \"" << name << "\" ";
+ }
+ else
+ {
+ os << "DATATYPE ";
+ }
+
+ switch (H5Tget_class(type))
+ {
+ case H5T_INTEGER:
+ if (H5Tequal(type, H5T_STD_I8BE) > 0)
+ {
+ os << "H5T_STD_I8BE";
+ }
+ else if (H5Tequal(type, H5T_STD_I8LE) > 0)
+ {
+ os << "H5T_STD_I8LE";
+ }
+ else if (H5Tequal(type, H5T_STD_I16BE) > 0)
+ {
+ os << "H5T_STD_I16BE";
+ }
+ else if (H5Tequal(type, H5T_STD_I16LE) > 0)
+ {
+ os << "H5T_STD_I16LE";
+ }
+ else if (H5Tequal(type, H5T_STD_I32BE) > 0)
+ {
+ os << "H5T_STD_I32BE";
+ }
+ else if (H5Tequal(type, H5T_STD_I32LE) > 0)
+ {
+ os << "H5T_STD_I32LE";
+ }
+ else if (H5Tequal(type, H5T_STD_I64BE) > 0)
+ {
+ os << "H5T_STD_I64BE";
+ }
+ else if (H5Tequal(type, H5T_STD_I64LE) > 0)
+ {
+ os << "H5T_STD_I64LE";
+ }
+ else if (H5Tequal(type, H5T_STD_U8BE) > 0)
+ {
+ os << "H5T_STD_U8BE";
+ }
+ else if (H5Tequal(type, H5T_STD_U8LE) > 0)
+ {
+ os << "H5T_STD_U8LE";
+ }
+ else if (H5Tequal(type, H5T_STD_U16BE) > 0)
+ {
+ os << "H5T_STD_U16BE";
+ }
+ else if (H5Tequal(type, H5T_STD_U16LE) > 0)
+ {
+ os << "H5T_STD_U16LE";
+ }
+ else if (H5Tequal(type, H5T_STD_U32BE) > 0)
+ {
+ os << "H5T_STD_U32BE";
+ }
+ else if (H5Tequal(type, H5T_STD_U32LE) > 0)
+ {
+ os << "H5T_STD_U32LE";
+ }
+ else if (H5Tequal(type, H5T_STD_U64BE) > 0)
+ {
+ os << "H5T_STD_U64BE";
+ }
+ else if (H5Tequal(type, H5T_STD_U64LE) > 0)
+ {
+ os << "H5T_STD_U64LE";
+ }
+ else if (H5Tequal(type, H5T_NATIVE_SCHAR) > 0)
+ {
+ os << "H5T_NATIVE_SCHAR";
+ }
+ else if (H5Tequal(type, H5T_NATIVE_UCHAR) > 0)
+ {
+ os << "H5T_NATIVE_UCHAR";
+ }
+ else if (H5Tequal(type, H5T_NATIVE_SHORT) > 0)
+ {
+ os << "H5T_NATIVE_SHORT";
+ }
+ else if (H5Tequal(type, H5T_NATIVE_USHORT) > 0)
+ {
+ os << "H5T_NATIVE_USHORT";
+ }
+ else if (H5Tequal(type, H5T_NATIVE_INT) > 0)
+ {
+ os << "H5T_NATIVE_INT";
+ }
+ else if (H5Tequal(type, H5T_NATIVE_UINT) > 0)
+ {
+ os << "H5T_NATIVE_UINT";
+ }
+ else if (H5Tequal(type, H5T_NATIVE_LONG) > 0)
+ {
+ os << "H5T_NATIVE_LONG";
+ }
+ else if (H5Tequal(type, H5T_NATIVE_ULONG) > 0)
+ {
+ os << "H5T_NATIVE_ULONG";
+ }
+ else if (H5Tequal(type, H5T_NATIVE_LLONG) > 0)
+ {
+ os << "H5T_NATIVE_LLONG";
+ }
+ else if (H5Tequal(type, H5T_NATIVE_ULLONG) > 0)
+ {
+ os << "H5T_NATIVE_ULLONG";
+ }
+ else if (H5Tequal(type, H5T_NATIVE_INT8) > 0)
+ {
+ os << "H5T_NATIVE_INT8";
+ }
+ else if (H5Tequal(type, H5T_NATIVE_UINT8) > 0)
+ {
+ os << "H5T_NATIVE_UINT8";
+ }
+ else if (H5Tequal(type, H5T_NATIVE_INT_LEAST8) > 0)
+ {
+ os << "H5T_NATIVE_INT_LEAST8";
+ }
+ else if (H5Tequal(type, H5T_NATIVE_UINT_LEAST8) > 0)
+ {
+ os << "H5T_NATIVE_UINT_LEAST8";
+ }
+ else if (H5Tequal(type, H5T_NATIVE_INT_FAST8) > 0)
+ {
+ os << "H5T_NATIVE_INT_FAST8";
+ }
+ else if (H5Tequal(type, H5T_NATIVE_UINT_FAST8) > 0)
+ {
+ os << "H5T_NATIVE_UINT_FAST8";
+ }
+ else if (H5Tequal(type, H5T_NATIVE_INT16) > 0)
+ {
+ os << "H5T_NATIVE_INT16";
+ }
+ else if (H5Tequal(type, H5T_NATIVE_UINT16) > 0)
+ {
+ os << "H5T_NATIVE_UINT16";
+ }
+ else if (H5Tequal(type, H5T_NATIVE_INT_LEAST16) > 0)
+ {
+ os << "H5T_NATIVE_INT_LEAST16";
+ }
+ else if (H5Tequal(type, H5T_NATIVE_UINT_LEAST16) > 0)
+ {
+ os << "H5T_NATIVE_UINT_LEAST16";
+ }
+ else if (H5Tequal(type, H5T_NATIVE_INT_FAST16) > 0)
+ {
+ os << "H5T_NATIVE_INT_FAST16";
+ }
+ else if (H5Tequal(type, H5T_NATIVE_UINT_FAST16) > 0)
+ {
+ os << "H5T_NATIVE_UINT_FAST16";
+ }
+ else if (H5Tequal(type, H5T_NATIVE_INT32) > 0)
+ {
+ os << "H5T_NATIVE_INT32";
+ }
+ else if (H5Tequal(type, H5T_NATIVE_UINT32) > 0)
+ {
+ os << "H5T_NATIVE_UINT32";
+ }
+ else if (H5Tequal(type, H5T_NATIVE_INT_LEAST32) > 0)
+ {
+ os << "H5T_NATIVE_INT_LEAST32";
+ }
+ else if (H5Tequal(type, H5T_NATIVE_UINT_LEAST32) > 0)
+ {
+ os << "H5T_NATIVE_UINT_LEAST32";
+ }
+ else if (H5Tequal(type, H5T_NATIVE_INT_FAST32) > 0)
+ {
+ os << "H5T_NATIVE_INT_FAST32";
+ }
+ else if (H5Tequal(type, H5T_NATIVE_UINT_FAST32) > 0)
+ {
+ os << "H5T_NATIVE_UINT_FAST32";
+ }
+ else if (H5Tequal(type, H5T_NATIVE_INT64) > 0)
+ {
+ os << "H5T_NATIVE_INT64";
+ }
+ else if (H5Tequal(type, H5T_NATIVE_UINT64) > 0)
+ {
+ os << "H5T_NATIVE_UINT64";
+ }
+ else if (H5Tequal(type, H5T_NATIVE_INT_LEAST64) > 0)
+ {
+ os << "H5T_NATIVE_INT_LEAST64";
+ }
+ else if (H5Tequal(type, H5T_NATIVE_UINT_LEAST64) > 0)
+ {
+ os << "H5T_NATIVE_UINT_LEAST64";
+ }
+ else if (H5Tequal(type, H5T_NATIVE_INT_FAST64) > 0)
+ {
+ os << "H5T_NATIVE_INT_FAST64";
+ }
+ else if (H5Tequal(type, H5T_NATIVE_UINT_FAST64) > 0)
+ {
+ os << "H5T_NATIVE_UINT_FAST64";
+ }
+ else if (H5Tequal(type, H5T_INTEL_I8) > 0)
+ {
+ os << "H5T_INTEL_I8";
+ }
+ else if (H5Tequal(type, H5T_INTEL_I16) > 0)
+ {
+ os << "H5T_INTEL_I16";
+ }
+ else if (H5Tequal(type, H5T_INTEL_I32) > 0)
+ {
+ os << "H5T_INTEL_I32";
+ }
+ else if (H5Tequal(type, H5T_INTEL_I64) > 0)
+ {
+ os << "H5T_INTEL_I64";
+ }
+ else if (H5Tequal(type, H5T_INTEL_U8) > 0)
+ {
+ os << "H5T_INTEL_U8";
+ }
+ else if (H5Tequal(type, H5T_INTEL_U16) > 0)
+ {
+ os << "H5T_INTEL_U16";
+ }
+ else if (H5Tequal(type, H5T_INTEL_U32) > 0)
+ {
+ os << "H5T_INTEL_U32";
+ }
+ else if (H5Tequal(type, H5T_INTEL_U64) > 0)
+ {
+ os << "H5T_INTEL_U64";
+ }
+ else if (H5Tequal(type, H5T_ALPHA_I8) > 0)
+ {
+ os << "H5T_ALPHA_I8";
+ }
+ else if (H5Tequal(type, H5T_ALPHA_I16) > 0)
+ {
+ os << "H5T_ALPHA_I16";
+ }
+ else if (H5Tequal(type, H5T_ALPHA_I32) > 0)
+ {
+ os << "H5T_ALPHA_I32";
+ }
+ else if (H5Tequal(type, H5T_ALPHA_I64) > 0)
+ {
+ os << "H5T_ALPHA_I64";
+ }
+ else if (H5Tequal(type, H5T_ALPHA_U8) > 0)
+ {
+ os << "H5T_ALPHA_U8";
+ }
+ else if (H5Tequal(type, H5T_ALPHA_U16) > 0)
+ {
+ os << "H5T_ALPHA_U16";
+ }
+ else if (H5Tequal(type, H5T_ALPHA_U32) > 0)
+ {
+ os << "H5T_ALPHA_U32";
+ }
+ else if (H5Tequal(type, H5T_ALPHA_U64) > 0)
+ {
+ os << "H5T_ALPHA_U64";
+ }
+ else if (H5Tequal(type, H5T_MIPS_I8) > 0)
+ {
+ os << "H5T_MIPS_I8";
+ }
+ else if (H5Tequal(type, H5T_MIPS_I16) > 0)
+ {
+ os << "H5T_MIPS_I16";
+ }
+ else if (H5Tequal(type, H5T_MIPS_I32) > 0)
+ {
+ os << "H5T_MIPS_I32";
+ }
+ else if (H5Tequal(type, H5T_MIPS_I64) > 0)
+ {
+ os << "H5T_MIPS_I64";
+ }
+ else if (H5Tequal(type, H5T_MIPS_U8) > 0)
+ {
+ os << "H5T_MIPS_U8";
+ }
+ else if (H5Tequal(type, H5T_MIPS_U16) > 0)
+ {
+ os << "H5T_MIPS_U16";
+ }
+ else if (H5Tequal(type, H5T_MIPS_U32) > 0)
+ {
+ os << "H5T_MIPS_U32";
+ }
+ else if (H5Tequal(type, H5T_MIPS_U64) > 0)
+ {
+ os << "H5T_MIPS_U64";
+ }
+ else if (H5Tequal(type, H5T_NATIVE_HADDR) > 0)
+ {
+ os << "H5T_NATIVE_HADDR";
+ }
+ else if (H5Tequal(type, H5T_NATIVE_HSIZE) > 0)
+ {
+ os << "H5T_NATIVE_HSIZE";
+ }
+ else if (H5Tequal(type, H5T_NATIVE_HSSIZE) > 0)
+ {
+ os << "H5T_NATIVE_HSSIZE";
+ }
+ else if (H5Tequal(type, H5T_NATIVE_HERR) > 0)
+ {
+ os << "H5T_NATIVE_HERR";
+ }
+ else if (H5Tequal(type, H5T_NATIVE_HBOOL) > 0)
+ {
+ os << "H5T_NATIVE_HBOOL";
+ }
+ else
+ {
+ if (H5Tget_size(type) > 1)
+ {
+ order = H5Tget_order(type);
+ if (H5T_ORDER_LE == order)
+ {
+ sorder = " little-endian";
+ }
+ else if (H5T_ORDER_BE == order)
+ {
+ sorder = " big-endian";
+ }
+ else if (H5T_ORDER_VAX == order)
+ {
+ sorder = " mixed-endian";
+ }
+ else
+ {
+ sorder = " unknown-byte-order";
+ }
+ }
+ else
+ {
+ sorder = "";
+ }
+
+ sign = H5Tget_sign(type);
+ if (sign >= 0)
+ {
+ if (sign == H5T_SGN_NONE)
+ {
+ ssign = " unsigned";
+ }
+ else if (sign == H5T_SGN_2)
+ {
+ ssign = "";
+ }
+ else
+ {
+ ssign = " unknown-sign";
+ }
+ }
+ else
+ {
+ ssign = " unknown-sign";
+ }
+
+ os << (unsigned long)(8 * H5Tget_size(type)) << "-bit"
+ << sorder
+ << ssign
+ << " integer";
+ }
+ break;
+ case H5T_FLOAT:
+ if (H5Tequal(type, H5T_IEEE_F32BE) > 0)
+ {
+ os << "H5T_IEEE_F32BE";
+ }
+ else if (H5Tequal(type, H5T_IEEE_F32LE) > 0)
+ {
+ os << "H5T_IEEE_F32LE";
+ }
+ else if (H5Tequal(type, H5T_IEEE_F64BE) > 0)
+ {
+ os << "H5T_IEEE_F64BE";
+ }
+ else if (H5Tequal(type, H5T_IEEE_F64LE) > 0)
+ {
+ os << "H5T_IEEE_F64LE";
+ }
+ else if (H5Tequal(type, H5T_VAX_F32) > 0)
+ {
+ os << "H5T_VAX_F32";
+ }
+ else if (H5Tequal(type, H5T_VAX_F64) > 0)
+ {
+ os << "H5T_VAX_F64";
+ }
+ else if (H5Tequal(type, H5T_NATIVE_FLOAT) > 0)
+ {
+ os << "H5T_NATIVE_FLOAT";
+ }
+ else if (H5Tequal(type, H5T_NATIVE_DOUBLE) > 0)
+ {
+ os << "H5T_NATIVE_DOUBLE";
+ }
+ else if (H5Tequal(type, H5T_NATIVE_LDOUBLE) > 0)
+ {
+ os << "H5T_NATIVE_LDOUBLE";
+ }
+ else if (H5Tequal(type, H5T_INTEL_F32) > 0)
+ {
+ os << "H5T_INTEL_F32";
+ }
+ else if (H5Tequal(type, H5T_INTEL_F64) > 0)
+ {
+ os << "H5T_INTEL_F64";
+ }
+ else if (H5Tequal(type, H5T_ALPHA_F32) > 0)
+ {
+ os << "H5T_ALPHA_F32";
+ }
+ else if (H5Tequal(type, H5T_ALPHA_F64) > 0)
+ {
+ os << "H5T_ALPHA_F64";
+ }
+ else if (H5Tequal(type, H5T_VAX_F32) > 0)
+ {
+ os << "H5T_VAX_F32";
+ }
+ else if (H5Tequal(type, H5T_VAX_F64) > 0)
+ {
+ os << "H5T_VAX_F64";
+ }
+ else if (H5Tequal(type, H5T_MIPS_F32) > 0)
+ {
+ os << "H5T_MIPS_F32";
+ }
+ else if (H5Tequal(type, H5T_MIPS_F64) > 0)
+ {
+ os << "H5T_MIPS_F64";
+ }
+ else
+ {
+ if (H5Tget_size(type) > 1)
+ {
+ order = H5Tget_order(type);
+ if (order == H5T_ORDER_LE)
+ {
+ sorder = " little-endian";
+ }
+ else if (order == H5T_ORDER_BE)
+ {
+ sorder = " big-endian";
+ }
+ else if (order == H5T_ORDER_VAX)
+ {
+ sorder = " mixed-endian";
+ }
+ else
+ {
+ sorder = " unknown-byte-order";
+ }
+ }
+ else
+ {
+ sorder = "";
+ }
+
+ os << (unsigned long)(8 * H5Tget_size(type)) << "-bit"
+ << sorder
+ << " floating-point";
+ }
+ break;
+ case H5T_TIME:
+ if (H5Tequal(type, H5T_UNIX_D32BE) > 0)
+ {
+ os << "H5T_UNIX_D32BE";
+ }
+ else if (H5Tequal(type, H5T_UNIX_D32LE) > 0)
+ {
+ os << "H5T_UNIX_D32LE";
+ }
+ else if (H5Tequal(type, H5T_UNIX_D64BE) > 0)
+ {
+ os << "H5T_UNIX_D64BE";
+ }
+ else if (H5Tequal(type, H5T_UNIX_D64LE) > 0)
+ {
+ os << "H5T_UNIX_D64LE";
+ }
+ else
+ {
+ os << "Unknown time format";
+ }
+ break;
+ case H5T_STRING:
+ size = H5Tget_size(type);
+ strpad = H5Tget_strpad(type);
+ cset = H5Tget_cset(type);
+ isVariableLength = H5Tis_variable_str(type);
+ indent = H5Object::getIndentString(indentLevel + 1);
+
+ strType = H5Tcopy(H5T_C_S1);
+ H5Tset_size(strType, isVariableLength ? H5T_VARIABLE : size);
+ H5Tset_cset(strType, cset);
+ H5Tset_strpad(strType, strpad);
+
+ os << "H5T_STRING {" << std::endl;
+ if (isVariableLength)
+ {
+ os << indent << "STRSIZE H5T_VARIABLE;" << std::endl;
+ }
+ else
+ {
+ os << indent << "STRSIZE " << (int)size << ";" << std::endl;
+ }
+
+ os << indent << "STRPAD ";
+ switch (strpad)
+ {
+ case H5T_STR_NULLTERM:
+ os << "H5T_STR_NULLTERM;" << std::endl;
+ break;
+ case H5T_STR_NULLPAD:
+ os << "H5T_STR_NULLPAD;" << std::endl;
+ break;
+ case H5T_STR_SPACEPAD:
+ os << "H5T_STR_SPACEPAD;" << std::endl;
+ break;
+ default:
+ os << "H5T_STR_ERROR;" << std::endl;
+ break;
+ }
+
+ os << indent << "CSET ";
+ if (cset == H5T_CSET_ASCII)
+ {
+ os << "H5T_CSET_ASCII;" << std::endl;
+ }
+ else if (cset == H5T_CSET_UTF8)
+ {
+ os << "H5T_CSET_UTF8;" << std::endl;
+ }
+ else
+ {
+ os << "Unknown charset;" << std::endl;
+ }
+
+ // TODO: modif l'endianess (cf h5dump.c::1068)
+ os << indent << "CTYPE ";
+ if (H5Tequal(type, strType) > 0)
+ {
+ H5Tclose(strType);
+ os << "H5T_C_S1;" << std::endl;
+ }
+ else
+ {
+ H5Tclose(strType);
+ strType = H5Tcopy(H5T_FORTRAN_S1);
+ H5Tset_size(strType, size);
+ H5Tset_cset(strType, cset);
+ H5Tset_strpad(strType, strpad);
+ if (H5Tequal(type, H5T_FORTRAN_S1) > 0)
+ {
+ os << "H5T_FORTRAN_S1;" << std::endl;
+ }
+ else
+ {
+ os << "Unknown one character type;" << std::endl;
+ }
+ }
+
+ os << H5Object::getIndentString(indentLevel) << "}";
+ break;
+ case H5T_BITFIELD:
+ if (H5Tequal(type, H5T_STD_B8BE) > 0)
+ {
+ os << "H5T_STD_B8BE";
+ }
+ else if (H5Tequal(type, H5T_STD_B8LE) > 0)
+ {
+ os << "H5T_STD_B8LE";
+ }
+ else if (H5Tequal(type, H5T_STD_B16BE) > 0)
+ {
+ os << "H5T_STD_B16BE";
+ }
+ else if (H5Tequal(type, H5T_STD_B16LE) > 0)
+ {
+ os << "H5T_STD_B16LE";
+ }
+ else if (H5Tequal(type, H5T_STD_B32BE) > 0)
+ {
+ os << "H5T_STD_B32BE";
+ }
+ else if (H5Tequal(type, H5T_STD_B32LE) > 0)
+ {
+ os << "H5T_STD_B32LE";
+ }
+ else if (H5Tequal(type, H5T_STD_B64BE) > 0)
+ {
+ os << "H5T_STD_B64BE";
+ }
+ else if (H5Tequal(type, H5T_STD_B64LE) > 0)
+ {
+ os << "H5T_STD_B64LE";
+ }
+ else if (H5Tequal(type, H5T_INTEL_B8) > 0)
+ {
+ os << "H5T_INTEL_B8";
+ }
+ else if (H5Tequal(type, H5T_INTEL_B16) > 0)
+ {
+ os << "H5T_INTEL_B16";
+ }
+ else if (H5Tequal(type, H5T_INTEL_B32) > 0)
+ {
+ os << "H5T_INTEL_B32";
+ }
+ else if (H5Tequal(type, H5T_INTEL_B64) > 0)
+ {
+ os << "H5T_INTEL_B64";
+ }
+ else if (H5Tequal(type, H5T_ALPHA_B8) > 0)
+ {
+ os << "H5T_ALPHA_B8";
+ }
+ else if (H5Tequal(type, H5T_ALPHA_B16) > 0)
+ {
+ os << "H5T_ALPHA_B16";
+ }
+ else if (H5Tequal(type, H5T_ALPHA_B32) > 0)
+ {
+ os << "H5T_ALPHA_B32";
+ }
+ else if (H5Tequal(type, H5T_ALPHA_B64) > 0)
+ {
+ os << "H5T_ALPHA_B64";
+ }
+ else if (H5Tequal(type, H5T_MIPS_B8) > 0)
+ {
+ os << "H5T_MIPS_B8";
+ }
+ else if (H5Tequal(type, H5T_MIPS_B16) > 0)
+ {
+ os << "H5T_MIPS_B16";
+ }
+ else if (H5Tequal(type, H5T_MIPS_B32) > 0)
+ {
+ os << "H5T_MIPS_B32";
+ }
+ else if (H5Tequal(type, H5T_MIPS_B64) > 0)
+ {
+ os << "H5T_MIPS_B64";
+ }
+ else
+ {
+ os << "undefined bitfield";
+ }
+ break;
+ case H5T_OPAQUE:
+ opaqueTag = H5Tget_tag(type);
+ os << "H5T_OPAQUE;" << std::endl
+ << H5Object::getIndentString(indentLevel + 1)
+ << "OPAQUE TAG \"" << opaqueTag << "\";";
+
+ free(opaqueTag);
+ break;
+ case H5T_COMPOUND:
+ nmembers = H5Tget_nmembers(type);
+ indent = H5Object::getIndentString(indentLevel + 1);
+ os << "H5T_COMPOUND {" << std::endl;
+
+ for (unsigned int i = 0; i < nmembers; i++)
+ {
+ char * mname = H5Tget_member_name(type, i);
+ hid_t mtype = H5Tget_member_type(type, i);
+
+ os << indent;
+ H5Type::printComplexNameFromType(os, indentLevel + 1, mtype);
+ os << " \"" << mname << "\";" << std::endl;
+
+ free(mname);
+ }
+
+ os << H5Object::getIndentString(indentLevel) << "}";
+ break;
+ case H5T_REFERENCE:
+ os << "H5T_REFERENCE";
+ if (H5Tequal(type, H5T_STD_REF_DSETREG) > 0)
+ {
+ os << " { H5T_STD_REF_DSETREG }";
+ }
+ else
+ {
+ os << " { H5T_STD_REF_OBJECT }";
+ }
+ break;
+ case H5T_ENUM:
+ nmembers = H5Tget_nmembers(type);
+ indent = H5Object::getIndentString(indentLevel + 1);
+ size = H5Tget_size(type);
+ super = H5Tget_super(type);
+
+ if (size <= sizeof(long long))
+ {
+ dstSize = sizeof(long long);
+ if (H5Tget_sign(type) == H5T_SGN_NONE)
+ {
+ native = H5T_NATIVE_ULLONG;
+ }
+ else
+ {
+ native = H5T_NATIVE_LLONG;
+ }
+ }
+ else
+ {
+ dstSize = size;
+ }
+
+ os << "H5T_ENUM { " << std::endl
+ << indent << H5Type(*const_cast<H5Type *>(this), H5Tcopy(super)).dump(alreadyVisited, 0);
+
+ value = new char[std::max(size, dstSize)]();
+
+ for (unsigned int i = 0; i < nmembers; i++)
+ {
+ char * mname = H5Tget_member_name(type, i);
+ std::string _mname = "\"" + std::string(mname) + "\"";
+ free(mname);
+
+ H5Tget_member_value(type, i, value);
+
+ if (_mname.length() < 16)
+ {
+ _mname.resize(16, ' ');
+ }
+
+ os << indent << _mname;
+
+ if (native < 0)
+ {
+ for (size_t j = 0; j < dstSize; j++)
+ {
+ os << "0x" << std::hex << std::setfill('0') << std::setw(2) << (int)value[j];
+ }
+ }
+ else
+ {
+ H5Tconvert(super, native, 1, value, 0, H5P_DEFAULT);
+ if (H5Tget_sign(type) == H5T_SGN_NONE)
+ {
+ os << *reinterpret_cast<unsigned long long *>(value);
+ }
+ else
+ {
+ os << *reinterpret_cast<long long *>(value);
+ }
+ }
+
+ os << ";" << std::endl;
+ }
+
+ delete[] value;
+ H5Tclose(super);
+ os << H5Object::getIndentString(indentLevel) << "}";
+ break;
+ case H5T_VLEN:
+ super = H5Tget_super(type);
+ os << "H5T_VLEN { ";
+
+ H5Type::printComplexNameFromType(os, indentLevel + 1, super);
+
+ os << " }";
+ break;
+ case H5T_ARRAY:
+ super = H5Tget_super(type);
+ ndims = H5Tget_array_ndims(type);
+ dims = new hsize_t[ndims];
+ H5Tget_array_dims(type, dims);
+
+ os << "H5T_ARRAY { ";
+
+ for (unsigned int i = 0; i < ndims; i++)
+ {
+ os << "[" << (unsigned int)dims[i] << "]";
+ }
+
+ os << " ";
+ H5Type::printComplexNameFromType(os, indentLevel + 1, super);
+ os << " }";
+
+ H5Tclose(super);
+ delete[] dims;
+ break;
+ default:
+ os << _("Unknown datatype");
+ break;
+ }
+
+ os << std::endl;
+
+ return os.str();
+}
+
+void H5Type::printLsInfo(std::ostringstream & os) const
+{
+ if (!getName().empty())
+ {
+ std::string str(getName());
+ H5Object::getResizedString(str);
+
+ os << str << "Type" << std::endl;
+ }
+}
+
+std::string H5Type::ls() const
+{
+ std::ostringstream os;
+ printLsInfo(os);
+
+ return os.str();
+}
+
+std::string H5Type::toString(const unsigned int indentLevel) const
+{
+ std::ostringstream os;
+ std::string indentString = H5Object::getIndentString(indentLevel);
+
+ os << indentString << "Filename" << ": " << getFile().getFileName() << std::endl
+ << indentString << "Name" << ": " << name << std::endl
+ << indentString << "Class" << ": " << getClassName() << std::endl
+ << indentString << "Type" << ": " << getTypeName() << std::endl
+ << indentString << "Size" << ": " << getTypeSize() << std::endl
+ << indentString << "Nativetype" << ": " << getNativeTypeName() << std::endl
+ << indentString << "Nativesize" << ": " << getNativeTypeSize();
+
+ return os.str();
+}
+}
diff --git a/modules/hdf5/src/cpp/H5Type.hxx b/modules/hdf5/src/cpp/H5Type.hxx
new file mode 100755
index 000000000..782870c51
--- /dev/null
+++ b/modules/hdf5/src/cpp/H5Type.hxx
@@ -0,0 +1,288 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2012 - Scilab Enterprises - Calixte DENIZET
+ *
+ * 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 __H5TYPE_HXX__
+#define __H5TYPE_HXX__
+
+#include <map>
+
+#include "H5Object.hxx"
+#include "H5File.hxx"
+
+namespace org_modules_hdf5
+{
+
+class H5Type : public H5Object
+{
+ hid_t type;
+
+ static std::map<std::string, hid_t> nameToType;
+
+public:
+
+ H5Type(H5Object & _parent, hid_t type);
+ H5Type(H5Object & _parent, const std::string & name);
+ H5Type(H5Object & _parent, hid_t type, const std::string & name);
+
+ virtual ~H5Type();
+
+ virtual hid_t getH5Id() const
+ {
+ return type;
+ }
+
+ virtual bool isType() const
+ {
+ return true;
+ }
+
+ virtual std::string getClassName() const;
+ virtual std::string getTypeName() const;
+ virtual unsigned int getTypeSize() const;
+ virtual std::string getNativeTypeName() const;
+ virtual unsigned int getNativeTypeSize() const;
+
+ virtual void getAccessibleAttribute(const std::string & _name, const int pos, void * pvApiCtx) const;
+ virtual std::string dump(std::map<haddr_t, std::string> & alreadyVisited, const unsigned int indentLevel) const;
+ virtual std::string toString(const unsigned int indentLevel) const;
+ virtual void printLsInfo(std::ostringstream & os) const;
+ virtual std::string ls() const;
+
+ static std::string getNameFromType(hid_t type);
+ static void printComplexNameFromType(std::ostringstream & os, const unsigned int indentLevel, const hid_t type);
+
+ inline static hid_t getBaseType(double * data)
+ {
+ return H5Tcopy(H5T_NATIVE_DOUBLE);
+ }
+
+ inline static hid_t getBaseType(float * data)
+ {
+ return H5Tcopy(H5T_NATIVE_FLOAT);
+ }
+
+ inline static hid_t getBaseType(char * data)
+ {
+ return H5Tcopy(H5T_NATIVE_CHAR);
+ }
+
+ inline static hid_t getBaseType(unsigned char * data)
+ {
+ return H5Tcopy(H5T_NATIVE_UCHAR);
+ }
+
+ inline static hid_t getBaseType(short * data)
+ {
+ return H5Tcopy(H5T_NATIVE_SHORT);
+ }
+
+ inline static hid_t getBaseType(unsigned short * data)
+ {
+ return H5Tcopy(H5T_NATIVE_USHORT);
+ }
+
+ inline static hid_t getBaseType(int * data)
+ {
+ return H5Tcopy(H5T_NATIVE_INT);
+ }
+
+ inline static hid_t getBaseType(unsigned int * data)
+ {
+ return H5Tcopy(H5T_NATIVE_UINT);
+ }
+
+ inline static hid_t getBaseType(long * data)
+ {
+ return H5Tcopy(H5T_NATIVE_LONG);
+ }
+
+ inline static hid_t getBaseType(unsigned long * data)
+ {
+ return H5Tcopy(H5T_NATIVE_ULONG);
+ }
+
+ inline static hid_t getBaseType(char ** data)
+ {
+ hid_t type = H5Tcopy(H5T_C_S1);
+ herr_t err = H5Tset_size(type, H5T_VARIABLE);
+
+ return type;
+ }
+
+ static hid_t getBaseType(const std::string & type)
+ {
+ std::string upper(type);
+ std::transform(type.begin(), type.end(), upper.begin(), toupper);
+ std::map<std::string, hid_t>::iterator it;
+
+ if (upper.find_first_of("H5T_") == std::string::npos)
+ {
+ upper = "H5T_" + upper;
+ }
+
+ it = nameToType.find(upper);
+ if (it != nameToType.end())
+ {
+ return H5Tcopy(it->second);
+ }
+
+ return (hid_t) - 1;
+ }
+
+private:
+
+ void init();
+
+ static std::map<std::string, hid_t> initMap()
+ {
+ std::map<std::string, hid_t> nameToType;
+
+ nameToType.insert(std::pair<std::string, hid_t>("H5T_STD_I8BE", H5T_STD_I8BE));
+ nameToType.insert(std::pair<std::string, hid_t>("H5T_STD_I8LE", H5T_STD_I8LE));
+ nameToType.insert(std::pair<std::string, hid_t>("H5T_STD_I16BE", H5T_STD_I16BE));
+ nameToType.insert(std::pair<std::string, hid_t>("H5T_STD_I16LE", H5T_STD_I16LE));
+ nameToType.insert(std::pair<std::string, hid_t>("H5T_STD_I32BE", H5T_STD_I32BE));
+ nameToType.insert(std::pair<std::string, hid_t>("H5T_STD_I32LE", H5T_STD_I32LE));
+ nameToType.insert(std::pair<std::string, hid_t>("H5T_STD_I64BE", H5T_STD_I64BE));
+ nameToType.insert(std::pair<std::string, hid_t>("H5T_STD_I64LE", H5T_STD_I64LE));
+ nameToType.insert(std::pair<std::string, hid_t>("H5T_STD_U8BE", H5T_STD_U8BE));
+ nameToType.insert(std::pair<std::string, hid_t>("H5T_STD_U8LE", H5T_STD_U8LE));
+ nameToType.insert(std::pair<std::string, hid_t>("H5T_STD_U16BE", H5T_STD_U16BE));
+ nameToType.insert(std::pair<std::string, hid_t>("H5T_STD_U16LE", H5T_STD_U16LE));
+ nameToType.insert(std::pair<std::string, hid_t>("H5T_STD_U32BE", H5T_STD_U32BE));
+ nameToType.insert(std::pair<std::string, hid_t>("H5T_STD_U32LE", H5T_STD_U32LE));
+ nameToType.insert(std::pair<std::string, hid_t>("H5T_STD_U64BE", H5T_STD_U64BE));
+ nameToType.insert(std::pair<std::string, hid_t>("H5T_STD_U64LE", H5T_STD_U64LE));
+ nameToType.insert(std::pair<std::string, hid_t>("H5T_NATIVE_SCHAR", H5T_NATIVE_SCHAR));
+ nameToType.insert(std::pair<std::string, hid_t>("H5T_NATIVE_UCHAR", H5T_NATIVE_UCHAR));
+ nameToType.insert(std::pair<std::string, hid_t>("H5T_NATIVE_SHORT", H5T_NATIVE_SHORT));
+ nameToType.insert(std::pair<std::string, hid_t>("H5T_NATIVE_USHORT", H5T_NATIVE_USHORT));
+ nameToType.insert(std::pair<std::string, hid_t>("H5T_NATIVE_INT", H5T_NATIVE_INT));
+ nameToType.insert(std::pair<std::string, hid_t>("H5T_NATIVE_UINT", H5T_NATIVE_UINT));
+ nameToType.insert(std::pair<std::string, hid_t>("H5T_NATIVE_LONG", H5T_NATIVE_LONG));
+ nameToType.insert(std::pair<std::string, hid_t>("H5T_NATIVE_ULONG", H5T_NATIVE_ULONG));
+ nameToType.insert(std::pair<std::string, hid_t>("H5T_NATIVE_LLONG", H5T_NATIVE_LLONG));
+ nameToType.insert(std::pair<std::string, hid_t>("H5T_NATIVE_ULLONG", H5T_NATIVE_ULLONG));
+ nameToType.insert(std::pair<std::string, hid_t>("H5T_NATIVE_INT8", H5T_NATIVE_INT8));
+ nameToType.insert(std::pair<std::string, hid_t>("H5T_NATIVE_UINT8", H5T_NATIVE_UINT8));
+ nameToType.insert(std::pair<std::string, hid_t>("H5T_NATIVE_INT_LEAST8", H5T_NATIVE_INT_LEAST8));
+ nameToType.insert(std::pair<std::string, hid_t>("H5T_NATIVE_UINT_LEAST8", H5T_NATIVE_UINT_LEAST8));
+ nameToType.insert(std::pair<std::string, hid_t>("H5T_NATIVE_INT_FAST8", H5T_NATIVE_INT_FAST8));
+ nameToType.insert(std::pair<std::string, hid_t>("H5T_NATIVE_UINT_FAST8", H5T_NATIVE_UINT_FAST8));
+ nameToType.insert(std::pair<std::string, hid_t>("H5T_NATIVE_INT16", H5T_NATIVE_INT16));
+ nameToType.insert(std::pair<std::string, hid_t>("H5T_NATIVE_UINT16", H5T_NATIVE_UINT16));
+ nameToType.insert(std::pair<std::string, hid_t>("H5T_NATIVE_INT_LEAST16", H5T_NATIVE_INT_LEAST16));
+ nameToType.insert(std::pair<std::string, hid_t>("H5T_NATIVE_UINT_LEAST16", H5T_NATIVE_UINT_LEAST16));
+ nameToType.insert(std::pair<std::string, hid_t>("H5T_NATIVE_INT_FAST16", H5T_NATIVE_INT_FAST16));
+ nameToType.insert(std::pair<std::string, hid_t>("H5T_NATIVE_UINT_FAST16", H5T_NATIVE_UINT_FAST16));
+ nameToType.insert(std::pair<std::string, hid_t>("H5T_NATIVE_INT32", H5T_NATIVE_INT32));
+ nameToType.insert(std::pair<std::string, hid_t>("H5T_NATIVE_UINT32", H5T_NATIVE_UINT32));
+ nameToType.insert(std::pair<std::string, hid_t>("H5T_NATIVE_INT_LEAST32", H5T_NATIVE_INT_LEAST32));
+ nameToType.insert(std::pair<std::string, hid_t>("H5T_NATIVE_UINT_LEAST32", H5T_NATIVE_UINT_LEAST32));
+ nameToType.insert(std::pair<std::string, hid_t>("H5T_NATIVE_INT_FAST32", H5T_NATIVE_INT_FAST32));
+ nameToType.insert(std::pair<std::string, hid_t>("H5T_NATIVE_UINT_FAST32", H5T_NATIVE_UINT_FAST32));
+ nameToType.insert(std::pair<std::string, hid_t>("H5T_NATIVE_INT64", H5T_NATIVE_INT64));
+ nameToType.insert(std::pair<std::string, hid_t>("H5T_NATIVE_UINT64", H5T_NATIVE_UINT64));
+ nameToType.insert(std::pair<std::string, hid_t>("H5T_NATIVE_INT_LEAST64", H5T_NATIVE_INT_LEAST64));
+ nameToType.insert(std::pair<std::string, hid_t>("H5T_NATIVE_UINT_LEAST64", H5T_NATIVE_UINT_LEAST64));
+ nameToType.insert(std::pair<std::string, hid_t>("H5T_NATIVE_INT_FAST64", H5T_NATIVE_INT_FAST64));
+ nameToType.insert(std::pair<std::string, hid_t>("H5T_NATIVE_UINT_FAST64", H5T_NATIVE_UINT_FAST64));
+ nameToType.insert(std::pair<std::string, hid_t>("H5T_INTEL_I8", H5T_INTEL_I8));
+ nameToType.insert(std::pair<std::string, hid_t>("H5T_INTEL_I16", H5T_INTEL_I16));
+ nameToType.insert(std::pair<std::string, hid_t>("H5T_INTEL_I32", H5T_INTEL_I32));
+ nameToType.insert(std::pair<std::string, hid_t>("H5T_INTEL_I64", H5T_INTEL_I64));
+ nameToType.insert(std::pair<std::string, hid_t>("H5T_INTEL_U8", H5T_INTEL_U8));
+ nameToType.insert(std::pair<std::string, hid_t>("H5T_INTEL_U16", H5T_INTEL_U16));
+ nameToType.insert(std::pair<std::string, hid_t>("H5T_INTEL_U32", H5T_INTEL_U32));
+ nameToType.insert(std::pair<std::string, hid_t>("H5T_INTEL_U64", H5T_INTEL_U64));
+ nameToType.insert(std::pair<std::string, hid_t>("H5T_ALPHA_I8", H5T_ALPHA_I8));
+ nameToType.insert(std::pair<std::string, hid_t>("H5T_ALPHA_I16", H5T_ALPHA_I16));
+ nameToType.insert(std::pair<std::string, hid_t>("H5T_ALPHA_I32", H5T_ALPHA_I32));
+ nameToType.insert(std::pair<std::string, hid_t>("H5T_ALPHA_I64", H5T_ALPHA_I64));
+ nameToType.insert(std::pair<std::string, hid_t>("H5T_ALPHA_U8", H5T_ALPHA_U8));
+ nameToType.insert(std::pair<std::string, hid_t>("H5T_ALPHA_U16", H5T_ALPHA_U16));
+ nameToType.insert(std::pair<std::string, hid_t>("H5T_ALPHA_U32", H5T_ALPHA_U32));
+ nameToType.insert(std::pair<std::string, hid_t>("H5T_ALPHA_U64", H5T_ALPHA_U64));
+ nameToType.insert(std::pair<std::string, hid_t>("H5T_MIPS_I8", H5T_MIPS_I8));
+ nameToType.insert(std::pair<std::string, hid_t>("H5T_MIPS_I16", H5T_MIPS_I16));
+ nameToType.insert(std::pair<std::string, hid_t>("H5T_MIPS_I32", H5T_MIPS_I32));
+ nameToType.insert(std::pair<std::string, hid_t>("H5T_MIPS_I64", H5T_MIPS_I64));
+ nameToType.insert(std::pair<std::string, hid_t>("H5T_MIPS_U8", H5T_MIPS_U8));
+ nameToType.insert(std::pair<std::string, hid_t>("H5T_MIPS_U16", H5T_MIPS_U16));
+ nameToType.insert(std::pair<std::string, hid_t>("H5T_MIPS_U32", H5T_MIPS_U32));
+ nameToType.insert(std::pair<std::string, hid_t>("H5T_MIPS_U64", H5T_MIPS_U64));
+ nameToType.insert(std::pair<std::string, hid_t>("H5T_NATIVE_HADDR", H5T_NATIVE_HADDR));
+ nameToType.insert(std::pair<std::string, hid_t>("H5T_NATIVE_HSIZE", H5T_NATIVE_HSIZE));
+ nameToType.insert(std::pair<std::string, hid_t>("H5T_NATIVE_HSSIZE", H5T_NATIVE_HSSIZE));
+ nameToType.insert(std::pair<std::string, hid_t>("H5T_NATIVE_HERR", H5T_NATIVE_HERR));
+ nameToType.insert(std::pair<std::string, hid_t>("H5T_NATIVE_HBOOL", H5T_NATIVE_HBOOL));
+ nameToType.insert(std::pair<std::string, hid_t>("H5T_IEEE_F32BE", H5T_IEEE_F32BE));
+ nameToType.insert(std::pair<std::string, hid_t>("H5T_IEEE_F32LE", H5T_IEEE_F32LE));
+ nameToType.insert(std::pair<std::string, hid_t>("H5T_IEEE_F64BE", H5T_IEEE_F64BE));
+ nameToType.insert(std::pair<std::string, hid_t>("H5T_IEEE_F64LE", H5T_IEEE_F64LE));
+ nameToType.insert(std::pair<std::string, hid_t>("H5T_VAX_F32", H5T_VAX_F32));
+ nameToType.insert(std::pair<std::string, hid_t>("H5T_VAX_F64", H5T_VAX_F64));
+ nameToType.insert(std::pair<std::string, hid_t>("H5T_NATIVE_FLOAT", H5T_NATIVE_FLOAT));
+ nameToType.insert(std::pair<std::string, hid_t>("H5T_NATIVE_DOUBLE", H5T_NATIVE_DOUBLE));
+ nameToType.insert(std::pair<std::string, hid_t>("H5T_NATIVE_LDOUBLE", H5T_NATIVE_LDOUBLE));
+ nameToType.insert(std::pair<std::string, hid_t>("H5T_INTEL_F32", H5T_INTEL_F32));
+ nameToType.insert(std::pair<std::string, hid_t>("H5T_INTEL_F64", H5T_INTEL_F64));
+ nameToType.insert(std::pair<std::string, hid_t>("H5T_ALPHA_F32", H5T_ALPHA_F32));
+ nameToType.insert(std::pair<std::string, hid_t>("H5T_ALPHA_F64", H5T_ALPHA_F64));
+ nameToType.insert(std::pair<std::string, hid_t>("H5T_VAX_F32", H5T_VAX_F32));
+ nameToType.insert(std::pair<std::string, hid_t>("H5T_VAX_F64", H5T_VAX_F64));
+ nameToType.insert(std::pair<std::string, hid_t>("H5T_MIPS_F32", H5T_MIPS_F32));
+ nameToType.insert(std::pair<std::string, hid_t>("H5T_MIPS_F64", H5T_MIPS_F64));
+ nameToType.insert(std::pair<std::string, hid_t>("H5T_UNIX_D32BE", H5T_UNIX_D32BE));
+ nameToType.insert(std::pair<std::string, hid_t>("H5T_UNIX_D32LE", H5T_UNIX_D32LE));
+ nameToType.insert(std::pair<std::string, hid_t>("H5T_UNIX_D64BE", H5T_UNIX_D64BE));
+ nameToType.insert(std::pair<std::string, hid_t>("H5T_UNIX_D64LE", H5T_UNIX_D64LE));
+ nameToType.insert(std::pair<std::string, hid_t>("H5T_STD_B8BE", H5T_STD_B8BE));
+ nameToType.insert(std::pair<std::string, hid_t>("H5T_STD_B8LE", H5T_STD_B8LE));
+ nameToType.insert(std::pair<std::string, hid_t>("H5T_STD_B16BE", H5T_STD_B16BE));
+ nameToType.insert(std::pair<std::string, hid_t>("H5T_STD_B16LE", H5T_STD_B16LE));
+ nameToType.insert(std::pair<std::string, hid_t>("H5T_STD_B32BE", H5T_STD_B32BE));
+ nameToType.insert(std::pair<std::string, hid_t>("H5T_STD_B32LE", H5T_STD_B32LE));
+ nameToType.insert(std::pair<std::string, hid_t>("H5T_STD_B64BE", H5T_STD_B64BE));
+ nameToType.insert(std::pair<std::string, hid_t>("H5T_STD_B64LE", H5T_STD_B64LE));
+ nameToType.insert(std::pair<std::string, hid_t>("H5T_INTEL_B8", H5T_INTEL_B8));
+ nameToType.insert(std::pair<std::string, hid_t>("H5T_INTEL_B16", H5T_INTEL_B16));
+ nameToType.insert(std::pair<std::string, hid_t>("H5T_INTEL_B32", H5T_INTEL_B32));
+ nameToType.insert(std::pair<std::string, hid_t>("H5T_INTEL_B64", H5T_INTEL_B64));
+ nameToType.insert(std::pair<std::string, hid_t>("H5T_ALPHA_B8", H5T_ALPHA_B8));
+ nameToType.insert(std::pair<std::string, hid_t>("H5T_ALPHA_B16", H5T_ALPHA_B16));
+ nameToType.insert(std::pair<std::string, hid_t>("H5T_ALPHA_B32", H5T_ALPHA_B32));
+ nameToType.insert(std::pair<std::string, hid_t>("H5T_ALPHA_B64", H5T_ALPHA_B64));
+ nameToType.insert(std::pair<std::string, hid_t>("H5T_MIPS_B8", H5T_MIPS_B8));
+ nameToType.insert(std::pair<std::string, hid_t>("H5T_MIPS_B16", H5T_MIPS_B16));
+ nameToType.insert(std::pair<std::string, hid_t>("H5T_MIPS_B32", H5T_MIPS_B32));
+ nameToType.insert(std::pair<std::string, hid_t>("H5T_MIPS_B64", H5T_MIPS_B64));
+ nameToType.insert(std::pair<std::string, hid_t>("H5T_STD_REF_OBJ", H5T_STD_REF_OBJ));
+ /*
+ nameToType.insert(std::pair<std::string, hid_t>("H5T_UNIX_D32BE", H5T_UNIX_D32BE));
+ nameToType.insert(std::pair<std::string, hid_t>("H5T_UNIX_D32LE", H5T_UNIX_D32LE));
+ nameToType.insert(std::pair<std::string, hid_t>("H5T_UNIX_D64BE", H5T_UNIX_D64BE));
+ nameToType.insert(std::pair<std::string, hid_t>("H5T_UNIX_D64LE", H5T_UNIX_D64LE));
+ nameToType.insert(std::pair<std::string, hid_t>("H5T_STRING", H5T_STRING));
+ nameToType.insert(std::pair<std::string, hid_t>("H5T_OPAQUE", H5T_OPAQUE));
+ nameToType.insert(std::pair<std::string, hid_t>("H5T_COMPOUND", H5T_COMPOUND));
+ nameToType.insert(std::pair<std::string, hid_t>("H5T_ENUM", H5T_ENUM));
+ nameToType.insert(std::pair<std::string, hid_t>("H5T_VLEN", H5T_VLEN));
+ nameToType.insert(std::pair<std::string, hid_t>("H5T_ARRAY", H5T_ARRAY));
+ */
+
+ return nameToType;
+ }
+};
+}
+
+#endif // __H5TYPE_HXX__
diff --git a/modules/hdf5/src/cpp/H5TypesList.hxx b/modules/hdf5/src/cpp/H5TypesList.hxx
new file mode 100755
index 000000000..69d3fe379
--- /dev/null
+++ b/modules/hdf5/src/cpp/H5TypesList.hxx
@@ -0,0 +1,38 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2012 - Scilab Enterprises - Calixte DENIZET
+ *
+ * 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 __H5TYPESLIST_HXX__
+#define __H5TYPESLIST_HXX__
+
+#include "H5NamedObjectsList.hxx"
+#include "H5Type.hxx"
+
+namespace org_modules_hdf5
+{
+
+class H5Group;
+
+class H5TypesList : public H5NamedObjectsList<H5Type>
+{
+
+public :
+
+ H5TypesList(H5Group & _parent) : H5NamedObjectsList<H5Type>(_parent, H5O_TYPE_NAMED_DATATYPE, -1, "H5 Type") { }
+
+ ~H5TypesList()
+ {
+
+ }
+};
+}
+
+#endif // __H5TYPESLIST_HXX__
diff --git a/modules/hdf5/src/cpp/H5UnsignedCharData.hxx b/modules/hdf5/src/cpp/H5UnsignedCharData.hxx
new file mode 100755
index 000000000..b62b2182c
--- /dev/null
+++ b/modules/hdf5/src/cpp/H5UnsignedCharData.hxx
@@ -0,0 +1,43 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2012 - Scilab Enterprises - Calixte DENIZET
+ *
+ * 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 __H5UNSIGNEDCHARDATA_HXX__
+#define __H5UNSIGNEDCHARDATA_HXX__
+
+#include "H5Data.hxx"
+
+namespace org_modules_hdf5
+{
+
+class H5UnsignedCharData : public H5BasicData<unsigned char>
+{
+
+public:
+
+ H5UnsignedCharData(H5Object & _parent, const hsize_t _totalSize, const hsize_t _dataSize, const hsize_t _ndims, const hsize_t * _dims, unsigned char * _data, const hsize_t _stride, const size_t _offset, const bool _dataOwner) : H5BasicData<unsigned char>(_parent, _totalSize, _dataSize, _ndims, _dims, _data, _stride, _offset, _dataOwner)
+ {
+
+ }
+
+ virtual ~H5UnsignedCharData()
+ {
+
+ }
+
+ virtual void printData(std::ostream & os, const unsigned int pos, const unsigned int indentLevel) const
+ {
+ os << (int)static_cast<unsigned char *>(getData())[pos];
+ }
+};
+}
+
+#endif // __H5UNSIGNEDCHARDATA_HXX__
diff --git a/modules/hdf5/src/cpp/H5VariableScope.cpp b/modules/hdf5/src/cpp/H5VariableScope.cpp
new file mode 100755
index 000000000..9d8ac7873
--- /dev/null
+++ b/modules/hdf5/src/cpp/H5VariableScope.cpp
@@ -0,0 +1,84 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2012 - Scilab Enterprises - Calixte DENIZET
+ *
+ * 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 "H5VariableScope.hxx"
+#include "H5Object.hxx"
+
+namespace org_modules_hdf5
+{
+std::vector<H5Object *> & H5VariableScope::scope = *initScope();
+std::stack<int> & H5VariableScope::freePlaces = *new std::stack<int>();
+
+void H5VariableScope::clearScope()
+{
+ for (unsigned int i = 0; i < scope.size(); i++)
+ {
+ delete scope[i];
+ }
+
+ delete &scope;
+ scope = *initScope();
+
+ delete &freePlaces;
+ freePlaces = *new std::stack<int>();
+}
+
+int H5VariableScope::getVariableId(H5Object & obj)
+{
+ int ret;
+
+ if (!freePlaces.empty())
+ {
+ ret = freePlaces.top();
+ freePlaces.pop();
+ scope[ret] = &obj;
+ }
+ else
+ {
+ ret = (int)scope.size();
+ scope.push_back(&obj);
+ }
+
+ return ret;
+}
+
+H5Object * H5VariableScope::getVariableFromId(const int id)
+{
+ if (id >= 0 && id < (int)scope.size())
+ {
+ return scope[id];
+ }
+
+ return 0;
+}
+
+void H5VariableScope::removeIdAndDelete(const int id)
+{
+ if (id >= 0 && id < (int)scope.size() && scope[id])
+ {
+ H5Object * obj = scope[id];
+ scope[id] = 0;
+ freePlaces.push(id);
+ delete obj;
+ }
+}
+
+void H5VariableScope::removeId(const int id)
+{
+ if (id >= 0 && id < (int)scope.size() && scope[id])
+ {
+ scope[id] = 0;
+ freePlaces.push(id);
+ }
+}
+}
+
diff --git a/modules/hdf5/src/cpp/H5VariableScope.hxx b/modules/hdf5/src/cpp/H5VariableScope.hxx
new file mode 100755
index 000000000..7e7ee368e
--- /dev/null
+++ b/modules/hdf5/src/cpp/H5VariableScope.hxx
@@ -0,0 +1,50 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2012 - Scilab Enterprises - Calixte DENIZET
+ *
+ * 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 __H5VARIABLESCOPE_HXX__
+#define __H5VARIABLESCOPE_HXX__
+
+#include <stack>
+#include <vector>
+
+namespace org_modules_hdf5
+{
+
+class H5Object;
+
+class H5VariableScope
+{
+
+ static std::vector<H5Object *> & scope;
+ static std::stack<int> & freePlaces;
+
+public:
+
+ static int getVariableId(H5Object & obj);
+ static H5Object * getVariableFromId(const int id);
+ static void removeId(const int id);
+ static void removeIdAndDelete(const int id);
+ static void clearScope();
+
+private :
+
+ static std::vector<H5Object *> * initScope()
+ {
+ std::vector<H5Object *> * _scope = new std::vector<H5Object *>();
+ _scope->reserve(1024);
+
+ return _scope;
+ }
+};
+}
+
+#endif // __H5VARIABLESCOPE_HXX__
diff --git a/modules/hdf5/src/cpp/H5VlenData.cpp b/modules/hdf5/src/cpp/H5VlenData.cpp
new file mode 100755
index 000000000..eb59326ae
--- /dev/null
+++ b/modules/hdf5/src/cpp/H5VlenData.cpp
@@ -0,0 +1,128 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2012 - Scilab Enterprises - Calixte DENIZET
+ *
+ * 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 "H5VlenData.hxx"
+#include "H5DataFactory.hxx"
+
+namespace org_modules_hdf5
+{
+
+H5VlenData::H5VlenData(H5Object & _parent, const hsize_t _totalSize, const hsize_t _dataSize, const hsize_t _ndims, const hsize_t * _dims, char * _data, hid_t vlenType, const hsize_t _stride, const size_t _offset, const bool _dataOwner) : H5BasicData<char>(_parent, _totalSize, _dataSize, _ndims, _dims, _data, _stride, _offset, _dataOwner), cumprod(H5Object::getCumProd(_ndims, dims))
+{
+ type = H5Tget_super(vlenType);
+ baseSize = H5Tget_size(type);
+ if (H5Tget_class(type) == H5T_STRING && !H5Tis_variable_str(type))
+ {
+ // We have a C-string so it is null terminated
+ baseSize++;
+ }
+}
+
+H5VlenData::~H5VlenData()
+{
+ delete[] cumprod;
+ H5Tclose(type);
+}
+
+bool H5VlenData::isVlen() const
+{
+ return true;
+}
+
+H5Object & H5VlenData::getData(const unsigned int size, const unsigned int * index) const
+{
+ unsigned int pos = 0;
+ hsize_t * _dims;
+ hvl_t * x = 0;
+
+ for (unsigned int i = 0; i < size; i++)
+ {
+ pos += (int)cumprod[i] * index[i];
+ }
+
+ if (pos >= totalSize)
+ {
+ throw H5Exception(__LINE__, __FILE__, _("Invalid index."));
+ }
+
+ x = reinterpret_cast<hvl_t *>(static_cast<char *>(data) + offset + pos * (stride ? stride : dataSize));
+ _dims = new hsize_t[1];
+ *_dims = (hsize_t)x->len;
+
+ return H5DataFactory::getObjectData(*const_cast<H5VlenData *>(this), *_dims, baseSize, type, 1, _dims, x->p, 0, 0, false);
+}
+
+std::string H5VlenData::toString(const unsigned int indentLevel) const
+{
+ std::ostringstream os;
+ std::string indentString = H5Object::getIndentString(indentLevel + 1);
+
+ os << H5Object::getIndentString(indentLevel) << "HDF5 Variable length data" << std::endl
+ << indentString << _("Dimensions") << ": [";
+
+ if (ndims == 0)
+ {
+ os << "1 x 1]";
+ }
+ else if (ndims == 1)
+ {
+ os << "1 x " << dims[0] << "]";
+ }
+ else
+ {
+ for (unsigned int i = 0; i < ndims - 1; i++)
+ {
+ os << dims[i] << " x ";
+ }
+ os << dims[ndims - 1] << "]" << std::endl;
+ }
+
+ return os.str();
+}
+
+std::string H5VlenData::dump(std::map<haddr_t, std::string> & alreadyVisited, const unsigned int indentLevel) const
+{
+ return H5DataConverter::dump(alreadyVisited, indentLevel, (int)ndims, dims, *this, false);
+}
+
+void H5VlenData::printData(std::ostream & os, const unsigned int pos, const unsigned int indentLevel) const
+{
+ hvl_t * x = reinterpret_cast<hvl_t *>(static_cast<char *>(data) + offset + pos * (stride ? stride : dataSize));
+
+ if (!x || !x->p)
+ {
+ os << "()";
+ return;
+ }
+
+ hsize_t * _dims = new hsize_t[1];
+
+ *_dims = (hsize_t)x->len;
+ H5Data & hdata = H5DataFactory::getObjectData(*const_cast<H5VlenData *>(this), *_dims, baseSize, type, 1, _dims, x->p, 0, 0, false);
+
+ os << "(";
+ for (unsigned int i = 0; i < *_dims - 1; i++)
+ {
+ hdata.printData(os, i, indentLevel + 1);
+ os << ", ";
+ }
+ hdata.printData(os, (int)*_dims - 1, indentLevel + 1);
+ os << ")";
+
+ delete &hdata;
+}
+
+void H5VlenData::toScilab(void * pvApiCtx, const int lhsPosition, int * parentList, const int listPosition, const bool flip) const
+{
+ H5Object::toScilab(pvApiCtx, lhsPosition, parentList, listPosition, flip);
+}
+}
diff --git a/modules/hdf5/src/cpp/H5VlenData.hxx b/modules/hdf5/src/cpp/H5VlenData.hxx
new file mode 100755
index 000000000..6b13bbe91
--- /dev/null
+++ b/modules/hdf5/src/cpp/H5VlenData.hxx
@@ -0,0 +1,53 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2012 - Scilab Enterprises - Calixte DENIZET
+ *
+ * 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 __H5VLENDATA_HXX__
+#define __H5VLENDATA_HXX__
+
+#include "H5BasicData.hxx"
+
+namespace org_modules_hdf5
+{
+
+class H5VlenData : public H5BasicData<char>
+{
+
+ const hsize_t * cumprod;
+ hid_t type;
+ hsize_t baseSize;
+
+public:
+
+ H5VlenData(H5Object & _parent, const hsize_t _totalSize, const hsize_t _dataSize, const hsize_t _ndims, const hsize_t * _dims, char * _data, hid_t vlenType, const hsize_t stride, const size_t offset, const bool _dataOwner);
+
+ virtual ~H5VlenData();
+
+ virtual H5Object & getData(const unsigned int size, const unsigned int * index) const;
+
+ virtual bool isVlen() const;
+
+ virtual std::string toString(const unsigned int indentLevel) const;
+
+ virtual std::string dump(std::map<haddr_t, std::string> & alreadyVisited, const unsigned int indentLevel) const;
+
+ virtual void printData(std::ostream & os, const unsigned int pos, const unsigned int indentLevel) const;
+
+ virtual void toScilab(void * pvApiCtx, const int lhsPosition, int * parentList = 0, const int listPosition = 0, const bool flip = true) const;
+
+ virtual bool mustDelete() const
+ {
+ return false;
+ }
+};
+}
+
+#endif // __H5VLENDATA_HXX__
diff --git a/modules/hdf5/src/cpp/HDF5Scilab.cpp b/modules/hdf5/src/cpp/HDF5Scilab.cpp
new file mode 100755
index 000000000..d34ba2115
--- /dev/null
+++ b/modules/hdf5/src/cpp/HDF5Scilab.cpp
@@ -0,0 +1,1165 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2012 - Scilab Enterprises - Calixte DENIZET
+ *
+ * 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 "HDF5Scilab.hxx"
+
+namespace org_modules_hdf5
+{
+
+std::map<std::string, H5Object::FilterType> HDF5Scilab::filtersName = initFilterNames();
+
+std::map<std::string, H5Object::FilterType> HDF5Scilab::initFilterNames()
+{
+ std::map<std::string, H5Object::FilterType> ret;
+ ret.insert(std::pair<std::string, H5Object::FilterType>("group", H5Object::GROUP));
+ ret.insert(std::pair<std::string, H5Object::FilterType>("g", H5Object::GROUP));
+ ret.insert(std::pair<std::string, H5Object::FilterType>("dataset", H5Object::DATASET));
+ ret.insert(std::pair<std::string, H5Object::FilterType>("d", H5Object::DATASET));
+ ret.insert(std::pair<std::string, H5Object::FilterType>("type", H5Object::TYPE));
+ ret.insert(std::pair<std::string, H5Object::FilterType>("t", H5Object::TYPE));
+ ret.insert(std::pair<std::string, H5Object::FilterType>("attribute", H5Object::ATTRIBUTE));
+ ret.insert(std::pair<std::string, H5Object::FilterType>("a", H5Object::ATTRIBUTE));
+
+ return ret;
+}
+
+int HDF5Scilab::getH5ObjectId(int * mlist, void * pvApiCtx)
+{
+ int * id = 0;
+ int row, col;
+
+ SciErr err = getMatrixOfInteger32InList(pvApiCtx, mlist, 2, &row, &col, &id);
+
+ if (err.iErr)
+ {
+ throw H5Exception(__LINE__, __FILE__, _("Cannot get H5Object id"));
+ }
+
+ return *id;
+}
+
+H5Object * HDF5Scilab::getH5Object(int * mlist, void * pvApiCtx)
+{
+ int id = getH5ObjectId(mlist, pvApiCtx);
+ return H5VariableScope::getVariableFromId(id);
+}
+
+bool HDF5Scilab::isH5Object(int * mlist, void * pvApiCtx)
+{
+ char * mlist_type[2];
+ int type;
+ int rows, cols;
+ int lengths[2];
+
+ SciErr err = getVarType(pvApiCtx, mlist, &type);
+
+ if (err.iErr || type != sci_mlist)
+ {
+ return false;
+ }
+
+ err = getMatrixOfStringInList(pvApiCtx, mlist, 1, &rows, &cols, 0, 0);
+ if (err.iErr || rows != 1 || cols != 2)
+ {
+ return false;
+ }
+
+ err = getMatrixOfStringInList(pvApiCtx, mlist, 1, &rows, &cols, lengths, 0);
+ if (err.iErr)
+ {
+ return false;
+ }
+
+ for (int i = 0; i < 2; i++)
+ {
+ mlist_type[i] = new char[lengths[i] + 1];
+ }
+
+ err = getMatrixOfStringInList(pvApiCtx, mlist, 1, &rows, &cols, lengths, mlist_type);
+ if (err.iErr)
+ {
+ return false;
+ }
+
+ bool ret = !strcmp(mlist_type[0], __SCILAB_MLIST_H5OBJECT__) && !strcmp(mlist_type[1], "_id");
+
+ for (int i = 0; i < 2; i++)
+ {
+ delete[] mlist_type[i];
+ }
+
+ return ret;
+}
+
+void HDF5Scilab::scilabPrint(const std::string & str)
+{
+ std::string::size_type lastPos = str.find_first_not_of('\n', 0);
+ std::string::size_type pos = str.find_first_of('\n', lastPos);
+
+ while (std::string::npos != pos || std::string::npos != lastPos)
+ {
+ sciprint("%s\n", str.substr(lastPos, pos - lastPos).c_str());
+ lastPos = str.find_first_not_of('\n', pos);
+ pos = str.find_first_of('\n', lastPos);
+ }
+}
+
+void HDF5Scilab::split(const std::string & str, std::vector<std::string> & v, const char c)
+{
+ std::string::size_type lastPos = str.find_first_not_of(c, 0);
+ std::string::size_type pos = str.find_first_of(c, lastPos);
+
+ while (std::string::npos != pos || std::string::npos != lastPos)
+ {
+ v.push_back(str.substr(lastPos, pos - lastPos));
+ lastPos = str.find_first_not_of(c, pos);
+ pos = str.find_first_of(c, lastPos);
+ }
+}
+
+void HDF5Scilab::readAttributeData(H5Object & obj, const std::string & path, const std::string & attrName, int pos, void * pvApiCtx)
+{
+ H5Object * hobj = &obj;
+
+ if (path != ".")
+ {
+ hobj = &H5Object::getObject(obj, path);
+ }
+
+ H5Attribute * attr = new H5Attribute(*hobj, attrName);
+ attr->getData().toScilab(pvApiCtx, pos, 0, 0, H5Options::isReadFlip());
+
+ if (path != ".")
+ {
+ delete hobj;
+ }
+ else
+ {
+ delete attr;
+ }
+}
+
+void HDF5Scilab::readAttributeData(const std::string & filename, const std::string & path, const std::string & attrName, int pos, void * pvApiCtx)
+{
+ H5File * file = new H5File(filename, "/", "r");
+
+ try
+ {
+ readAttributeData(*file, path, attrName, pos, pvApiCtx);
+ }
+ catch (const H5Exception & /*e*/)
+ {
+ delete file;
+ throw;
+ }
+
+ delete file;
+}
+
+void HDF5Scilab::readData(const std::string & filename, const std::string & name, const unsigned int size, const double * start, const double * stride, const double * count, const double * block, int pos, void * pvApiCtx)
+{
+ H5File * file = new H5File(filename, "/", "r");
+
+ try
+ {
+ readData(*file, name, size, start, stride, count, block, pos, pvApiCtx);
+ }
+ catch (const H5Exception & /*e*/)
+ {
+ delete file;
+ throw;
+ }
+
+ delete file;
+}
+
+void HDF5Scilab::readData(H5Object & obj, const std::string & name, const unsigned int size, const double * start, const double * stride, const double * count, const double * block, int pos, void * pvApiCtx)
+{
+ H5Object * hobj = &obj;
+ hsize_t * dims = 0;
+
+ if (!H5Object::isEmptyPath(name))
+ {
+ hobj = &H5Object::getObject(obj, name);
+ }
+
+ try
+ {
+ if (hobj->isDataset())
+ {
+ H5Dataset * dataset = reinterpret_cast<H5Dataset *>(hobj);
+ H5Dataspace & space = dataset->getSpace();
+ H5Data * data = 0;
+ try
+ {
+ dims = space.select(size, start, stride, count, block);
+ data = &dataset->getData(space, dims);
+ data->toScilab(pvApiCtx, pos, 0, 0, H5Options::isReadFlip());
+ }
+ catch (const H5Exception & /*e*/)
+ {
+ if (data)
+ {
+ delete data;
+ }
+ delete &space;
+ throw;
+ }
+
+ if (data->mustDelete())
+ {
+ delete data;
+ }
+ else if (!H5Object::isEmptyPath(name))
+ {
+ hobj->unregisterChild(data);
+ }
+ }
+ else
+ {
+ throw H5Exception(__LINE__, __FILE__, _("Invalid object: not a dataset."));
+ }
+ }
+ catch (const H5Exception & /*e*/)
+ {
+ if (!H5Object::isEmptyPath(name))
+ {
+ delete hobj;
+ }
+ if (dims)
+ {
+ delete[] dims;
+ }
+ throw;
+ }
+
+ if (!H5Object::isEmptyPath(name))
+ {
+ delete hobj;
+ }
+ if (dims)
+ {
+ delete[] dims;
+ }
+}
+
+void HDF5Scilab::deleteObject(const std::string & file, const std::string & name)
+{
+ const H5File * _file = new H5File(file, "/", "r+");
+
+ try
+ {
+ deleteObject(*_file, name);
+ delete _file;
+ }
+ catch (const H5Exception & /*e*/)
+ {
+ delete _file;
+ }
+}
+
+void HDF5Scilab::deleteObject(const std::string & file, const int size, const char ** names)
+{
+ const H5File * _file = new H5File(file, "/", "r+");
+
+ try
+ {
+ deleteObject(*_file, size, names);
+ delete _file;
+ }
+ catch (const H5Exception & /*e*/)
+ {
+ delete _file;
+ }
+}
+
+void HDF5Scilab::deleteObject(const H5Object & parent, const std::string & name)
+{
+ const char * _name = name.c_str();
+ deleteObject(parent, 1, &_name);
+}
+
+void HDF5Scilab::deleteObject(const H5Object & parent, const int size, const char ** names)
+{
+ herr_t err;
+ hid_t loc = parent.getH5Id();
+
+ for (unsigned int i = 0; i < (unsigned int)size; i++)
+ {
+ const char * _name = names[i];
+
+ if (H5Object::isEmptyPath(_name))
+ {
+ if (parent.isFile())
+ {
+ throw H5Exception(__LINE__, __FILE__, _("Cannot remove a file."));
+ }
+ else
+ {
+ _name = parent.getName().c_str();
+ loc = parent.getParent().getH5Id();
+ }
+ }
+
+ if (_name[0] == '/' && _name[1] == '\0')
+ {
+ throw H5Exception(__LINE__, __FILE__, _("Cannot remove root element."));
+ }
+
+ if (H5Lexists(loc, _name, H5P_DEFAULT) <= 0)
+ {
+ if (H5Aexists(loc, _name) <= 0)
+ {
+ throw H5Exception(__LINE__, __FILE__, _("The name doesn't exist: %s."), _name);
+ }
+
+ err = H5Adelete(loc, _name);
+ if (err < 0)
+ {
+ throw H5Exception(__LINE__, __FILE__, _("Cannot remove the attribute: %s."), _name);
+ }
+
+ continue;
+ }
+
+ err = H5Ldelete(loc, _name, H5P_DEFAULT);
+ if (err < 0)
+ {
+ throw H5Exception(__LINE__, __FILE__, _("Cannot remove the link: %s."), _name);
+ }
+ }
+}
+
+void HDF5Scilab::getObject(H5Object & parent, const std::string & location, const bool isAttr, int position, void * pvApiCtx)
+{
+ H5Object * obj = 0;
+ try
+ {
+ obj = &H5Object::getObject(parent, location, isAttr);
+ }
+ catch (const H5Exception & /*e*/)
+ {
+ H5BasicData<double>::create(pvApiCtx, position, 0, 0, (double *)0, 0, 0);
+ return;
+ }
+
+ try
+ {
+ obj->createOnScilabStack(position, pvApiCtx);
+ }
+ catch (const H5Exception & /*e*/)
+ {
+ delete obj;
+ throw;
+ }
+}
+
+void HDF5Scilab::createLink(H5Object & parent, const std::string & name, const std::string & targetPath, const bool hard)
+{
+ herr_t err;
+ if (H5Lexists(parent.getH5Id(), name.c_str(), H5P_DEFAULT) > 0)
+ {
+ throw H5Exception(__LINE__, __FILE__, _("The link already exists: %s."), name.c_str());
+ }
+
+ if (hard)
+ {
+ err = H5Lcreate_hard(parent.getFile().getH5Id(), targetPath.c_str(), parent.getH5Id(), name.c_str(), H5P_DEFAULT, H5P_DEFAULT);
+ }
+ else
+ {
+ err = H5Lcreate_soft(targetPath.c_str(), parent.getH5Id(), name.c_str(), H5P_DEFAULT, H5P_DEFAULT);
+ }
+
+ if (err < 0)
+ {
+ if (hard)
+ {
+ throw H5Exception(__LINE__, __FILE__, _("Cannot create the hard link: %s."), name.c_str());
+ }
+ else
+ {
+ throw H5Exception(__LINE__, __FILE__, _("Cannot create the soft link: %s."), name.c_str());
+ }
+ }
+}
+
+void HDF5Scilab::createLink(H5Object & parent, const std::string & name, H5Object & targetObject, const bool hard)
+{
+ if (parent.getFile().getFileName() == targetObject.getFile().getFileName())
+ {
+ createLink(parent, name, targetObject.getCompletePath(), hard);
+ }
+ else
+ {
+ if (hard)
+ {
+ throw H5Exception(__LINE__, __FILE__, _("Cannot create a hard link to the external object: %s."), name.c_str());
+ }
+ createLink(parent, name, targetObject);
+ }
+}
+
+void HDF5Scilab::createLink(H5Object & parent, const std::string & name, const std::string & targetFile, const std::string & targetPath)
+{
+ herr_t err;
+ if (H5Lexists(parent.getH5Id(), name.c_str(), H5P_DEFAULT) > 0)
+ {
+ throw H5Exception(__LINE__, __FILE__, _("The link already exists: %s."), name.c_str());
+ }
+
+ err = H5Lcreate_external(targetFile.c_str(), targetPath.c_str(), parent.getH5Id(), name.c_str(), H5P_DEFAULT, H5P_DEFAULT);
+ if (err < 0)
+ {
+ throw H5Exception(__LINE__, __FILE__, _("Cannot create the external link: %s."), name.c_str());
+ }
+}
+
+void HDF5Scilab::createLink(H5Object & parent, const std::string & name, H5Object & targetObject)
+{
+ createLink(parent, name, targetObject.getFile().getFileName(), targetObject.getCompletePath());
+}
+
+void HDF5Scilab::createLink(const std::string & file, const std::string & location, const std::string & name, const std::string & destName, const bool hard)
+{
+ H5File * _file = new H5File(file, location, "r+");
+
+ try
+ {
+ createLink(*_file, name, destName, hard);
+ }
+ catch (const H5Exception & /*e*/)
+ {
+ delete _file;
+ throw;
+ }
+
+ delete _file;
+}
+
+void HDF5Scilab::createLink(const std::string & file, const std::string & location, const std::string & name, const std::string & destFile, const std::string & destName)
+{
+ H5File * _file = new H5File(file, location, "r+");
+
+ try
+ {
+ createLink(_file->getRoot(), name, destFile, destName);
+ }
+ catch (const H5Exception & /*e*/)
+ {
+ delete _file;
+ throw;
+ }
+
+ delete _file;
+}
+
+void HDF5Scilab::copy(H5Object & src, const std::string & slocation, H5Object & dest, const std::string & dlocation)
+{
+ H5Object * sobj = &src;
+ H5Object * dobj = &dest;
+ std::string name;
+ herr_t err;
+
+ if (H5Object::isEmptyPath(dlocation))
+ {
+ std::string bname = sobj->getBaseName();
+ if (slocation.empty())
+ {
+ name = bname;
+ }
+ else
+ {
+ std::string::size_type pos = slocation.find_last_of('/');
+ if (pos == std::string::npos)
+ {
+ name = slocation;
+ }
+ else
+ {
+ name = slocation.substr(pos + 1);
+ }
+ }
+ }
+ else
+ {
+ name = dlocation;
+ }
+
+ //src.getFile().flush(true);
+
+ if (sobj->isAttribute())
+ {
+ H5Attribute * attr = reinterpret_cast<H5Attribute *>(sobj);
+ try
+ {
+ attr->copy(*dobj, name);
+ return;
+ }
+ catch (const H5Exception & /*e*/)
+ {
+ throw;
+ }
+ }
+ else
+ {
+ err = H5Ocopy(sobj->getH5Id(), slocation.empty() ? "." : slocation.c_str(), dobj->getH5Id(), name.c_str(), H5P_DEFAULT, H5P_DEFAULT);
+ }
+
+ if (err < 0)
+ {
+ throw H5Exception(__LINE__, __FILE__, _("Cannot copy object."));
+ }
+}
+
+void HDF5Scilab::copy(H5Object & src, const std::string & slocation, const std::string & dfile, const std::string & dlocation)
+{
+ H5File * dest = new H5File(dfile, "/", "r+");
+
+ try
+ {
+ copy(src, slocation, *dest, dlocation);
+ delete dest;
+ }
+ catch (const H5Exception & /*e*/)
+ {
+ delete dest;
+ throw;
+ }
+}
+
+void HDF5Scilab::copy(const std::string & sfile, const std::string & slocation, H5Object & dest, const std::string & dlocation)
+{
+ H5File * src = new H5File(sfile, "/", "r");
+
+ try
+ {
+ copy(*src, slocation, dest, dlocation);
+ delete src;
+ }
+ catch (const H5Exception & /*e*/)
+ {
+ delete src;
+ throw;
+ }
+}
+
+void HDF5Scilab::copy(const std::string & sfile, const std::string & slocation, const std::string & dfile, const std::string & dlocation)
+{
+ H5File * src = new H5File(sfile, "/", "r");
+ H5File * dest;
+
+ try
+ {
+ dest = new H5File(dfile, "/");
+ }
+ catch (const H5Exception & /*e*/)
+ {
+ delete src;
+ throw;
+ }
+
+ try
+ {
+ copy(*src, slocation, *dest, dlocation);
+ delete src;
+ delete dest;
+ }
+ catch (const H5Exception & /*e*/)
+ {
+ delete src;
+ delete dest;
+ throw;
+ }
+}
+
+void HDF5Scilab::ls(H5Object & obj, const std::string & name, int position, void * pvApiCtx)
+{
+ std::vector<std::string> _name;
+ std::vector<std::string> _type;
+ std::vector<const char *> strs;
+ H5Object & hobj = H5Object::isEmptyPath(name) ? obj : H5Object::getObject(obj, name);
+
+ hobj.ls(_name, _type);
+
+ if (_name.size() == 0)
+ {
+ H5BasicData<char *>::create(pvApiCtx, position, 0, 0, "", 0, 0);
+ }
+ else
+ {
+ strs.reserve(_name.size() * 2);
+ for (unsigned int i = 0; i < _name.size(); i++)
+ {
+ strs.push_back(_name[i].c_str());
+ }
+ for (unsigned int i = 0; i < _type.size(); i++)
+ {
+ strs.push_back(_type[i].c_str());
+ }
+
+ if (!H5Object::isEmptyPath(name))
+ {
+ delete &hobj;
+ }
+
+ H5BasicData<char *>::create(pvApiCtx, position, (int)_name.size(), 2, const_cast<char **>(&(strs[0])), 0, 0);
+ }
+}
+
+void HDF5Scilab::ls(const std::string & path, const std::string & name, int position, void * pvApiCtx)
+{
+ H5File * file = new H5File(path, "/", "r");
+
+ try
+ {
+ ls(*file, name, position, pvApiCtx);
+ }
+ catch (const H5Exception & /*e*/)
+ {
+ delete file;
+ throw;
+ }
+
+ delete file;
+}
+
+void HDF5Scilab::ls(H5Object & obj, const std::string & name, const std::string & type, int position, void * pvApiCtx)
+{
+ std::vector<std::string> _name;
+ std::vector<const char *> strs;
+ std::string lower(type);
+ std::transform(type.begin(), type.end(), lower.begin(), tolower);
+ std::map<std::string, H5Object::FilterType>::iterator it = filtersName.find(lower);
+ H5Object::FilterType ftype;
+ if (it != filtersName.end())
+ {
+ ftype = it->second;
+ }
+ else
+ {
+ throw H5Exception(__LINE__, __FILE__, _("Invalid filter"));
+ }
+
+ H5Object & hobj = H5Object::isEmptyPath(name) ? obj : H5Object::getObject(obj, name);
+
+
+ hobj.ls(_name, ftype);
+ if (_name.size() == 0)
+ {
+ H5BasicData<char *>::create(pvApiCtx, position, 0, 0, "", 0, 0);
+ }
+ else
+ {
+ strs.reserve(_name.size());
+ for (unsigned int i = 0; i < _name.size(); i++)
+ {
+ strs.push_back(_name[i].c_str());
+ }
+
+ if (!H5Object::isEmptyPath(name))
+ {
+ delete &hobj;
+ }
+
+ H5BasicData<char *>::create(pvApiCtx, position, (int)_name.size(), 1, const_cast<char **>(&(strs[0])), 0, 0);
+ }
+}
+
+void HDF5Scilab::ls(const std::string & path, const std::string & name, const std::string & type, int position, void * pvApiCtx)
+{
+ H5File * file = new H5File(path, "/", "r");
+
+ try
+ {
+ ls(*file, name, type, position, pvApiCtx);
+ }
+ catch (const H5Exception & /*e*/)
+ {
+ delete file;
+ throw;
+ }
+
+ delete file;
+}
+
+
+void HDF5Scilab::createGroup(H5Object & parent, const std::string & name)
+{
+ H5Group::createGroup(parent, name);
+}
+
+void HDF5Scilab::createGroup(const std::string & file, const std::string & name)
+{
+ H5File * _file = new H5File(file, "/", "r+");
+
+ try
+ {
+ createGroup(*_file, name);
+ }
+ catch (const H5Exception & /*e*/)
+ {
+ delete _file;
+ throw;
+ }
+
+ delete _file;
+}
+
+void HDF5Scilab::createGroup(H5Object & parent, const int size, const char ** names)
+{
+ H5Group::createGroup(parent, size, names);
+}
+
+void HDF5Scilab::createGroup(const std::string & file, const int size, const char ** names)
+{
+ H5File * _file = new H5File(file, "/", "r+");
+
+ try
+ {
+ createGroup(*_file, size, names);
+ }
+ catch (const H5Exception & /*e*/)
+ {
+ delete _file;
+ throw;
+ }
+
+ delete _file;
+}
+
+void HDF5Scilab::label(const std::string & filename, const std::string & location, const unsigned int size, const unsigned int * dim, const char ** names)
+{
+ H5File * file = new H5File(filename, "/", "r+");
+
+ try
+ {
+ label(*file, location, size, dim, names);
+ }
+ catch (const H5Exception & /*e*/)
+ {
+ delete file;
+ throw;
+ }
+
+ delete file;
+}
+
+void HDF5Scilab::label(H5Object & obj, const std::string & location, const unsigned int size, const unsigned int * dim, const char ** names)
+{
+ H5Object & hobj = H5Object::isEmptyPath(location) ? obj : H5Object::getObject(obj, location);
+ if (hobj.isDataset())
+ {
+ try
+ {
+ reinterpret_cast<H5Dataset *>(&hobj)->label(size, dim, names);
+ }
+ catch (const H5Exception & /*e*/)
+ {
+ if (!H5Object::isEmptyPath(location))
+ {
+ delete &hobj;
+ }
+ }
+ }
+ else
+ {
+ if (!H5Object::isEmptyPath(location))
+ {
+ delete &hobj;
+ }
+ throw H5Exception(__LINE__, __FILE__, _("Can only label a dataset"));
+ }
+
+ if (!H5Object::isEmptyPath(location))
+ {
+ delete &hobj;
+ }
+}
+
+int * HDF5Scilab::exists(H5Object & obj, const unsigned int size, const char ** locations, const char ** attrNames)
+{
+ const hid_t loc = obj.getH5Id();
+ const bool isfile = obj.isFile();
+ int * res = new int[size];
+
+ if (attrNames)
+ {
+ if ((isfile && (!strcmp(*locations, "/") || !strcmp(*locations, ".") || **locations == '\0')) || H5Lexists(loc, *locations, H5P_DEFAULT) > 0)
+ {
+ const hid_t _loc = H5Oopen(loc, *locations, H5P_DEFAULT);
+ if (_loc < 0)
+ {
+ memset(res, 0, sizeof(int) * size);
+ return res;
+ }
+
+ for (unsigned int i = 0; i < size; i++)
+ {
+ res[i] = H5Aexists(_loc, attrNames[i]) > 0 ? 1 : 0;
+ }
+ H5Oclose(_loc);
+ }
+ }
+ else
+ {
+ for (unsigned int i = 0; i < size; i++)
+ {
+ res[i] = ((isfile && (!strcmp(locations[i], "/") || !strcmp(locations[i], ".") || *(locations[i]) == '\0')) || H5Lexists(loc, locations[i], H5P_DEFAULT) > 0) ? 1 : 0;
+ }
+ }
+
+ return res;
+}
+
+int * HDF5Scilab::exists(const std::string & filename, const unsigned int size, const char ** locations, const char ** attrNames)
+{
+ H5File * file = new H5File(filename, "/", "r");
+ int * ret = exists(*file, size, locations, attrNames);
+ delete file;
+
+ return ret;
+}
+
+bool HDF5Scilab::checkType(const H5Object & obj, const H5ObjectType type)
+{
+ switch (type)
+ {
+ case H5FILE:
+ return obj.isFile();
+ case H5GROUP:
+ return obj.isGroup();
+ case H5DATASET:
+ return obj.isDataset();
+ case H5ATTRIBUTE:
+ return obj.isAttribute();
+ case H5SPACE:
+ return obj.isDataspace();
+ case H5TYPE:
+ return obj.isType();
+ case H5REFERENCE:
+ return obj.isReference();
+ case H5LIST:
+ return obj.isList();
+ case H5COMPOUND:
+ return obj.isCompound();
+ case H5ARRAY:
+ return obj.isArray();
+ case H5VLEN:
+ return obj.isVlen();
+ default:
+ return false;
+ }
+}
+
+void HDF5Scilab::mount(H5Object & obj, const std::string & location, H5Object & file)
+{
+ herr_t err;
+
+ if (!file.isFile())
+ {
+ throw H5Exception(__LINE__, __FILE__, _("Target object is not a file"));
+ }
+
+ if (location.empty())
+ {
+ throw H5Exception(__LINE__, __FILE__, _("Invalid location"));
+ }
+
+ if (H5Lexists(obj.getH5Id(), location.c_str(), H5P_DEFAULT) <= 0)
+ {
+ throw H5Exception(__LINE__, __FILE__, _("Invalid location: %s"), location.c_str());
+ }
+
+ err = H5Fmount(obj.getH5Id(), location.c_str(), file.getH5Id(), H5P_DEFAULT);
+ if (err < 0)
+ {
+ throw H5Exception(__LINE__, __FILE__, _("Cannot mount the file: %s"), file.getFile().getFileName().c_str());
+ }
+}
+
+void HDF5Scilab::umount(H5Object & obj, const std::string & location)
+{
+ herr_t err;
+ if (location.empty())
+ {
+ throw H5Exception(__LINE__, __FILE__, _("Invalid location"));
+ }
+
+ err = H5Funmount(obj.getH5Id(), location.c_str());
+ if (err < 0)
+ {
+ throw H5Exception(__LINE__, __FILE__, _("Cannot unmount the file at location: %s"), location.c_str());
+ }
+}
+
+void HDF5Scilab::getScilabData(hid_t * type, unsigned int * ndims, hsize_t ** dims, void ** data, bool * mustDelete, bool * mustDeleteContent, const bool flip, int rhsPosition, void * pvApiCtx)
+{
+ SciErr err;
+ int * addr = 0;
+
+ err = getVarAddressFromPosition(pvApiCtx, rhsPosition, &addr);
+ if (err.iErr)
+ {
+ throw H5Exception(__LINE__, __FILE__, _("Can not read input argument #%d."), rhsPosition);
+ }
+
+ getScilabData(type, ndims, dims, data, mustDelete, mustDeleteContent, flip, addr, rhsPosition, pvApiCtx);
+}
+
+void HDF5Scilab::getScilabData(hid_t * type, unsigned int * ndims, hsize_t ** dims, void ** data, bool * mustDelete, bool * mustDeleteContent, const bool flip, int * addr, int rhsPosition, void * pvApiCtx)
+{
+ SciErr err;
+ int row;
+ int col;
+ int _type;
+
+ *mustDelete = false;
+ *mustDeleteContent = false;
+
+ err = getVarType(pvApiCtx, addr, &_type);
+ if (err.iErr)
+ {
+ throw H5Exception(__LINE__, __FILE__, _("Can not get the type of input argument #%d."), rhsPosition);
+ }
+
+ switch (_type)
+ {
+ case sci_matrix :
+ {
+ if (isVarComplex(pvApiCtx, addr))
+ {
+ doublecomplex * mat = 0;
+ double * re = 0;
+ double * im = 0;
+ hid_t complex_id = H5Tcreate(H5T_COMPOUND, sizeof(doublecomplex));
+ H5Tinsert(complex_id, "real", offsetof(doublecomplex, r), H5T_NATIVE_DOUBLE);
+ H5Tinsert(complex_id, "imag", offsetof(doublecomplex, i), H5T_NATIVE_DOUBLE);
+
+ err = getComplexMatrixOfDouble(pvApiCtx, addr, &row, &col, &re, &im);
+ if (err.iErr)
+ {
+ H5Tclose(complex_id);
+ throw H5Exception(__LINE__, __FILE__, _("%s: Can not read input argument #%d."), rhsPosition);
+ }
+
+ mat = new doublecomplex[row * col];
+ for (int i = 0; i < row * col; i++)
+ {
+ mat[i].r = re[i];
+ mat[i].i = im[i];
+ }
+
+ *type = complex_id;
+ *ndims = 2;
+ *dims = new hsize_t[*ndims];
+ (*dims)[0] = flip ? col : row;
+ (*dims)[1] = flip ? row : col;
+ *data = mat;
+ *mustDelete = true;
+ }
+ else
+ {
+ double * mat = 0;
+ err = getMatrixOfDouble(pvApiCtx, addr, &row, &col, &mat);
+ if (err.iErr)
+ {
+ throw H5Exception(__LINE__, __FILE__, _("%s: Can not read input argument #%d."), rhsPosition);
+ }
+ *type = H5Type::getBaseType(mat);
+ *ndims = 2;
+ *dims = new hsize_t[*ndims];
+ (*dims)[0] = flip ? col : row;
+ (*dims)[1] = flip ? row : col;
+ *data = mat;
+ }
+ break;
+ }
+ case sci_ints :
+ {
+ int prec = 0;
+ void * ints = 0;
+
+ err = getMatrixOfIntegerPrecision(pvApiCtx, addr, &prec);
+ if (err.iErr)
+ {
+ throw H5Exception(__LINE__, __FILE__, _("%s: Can not read input argument #%d."), rhsPosition);
+ }
+
+ switch (prec)
+ {
+ case SCI_INT8 :
+ err = getMatrixOfInteger8(pvApiCtx, addr, &row, &col, (char **)(&ints));
+ if (err.iErr)
+ {
+ throw H5Exception(__LINE__, __FILE__, _("%s: Can not read input argument #%d."), rhsPosition);
+ }
+ *type = H5Type::getBaseType((char *)ints);
+ break;
+ case SCI_UINT8 :
+ err = getMatrixOfUnsignedInteger8(pvApiCtx, addr, &row, &col, (unsigned char **)(&ints));
+ if (err.iErr)
+ {
+ throw H5Exception(__LINE__, __FILE__, _("%s: Can not read input argument #%d."), rhsPosition);
+ }
+ *type = H5Type::getBaseType((unsigned char *)ints);
+ break;
+ case SCI_INT16 :
+ err = getMatrixOfInteger16(pvApiCtx, addr, &row, &col, (short **)(&ints));
+ if (err.iErr)
+ {
+ throw H5Exception(__LINE__, __FILE__, _("%s: Can not read input argument #%d."), rhsPosition);
+ }
+ *type = H5Type::getBaseType((short *)ints);
+ break;
+ case SCI_UINT16 :
+ err = getMatrixOfUnsignedInteger16(pvApiCtx, addr, &row, &col, (unsigned short **)(&ints));
+ if (err.iErr)
+ {
+ throw H5Exception(__LINE__, __FILE__, _("%s: Can not read input argument #%d."), rhsPosition);
+ }
+ *type = H5Type::getBaseType((unsigned short *)ints);
+ break;
+ case SCI_INT32 :
+ err = getMatrixOfInteger32(pvApiCtx, addr, &row, &col, (int**)(&ints));
+ if (err.iErr)
+ {
+ throw H5Exception(__LINE__, __FILE__, _("%s: Can not read input argument #%d."), rhsPosition);
+ }
+ *type = H5Type::getBaseType((int *)ints);
+ break;
+ case SCI_UINT32 :
+ err = getMatrixOfUnsignedInteger32(pvApiCtx, addr, &row, &col, (unsigned int **)(&ints));
+ if (err.iErr)
+ {
+ throw H5Exception(__LINE__, __FILE__, _("%s: Can not read input argument #%d."), rhsPosition);
+ }
+ *type = H5Type::getBaseType((unsigned int *)ints);
+ break;
+
+#ifdef __SCILAB_INT64__
+ case SCI_INT64 :
+ err = getMatrixOfInteger64(pvApiCtx, addr, &row, &col, (long long **)(&ints));
+ if (err.iErr)
+ {
+ throw H5Exception(__LINE__, __FILE__, _("%s: Can not read input argument #%d."), rhsPosition);
+ }
+ *type = H5Type::getBaseType((long long *)ints);
+ break;
+ case SCI_UINT64 :
+ err = getMatrixOfUnsignedInteger64(pvApiCtx, addr, &row, &col, (unsigned long long **)(&ints));
+ if (err.iErr)
+ {
+ throw H5Exception(__LINE__, __FILE__, _("%s: Can not read input argument #%d."), rhsPosition);
+ }
+ *type = H5Type::getBaseType((unsigned long long *)ints);
+ break;
+#endif
+ }
+
+ *ndims = 2;
+ *dims = new hsize_t[*ndims];
+ (*dims)[0] = flip ? col : row;
+ (*dims)[1] = flip ? row : col;
+ *data = ints;
+ break;
+ }
+ case sci_strings :
+ {
+ char ** matS = 0;
+ if (getAllocatedMatrixOfString(pvApiCtx, addr, &row, &col, &matS))
+ {
+ throw H5Exception(__LINE__, __FILE__, _("%s: Can not read input argument #%d."), rhsPosition);
+ }
+ *type = H5Type::getBaseType((char **)matS);
+ *ndims = 2;
+ *dims = new hsize_t[*ndims];
+ (*dims)[0] = flip ? col : row;
+ (*dims)[1] = flip ? row : col;
+ *data = matS;
+ *mustDelete = true;
+ *mustDeleteContent = true;
+ break;
+ }
+ case sci_boolean :
+ {
+ int * matB;
+
+ err = getMatrixOfBoolean(pvApiCtx, addr, &row, &col, &matB);
+ if (err.iErr)
+ {
+ throw H5Exception(__LINE__, __FILE__, _("%s: Can not read input argument #%d."), rhsPosition);
+ }
+ *type = H5Type::getBaseType((int *)matB);
+ *ndims = 2;
+ *dims = new hsize_t[*ndims];
+ (*dims)[0] = flip ? col : row;
+ (*dims)[1] = flip ? row : col;
+ *data = matB;
+ break;
+ }
+ case sci_mlist :
+ {
+ if (isHypermatType(pvApiCtx, addr))
+ {
+ int * entries = 0;
+ int * _dims = 0;
+ int _ndims;
+
+ err = getHypermatEntries(pvApiCtx, addr, &entries);
+ if (err.iErr)
+ {
+ throw H5Exception(__LINE__, __FILE__, _("%s: Can not read input argument #%d."), rhsPosition);
+ }
+
+ getScilabData(type, ndims, dims, data, mustDelete, mustDeleteContent, flip, entries, rhsPosition, pvApiCtx);
+ if (*dims)
+ {
+ delete[] *dims;
+ }
+
+ err = getHypermatDimensions(pvApiCtx, addr, &_dims, &_ndims);
+ if (err.iErr)
+ {
+ throw H5Exception(__LINE__, __FILE__, _("%s: Can not read input argument #%d."), rhsPosition);
+ }
+
+ *dims = new hsize_t[_ndims];
+ if (flip)
+ {
+ for (int i = 0; i < _ndims; i++)
+ {
+ (*dims)[i] = _dims[_ndims - 1 - i];
+ }
+ }
+ else
+ {
+ for (int i = 0; i < _ndims; i++)
+ {
+ (*dims)[i] = _dims[i];
+ }
+ }
+ *ndims = _ndims;
+ }
+ else
+ {
+ throw H5Exception(__LINE__, __FILE__, _("%s: Datatype not handled for now."));
+ }
+ break;
+ }
+ default :
+ {
+ throw H5Exception(__LINE__, __FILE__, _("%s: Datatype not handled for now."));
+ }
+ }
+}
+}
diff --git a/modules/hdf5/src/cpp/HDF5Scilab.hxx b/modules/hdf5/src/cpp/HDF5Scilab.hxx
new file mode 100755
index 000000000..a0a27056b
--- /dev/null
+++ b/modules/hdf5/src/cpp/HDF5Scilab.hxx
@@ -0,0 +1,526 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2012 - Scilab Enterprises - Calixte DENIZET
+ *
+ * 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 __HDF5SCILAB_HXX__
+#define __HDF5SCILAB_HXX__
+
+#include <vector>
+#include <map>
+
+#include "H5Options.hxx"
+#include "H5Object.hxx"
+#include "H5File.hxx"
+#include "H5Group.hxx"
+#include "H5Dataset.hxx"
+#include "H5Dataspace.hxx"
+#include "H5Attribute.hxx"
+#include "H5BasicData.hxx"
+#include "H5Data.hxx"
+#include "H5VariableScope.hxx"
+
+extern "C"
+{
+#include "api_scilab.h"
+#include "Scierror.h"
+#include "HDF5Objects.h"
+#include "sciprint.h"
+#include "localization.h"
+}
+
+namespace org_modules_hdf5
+{
+
+class HDF5Scilab
+{
+
+public:
+
+ enum H5ObjectType {
+ H5FILE,
+ H5GROUP,
+ H5DATASET,
+ H5ATTRIBUTE,
+ H5SPACE,
+ H5TYPE,
+ H5REFERENCE,
+ H5LIST,
+ H5COMPOUND,
+ H5ARRAY,
+ H5VLEN
+ };
+
+ static std::map<std::string, H5Object::FilterType> filtersName;
+
+ static int getH5ObjectId(int * mlist, void * pvApiCtx);
+
+ static H5Object * getH5Object(int * mlist, void * pvApiCtx);
+
+ static bool isH5Object(int * mlist, void * pvApiCtx);
+
+ static void scilabPrint(const std::string & str);
+
+ static void split(const std::string & str, std::vector<std::string> & v, const char c = '\n');
+
+ static void readData(const std::string & filename, const std::string & name, const unsigned int size, const double * start, const double * stride, const double * count, const double * block, int pos, void * pvApiCtx);
+
+ static void readData(H5Object & obj, const std::string & name, const unsigned int size, const double * start, const double * stride, const double * count, const double * block, int pos, void * pvApiCtx);
+
+ static void readAttributeData(H5Object & obj, const std::string & path, const std::string & attrName, int pos, void * pvApiCtx);
+
+ static void readAttributeData(const std::string & filename, const std::string & path, const std::string & attrName, int pos, void * pvApiCtx);
+
+ static void deleteObject(const std::string & file, const std::string & name);
+
+ static void deleteObject(const std::string & file, const int size, const char ** names);
+
+ static void deleteObject(const H5Object & parent, const std::string & name);
+
+ static void deleteObject(const H5Object & parent, const int size, const char ** names);
+
+ static void getObject(H5Object & parent, const std::string & location, const bool isAttr, int position, void * pvApiCtx);
+
+ static void createLink(H5Object & parent, const std::string & name, const std::string & targetPath, const bool hard);
+
+ static void createLink(H5Object & parent, const std::string & name, H5Object & targetObject, const bool hard);
+
+ static void createLink(H5Object & parent, const std::string & name, const std::string & targetFile, const std::string & targetPath);
+
+ static void createLink(H5Object & parent, const std::string & name, H5Object & targetObject);
+
+ static void createLink(const std::string & file, const std::string & location, const std::string & name, const std::string & destName, const bool hard);
+
+ static void createLink(const std::string & file, const std::string & location, const std::string & name, const std::string & destFile, const std::string & destName);
+
+ static void copy(H5Object & src, const std::string & slocation, H5Object & dest, const std::string & dlocation);
+
+ static void copy(H5Object & src, const std::string & slocation, const std::string & dfile, const std::string & dlocation);
+
+ static void copy(const std::string & sfile, const std::string & slocation, H5Object & dest, const std::string & dlocation);
+
+ static void copy(const std::string & sfile, const std::string & slocation, const std::string & dfile, const std::string & dlocation);
+
+ static void ls(H5Object & obj, const std::string & name, int position, void * pvApiCtx);
+
+ static void ls(const std::string & path, const std::string & name, int position, void * pvApiCtx);
+
+ static void ls(H5Object & obj, const std::string & name, const std::string & type, int position, void * pvApiCtx);
+
+ static void ls(const std::string & path, const std::string & name, const std::string & type, int position, void * pvApiCtx);
+
+ static bool checkType(const H5Object & obj, const H5ObjectType type);
+
+ static void mount(H5Object & obj, const std::string & location, H5Object & file);
+
+ static void umount(H5Object & obj, const std::string & location);
+
+ static void createGroup(H5Object & parent, const std::string & name);
+
+ static void createGroup(const std::string & file, const std::string & name);
+
+ static void createGroup(H5Object & parent, const int size, const char ** names);
+
+ static void createGroup(const std::string & file, const int size, const char ** names);
+
+ static void label(H5Object & obj, const std::string & location, const unsigned int size, const unsigned int * dim, const char ** names);
+
+ static void label(const std::string & filename, const std::string & location, const unsigned int size, const unsigned int * dim, const char ** names);
+
+ static int * exists(H5Object & obj, const unsigned int size, const char ** locations, const char ** attrNames);
+
+ static int * exists(const std::string & filename, const unsigned int size, const char ** locations, const char ** attrNames);
+
+ template <typename T>
+ static T & create(H5Object & parent, const std::string & name, const unsigned int srank, const hsize_t * sdims, const hsize_t * sstart, const hsize_t * sstride, const hsize_t * scount, const hsize_t * sblock, const hid_t sourceType, void * data, const unsigned int drank, const hsize_t * ddims, const hsize_t * dmaxdims, const hsize_t * dstart, const hsize_t * dstride, const hsize_t * dcount, const hsize_t * dblock, const hid_t targetType)
+ {
+ hid_t obj;
+ hid_t srcspace;
+ hid_t targetspace;
+ hid_t targettype;
+ hsize_t * newdims = 0;
+ bool mustDelete = false;
+ H5T_cdata_t * pcdata = 0;
+ bool chunked = false;
+
+ if (srank > __SCILAB_HDF5_MAX_DIMS__ || drank > __SCILAB_HDF5_MAX_DIMS__)
+ {
+ throw H5Exception(__LINE__, __FILE__, _("Invalid rank, must be in the interval [0, %d]."), __SCILAB_HDF5_MAX_DIMS__);
+ }
+
+ if (targetType == (hid_t) - 1)
+ {
+ targettype = H5Tcopy(sourceType);
+ }
+ else
+ {
+ targettype = H5Tcopy(targetType);
+ }
+
+ if (!H5Tfind(sourceType, targettype, &pcdata))
+ {
+ H5Tclose(targettype);
+ throw H5Exception(__LINE__, __FILE__, _("No converter found for the specified target datatype."));
+ }
+
+ srcspace = H5Screate_simple(srank, sdims, 0);
+ if (srcspace < 0)
+ {
+ H5Tclose(targettype);
+ throw H5Exception(__LINE__, __FILE__, _("Cannot create a new dataspace."));
+ }
+
+ try
+ {
+ newdims = H5Dataspace::select(srcspace, srank, sstart, sstride, scount, sblock);
+ }
+ catch (const H5Exception & /*e*/)
+ {
+ H5Tclose(targettype);
+ H5Sclose(srcspace);
+ throw;
+ }
+
+ if (ddims)
+ {
+ targetspace = H5Screate_simple(drank, ddims, dmaxdims);
+ if (targetspace < 0)
+ {
+ if (newdims)
+ {
+ delete[] newdims;
+ }
+ H5Sclose(srcspace);
+ H5Tclose(targettype);
+ throw H5Exception(__LINE__, __FILE__, _("Invalid target dataspace."));
+ }
+ if (dmaxdims)
+ {
+ for (unsigned int i = 0; i < drank; i++)
+ {
+ if (ddims[i] != dmaxdims[i])
+ {
+ chunked = true;
+ break;
+ }
+ }
+ }
+ }
+ else if (newdims)
+ {
+ targetspace = H5Screate_simple(srank, newdims, 0);
+ if (targetspace < 0)
+ {
+ delete[] newdims;
+ H5Sclose(srcspace);
+ H5Tclose(targettype);
+ throw H5Exception(__LINE__, __FILE__, _("Cannot create a new dataspace."));
+ }
+ }
+ else
+ {
+ targetspace = (hid_t) - 1;
+ }
+
+ if (newdims)
+ {
+ delete[] newdims;
+ }
+
+ if (targetspace != -1 && dstart)
+ {
+ try
+ {
+ hsize_t * _newdims = H5Dataspace::select(targetspace, drank, dstart, dstride, dcount, dblock);
+ if (_newdims)
+ {
+ delete[] _newdims;
+ }
+ }
+ catch (const H5Exception & /*e*/)
+ {
+ H5Tclose(targettype);
+ H5Sclose(targetspace);
+ H5Sclose(srcspace);
+ throw;
+ }
+ }
+
+ try
+ {
+ obj = T::create(parent, name, sourceType, targettype, srcspace, targetspace, data, chunked);
+ H5Sclose(srcspace);
+ if (targetspace >= 0)
+ {
+ H5Sclose(targetspace);
+ }
+ }
+ catch (const H5Exception & /*e*/)
+ {
+ H5Tclose(targettype);
+ H5Sclose(srcspace);
+ if (targetspace >= 0)
+ {
+ H5Sclose(targetspace);
+ }
+ throw;
+ }
+
+ H5Tclose(targettype);
+
+ return *new T(parent, obj, name);
+ }
+
+ static void getScilabData(hid_t * type, unsigned int * ndims, hsize_t ** dims, void ** data, bool * mustDelete, bool * mustDeleteContent, const bool flip, int rhsPosition, void * pvApiCtx);
+
+ static void getScilabData(hid_t * type, unsigned int * ndims, hsize_t ** dims, void ** data, bool * mustDelete, bool * mustDeleteContent, const bool flip, int * addr, int rhsPosition, void * pvApiCtx);
+
+ template <typename T>
+ static void createObjectFromStack(const std::string & file, const std::string & location, const std::string & name, const bool flip, void * pvApiCtx, const int rhsPosition, const unsigned int srank, const hsize_t * sdims, const hsize_t * sstart, const hsize_t * sstride, const hsize_t * scount, const hsize_t * sblock, const std::string & targetType, const unsigned int drank, const hsize_t * ddims, const hsize_t * dmaxdims, const hsize_t * dstart, const hsize_t * dstride, const hsize_t * dcount, const hsize_t * dblock)
+ {
+ H5File & src = *new H5File(file, "/", "r+");
+
+ try
+ {
+ createObjectFromStack<T>(src, location, name, flip, pvApiCtx, rhsPosition, srank, sdims, sstart, sstride, scount, sblock, targetType, drank, ddims, dmaxdims, dstart, dstride, dcount, dblock);
+ delete &src;
+ }
+ catch (const H5Exception & /*e*/)
+ {
+ delete &src;
+ throw;
+ }
+ }
+
+ template <typename T>
+ static void createObjectFromStack(H5Object & obj, const std::string & location, const std::string & name, const bool flip, void * pvApiCtx, const int rhsPosition, const unsigned int srank, const hsize_t * sdims, const hsize_t * sstart, const hsize_t * sstride, const hsize_t * scount, const hsize_t * sblock, const std::string & targetType, const unsigned int drank, const hsize_t * ddims, const hsize_t * dmaxdims, const hsize_t * dstart, const hsize_t * dstride, const hsize_t * dcount, const hsize_t * dblock)
+ {
+ hid_t sourceType = -1;;
+ hid_t targettype;
+ unsigned int rank;
+ hsize_t * dims = 0;
+ void * data = 0;
+ bool mustDelete = false;
+ bool mustDeleteContent = false;
+ H5Object * hobj = 0;
+ T * newobj = 0;
+ bool isReference = false;
+ hsize_t total = 1;
+
+ if (targetType.empty())
+ {
+ targettype = (hid_t) - 1;
+ }
+ else
+ {
+ targettype = H5Type::getBaseType(targetType);
+ if (targettype < 0)
+ {
+ throw H5Exception(__LINE__, __FILE__, _("Cannot create the target type."));
+ }
+
+ if (H5Tequal(targettype, H5T_STD_REF_OBJ))
+ {
+ isReference = true;
+ }
+ }
+
+ try
+ {
+ hobj = H5Object::isEmptyPath(location) ? &obj : &H5Object::getObject(obj, location);
+ getScilabData(&sourceType, &rank, &dims, &data, &mustDelete, &mustDeleteContent, flip, rhsPosition, pvApiCtx);
+
+ if (sdims)
+ {
+ hsize_t p1 = 1;
+ hsize_t p2 = 1;
+ for (unsigned int i = 0; i < srank; i++)
+ {
+ p1 *= sdims[i];
+ }
+ for (unsigned int i = 0; i < rank; i++)
+ {
+ p2 *= dims[i];
+ }
+
+ total = p1;
+
+ if (p1 != p2)
+ {
+ throw H5Exception(__LINE__, __FILE__, _("Incompatible dimensions"));
+ }
+ rank = srank;
+ }
+ else
+ {
+ sdims = dims;
+ for (unsigned int i = 0; i < rank; i++)
+ {
+ total *= sdims[i];
+ }
+ }
+
+ if (isReference)
+ {
+ herr_t err;
+ hid_t loc;
+ hobj_ref_t * newData = 0;
+
+ if (H5Tget_class(sourceType) != H5T_STRING)
+ {
+ throw H5Exception(__LINE__, __FILE__, _("References must be given as strings"));
+ }
+
+ loc = hobj->getFile().getH5Id();
+ newData = (hobj_ref_t *)MALLOC(sizeof(hobj_ref_t) * total);
+
+ for (unsigned int i = 0; i < total; i++)
+ {
+ char * _name = static_cast<char **>(data)[i];
+ err = H5Rcreate(newData + i, loc, _name, H5R_OBJECT, -1);
+ if (err < 0)
+ {
+ FREE(newData);
+ throw H5Exception(__LINE__, __FILE__, _("Invalid path: %s."), _name);
+ }
+ }
+
+ if (mustDeleteContent)
+ {
+ for (unsigned int i = 0; i < total; i++)
+ {
+ FREE(static_cast<void **>(data)[i]);
+ }
+ }
+ if (mustDelete)
+ {
+ FREE(data);
+ }
+
+ data = newData;
+ mustDeleteContent = false;
+ mustDelete = false;
+
+ if (sourceType > 0)
+ {
+ H5Tclose(sourceType);
+ }
+ sourceType = H5Tcopy(targettype);
+ }
+
+ newobj = &create<T>(*hobj, name, rank, sdims, sstart, sstride, scount, sblock, sourceType, data, drank, ddims, dmaxdims, dstart, dstride, dcount, dblock, targettype);
+ }
+ catch (const H5Exception & /*e*/)
+ {
+ if (mustDeleteContent)
+ {
+ for (unsigned int i = 0; i < total; i++)
+ {
+ FREE(static_cast<void **>(data)[i]);
+ }
+ }
+ if (mustDelete)
+ {
+ FREE(data);
+ }
+ if (dims)
+ {
+ delete[] dims;
+ }
+ if (!H5Object::isEmptyPath(location))
+ {
+ delete hobj;
+ }
+ if (targettype > 0)
+ {
+ H5Tclose(targettype);
+ }
+
+ if (sourceType > 0)
+ {
+ H5Tclose(sourceType);
+ }
+
+ throw;
+ }
+
+ if (newobj)
+ {
+ delete newobj;
+ }
+
+ if (mustDeleteContent)
+ {
+ for (unsigned int i = 0; i < total; i++)
+ {
+ FREE(static_cast<void **>(data)[i]);
+ }
+ }
+ if (mustDelete)
+ {
+ FREE(data);
+ }
+ if (dims)
+ {
+ delete[] dims;
+ }
+ if (!H5Object::isEmptyPath(location))
+ {
+ delete hobj;
+ }
+ if (targettype > 0)
+ {
+ H5Tclose(targettype);
+ }
+ if (sourceType > 0)
+ {
+ H5Tclose(sourceType);
+ }
+ }
+
+ template <typename T>
+ static void flip(const unsigned int size, T * data)
+ {
+ if (!data)
+ {
+ return;
+ }
+
+ for (unsigned int i = 0; i < size / 2; i++)
+ {
+ T x = data[i];
+ data[i] = data[size - 1 - i];
+ data[size - 1 - i] = x;
+ }
+ }
+
+ template <typename T>
+ static hsize_t * flipAndConvert(const unsigned int size, T * data)
+ {
+ if (!data)
+ {
+ return 0;
+ }
+
+ hsize_t * arr = new hsize_t[size];
+ for (unsigned int i = 0; i < size; i++)
+ {
+ arr[i] = (hsize_t)data[size - 1 - i];
+ }
+
+ return arr;
+ }
+
+private:
+ static std::map<std::string, H5Object::FilterType> initFilterNames();
+};
+}
+
+#endif // __HDF5SCILAB_HXX__
diff --git a/modules/hdf5/src/cpp/h5create.hpp b/modules/hdf5/src/cpp/h5create.hpp
new file mode 100755
index 000000000..4a4ba9991
--- /dev/null
+++ b/modules/hdf5/src/cpp/h5create.hpp
@@ -0,0 +1,181 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2011 - Scilab Enterprises - Calixte DENIZET
+ *
+ * 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
+ *
+ */
+
+extern "C"
+{
+#include "gw_hdf5.h"
+#include "Scierror.h"
+#include "api_scilab.h"
+#include "localization.h"
+}
+
+#include "HDF5Scilab.hxx"
+
+using namespace org_modules_hdf5;
+
+template <typename U>
+int h5create(char * fname, unsigned long fname_len)
+{
+ H5Object * hobj = 0;
+ SciErr err;
+ int * addr = 0;
+ char * name = 0;
+ char * targetType = 0;
+ std::string _name;
+ std::string _targetType("");
+ double * start = 0;
+ double * stride = 0;
+ double * count = 0;
+ double * block = 0;
+ double ** dptrs[4] = {&start, &count, &stride, &block};
+ int inc = 0;
+ int row, col;
+ unsigned int size = 0;
+ unsigned int rhsBegin;
+ const int nbIn = nbInputArgument(pvApiCtx);
+
+ CheckOutputArgument(pvApiCtx, 1, 1);
+ CheckInputArgument(pvApiCtx, 3, 8);
+
+ err = getVarAddressFromPosition(pvApiCtx, 1, &addr);
+ if (err.iErr)
+ {
+ printError(&err, 0);
+ Scierror(999, _("%s: Can not read input argument #%d.\n"), fname, 1);
+ return 0;
+ }
+
+ if (HDF5Scilab::isH5Object(addr, pvApiCtx))
+ {
+ hobj = HDF5Scilab::getH5Object(addr, pvApiCtx);
+ }
+ else
+ {
+ Scierror(999, _("%s: Wrong type for input argument #%d: a H5Object expected.\n"), fname, 1);
+ }
+
+ err = getVarAddressFromPosition(pvApiCtx, 2, &addr);
+ if (err.iErr)
+ {
+ printError(&err, 0);
+ Scierror(999, _("%s: Can not read input argument #%d.\n"), fname, 2);
+ return 0;
+ }
+
+ if (!isStringType(pvApiCtx, addr) || !checkVarDimension(pvApiCtx, addr, 1, 1))
+ {
+ Scierror(999, gettext("%s: Wrong type for input argument #%d: A string expected.\n"), fname, 2);
+ return 0;
+ }
+
+ if (getAllocatedSingleString(pvApiCtx, addr, &name) != 0)
+ {
+ Scierror(999, _("%s: No more memory.\n"), fname);
+ return 0;
+ }
+
+ _name = std::string(name);
+ freeAllocatedSingleString(name);
+
+ if (nbIn >= 4)
+ {
+ err = getVarAddressFromPosition(pvApiCtx, 4, &addr);
+ if (err.iErr)
+ {
+ printError(&err, 0);
+ Scierror(999, _("%s: Can not read input argument #%d.\n"), fname, 4);
+ return 0;
+ }
+
+ if (isStringType(pvApiCtx, addr))
+ {
+ if (!checkVarDimension(pvApiCtx, addr, 1, 1))
+ {
+ Scierror(999, _("%s: Wrong size for input argument #%d: A String expected.\n"), fname, 4);
+ }
+
+ if (getAllocatedSingleString(pvApiCtx, addr, &targetType) != 0)
+ {
+ Scierror(999, _("%s: No more memory.\n"), fname);
+ return 0;
+ }
+ _targetType = std::string(targetType);
+ freeAllocatedSingleString(targetType);
+ rhsBegin = 5;
+ }
+ else
+ {
+ rhsBegin = 4;
+ }
+ }
+
+ for (unsigned int i = rhsBegin; i <= nbIn; i++)
+ {
+ err = getVarAddressFromPosition(pvApiCtx, i, &addr);
+ if (err.iErr)
+ {
+ printError(&err, 0);
+ Scierror(999, _("%s: Can not read input argument #%d.\n"), fname, i);
+ return 0;
+ }
+ if (isDoubleType(pvApiCtx, addr))
+ {
+ err = getMatrixOfDouble(pvApiCtx, addr, &row, &col, dptrs[i - rhsBegin]);
+ if (row != 1 && col != 1)
+ {
+ Scierror(999, _("%s: Wrong size for input argument #%d: Real row or column vector expected.\n"), fname, i);
+ return 0;
+ }
+
+ if (size == 0)
+ {
+ size = row > col ? row : col;
+ }
+ else if (size != (row > col ? row : col))
+ {
+ Scierror(999, _("%s: Wrong size for input argument #%d: Same size as the data expected.\n"), fname, i);
+ return 0;
+ }
+ }
+ else
+ {
+ Scierror(999, _("%s: Wrong type for input argument #%d: Real row vector expected.\n"), fname, i);
+ return 0;
+ }
+ }
+
+ err = getVarAddressFromPosition(pvApiCtx, 3, &addr);
+ if (err.iErr)
+ {
+ printError(&err, 0);
+ Scierror(999, _("%s: Can not read input argument #%d.\n"), fname, 3);
+ return 0;
+ }
+
+ try
+ {
+ U & newobj = HDF5Scilab::createObjectFromStack<U>(*hobj, _name, _targetType, size, start, stride, count, block, pvApiCtx, addr, 3);
+ newobj.createOnScilabStack(nbIn + 1, pvApiCtx);
+ }
+ catch (const H5Exception & e)
+ {
+ Scierror(999, _("%s: %s\n"), fname, e.what());
+ return 0;
+ }
+
+ AssignOutputVariable(pvApiCtx, 1) = nbIn + 1;
+ ReturnArguments(pvApiCtx);
+
+ return 0;
+}
+
+/*--------------------------------------------------------------------------*/
diff --git a/modules/hdf5/src/cpp/import_from_hdf5_v1.cpp b/modules/hdf5/src/cpp/import_from_hdf5_v1.cpp
new file mode 100755
index 000000000..294377abe
--- /dev/null
+++ b/modules/hdf5/src/cpp/import_from_hdf5_v1.cpp
@@ -0,0 +1,1182 @@
+/*
+* Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+* Copyright (C) 2009 - DIGITEO - Antoine ELIAS
+*
+* 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 <hdf5.h>
+extern "C"
+{
+#include <string.h>
+#include "gw_hdf5.h"
+#include "MALLOC.h"
+#include "Scierror.h"
+#include "localization.h"
+#include "sciprint.h"
+#include "api_scilab.h"
+#include "../../../call_scilab/includes/call_scilab.h"
+#include "h5_fileManagement.h"
+#include "h5_readDataFromFile_v1.h"
+#include "h5_attributeConstants.h"
+#include "intmacr2tree.h"
+#include "expandPathVariable.h"
+#include "freeArrayOfString.h"
+}
+
+//#define PRINT_DEBUG
+//#define TIME_DEBUG
+
+static int iTab = 0;
+static int iCloseList = 0;
+
+void print_tree_v1(char *_pstMsg);
+
+static bool import_variable_v1(int _iFile, char* _pstVarName);
+static bool import_data_v1(int _iDatasetId, int _iItemPos, int *_piAddress, char *_pstVarname);
+static bool import_double_v1(int _iDatasetId, int _iItemPos, int *_piAddress, char *_pstVarname);
+static bool import_string_v1(int _iDatasetId, int _iItemPos, int *_piAddress, char *_pstVarname);
+static bool import_boolean_v1(int _iDatasetId, int _iItemPos, int *_piAddress, char *_pstVarname);
+static bool import_integer_v1(int _iDatasetId, int _iItemPos, int *_piAddress, char *_pstVarname);
+static bool import_sparse_v1(int _iDatasetId, int _iItemPos, int *_piAddress, char *_pstVarname);
+static bool import_boolean_sparse_v1(int _iDatasetId, int _iItemPos, int *_piAddress, char *_pstVarname);
+static bool import_poly_v1(int _iDatasetId, int _iItemPos, int *_piAddress, char *_pstVarname);
+static bool import_list_v1(int _iDatasetId, int _iVarType, int _iItemPos, int *_piAddress, char *_pstVarname);
+static bool import_void_v1(int _iDatasetId, int _iItemPos, int *_piAddress, char *_pstVarname);
+static bool import_undefined_v1(int _iDatasetId, int _iItemPos, int *_piAddress, char *_pstVarname);
+
+int sci_import_from_hdf5_v1(char *fname, unsigned long fname_len)
+{
+ SciErr sciErr;
+
+ int* piAddr = NULL;
+ char* pstFilename = NULL;
+ char* pstExpandedFilename = NULL;
+ bool bImport = true;
+
+ int iSelectedVar = Rhs - 1;
+
+ CheckInputArgumentAtLeast(pvApiCtx, 1);
+ CheckOutputArgument(pvApiCtx, 1, 1);
+
+ iCloseList = 0;
+
+ sciErr = getVarAddressFromPosition(pvApiCtx, 1, &piAddr);
+ if (sciErr.iErr)
+ {
+ printError(&sciErr, 0);
+ return 1;
+ }
+
+ if (getAllocatedSingleString(pvApiCtx, piAddr, &pstFilename))
+ {
+ if (pstFilename)
+ {
+ FREE(pstFilename);
+ }
+
+ Scierror(999, _("%s: Wrong size for input argument #%d: A string expected.\n"), fname, 2);
+ return 1;
+ }
+
+ //open hdf5 file
+ pstExpandedFilename = expandPathVariable(pstFilename);
+ int iFile = openHDF5File(pstExpandedFilename, 0);
+ if (iFile < 0)
+ {
+ FREE(pstExpandedFilename);
+ Scierror(999, _("%s: Unable to open file: %s\n"), fname, pstFilename);
+ FREE(pstFilename);
+ return 1;
+ }
+
+ FREE(pstExpandedFilename);
+ FREE(pstFilename);
+
+ if (iSelectedVar)
+ {
+ //selected variable
+ char* pstVarName = NULL;
+ for (int i = 0 ; i < iSelectedVar ; i++)
+ {
+ sciErr = getVarAddressFromPosition(pvApiCtx, i + 2, &piAddr);
+ if (sciErr.iErr)
+ {
+ printError(&sciErr, 0);
+ return 1;
+ }
+
+ if (getAllocatedSingleString(pvApiCtx, piAddr, &pstVarName))
+ {
+ if (pstVarName)
+ {
+ FREE(pstVarName);
+ }
+
+ Scierror(999, _("%s: Wrong size for input argument #%d: A string expected.\n"), fname, i + 1);
+ return 1;
+ }
+
+ if (import_variable_v1(iFile, pstVarName) == false)
+ {
+ FREE(pstVarName);
+ bImport = false;
+ break;
+ }
+
+ FREE(pstVarName);
+ pstVarName = NULL;
+ }
+ }
+ else
+ {
+ //all variables
+ int iNbItem = 0;
+ iNbItem = getVariableNames_v1(iFile, NULL);
+ if (iNbItem != 0)
+ {
+ char **pstVarNameList = (char **)MALLOC(sizeof(char *) * iNbItem);
+
+ iNbItem = getVariableNames_v1(iFile, pstVarNameList);
+
+ //import all data
+ for (int i = 0; i < iNbItem; i++)
+ {
+ if (import_variable_v1(iFile, pstVarNameList[i]) == false)
+ {
+ bImport = false;
+ break;
+ }
+ }
+
+ freeArrayOfString(pstVarNameList, iNbItem);
+ }
+ }
+ //close the file
+ closeHDF5File(iFile);
+
+ int *piReturn = NULL;
+
+ sciErr = allocMatrixOfBoolean(pvApiCtx, Rhs + 1, 1, 1, &piReturn);
+ if (sciErr.iErr)
+ {
+ printError(&sciErr, 0);
+ return 1;
+ }
+
+ if (bImport == true)
+ {
+ piReturn[0] = 1;
+ }
+ else
+ {
+ piReturn[0] = 0;
+ }
+
+ LhsVar(1) = Rhs + 1;
+ PutLhsVar();
+
+ // printf("End gateway !!!\n");
+ return 0;
+}
+
+static bool import_variable_v1(int _iFile, char* _pstVarName)
+{
+ int iDataSetId = getDataSetIdFromName_v1(_iFile, _pstVarName);
+ if (iDataSetId == 0)
+ {
+ return false;
+ }
+
+ return import_data_v1(iDataSetId, 0, NULL, _pstVarName);
+}
+
+static bool import_data_v1(int _iDatasetId, int _iItemPos, int *_piAddress, char *_pstVarname)
+{
+ bool bRet = false;
+
+ //get var type
+ int iVarType = getScilabTypeFromDataSet_v1(_iDatasetId);
+
+ switch (iVarType)
+ {
+ case sci_matrix:
+ {
+ bRet = import_double_v1(_iDatasetId, _iItemPos, _piAddress, _pstVarname);
+ break;
+ }
+ case sci_strings:
+ {
+ bRet = import_string_v1(_iDatasetId, _iItemPos, _piAddress, _pstVarname);
+ break;
+ }
+ case sci_list:
+ case sci_tlist:
+ case sci_mlist:
+ {
+ bRet = import_list_v1(_iDatasetId, iVarType, _iItemPos, _piAddress, _pstVarname);
+ break;
+ }
+ case sci_boolean:
+ {
+ bRet = import_boolean_v1(_iDatasetId, _iItemPos, _piAddress, _pstVarname);
+ break;
+ }
+ case sci_poly:
+ {
+ bRet = import_poly_v1(_iDatasetId, _iItemPos, _piAddress, _pstVarname);
+ break;
+ }
+ case sci_ints:
+ {
+ bRet = import_integer_v1(_iDatasetId, _iItemPos, _piAddress, _pstVarname);
+ break;
+ }
+ case sci_sparse:
+ {
+ bRet = import_sparse_v1(_iDatasetId, _iItemPos, _piAddress, _pstVarname);
+ break;
+ }
+ case sci_boolean_sparse:
+ {
+ bRet = import_boolean_sparse_v1(_iDatasetId, _iItemPos, _piAddress, _pstVarname);
+ break;
+ }
+ case sci_void: //void item only on list variable
+ {
+ bRet = import_void_v1(_iDatasetId, _iItemPos, _piAddress, _pstVarname);
+ break;
+ }
+ case sci_undefined: //undefined item only on list variable
+ {
+ bRet = import_undefined_v1(_iDatasetId, _iItemPos, _piAddress, _pstVarname);
+ break;
+ }
+ default:
+ {
+ Scierror(999, _("%s: Invalid HDF5 Scilab format.\n"), "import_from_hdf5");
+#ifdef PRINT_DEBUG
+ {
+ char pstMsg[512];
+
+ sprintf(pstMsg, "Unknown type : %d", iVarType);
+ print_tree(pstMsg);
+ }
+#endif
+ }
+ }
+
+ return bRet;
+}
+
+static bool import_void_v1(int _iDatasetId, int _iItemPos, int *_piAddress, char *_pstVarname)
+{
+ SciErr sciErr;
+
+ if (_piAddress)
+ {
+ sciErr = createVoidInNamedList(pvApiCtx, _pstVarname, _piAddress, _iItemPos);
+ }
+ else
+ {
+ return false;
+ }
+
+ if (sciErr.iErr)
+ {
+ printError(&sciErr, 0);
+ return false;
+ }
+ return true;
+}
+
+static bool import_undefined_v1(int _iDatasetId, int _iItemPos, int *_piAddress, char *_pstVarname)
+{
+ SciErr sciErr;
+
+ if (_piAddress)
+ {
+ sciErr = createUndefinedInNamedList(pvApiCtx, _pstVarname, _piAddress, _iItemPos);
+ }
+ else
+ {
+ return false;
+ }
+
+ if (sciErr.iErr)
+ {
+ printError(&sciErr, 0);
+ return false;
+ }
+ return true;
+}
+
+static bool import_double_v1(int _iDatasetId, int _iItemPos, int *_piAddress, char *_pstVarname)
+{
+ int iRet = 0;
+ double *pdblReal = NULL;
+ double *pdblImg = NULL;
+ int iRows = 0;
+ int iCols = 0;
+ int iComplex = 0;
+ SciErr sciErr;
+
+#ifdef TIME_DEBUG
+ LARGE_INTEGER iStart, iEnd, iFreq;
+
+ QueryPerformanceFrequency(&iFreq);
+ QueryPerformanceCounter(&iStart);
+#endif
+
+ iRet = getDatasetDims_v1(_iDatasetId, &iRows, &iCols);
+ iComplex = isComplexData_v1(_iDatasetId);
+ if (iRet)
+ {
+ return false;
+ }
+
+ if (iRows * iCols != 0)
+ {
+ if (iComplex)
+ {
+ pdblReal = (double *)MALLOC(iRows * iCols * sizeof(double));
+ pdblImg = (double *)MALLOC(iRows * iCols * sizeof(double));
+ iRet = readDoubleComplexMatrix_v1(_iDatasetId, iRows, iCols, pdblReal, pdblImg);
+ }
+ else
+ {
+ pdblReal = (double *)MALLOC(iRows * iCols * sizeof(double));
+ iRet = readDoubleMatrix_v1(_iDatasetId, iRows, iCols, pdblReal);
+ }
+
+ if (iRet)
+ {
+ FREE(pdblReal);
+ if (iComplex)
+ {
+ FREE(pdblImg);
+ }
+
+ return false;
+ }
+ }
+ else
+ {
+ /*bug 7224 : to close dataset */
+ iRet = readEmptyMatrix_v1(_iDatasetId);
+ if (iRet)
+ {
+ return false;
+ }
+
+ pdblReal = (double*)MALLOC(sizeof(double) * 1);
+ pdblReal[0] = 0;
+ iComplex = 0;
+ }
+
+ if (_piAddress == NULL)
+ {
+ if (iComplex)
+ {
+ sciErr = createNamedComplexMatrixOfDouble(pvApiCtx, _pstVarname, iRows, iCols, pdblReal, pdblImg);
+ }
+ else
+ {
+ sciErr = createNamedMatrixOfDouble(pvApiCtx, _pstVarname, iRows, iCols, pdblReal);
+ }
+ }
+ else //if not null this variable is in a list
+ {
+ if (iComplex)
+ {
+ sciErr = createComplexMatrixOfDoubleInNamedList(pvApiCtx, _pstVarname, _piAddress, _iItemPos, iRows, iCols, pdblReal, pdblImg);
+ }
+ else
+ {
+ sciErr = createMatrixOfDoubleInNamedList(pvApiCtx, _pstVarname, _piAddress, _iItemPos, iRows, iCols, pdblReal);
+ }
+ }
+
+ FREE(pdblReal);
+ if (iComplex)
+ {
+ FREE(pdblImg);
+ }
+
+ if (sciErr.iErr)
+ {
+ printError(&sciErr, 0);
+ return false;
+ }
+
+#ifdef PRINT_DEBUG
+ char pstMsg[512];
+
+ sprintf(pstMsg, "double_%d (%d x %d)", _iItemPos, iRows, iCols);
+ print_tree(pstMsg);
+#endif
+
+#ifdef TIME_DEBUG
+ QueryPerformanceCounter(&iEnd);
+ double dblTime = ((iEnd.QuadPart - iStart.QuadPart) * 1000.0) / iFreq.QuadPart;
+
+ printf("Total Double : %0.3f ms\n\n", dblTime);
+#endif
+
+ return true;
+}
+
+static bool import_string_v1(int _iDatasetId, int _iItemPos, int *_piAddress, char *_pstVarname)
+{
+ int iRet = 0;
+ int i = 0;
+ int iRows = 0;
+ int iCols = 0;
+ char **pstData = NULL;
+ SciErr sciErr;
+
+#ifdef TIME_DEBUG
+ LARGE_INTEGER iStart1, iEnd1, iStart2, iEnd2, iStart3, iEnd3, iFreq;
+
+ QueryPerformanceFrequency(&iFreq);
+ QueryPerformanceCounter(&iStart1);
+#endif
+ iRet = getDatasetDims_v1(_iDatasetId, &iRows, &iCols);
+ if (iRet)
+ {
+ return false;
+ }
+
+ pstData = (char **)MALLOC(iRows * iCols * sizeof(char *));
+ memset(pstData, 0x00, iRows * iCols * sizeof(char *));
+
+#ifdef TIME_DEBUG
+ QueryPerformanceCounter(&iStart1);
+#endif
+
+ iRet = readStringMatrix_v1(_iDatasetId, iRows, iCols, pstData);
+ if (iRet)
+ {
+ freeArrayOfString(pstData, iRows * iCols);
+ return false;
+ }
+
+#ifdef TIME_DEBUG
+ QueryPerformanceCounter(&iEnd1);
+#endif
+#ifdef TIME_DEBUG
+ QueryPerformanceCounter(&iStart2);
+#endif
+
+ if (_piAddress == NULL)
+ {
+ sciErr = createNamedMatrixOfString(pvApiCtx, _pstVarname, iRows, iCols, pstData);
+ }
+ else //if not null this variable is in a list
+ {
+ sciErr = createMatrixOfStringInNamedList(pvApiCtx, _pstVarname, _piAddress, _iItemPos, iRows, iCols, pstData);
+ }
+
+ freeArrayOfString(pstData, iRows * iCols);
+ if (sciErr.iErr)
+ {
+ printError(&sciErr, 0);
+ return false;
+ }
+
+#ifdef TIME_DEBUG
+ QueryPerformanceCounter(&iEnd2);
+ QueryPerformanceCounter(&iStart3);
+#endif
+#ifdef PRINT_DEBUG
+ char pstMsg[512];
+
+ sprintf(pstMsg, "string_%d (%d x %d)", _iItemPos, iRows, iCols);
+ print_tree(pstMsg);
+#endif
+
+#ifdef TIME_DEBUG
+ QueryPerformanceCounter(&iEnd3);
+
+ //double dblTime =((iEnd1.QuadPart - iStart1.QuadPart) * 1000.0) / iFreq.QuadPart;
+ //printf("HDF5 : %0.3f ms\n", dblTime);
+ //dblTime =((iEnd2.QuadPart - iStart2.QuadPart) * 1000.0) / iFreq.QuadPart;
+ //printf("Stack : %0.3f ms\n", dblTime);
+ //dblTime =((iEnd3.QuadPart - iStart3.QuadPart) * 1000.0) / iFreq.QuadPart;
+ //printf("Clear : %0.3f ms\n", dblTime);
+ double dblTime = ((iEnd3.QuadPart - iStart1.QuadPart) * 1000.0) / iFreq.QuadPart;
+
+ printf("Total String: %0.3f ms\n\n", dblTime);
+#endif
+ return true;
+}
+
+static bool import_integer_v1(int _iDatasetId, int _iItemPos, int *_piAddress, char *_pstVarname)
+{
+ int iRet = 0;
+ int iRows = 0;
+ int iCols = 0;
+ int iPrec = 0;
+ SciErr sciErr;
+
+ iRet = getDatasetDims_v1(_iDatasetId, &iRows, &iCols);
+ if (iRet)
+ {
+ return false;
+ }
+
+ iRet = getDatasetPrecision_v1(_iDatasetId, &iPrec);
+ if (iRet)
+ {
+ return false;
+ }
+
+ switch (iPrec)
+ {
+ case SCI_INT8:
+ {
+ char *pcData = NULL;
+
+ pcData = (char *)MALLOC(sizeof(char) * iRows * iCols);
+ iRet = readInteger8Matrix_v1(_iDatasetId, iRows, iCols, pcData);
+ if (iRet)
+ {
+ return false;
+ }
+
+ if (_piAddress == NULL)
+ {
+ sciErr = createNamedMatrixOfInteger8(pvApiCtx, _pstVarname, iRows, iCols, pcData);
+ }
+ else
+ {
+ sciErr = createMatrixOfInteger8InNamedList(pvApiCtx, _pstVarname, _piAddress, _iItemPos, iRows, iCols, pcData);
+ }
+ }
+ break;
+ case SCI_UINT8:
+ {
+ unsigned char *pucData = NULL;
+
+ pucData = (unsigned char *)MALLOC(sizeof(unsigned char) * iRows * iCols);
+ iRet = readUnsignedInteger8Matrix_v1(_iDatasetId, iRows, iCols, pucData);
+ if (iRet)
+ {
+ return false;
+ }
+
+ if (_piAddress == NULL)
+ {
+ sciErr = createNamedMatrixOfUnsignedInteger8(pvApiCtx, _pstVarname, iRows, iCols, pucData);
+ }
+ else
+ {
+ sciErr = createMatrixOfUnsignedInteger8InNamedList(pvApiCtx, _pstVarname, _piAddress, _iItemPos, iRows, iCols, pucData);
+ }
+ }
+ break;
+ case SCI_INT16:
+ {
+ short *psData = NULL;
+
+ psData = (short *)MALLOC(sizeof(short) * iRows * iCols);
+ iRet = readInteger16Matrix_v1(_iDatasetId, iRows, iCols, psData);
+ if (iRet)
+ {
+ return false;
+ }
+
+ if (_piAddress == NULL)
+ {
+ sciErr = createNamedMatrixOfInteger16(pvApiCtx, _pstVarname, iRows, iCols, psData);
+ }
+ else
+ {
+ sciErr = createMatrixOfInteger16InNamedList(pvApiCtx, _pstVarname, _piAddress, _iItemPos, iRows, iCols, psData);
+ }
+ }
+ break;
+ case SCI_UINT16:
+ {
+ unsigned short *pusData = NULL;
+
+ pusData = (unsigned short *)MALLOC(sizeof(unsigned short) * iRows * iCols);
+ iRet = readUnsignedInteger16Matrix_v1(_iDatasetId, iRows, iCols, pusData);
+ if (iRet)
+ {
+ return false;
+ }
+
+ if (_piAddress == NULL)
+ {
+ sciErr = createNamedMatrixOfUnsignedInteger16(pvApiCtx, _pstVarname, iRows, iCols, pusData);
+ }
+ else
+ {
+ sciErr = createMatrixOfUnsignedInteger16InNamedList(pvApiCtx, _pstVarname, _piAddress, _iItemPos, iRows, iCols, pusData);
+ }
+ }
+ break;
+ case SCI_INT32:
+ {
+ int *piData = NULL;
+
+ piData = (int *)MALLOC(sizeof(int) * iRows * iCols);
+ iRet = readInteger32Matrix_v1(_iDatasetId, iRows, iCols, piData);
+ if (iRet)
+ {
+ return false;
+ }
+
+ if (_piAddress == NULL)
+ {
+ sciErr = createNamedMatrixOfInteger32(pvApiCtx, _pstVarname, iRows, iCols, piData);
+ }
+ else
+ {
+ sciErr = createMatrixOfInteger32InNamedList(pvApiCtx, _pstVarname, _piAddress, _iItemPos, iRows, iCols, piData);
+ }
+ }
+ break;
+ case SCI_UINT32:
+ {
+ unsigned int *puiData = NULL;
+
+ puiData = (unsigned int *)MALLOC(sizeof(unsigned int) * iRows * iCols);
+ iRet = readUnsignedInteger32Matrix_v1(_iDatasetId, iRows, iCols, puiData);
+ if (iRet)
+ {
+ return false;
+ }
+
+ if (_piAddress == NULL)
+ {
+ sciErr = createNamedMatrixOfUnsignedInteger32(pvApiCtx, _pstVarname, iRows, iCols, puiData);
+ }
+ else
+ {
+ sciErr = createMatrixOfUnsignedInteger32InNamedList(pvApiCtx, _pstVarname, _piAddress, _iItemPos, iRows, iCols, puiData);
+ }
+ }
+ break;
+ case SCI_INT64:
+ {
+#ifdef __SCILAB_INT64__
+ long long *pllData = NULL;
+
+ pllData = (long long *)MALLOC(sizeof(long long) * iRows * iCols);
+ iRet = readInteger64Matrix_v1(_iDatasetId, iRows, iCols, pllData);
+ if (iRet)
+ {
+ return false;
+ }
+
+ if (_piAddress == NULL)
+ {
+ sciErr = createNamedMatrixOfInteger64(_pstVarname, iRows, iCols, pllData);
+ }
+ else
+ {
+ sciErr = createMatrixOfInteger64InNamedList(_pstVarname, _piAddress, _iItemPos, iRows, iCols, pllData);
+ }
+#else
+ return false;
+#endif
+ }
+ break;
+ case SCI_UINT64:
+ {
+#ifdef __SCILAB_INT64__
+ unsigned long long *pullData = NULL;
+
+ pullData = (unsigned long long *)MALLOC(sizeof(unsigned long long) * iRows * iCols);
+ iRet = readUnsignedInteger64Matrix_v1(_iDatasetId, iRows, iCols, pullData);
+ if (iRet)
+ {
+ return false;
+ }
+
+ if (_piAddress == NULL)
+ {
+ sciErr = createNamedMatrixOfUnsignedInteger64(_pstVarname, iRows, iCols, pullData);
+ }
+ else
+ {
+ sciErr = createMatrixOfUnsignedInteger64InNamedList(_pstVarname, _piAddress, _iItemPos, iRows, iCols, pullData);
+ }
+#else
+ return false;
+#endif
+ }
+ break;
+ default:
+ return false;
+ }
+
+#ifdef PRINT_DEBUG
+ char pstMsg[512];
+
+ sprintf(pstMsg, "integer_%d (%d x %d)", _iItemPos, iRows, iCols);
+ print_tree(pstMsg);
+#endif
+
+ if (sciErr.iErr)
+ {
+ printError(&sciErr, 0);
+ return false;
+ }
+
+ return true;
+}
+
+static bool import_boolean_v1(int _iDatasetId, int _iItemPos, int *_piAddress, char *_pstVarname)
+{
+ int iRet = 0;
+ int *piData = NULL;
+ int iRows = 0;
+ int iCols = 0;
+ SciErr sciErr;
+
+ iRet = getDatasetDims_v1(_iDatasetId, &iRows, &iCols);
+ if (iRet)
+ {
+ return false;
+ }
+
+ if (iRows * iCols == 0)
+ {
+ return false;
+ }
+ piData = (int *)MALLOC(iRows * iCols * sizeof(int));
+ iRet = readBooleanMatrix_v1(_iDatasetId, iRows, iCols, piData);
+ if (iRet)
+ {
+ FREE(piData);
+ return false;
+ }
+
+ if (_piAddress == NULL)
+ {
+ sciErr = createNamedMatrixOfBoolean(pvApiCtx, _pstVarname, iRows, iCols, piData);
+ }
+ else //if not null this variable is in a list
+ {
+ sciErr = createMatrixOfBooleanInNamedList(pvApiCtx, _pstVarname, _piAddress, _iItemPos, iRows, iCols, piData);
+ }
+
+ FREE(piData);
+ if (sciErr.iErr)
+ {
+ printError(&sciErr, 0);
+ return false;
+ }
+
+#ifdef PRINT_DEBUG
+ char pstMsg[512];
+
+ sprintf(pstMsg, "boolean_%d (%d x %d)", _iItemPos, iRows, iCols);
+ print_tree(pstMsg);
+#endif
+ return true;
+}
+
+static bool import_poly_v1(int _iDatasetId, int _iItemPos, int *_piAddress, char *_pstVarname)
+{
+ int iRet = 0;
+ int iRows = 0;
+ int iCols = 0;
+ int iComplex = 0;
+ char pstVarName[64] = { 0 };
+ double **pdblReal = NULL;
+ double **pdblImg = NULL;
+ int *piNbCoef = NULL;
+ SciErr sciErr;
+
+ iRet = getDatasetDims_v1(_iDatasetId, &iRows, &iCols);
+ if (iRet)
+ {
+ return false;
+ }
+
+ iComplex = isComplexData_v1(_iDatasetId);
+
+ if (iComplex)
+ {
+ piNbCoef = (int *)MALLOC(iRows * iCols * sizeof(int));
+ pdblReal = (double **)MALLOC(iRows * iCols * sizeof(double *));
+ pdblImg = (double **)MALLOC(iRows * iCols * sizeof(double *));
+ iRet = readPolyComplexMatrix_v1(_iDatasetId, pstVarName, iRows, iCols, piNbCoef, pdblReal, pdblImg);
+ }
+ else
+ {
+ piNbCoef = (int *)MALLOC(iRows * iCols * sizeof(int));
+ pdblReal = (double **)MALLOC(iRows * iCols * sizeof(double *));
+ iRet = readPolyMatrix_v1(_iDatasetId, pstVarName, iRows, iCols, piNbCoef, pdblReal);
+ }
+
+ if (iRet)
+ {
+ FREE(piNbCoef);
+ for (int i = 0; i < iRows * iCols; i++)
+ {
+ FREE(pdblReal[i]);
+ }
+
+ FREE(pdblReal);
+
+ if (iComplex)
+ {
+ for (int i = 0; i < iRows * iCols; i++)
+ {
+ FREE(pdblImg[i]);
+ }
+
+ FREE(pdblImg);
+ }
+
+ return false;
+ }
+
+ if (_piAddress == NULL)
+ {
+ if (iComplex)
+ {
+ sciErr = createNamedComplexMatrixOfPoly(pvApiCtx, _pstVarname, pstVarName, iRows, iCols, piNbCoef, pdblReal, pdblImg);
+ }
+ else
+ {
+ sciErr = createNamedMatrixOfPoly(pvApiCtx, _pstVarname, pstVarName, iRows, iCols, piNbCoef, pdblReal);
+ }
+ }
+ else //if not null this variable is in a list
+ {
+ if (iComplex)
+ {
+ sciErr =
+ createComplexMatrixOfPolyInNamedList(pvApiCtx, _pstVarname, _piAddress, _iItemPos, pstVarName, iRows, iCols, piNbCoef, pdblReal,
+ pdblImg);
+ }
+ else
+ {
+ sciErr = createMatrixOfPolyInNamedList(pvApiCtx, _pstVarname, _piAddress, _iItemPos, pstVarName, iRows, iCols, piNbCoef, pdblReal);
+ }
+ }
+
+ FREE(piNbCoef);
+ for (int i = 0; i < iRows * iCols; i++)
+ {
+ FREE(pdblReal[i]);
+ }
+
+ FREE(pdblReal);
+
+ if (iComplex)
+ {
+ for (int i = 0; i < iRows * iCols; i++)
+ {
+ FREE(pdblImg[i]);
+ }
+
+ FREE(pdblImg);
+ }
+
+ if (sciErr.iErr)
+ {
+ printError(&sciErr, 0);
+ return false;
+ }
+
+#ifdef PRINT_DEBUG
+ char pstMsg[512];
+
+ sprintf(pstMsg, "poly_%d (%d x %d)", _iItemPos, iRows, iCols);
+ print_tree(pstMsg);
+#endif
+
+ return true;
+}
+
+static bool import_sparse_v1(int _iDatasetId, int _iItemPos, int *_piAddress, char *_pstVarname)
+{
+ int iRet = 0;
+ int iRows = 0;
+ int iCols = 0;
+ int iComplex = 0;
+ double *pdblReal = NULL;
+ double *pdblImg = NULL;
+ int iNbItem = 0;
+ int *piNbItemRow = NULL;
+ int *piColPos = NULL;
+ SciErr sciErr;
+
+ iRet = getSparseDimension_v1(_iDatasetId, &iRows, &iCols, &iNbItem);
+ if (iRet)
+ {
+ return false;
+ }
+
+ iComplex = isComplexData_v1(_iDatasetId);
+
+ if (iComplex)
+ {
+ piNbItemRow = (int *)MALLOC(iRows * sizeof(int));
+ piColPos = (int *)MALLOC(iNbItem * sizeof(int));
+ pdblReal = (double *)MALLOC(iNbItem * sizeof(double));
+ pdblImg = (double *)MALLOC(iNbItem * sizeof(double));
+ iRet = readSparseComplexMatrix_v1(_iDatasetId, iRows, iCols, iNbItem, piNbItemRow, piColPos, pdblReal, pdblImg);
+ }
+ else
+ {
+ piNbItemRow = (int *)MALLOC(iRows * sizeof(int));
+ piColPos = (int *)MALLOC(iNbItem * sizeof(int));
+ pdblReal = (double *)MALLOC(iNbItem * sizeof(double));
+ iRet = readSparseMatrix_v1(_iDatasetId, iRows, iCols, iNbItem, piNbItemRow, piColPos, pdblReal);
+ }
+
+ if (iRet)
+ {
+ FREE(piNbItemRow);
+ FREE(piColPos);
+ FREE(pdblReal);
+ if (iComplex)
+ {
+ FREE(pdblImg);
+ }
+
+ return false;
+ }
+
+ if (_piAddress == NULL)
+ {
+ if (iComplex)
+ {
+ sciErr = createNamedComplexSparseMatrix(pvApiCtx, _pstVarname, iRows, iCols, iNbItem, piNbItemRow, piColPos, pdblReal, pdblImg);
+ }
+ else
+ {
+ sciErr = createNamedSparseMatrix(pvApiCtx, _pstVarname, iRows, iCols, iNbItem, piNbItemRow, piColPos, pdblReal);
+ }
+ }
+ else //if not null this variable is in a list
+ {
+ if (iComplex)
+ {
+ sciErr =
+ createComplexSparseMatrixInNamedList(pvApiCtx, _pstVarname, _piAddress, _iItemPos, iRows, iCols, iNbItem, piNbItemRow, piColPos,
+ pdblReal, pdblImg);
+ }
+ else
+ {
+ sciErr =
+ createSparseMatrixInNamedList(pvApiCtx, _pstVarname, _piAddress, _iItemPos, iRows, iCols, iNbItem, piNbItemRow, piColPos, pdblReal);
+ }
+ }
+
+ FREE(piNbItemRow);
+ FREE(piColPos);
+ FREE(pdblReal);
+ if (iComplex)
+ {
+ FREE(pdblImg);
+ }
+
+ if (sciErr.iErr)
+ {
+ printError(&sciErr, 0);
+ return false;
+ }
+
+#ifdef PRINT_DEBUG
+ char pstMsg[512];
+
+ sprintf(pstMsg, "sparse_%d (%d x %d)", _iItemPos, iRows, iCols);
+ print_tree(pstMsg);
+#endif
+ return true;
+}
+
+static bool import_boolean_sparse_v1(int _iDatasetId, int _iItemPos, int *_piAddress, char *_pstVarname)
+{
+ int iRet = 0;
+ int iRows = 0;
+ int iCols = 0;
+ int iNbItem = 0;
+ int *piNbItemRow = NULL;
+ int *piColPos = NULL;
+ SciErr sciErr;
+
+ iRet = getSparseDimension_v1(_iDatasetId, &iRows, &iCols, &iNbItem);
+ if (iRet)
+ {
+ return false;
+ }
+
+ piNbItemRow = (int *)MALLOC(iRows * sizeof(int));
+ piColPos = (int *)MALLOC(iNbItem * sizeof(int));
+ iRet = readBooleanSparseMatrix_v1(_iDatasetId, iRows, iCols, iNbItem, piNbItemRow, piColPos);
+ if (iRet)
+ {
+ FREE(piNbItemRow);
+ FREE(piColPos);
+ return false;
+ }
+
+ if (_piAddress == NULL)
+ {
+ sciErr = createNamedBooleanSparseMatrix(pvApiCtx, _pstVarname, iRows, iCols, iNbItem, piNbItemRow, piColPos);
+ }
+ else //if not null this variable is in a list
+ {
+ sciErr = createBooleanSparseMatrixInNamedList(pvApiCtx, _pstVarname, _piAddress, _iItemPos, iRows, iCols, iNbItem, piNbItemRow, piColPos);
+ }
+
+ FREE(piNbItemRow);
+ FREE(piColPos);
+
+ if (sciErr.iErr)
+ {
+ printError(&sciErr, 0);
+ return false;
+ }
+
+#ifdef PRINT_DEBUG
+ char pstMsg[512];
+
+ sprintf(pstMsg, "boolean sparse_%d (%d x %d)", _iItemPos, iRows, iCols);
+ print_tree(pstMsg);
+#endif
+ return true;
+}
+
+static bool import_list_v1(int _iDatasetId, int _iVarType, int _iItemPos, int *_piAddress, char *_pstVarname)
+{
+ int iRet = 0;
+ int i = 0;
+ int iItems = 0;
+ int *piListAddr = NULL;
+ hobj_ref_t *piItemRef = NULL;
+ SciErr sciErr;
+
+ iRet = getListDims_v1(_iDatasetId, &iItems);
+ if (iRet)
+ {
+ return false;
+ }
+
+ if (iItems == 0)
+ {
+ //special case for empty list
+ }
+ else
+ {
+ iRet = getListItemReferences_v1(_iDatasetId, &piItemRef);
+ if (iRet)
+ {
+ return false;
+ }
+ }
+
+#ifdef PRINT_DEBUG
+ char pstMsg[512];
+
+ sprintf(pstMsg, "list_%d (%d)", _iItemPos, iItems);
+ print_tree(pstMsg);
+#endif
+
+ if (_piAddress == 0)
+ {
+ switch (_iVarType)
+ {
+ case sci_list:
+ sciErr = createNamedList(pvApiCtx, _pstVarname, iItems, &piListAddr);
+ break;
+ case sci_tlist:
+ sciErr = createNamedTList(pvApiCtx, _pstVarname, iItems, &piListAddr);
+ break;
+ case sci_mlist:
+ sciErr = createNamedMList(pvApiCtx, _pstVarname, iItems, &piListAddr);
+ break;
+ default:
+ return false;
+ }
+ }
+ else //if not null this variable is in a list
+ {
+ switch (_iVarType)
+ {
+ case sci_list:
+ sciErr = createListInNamedList(pvApiCtx, _pstVarname, _piAddress, _iItemPos, iItems, &piListAddr);
+ break;
+ case sci_tlist:
+ sciErr = createTListInNamedList(pvApiCtx, _pstVarname, _piAddress, _iItemPos, iItems, &piListAddr);
+ break;
+ case sci_mlist:
+ sciErr = createMListInNamedList(pvApiCtx, _pstVarname, _piAddress, _iItemPos, iItems, &piListAddr);
+ break;
+ default:
+ return false;
+ }
+ }
+
+ if (sciErr.iErr)
+ {
+ printError(&sciErr, 0);
+ return false;
+ }
+
+ iTab++;
+ for (i = 0; i < iItems; i++)
+ {
+ int iItemDataset = 0;
+
+ iRet = getListItemDataset_v1(_iDatasetId, piItemRef, i, &iItemDataset);
+ if (iRet || iItemDataset == 0)
+ {
+ return false;
+ }
+
+ bool bRet = import_data_v1(iItemDataset, i + 1, piListAddr, _pstVarname);
+
+ if (bRet == false)
+ {
+ return false;
+ }
+ }
+ iTab--;
+
+ iRet = deleteListItemReferences_v1(_iDatasetId, piItemRef);
+ if (iRet)
+ {
+ return false;
+ }
+
+#ifdef TIME_DEBUG
+ printf("Close List %d\n\n", iCloseList++);
+#endif
+
+#ifdef PRINT_DEBUG
+ char pstMsg1[512];
+
+ sprintf(pstMsg1, "ListEnd_%d", _iItemPos);
+ print_tree(pstMsg1);
+#endif
+ return true;
+}
+
+void print_tree(char *_pstMsg)
+{
+#ifdef PRINT_DEBUG
+ for (int i = 0; i < iTab; i++)
+ {
+ printf("\t");
+ }
+ printf("%s\n", _pstMsg);
+#endif
+}
+
+/*--------------------------------------------------------------------------*/
diff --git a/modules/hdf5/src/cpp/libscihdf5_algo_la-H5ArrayData.lo b/modules/hdf5/src/cpp/libscihdf5_algo_la-H5ArrayData.lo
new file mode 100755
index 000000000..2a3c4fd7e
--- /dev/null
+++ b/modules/hdf5/src/cpp/libscihdf5_algo_la-H5ArrayData.lo
@@ -0,0 +1,12 @@
+# src/cpp/libscihdf5_algo_la-H5ArrayData.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/libscihdf5_algo_la-H5ArrayData.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/hdf5/src/cpp/libscihdf5_algo_la-H5Attribute.lo b/modules/hdf5/src/cpp/libscihdf5_algo_la-H5Attribute.lo
new file mode 100755
index 000000000..676e232ca
--- /dev/null
+++ b/modules/hdf5/src/cpp/libscihdf5_algo_la-H5Attribute.lo
@@ -0,0 +1,12 @@
+# src/cpp/libscihdf5_algo_la-H5Attribute.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/libscihdf5_algo_la-H5Attribute.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/hdf5/src/cpp/libscihdf5_algo_la-H5AttributesList.lo b/modules/hdf5/src/cpp/libscihdf5_algo_la-H5AttributesList.lo
new file mode 100755
index 000000000..f5985ba9e
--- /dev/null
+++ b/modules/hdf5/src/cpp/libscihdf5_algo_la-H5AttributesList.lo
@@ -0,0 +1,12 @@
+# src/cpp/libscihdf5_algo_la-H5AttributesList.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/libscihdf5_algo_la-H5AttributesList.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/hdf5/src/cpp/libscihdf5_algo_la-H5CompoundData.lo b/modules/hdf5/src/cpp/libscihdf5_algo_la-H5CompoundData.lo
new file mode 100755
index 000000000..72bdd1e59
--- /dev/null
+++ b/modules/hdf5/src/cpp/libscihdf5_algo_la-H5CompoundData.lo
@@ -0,0 +1,12 @@
+# src/cpp/libscihdf5_algo_la-H5CompoundData.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/libscihdf5_algo_la-H5CompoundData.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/hdf5/src/cpp/libscihdf5_algo_la-H5DataConverter.lo b/modules/hdf5/src/cpp/libscihdf5_algo_la-H5DataConverter.lo
new file mode 100755
index 000000000..5e6a63aad
--- /dev/null
+++ b/modules/hdf5/src/cpp/libscihdf5_algo_la-H5DataConverter.lo
@@ -0,0 +1,12 @@
+# src/cpp/libscihdf5_algo_la-H5DataConverter.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/libscihdf5_algo_la-H5DataConverter.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/hdf5/src/cpp/libscihdf5_algo_la-H5DataFactory.lo b/modules/hdf5/src/cpp/libscihdf5_algo_la-H5DataFactory.lo
new file mode 100755
index 000000000..78b6f7c7d
--- /dev/null
+++ b/modules/hdf5/src/cpp/libscihdf5_algo_la-H5DataFactory.lo
@@ -0,0 +1,12 @@
+# src/cpp/libscihdf5_algo_la-H5DataFactory.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/libscihdf5_algo_la-H5DataFactory.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/hdf5/src/cpp/libscihdf5_algo_la-H5Dataset.lo b/modules/hdf5/src/cpp/libscihdf5_algo_la-H5Dataset.lo
new file mode 100755
index 000000000..6a506c060
--- /dev/null
+++ b/modules/hdf5/src/cpp/libscihdf5_algo_la-H5Dataset.lo
@@ -0,0 +1,12 @@
+# src/cpp/libscihdf5_algo_la-H5Dataset.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/libscihdf5_algo_la-H5Dataset.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/hdf5/src/cpp/libscihdf5_algo_la-H5Dataspace.lo b/modules/hdf5/src/cpp/libscihdf5_algo_la-H5Dataspace.lo
new file mode 100755
index 000000000..a585e1957
--- /dev/null
+++ b/modules/hdf5/src/cpp/libscihdf5_algo_la-H5Dataspace.lo
@@ -0,0 +1,12 @@
+# src/cpp/libscihdf5_algo_la-H5Dataspace.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/libscihdf5_algo_la-H5Dataspace.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/hdf5/src/cpp/libscihdf5_algo_la-H5ExternalLink.lo b/modules/hdf5/src/cpp/libscihdf5_algo_la-H5ExternalLink.lo
new file mode 100755
index 000000000..e2b68a045
--- /dev/null
+++ b/modules/hdf5/src/cpp/libscihdf5_algo_la-H5ExternalLink.lo
@@ -0,0 +1,12 @@
+# src/cpp/libscihdf5_algo_la-H5ExternalLink.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/libscihdf5_algo_la-H5ExternalLink.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/hdf5/src/cpp/libscihdf5_algo_la-H5File.lo b/modules/hdf5/src/cpp/libscihdf5_algo_la-H5File.lo
new file mode 100755
index 000000000..2868624b5
--- /dev/null
+++ b/modules/hdf5/src/cpp/libscihdf5_algo_la-H5File.lo
@@ -0,0 +1,12 @@
+# src/cpp/libscihdf5_algo_la-H5File.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/libscihdf5_algo_la-H5File.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/hdf5/src/cpp/libscihdf5_algo_la-H5Group.lo b/modules/hdf5/src/cpp/libscihdf5_algo_la-H5Group.lo
new file mode 100755
index 000000000..f6cac0bba
--- /dev/null
+++ b/modules/hdf5/src/cpp/libscihdf5_algo_la-H5Group.lo
@@ -0,0 +1,12 @@
+# src/cpp/libscihdf5_algo_la-H5Group.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/libscihdf5_algo_la-H5Group.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/hdf5/src/cpp/libscihdf5_algo_la-H5HardLink.lo b/modules/hdf5/src/cpp/libscihdf5_algo_la-H5HardLink.lo
new file mode 100755
index 000000000..f93ec8552
--- /dev/null
+++ b/modules/hdf5/src/cpp/libscihdf5_algo_la-H5HardLink.lo
@@ -0,0 +1,12 @@
+# src/cpp/libscihdf5_algo_la-H5HardLink.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/libscihdf5_algo_la-H5HardLink.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/hdf5/src/cpp/libscihdf5_algo_la-H5Link.lo b/modules/hdf5/src/cpp/libscihdf5_algo_la-H5Link.lo
new file mode 100755
index 000000000..7de9693ad
--- /dev/null
+++ b/modules/hdf5/src/cpp/libscihdf5_algo_la-H5Link.lo
@@ -0,0 +1,12 @@
+# src/cpp/libscihdf5_algo_la-H5Link.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/libscihdf5_algo_la-H5Link.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/hdf5/src/cpp/libscihdf5_algo_la-H5Object.lo b/modules/hdf5/src/cpp/libscihdf5_algo_la-H5Object.lo
new file mode 100755
index 000000000..0e21f5c2b
--- /dev/null
+++ b/modules/hdf5/src/cpp/libscihdf5_algo_la-H5Object.lo
@@ -0,0 +1,12 @@
+# src/cpp/libscihdf5_algo_la-H5Object.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/libscihdf5_algo_la-H5Object.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/hdf5/src/cpp/libscihdf5_algo_la-H5Options.lo b/modules/hdf5/src/cpp/libscihdf5_algo_la-H5Options.lo
new file mode 100755
index 000000000..e03ab01d9
--- /dev/null
+++ b/modules/hdf5/src/cpp/libscihdf5_algo_la-H5Options.lo
@@ -0,0 +1,12 @@
+# src/cpp/libscihdf5_algo_la-H5Options.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/libscihdf5_algo_la-H5Options.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/hdf5/src/cpp/libscihdf5_algo_la-H5ReferenceData.lo b/modules/hdf5/src/cpp/libscihdf5_algo_la-H5ReferenceData.lo
new file mode 100755
index 000000000..750814761
--- /dev/null
+++ b/modules/hdf5/src/cpp/libscihdf5_algo_la-H5ReferenceData.lo
@@ -0,0 +1,12 @@
+# src/cpp/libscihdf5_algo_la-H5ReferenceData.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/libscihdf5_algo_la-H5ReferenceData.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/hdf5/src/cpp/libscihdf5_algo_la-H5SoftLink.lo b/modules/hdf5/src/cpp/libscihdf5_algo_la-H5SoftLink.lo
new file mode 100755
index 000000000..cd114189f
--- /dev/null
+++ b/modules/hdf5/src/cpp/libscihdf5_algo_la-H5SoftLink.lo
@@ -0,0 +1,12 @@
+# src/cpp/libscihdf5_algo_la-H5SoftLink.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/libscihdf5_algo_la-H5SoftLink.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/hdf5/src/cpp/libscihdf5_algo_la-H5StringData.lo b/modules/hdf5/src/cpp/libscihdf5_algo_la-H5StringData.lo
new file mode 100755
index 000000000..23ac182bb
--- /dev/null
+++ b/modules/hdf5/src/cpp/libscihdf5_algo_la-H5StringData.lo
@@ -0,0 +1,12 @@
+# src/cpp/libscihdf5_algo_la-H5StringData.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/libscihdf5_algo_la-H5StringData.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/hdf5/src/cpp/libscihdf5_algo_la-H5Type.lo b/modules/hdf5/src/cpp/libscihdf5_algo_la-H5Type.lo
new file mode 100755
index 000000000..ce5f615bd
--- /dev/null
+++ b/modules/hdf5/src/cpp/libscihdf5_algo_la-H5Type.lo
@@ -0,0 +1,12 @@
+# src/cpp/libscihdf5_algo_la-H5Type.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/libscihdf5_algo_la-H5Type.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/hdf5/src/cpp/libscihdf5_algo_la-H5VariableScope.lo b/modules/hdf5/src/cpp/libscihdf5_algo_la-H5VariableScope.lo
new file mode 100755
index 000000000..9a52d76eb
--- /dev/null
+++ b/modules/hdf5/src/cpp/libscihdf5_algo_la-H5VariableScope.lo
@@ -0,0 +1,12 @@
+# src/cpp/libscihdf5_algo_la-H5VariableScope.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/libscihdf5_algo_la-H5VariableScope.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/hdf5/src/cpp/libscihdf5_algo_la-H5VlenData.lo b/modules/hdf5/src/cpp/libscihdf5_algo_la-H5VlenData.lo
new file mode 100755
index 000000000..bee958faa
--- /dev/null
+++ b/modules/hdf5/src/cpp/libscihdf5_algo_la-H5VlenData.lo
@@ -0,0 +1,12 @@
+# src/cpp/libscihdf5_algo_la-H5VlenData.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/libscihdf5_algo_la-H5VlenData.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/hdf5/src/cpp/libscihdf5_algo_la-HDF5Scilab.lo b/modules/hdf5/src/cpp/libscihdf5_algo_la-HDF5Scilab.lo
new file mode 100755
index 000000000..8e9e2633f
--- /dev/null
+++ b/modules/hdf5/src/cpp/libscihdf5_algo_la-HDF5Scilab.lo
@@ -0,0 +1,12 @@
+# src/cpp/libscihdf5_algo_la-HDF5Scilab.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/libscihdf5_algo_la-HDF5Scilab.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/hdf5/src/cpp/libscihdf5_algo_la-import_from_hdf5_v1.lo b/modules/hdf5/src/cpp/libscihdf5_algo_la-import_from_hdf5_v1.lo
new file mode 100755
index 000000000..d0f4d9567
--- /dev/null
+++ b/modules/hdf5/src/cpp/libscihdf5_algo_la-import_from_hdf5_v1.lo
@@ -0,0 +1,12 @@
+# src/cpp/libscihdf5_algo_la-import_from_hdf5_v1.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/libscihdf5_algo_la-import_from_hdf5_v1.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/hdf5/src/cpp/libscihdf5_algo_la-listvar_in_hdf5_v1.lo b/modules/hdf5/src/cpp/libscihdf5_algo_la-listvar_in_hdf5_v1.lo
new file mode 100755
index 000000000..361f4782a
--- /dev/null
+++ b/modules/hdf5/src/cpp/libscihdf5_algo_la-listvar_in_hdf5_v1.lo
@@ -0,0 +1,12 @@
+# src/cpp/libscihdf5_algo_la-listvar_in_hdf5_v1.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/libscihdf5_algo_la-listvar_in_hdf5_v1.o'
+
+# Name of the non-PIC object
+non_pic_object=none
+
diff --git a/modules/hdf5/src/cpp/listvar_in_hdf5_v1.cpp b/modules/hdf5/src/cpp/listvar_in_hdf5_v1.cpp
new file mode 100755
index 000000000..20e4e9e95
--- /dev/null
+++ b/modules/hdf5/src/cpp/listvar_in_hdf5_v1.cpp
@@ -0,0 +1,584 @@
+/*
+* Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+* Copyright (C) 2012 - DIGITEO - Antoine ELIAS
+*
+* 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 <hdf5.h>
+extern "C"
+{
+#include <string.h>
+#include "gw_hdf5.h"
+#include "MALLOC.h"
+#include "Scierror.h"
+#include "localization.h"
+#include "sciprint.h"
+#include "api_scilab.h"
+#include "../../../call_scilab/includes/call_scilab.h"
+#include "h5_fileManagement.h"
+#include "h5_readDataFromFile_v1.h"
+#include "expandPathVariable.h"
+#include "freeArrayOfString.h"
+}
+
+#include <vector>
+
+typedef struct __VAR_INFO_V1__
+{
+ char pstInfo[128];
+ char varName[128];
+ int iType;
+ int iSize;
+ int iDims;
+ int piDims[2];
+
+ __VAR_INFO_V1__() : iType(0), iSize(0), iDims(0) {}
+} VarInfo_v1;
+
+static bool read_data_v1(int _iDatasetId, int _iItemPos, int *_piAddress, VarInfo_v1* _pInfo);
+static bool read_double_v1(int _iDatasetId, int _iItemPos, int *_piAddress, VarInfo_v1* _pInfo);
+static bool read_string_v1(int _iDatasetId, int _iItemPos, int *_piAddress, VarInfo_v1* _pInfo);
+static bool read_boolean_v1(int _iDatasetId, int _iItemPos, int *_piAddress, VarInfo_v1* _pInfo);
+static bool read_integer_v1(int _iDatasetId, int _iItemPos, int *_piAddress, VarInfo_v1* _pInfo);
+static bool read_sparse_v1(int _iDatasetId, int _iItemPos, int *_piAddress, VarInfo_v1* _pInfo);
+static bool read_boolean_sparse_v1(int _iDatasetId, int _iItemPos, int *_piAddress, VarInfo_v1* _pInfo);
+static bool read_poly_v1(int _iDatasetId, int _iItemPos, int *_piAddress, VarInfo_v1* _pInfo);
+static bool read_list_v1(int _iDatasetId, int _iVarType, int _iItemPos, int *_piAddress, VarInfo_v1* _pInfo);
+static bool read_void_v1(int _iDatasetId, int _iItemPos, int *_piAddress, VarInfo_v1* _pInfo);
+static bool read_undefined_v1(int _iDatasetId, int _iItemPos, int *_piAddress, VarInfo_v1* _pInfo);
+
+static void generateInfo_v1(VarInfo_v1* _pInfo, const char* _pstType);
+
+int sci_listvar_in_hdf5_v1(char *fname, unsigned long fname_len)
+{
+ SciErr sciErr;
+ int *piAddr = NULL;
+ char* pstFile = NULL;
+ int iFile = 0;
+ int iNbItem = 0;
+ VarInfo_v1* pInfo = NULL;
+
+ CheckRhs(1, 1);
+ CheckLhs(1, 4);
+
+ sciErr = getVarAddressFromPosition(pvApiCtx, 1, &piAddr);
+ if (sciErr.iErr)
+ {
+ printError(&sciErr, 0);
+ return 1;
+ }
+
+ if (getAllocatedSingleString(pvApiCtx, piAddr, &pstFile))
+ {
+ if (pstFile)
+ {
+ FREE(pstFile);
+ }
+
+ Scierror(999, _("%s: Wrong size for input argument #%d: A string expected.\n"), fname, 1);
+ return 1;
+ }
+
+ char* pstFileName = expandPathVariable(pstFile);
+ iFile = openHDF5File(pstFileName, 0);
+ if (iFile < 0)
+ {
+ FREE(pstFileName);
+ Scierror(999, _("%s: Unable to open file: %s\n"), fname, pstFile);
+ FREE(pstFile);
+ return 1;
+ }
+ FREE(pstFileName);
+ FREE(pstFile);
+
+ iNbItem = getVariableNames_v1(iFile, NULL);
+ if (iNbItem != 0)
+ {
+ char** pstVarNameList = (char**)MALLOC(sizeof(char*) * iNbItem);
+ bool b;
+ pInfo = (VarInfo_v1*)MALLOC(iNbItem * sizeof(VarInfo_v1));
+
+ if (Lhs == 1)
+ {
+ sciprint("Name Type Size Bytes\n");
+ sciprint("---------------------------------------------------------------\n");
+ }
+
+ iNbItem = getVariableNames_v1(iFile, pstVarNameList);
+ for (int i = 0; i < iNbItem; i++)
+ {
+ int iDataSetId = getDataSetIdFromName_v1(iFile, pstVarNameList[i]);
+ if (iDataSetId == 0)
+ {
+ break;
+ }
+
+ strncpy(pInfo[i].varName, pstVarNameList[i], sizeof(pInfo[i].varName));
+ b = read_data_v1(iDataSetId, 0, NULL, &pInfo[i]) == false;
+ closeDataSet_v1(iDataSetId);
+
+ if (b)
+ {
+ break;
+ }
+
+ if (Lhs == 1)
+ {
+ sciprint("%s\n", pInfo[i].pstInfo);
+ }
+ }
+
+ freeArrayOfString(pstVarNameList, iNbItem);
+ }
+ else
+ {
+ //no variable returms [] for each Lhs
+ for (int i = 0 ; i < Lhs ; i++)
+ {
+ createEmptyMatrix(pvApiCtx, Rhs + i + 1);
+ LhsVar(i + 1) = Rhs + i + 1;
+ }
+
+ PutLhsVar();
+ return 0;
+ }
+
+ closeHDF5File(iFile);
+
+ //1st Lhs
+ char** pstVarName = (char**)MALLOC(sizeof(char*) * iNbItem);
+ for (int i = 0 ; i < iNbItem ; i++)
+ {
+ pstVarName[i] = pInfo[i].varName;
+ }
+
+ sciErr = createMatrixOfString(pvApiCtx, Rhs + 1, iNbItem, 1, pstVarName);
+ FREE(pstVarName);
+ if (sciErr.iErr)
+ {
+ FREE(pInfo);
+ printError(&sciErr, 0);
+ return 1;
+ }
+
+ LhsVar(1) = Rhs + 1;
+
+ if (Lhs > 1)
+ {
+ //2nd Lhs
+ double* pdblType;
+ sciErr = allocMatrixOfDouble(pvApiCtx, Rhs + 2, iNbItem, 1, &pdblType);
+ if (sciErr.iErr)
+ {
+ FREE(pInfo);
+ printError(&sciErr, 0);
+ return 1;
+ }
+
+ for (int i = 0 ; i < iNbItem ; i++)
+ {
+ pdblType[i] = pInfo[i].iType;
+ }
+
+ LhsVar(2) = Rhs + 2;
+
+ if (Lhs > 2)
+ {
+ //3rd Lhs
+ int* pList = NULL;
+ sciErr = createList(pvApiCtx, Rhs + 3, iNbItem, &pList);
+ for (int i = 0 ; i < iNbItem ; i++)
+ {
+ double* pdblDims = NULL;
+ allocMatrixOfDoubleInList(pvApiCtx, Rhs + 3, pList, i + 1, 1, pInfo[i].iDims, &pdblDims);
+ for (int j = 0 ; j < pInfo[i].iDims ; j++)
+ {
+ pdblDims[j] = pInfo[i].piDims[j];
+ }
+ }
+
+ LhsVar(3) = Rhs + 3;
+ }
+
+ if (Lhs > 3)
+ {
+ //4th Lhs
+ double* pdblSize;
+ sciErr = allocMatrixOfDouble(pvApiCtx, Rhs + 4, iNbItem, 1, &pdblSize);
+ for (int i = 0 ; i < iNbItem ; i++)
+ {
+ pdblSize[i] = pInfo[i].iSize;
+ }
+
+ LhsVar(4) = Rhs + 4;
+ }
+
+ }
+
+ FREE(pInfo);
+ PutLhsVar();
+ return 0;
+}
+
+static bool read_data_v1(int _iDatasetId, int _iItemPos, int *_piAddress, VarInfo_v1* _pInfo)
+{
+ bool bRet = false;
+
+ _pInfo->iType = getScilabTypeFromDataSet_v1(_iDatasetId);
+ switch (_pInfo->iType)
+ {
+ case sci_matrix:
+ {
+ bRet = read_double_v1(_iDatasetId, _iItemPos, _piAddress, _pInfo);
+ break;
+ }
+ case sci_strings:
+ {
+ bRet = read_string_v1(_iDatasetId, _iItemPos, _piAddress, _pInfo);
+ break;
+ }
+ case sci_list:
+ case sci_tlist:
+ case sci_mlist:
+ {
+ bRet = read_list_v1(_iDatasetId, _pInfo->iType, _iItemPos, _piAddress, _pInfo);
+ break;
+ }
+ case sci_boolean:
+ {
+ bRet = read_boolean_v1(_iDatasetId, _iItemPos, _piAddress, _pInfo);
+ break;
+ }
+ case sci_poly:
+ {
+ bRet = read_poly_v1(_iDatasetId, _iItemPos, _piAddress, _pInfo);
+ break;
+ }
+ case sci_ints:
+ {
+ bRet = read_integer_v1(_iDatasetId, _iItemPos, _piAddress, _pInfo);
+ break;
+ }
+ case sci_sparse:
+ {
+ bRet = read_sparse_v1(_iDatasetId, _iItemPos, _piAddress, _pInfo);
+ break;
+ }
+ case sci_boolean_sparse:
+ {
+ bRet = read_boolean_sparse_v1(_iDatasetId, _iItemPos, _piAddress, _pInfo);
+ break;
+ }
+ case sci_void: //void item only on list variable
+ {
+ bRet = read_void_v1(_iDatasetId, _iItemPos, _piAddress, _pInfo);
+ break;
+ }
+ case sci_undefined: //undefined item only on list variable
+ {
+ bRet = read_undefined_v1(_iDatasetId, _iItemPos, _piAddress, _pInfo);
+ break;
+ }
+ default:
+ {
+ Scierror(999, _("%s: Invalid HDF5 Scilab format.\n"), "listvar_in_hdf5");
+ break;
+ }
+ }
+
+ return bRet;
+}
+
+static bool read_double_v1(int _iDatasetId, int _iItemPos, int *_piAddress, VarInfo_v1* _pInfo)
+{
+ int iRet = 0;
+ int iRows = 0;
+ int iCols = 0;
+ int iComplex = 0;
+
+ iRet = getDatasetDims_v1(_iDatasetId, &iRows, &iCols);
+ iComplex = isComplexData_v1(_iDatasetId);
+
+ _pInfo->iDims = 2;
+ _pInfo->piDims[0] = iRows;
+ _pInfo->piDims[1] = iCols;
+ _pInfo->iSize = (2 + (iRows * iCols * (iComplex + 1))) * 8;
+
+ generateInfo_v1(_pInfo, "constant");
+ return true;
+}
+
+static bool read_string_v1(int _iDatasetId, int _iItemPos, int *_piAddress, VarInfo_v1* _pInfo)
+{
+ int iRet = 0;
+ int iRows = 0;
+ int iCols = 0;
+ char** pstData = NULL;
+
+ iRet = getDatasetDims_v1(_iDatasetId, &iRows, &iCols);
+
+ _pInfo->iDims = 2;
+ _pInfo->piDims[0] = iRows;
+ _pInfo->piDims[1] = iCols;
+
+ pstData = (char **)MALLOC(iRows * iCols * sizeof(char *));
+ memset(pstData, 0x00, iRows * iCols * sizeof(char *));
+ iRet = readStringMatrix_v1(_iDatasetId, iRows, iCols, pstData);
+
+ for (int i = 0 ; i < iRows * iCols ; i++)
+ {
+ _pInfo->iSize += (int)strlen(pstData[i]) * 4;
+ FREE(pstData[i]);
+ }
+
+ FREE(pstData);
+ //always full double size
+ _pInfo->iSize += (8 - (_pInfo->iSize % 8));
+ //header + offset
+ _pInfo->iSize += 16 + (1 + iRows * iCols) * 4;
+
+ generateInfo_v1(_pInfo, "string");
+ return true;
+}
+
+static bool read_boolean_v1(int _iDatasetId, int _iItemPos, int *_piAddress, VarInfo_v1* _pInfo)
+{
+ int iRet = 0;
+ int iRows = 0;
+ int iCols = 0;
+
+ iRet = getDatasetDims_v1(_iDatasetId, &iRows, &iCols);
+
+ _pInfo->iDims = 2;
+ _pInfo->piDims[0] = iRows;
+ _pInfo->piDims[1] = iCols;
+ _pInfo->iSize = (3 + iRows * iCols) * 4;
+
+ generateInfo_v1(_pInfo, "boolean");
+ return true;
+}
+
+static bool read_integer_v1(int _iDatasetId, int _iItemPos, int *_piAddress, VarInfo_v1* _pInfo)
+{
+ int iRet = 0;
+ int iRows = 0;
+ int iCols = 0;
+ int iPrec = 0;
+
+ iRet = getDatasetDims_v1(_iDatasetId, &iRows, &iCols);
+ iRet = getDatasetPrecision_v1(_iDatasetId, &iPrec);
+
+ _pInfo->iDims = 2;
+ _pInfo->piDims[0] = iRows;
+ _pInfo->piDims[1] = iCols;
+ _pInfo->iSize = 16 + iRows * iCols * (iPrec % 10);
+
+ generateInfo_v1(_pInfo, "integer");
+ return true;
+}
+
+static bool read_sparse_v1(int _iDatasetId, int _iItemPos, int *_piAddress, VarInfo_v1* _pInfo)
+{
+ int iRet = 0;
+ int iRows = 0;
+ int iCols = 0;
+ int iNbItem = 0;
+ int iComplex = 0;
+
+ iRet = getSparseDimension_v1(_iDatasetId, &iRows, &iCols, &iNbItem);
+ if (iRet)
+ {
+ return false;
+ }
+
+ iComplex = isComplexData_v1(_iDatasetId);
+
+ _pInfo->iDims = 2;
+ _pInfo->piDims[0] = iRows;
+ _pInfo->piDims[1] = iCols;
+ _pInfo->iSize = 20 + iRows * 4 + iNbItem * 4 + (iNbItem * (iComplex + 1) * 8);
+
+ generateInfo_v1(_pInfo, "sparse");
+ return true;
+}
+
+static bool read_boolean_sparse_v1(int _iDatasetId, int _iItemPos, int *_piAddress, VarInfo_v1* _pInfo)
+{
+ int iRet = 0;
+ int iRows = 0;
+ int iCols = 0;
+ int iNbItem = 0;
+ int iComplex = 0;
+
+ iRet = getSparseDimension_v1(_iDatasetId, &iRows, &iCols, &iNbItem);
+ if (iRet)
+ {
+ return false;
+ }
+
+ _pInfo->iDims = 2;
+ _pInfo->piDims[0] = iRows;
+ _pInfo->piDims[1] = iCols;
+ _pInfo->iSize = 20 + iRows * 4 + iNbItem * 4;
+
+ generateInfo_v1(_pInfo, "boolean sparse");
+ return true;
+}
+
+static bool read_poly_v1(int _iDatasetId, int _iItemPos, int *_piAddress, VarInfo_v1* _pInfo)
+{
+ int iRet = 0;
+ int iRows = 0;
+ int iCols = 0;
+ int iComplex = 0;
+ char pstVarName[64] = { 0 };
+ double **pdblReal = NULL;
+ double **pdblImg = NULL;
+ int *piNbCoef = NULL;
+
+ iRet = getDatasetDims_v1(_iDatasetId, &iRows, &iCols);
+ if (iRet)
+ {
+ return false;
+ }
+
+ iComplex = isComplexData_v1(_iDatasetId);
+
+ _pInfo->iDims = 2;
+ _pInfo->piDims[0] = iRows;
+ _pInfo->piDims[1] = iCols;
+ _pInfo->iSize = 8 * 4 + (iRows * iCols + 1) * 4;
+
+ if (iComplex)
+ {
+ piNbCoef = (int *)MALLOC(iRows * iCols * sizeof(int));
+ pdblReal = (double **)MALLOC(iRows * iCols * sizeof(double *));
+ pdblImg = (double **)MALLOC(iRows * iCols * sizeof(double *));
+ iRet = readPolyComplexMatrix_v1(_iDatasetId, pstVarName, iRows, iCols, piNbCoef, pdblReal, pdblImg);
+ }
+ else
+ {
+ piNbCoef = (int *)MALLOC(iRows * iCols * sizeof(int));
+ pdblReal = (double **)MALLOC(iRows * iCols * sizeof(double *));
+ iRet = readPolyMatrix_v1(_iDatasetId, pstVarName, iRows, iCols, piNbCoef, pdblReal);
+ }
+
+ for (int i = 0 ; i < iRows * iCols ; i++)
+ {
+ _pInfo->iSize += piNbCoef[i] * 8 * (iComplex + 1);
+ FREE(pdblReal[i]);
+ if (iComplex)
+ {
+ FREE(pdblImg[i]);
+ }
+ }
+
+ FREE(piNbCoef);
+ FREE(pdblReal);
+ if (iComplex)
+ {
+ FREE(pdblImg);
+ }
+
+ generateInfo_v1(_pInfo, "polynomial");
+ return true;
+}
+
+static bool read_list_v1(int _iDatasetId, int _iVarType, int _iItemPos, int *_piAddress, VarInfo_v1* _pInfo)
+{
+ int iRet = 0;
+ int iItems = 0;
+ int *piListAddr = NULL;
+ hobj_ref_t *piItemRef = NULL;
+
+ iRet = getListDims_v1(_iDatasetId, &iItems);
+ if (iRet)
+ {
+ return false;
+ }
+
+ if (iItems == 0)
+ {
+ //special case for empty list
+ }
+ else
+ {
+ iRet = getListItemReferences_v1(_iDatasetId, &piItemRef);
+ if (iRet)
+ {
+ return false;
+ }
+ }
+ //_pInfo = (VarInfo_v1*)MALLOC(sizeof(VarInfo));
+ _pInfo->iDims = 1;
+ _pInfo->piDims[0] = iItems;
+ _pInfo->iSize = (2 + iItems + 1) * 4;
+
+ for (int i = 0; i < iItems; i++)
+ {
+ int iItemDataset = 0;
+
+ iRet = getListItemDataset_v1(_iDatasetId, piItemRef, i, &iItemDataset);
+ if (iRet || iItemDataset == 0)
+ {
+ return false;
+ }
+ VarInfo_v1 info;
+ bool bRet = read_data_v1(iItemDataset, i + 1, piListAddr, &info);
+ if (bRet == false)
+ {
+ return false;
+ }
+
+ _pInfo->iSize += info.iSize;
+ }
+
+ if (_iVarType == sci_list)
+ {
+ generateInfo_v1(_pInfo, "list");
+ }
+ else if (_iVarType == sci_tlist)
+ {
+ generateInfo_v1(_pInfo, "tlist");
+ }
+ else if (_iVarType == sci_mlist)
+ {
+ generateInfo_v1(_pInfo, "mlist");
+ }
+
+ return true;
+}
+
+static bool read_void_v1(int _iDatasetId, int _iItemPos, int *_piAddress, VarInfo_v1* _pInfo)
+{
+ _pInfo->iSize = 1;
+ return true;
+}
+
+static bool read_undefined_v1(int _iDatasetId, int _iItemPos, int *_piAddress, VarInfo_v1* _pInfo)
+{
+ _pInfo->iSize = 1;
+ return true;
+}
+
+static void generateInfo_v1(VarInfo_v1* _pInfo, const char* _pstType)
+{
+ char pstSize[17];
+
+ if (_pInfo->iDims == 2)
+ {
+ sprintf(pstSize, "%d by %d", _pInfo->piDims[0], _pInfo->piDims[1]);
+ }
+ else
+ {
+ sprintf(pstSize, "%d", _pInfo->piDims[0]);
+ }
+ sprintf(_pInfo->pstInfo, "%-*s%-*s%-*s%-*d", 25, _pInfo->varName, 15, _pstType, 16, pstSize, 10, _pInfo->iSize);
+}
+