Merge branch 'master' into palette-browser 97/17597/1
Marcos CARDINOT [Mon, 21 Dec 2015 05:59:19 +0000 (03:59 -0200)]
Conflicts:
scilab/CHANGES_6.0.X
scilab/Makefile.am
scilab/Makefile.in
scilab/Scilab.sln
scilab/Scilab_f2c.sln
scilab/aclocal.m4
scilab/configure
scilab/configure.ac
scilab/contrib/Makefile.in
scilab/contrib/toolbox_skeleton/sci_gateway/cpp/sci_cpp_find.cxx
scilab/desktop/Makefile.in
scilab/desktop/images/icons/Makefile.in
scilab/etc/modules.xml.vc
scilab/etc/scilab.start
scilab/modules/Makefile.am
scilab/modules/Makefile.in
scilab/modules/action_binding/Makefile.in
scilab/modules/action_binding/locales/action_binding.pot
scilab/modules/action_binding/sci_gateway/cpp/sci_notify.cpp
scilab/modules/action_binding/src/c/DllmainAction_Binding.c
scilab/modules/action_binding/src/c/InterpreterManagement.c
scilab/modules/action_binding/src/c/action_binding.vcxproj
scilab/modules/action_binding/src/java/org/scilab/modules/action_binding/InterpreterManagement.java
scilab/modules/action_binding/src/java/org/scilab/modules/action_binding/InterpreterManagementJNI.java
scilab/modules/action_binding/src/jni/InterpreterManagement_wrap.c
scilab/modules/api_scilab/Makefile.am
scilab/modules/api_scilab/Makefile.in
scilab/modules/api_scilab/api_scilab.vcxproj
scilab/modules/api_scilab/api_scilab.vcxproj.filters
scilab/modules/api_scilab/core_Import.def
scilab/modules/api_scilab/help/en_US/legacy/low_level_functions/UpdateStack.xml
scilab/modules/api_scilab/includes/api_boolean.h
scilab/modules/api_scilab/includes/api_common.h
scilab/modules/api_scilab/includes/api_double.h
scilab/modules/api_scilab/includes/api_error.h
scilab/modules/api_scilab/includes/api_int.h
scilab/modules/api_scilab/includes/api_list.h
scilab/modules/api_scilab/includes/api_optional.h
scilab/modules/api_scilab/includes/api_pointer.h
scilab/modules/api_scilab/includes/api_pointer.hxx
scilab/modules/api_scilab/includes/api_poly.h
scilab/modules/api_scilab/includes/api_scilab.h
scilab/modules/api_scilab/includes/api_stack_hypermat.h
scilab/modules/api_scilab/includes/api_string.h
scilab/modules/api_scilab/includes/api_variable.hxx
scilab/modules/api_scilab/locales/api_scilab.pot
scilab/modules/api_scilab/src/c/DllmainApi_scilab.c
scilab/modules/api_scilab/src/cpp/api_error.cpp
scilab/modules/api_scilab/src/cpp/api_list_cpp.cpp
scilab/modules/api_scilab/src/cpp/api_pointer_cpp.cpp
scilab/modules/api_scilab/src/cpp/api_stack_boolean.cpp
scilab/modules/api_scilab/src/cpp/api_stack_boolean_sparse.cpp
scilab/modules/api_scilab/src/cpp/api_stack_common.cpp
scilab/modules/api_scilab/src/cpp/api_stack_double.cpp
scilab/modules/api_scilab/src/cpp/api_stack_handle.cpp
scilab/modules/api_scilab/src/cpp/api_stack_int.cpp
scilab/modules/api_scilab/src/cpp/api_stack_list.cpp
scilab/modules/api_scilab/src/cpp/api_stack_optional.cpp
scilab/modules/api_scilab/src/cpp/api_stack_pointer.cpp
scilab/modules/api_scilab/src/cpp/api_stack_poly.cpp
scilab/modules/api_scilab/src/cpp/api_stack_sparse.cpp
scilab/modules/api_scilab/src/cpp/api_stack_string.cpp
scilab/modules/api_scilab/tests/nonreg_tests/bug_11538.c
scilab/modules/api_scilab/tests/unit_tests/deleteNamedVariable.dia.ref
scilab/modules/api_scilab/tests/unit_tests/deleteNamedVariable.tst
scilab/modules/api_scilab/tests/unit_tests/list_createlist_api.c
scilab/modules/arnoldi/Makefile.in
scilab/modules/arnoldi/core_Import.def
scilab/modules/arnoldi/locales/arnoldi.pot
scilab/modules/arnoldi/src/c/DllmainArnoldi.c
scilab/modules/arnoldi/src/c/eigs.c
scilab/modules/ast/Makefile.am
scilab/modules/ast/Makefile.in
scilab/modules/ast/ast.vcxproj
scilab/modules/ast/ast.vcxproj.filters
scilab/modules/ast/console_Import.def
scilab/modules/ast/core_Import.def
scilab/modules/ast/includes/analysis/AnalysisVisitor.hxx
scilab/modules/ast/includes/analysis/ConstantValue.hxx
scilab/modules/ast/includes/analysis/ConstantVisitor.hxx
scilab/modules/ast/includes/analysis/Decorator.hxx
scilab/modules/ast/includes/analysis/Result.hxx
scilab/modules/ast/includes/analysis/TIType.hxx
scilab/modules/ast/includes/analysis/checkers/Checkers.hxx
scilab/modules/ast/includes/analysis/data/Block.hxx
scilab/modules/ast/includes/analysis/data/CompleteMacroSignature.hxx
scilab/modules/ast/includes/analysis/data/Data.hxx
scilab/modules/ast/includes/analysis/data/DataManager.hxx
scilab/modules/ast/includes/analysis/data/FunctionBlock.hxx
scilab/modules/ast/includes/analysis/data/GlobalsCollector.hxx
scilab/modules/ast/includes/analysis/data/Info.hxx
scilab/modules/ast/includes/analysis/data/LoopBlock.hxx
scilab/modules/ast/includes/analysis/data/MacroDef.hxx
scilab/modules/ast/includes/analysis/data/PolymorphicMacroCache.hxx
scilab/modules/ast/includes/analysis/data/TITypeSignatureTuple.hxx
scilab/modules/ast/includes/analysis/data/TITypeTuple.hxx
scilab/modules/ast/includes/analysis/data/TemporaryManager.hxx
scilab/modules/ast/includes/analysis/gvn/ConstraintManager.hxx
scilab/modules/ast/includes/analysis/gvn/GVN.hxx
scilab/modules/ast/includes/analysis/gvn/InferenceConstraint.hxx
scilab/modules/ast/includes/analysis/gvn/MultivariateMonomial.hxx
scilab/modules/ast/includes/analysis/gvn/MultivariatePolynomial.hxx
scilab/modules/ast/includes/analysis/gvn/OpValue.hxx
scilab/modules/ast/includes/analysis/gvn/SymbolicDimension.hxx
scilab/modules/ast/includes/analysis/gvn/SymbolicList.hxx
scilab/modules/ast/includes/analysis/gvn/TestGVNVisitor.hxx
scilab/modules/ast/includes/analysis/gvn/VarExp.hxx
scilab/modules/ast/includes/analysis/tools.hxx
scilab/modules/ast/includes/ast/dummyvisitor.hxx
scilab/modules/ast/includes/ast/execvisitor.hxx
scilab/modules/ast/includes/ast/macrovarvisitor.hxx
scilab/modules/ast/includes/ast/prettyprintvisitor.hxx
scilab/modules/ast/includes/ast/printvisitor.hxx
scilab/modules/ast/includes/ast/runvisitor.hxx
scilab/modules/ast/includes/ast/scilabexception.hxx
scilab/modules/ast/includes/ast/serializervisitor.hxx
scilab/modules/ast/includes/ast/stepvisitor.hxx
scilab/modules/ast/includes/ast/timedvisitor.hxx
scilab/modules/ast/includes/ast/treevisitor.hxx
scilab/modules/ast/includes/ast/visitor.hxx
scilab/modules/ast/includes/ast/visitor_common.hxx
scilab/modules/ast/includes/exps/ast.hxx
scilab/modules/ast/includes/exps/boolexp.hxx
scilab/modules/ast/includes/exps/controlexp.hxx
scilab/modules/ast/includes/exps/exp.hxx
scilab/modules/ast/includes/exps/functiondec.hxx
scilab/modules/ast/includes/exps/ifexp.hxx
scilab/modules/ast/includes/exps/location.hxx
scilab/modules/ast/includes/exps/mapintselectexp.hxx
scilab/modules/ast/includes/exps/mathexp.hxx
scilab/modules/ast/includes/exps/opexp.hxx
scilab/modules/ast/includes/exps/smallintselectexp.hxx
scilab/modules/ast/includes/exps/stringexp.hxx
scilab/modules/ast/includes/exps/tableintselectexp.hxx
scilab/modules/ast/includes/exps/token.hxx
scilab/modules/ast/includes/exps/vardec.hxx
scilab/modules/ast/includes/operations/types_divide.hxx
scilab/modules/ast/includes/operations/types_finite.hxx
scilab/modules/ast/includes/operations/types_or.hxx
scilab/modules/ast/includes/operations/types_power.hxx
scilab/modules/ast/includes/parse/parser.hxx
scilab/modules/ast/includes/parse/parser_private.hxx
scilab/modules/ast/includes/parse/parsescilab.hxx
scilab/modules/ast/includes/symbol/context.hxx
scilab/modules/ast/includes/symbol/libraries.hxx
scilab/modules/ast/includes/symbol/symbol.hxx
scilab/modules/ast/includes/symbol/variables.hxx
scilab/modules/ast/includes/system_env/configvariable.hxx
scilab/modules/ast/includes/system_env/configvariable_interface.h
scilab/modules/ast/includes/system_env/setenvvar.h
scilab/modules/ast/includes/system_env/threadmanagement.hxx
scilab/modules/ast/includes/types/addfunction.h
scilab/modules/ast/includes/types/arrayof.hxx
scilab/modules/ast/includes/types/bool.hxx
scilab/modules/ast/includes/types/c_gateway_prototype.h
scilab/modules/ast/includes/types/callable.hxx
scilab/modules/ast/includes/types/cell.hxx
scilab/modules/ast/includes/types/double.hxx
scilab/modules/ast/includes/types/file.hxx
scilab/modules/ast/includes/types/function.hxx
scilab/modules/ast/includes/types/gatewaystruct.hxx
scilab/modules/ast/includes/types/graphichandle.hxx
scilab/modules/ast/includes/types/implicitlist.hxx
scilab/modules/ast/includes/types/inspector.hxx
scilab/modules/ast/includes/types/int.hxx
scilab/modules/ast/includes/types/internal.hxx
scilab/modules/ast/includes/types/library.hxx
scilab/modules/ast/includes/types/list.hxx
scilab/modules/ast/includes/types/listdelete.hxx
scilab/modules/ast/includes/types/listinsert.hxx
scilab/modules/ast/includes/types/listoperation.hxx
scilab/modules/ast/includes/types/listundefined.hxx
scilab/modules/ast/includes/types/macro.hxx
scilab/modules/ast/includes/types/macrofile.hxx
scilab/modules/ast/includes/types/mlist.hxx
scilab/modules/ast/includes/types/overload.hxx
scilab/modules/ast/includes/types/pointer.hxx
scilab/modules/ast/includes/types/polynom.hxx
scilab/modules/ast/includes/types/singlepoly.hxx
scilab/modules/ast/includes/types/sparse.hxx
scilab/modules/ast/includes/types/sparseOp.hxx
scilab/modules/ast/includes/types/string.hxx
scilab/modules/ast/includes/types/struct.hxx
scilab/modules/ast/includes/types/threadId.hxx
scilab/modules/ast/includes/types/tlist.hxx
scilab/modules/ast/includes/types/tostring_common.hxx
scilab/modules/ast/includes/types/types.hxx
scilab/modules/ast/includes/types/types_tools.hxx
scilab/modules/ast/includes/types/user.hxx
scilab/modules/ast/includes/types/void.hxx
scilab/modules/ast/output_stream_Import.def
scilab/modules/ast/src/c/operations/invert_matrix.c
scilab/modules/ast/src/c/operations/matrix_addition.c
scilab/modules/ast/src/c/operations/matrix_division.c
scilab/modules/ast/src/c/operations/matrix_multiplication.c
scilab/modules/ast/src/c/operations/matrix_power.c
scilab/modules/ast/src/cpp/analysis/AnalysisVisitor.cpp
scilab/modules/ast/src/cpp/analysis/ArgnAnalyzer.cpp
scilab/modules/ast/src/cpp/analysis/Block.cpp
scilab/modules/ast/src/cpp/analysis/CeilAnalyzer.cpp
scilab/modules/ast/src/cpp/analysis/Checkers.cpp
scilab/modules/ast/src/cpp/analysis/CompleteMacroSignature.cpp
scilab/modules/ast/src/cpp/analysis/ConstantValue.cpp
scilab/modules/ast/src/cpp/analysis/ConstantVisitor.cpp
scilab/modules/ast/src/cpp/analysis/ConstraintManager.cpp
scilab/modules/ast/src/cpp/analysis/FunctionBlock.cpp
scilab/modules/ast/src/cpp/analysis/IndexAnalyzer.cpp
scilab/modules/ast/src/cpp/analysis/InferenceConstraints.cpp
scilab/modules/ast/src/cpp/analysis/LoopBlock.cpp
scilab/modules/ast/src/cpp/analysis/MacroDef.cpp
scilab/modules/ast/src/cpp/analysis/MemInitAnalyzer.cpp
scilab/modules/ast/src/cpp/analysis/OperAnalyzer.cpp
scilab/modules/ast/src/cpp/analysis/OperGVNValues.cpp
scilab/modules/ast/src/cpp/analysis/PolymorphicMacroCache.cpp
scilab/modules/ast/src/cpp/analysis/SizeAnalyzer.cpp
scilab/modules/ast/src/cpp/analysis/TypeofAnalyzer.cpp
scilab/modules/ast/src/cpp/analysis/VisitAssignExp.cpp
scilab/modules/ast/src/cpp/analysis/VisitIfExp.cpp
scilab/modules/ast/src/cpp/analysis/VisitListExp.cpp
scilab/modules/ast/src/cpp/analysis/VisitMatrixExp.cpp
scilab/modules/ast/src/cpp/analysis/VisitOpExp.cpp
scilab/modules/ast/src/cpp/analysis/VisitSelectExp.cpp
scilab/modules/ast/src/cpp/analysis/XBlock.cpp
scilab/modules/ast/src/cpp/analysis/check_____add____.cpp
scilab/modules/ast/src/cpp/analysis/check_____dotpower____.cpp
scilab/modules/ast/src/cpp/analysis/check_____dotrdiv____.cpp
scilab/modules/ast/src/cpp/analysis/check_____dottimes____.cpp
scilab/modules/ast/src/cpp/analysis/check_____dottransp____.cpp
scilab/modules/ast/src/cpp/analysis/check_____eq____.cpp
scilab/modules/ast/src/cpp/analysis/check_____ge____.cpp
scilab/modules/ast/src/cpp/analysis/check_____gt____.cpp
scilab/modules/ast/src/cpp/analysis/check_____krontimes____.cpp
scilab/modules/ast/src/cpp/analysis/check_____ldivide____.cpp
scilab/modules/ast/src/cpp/analysis/check_____le____.cpp
scilab/modules/ast/src/cpp/analysis/check_____lt____.cpp
scilab/modules/ast/src/cpp/analysis/check_____neq____.cpp
scilab/modules/ast/src/cpp/analysis/check_____not____.cpp
scilab/modules/ast/src/cpp/analysis/check_____power____.cpp
scilab/modules/ast/src/cpp/analysis/check_____rdivide____.cpp
scilab/modules/ast/src/cpp/analysis/check_____sub____.cpp
scilab/modules/ast/src/cpp/analysis/check_____times____.cpp
scilab/modules/ast/src/cpp/analysis/check_____transp____.cpp
scilab/modules/ast/src/cpp/analysis/check_____unaryminus____.cpp
scilab/modules/ast/src/cpp/analysis/check_abs.cpp
scilab/modules/ast/src/cpp/analysis/check_acos.cpp
scilab/modules/ast/src/cpp/analysis/check_and.cpp
scilab/modules/ast/src/cpp/analysis/check_argn.cpp
scilab/modules/ast/src/cpp/analysis/check_asin.cpp
scilab/modules/ast/src/cpp/analysis/check_ceil.cpp
scilab/modules/ast/src/cpp/analysis/check_cos.cpp
scilab/modules/ast/src/cpp/analysis/check_cosh.cpp
scilab/modules/ast/src/cpp/analysis/check_cumprod.cpp
scilab/modules/ast/src/cpp/analysis/check_cumsum.cpp
scilab/modules/ast/src/cpp/analysis/check_erf.cpp
scilab/modules/ast/src/cpp/analysis/check_erfc.cpp
scilab/modules/ast/src/cpp/analysis/check_gettext.cpp
scilab/modules/ast/src/cpp/analysis/check_iconvert.cpp
scilab/modules/ast/src/cpp/analysis/check_imag.cpp
scilab/modules/ast/src/cpp/analysis/check_imult.cpp
scilab/modules/ast/src/cpp/analysis/check_int16.cpp
scilab/modules/ast/src/cpp/analysis/check_int32.cpp
scilab/modules/ast/src/cpp/analysis/check_int64.cpp
scilab/modules/ast/src/cpp/analysis/check_int8.cpp
scilab/modules/ast/src/cpp/analysis/check_inttype.cpp
scilab/modules/ast/src/cpp/analysis/check_isinf.cpp
scilab/modules/ast/src/cpp/analysis/check_isnan.cpp
scilab/modules/ast/src/cpp/analysis/check_isreal.cpp
scilab/modules/ast/src/cpp/analysis/check_isscalar.cpp
scilab/modules/ast/src/cpp/analysis/check_log.cpp
scilab/modules/ast/src/cpp/analysis/check_ls.cpp
scilab/modules/ast/src/cpp/analysis/check_matrix.cpp
scilab/modules/ast/src/cpp/analysis/check_max.cpp
scilab/modules/ast/src/cpp/analysis/check_min.cpp
scilab/modules/ast/src/cpp/analysis/check_ones.cpp
scilab/modules/ast/src/cpp/analysis/check_or.cpp
scilab/modules/ast/src/cpp/analysis/check_prod.cpp
scilab/modules/ast/src/cpp/analysis/check_rand.cpp
scilab/modules/ast/src/cpp/analysis/check_sign.cpp
scilab/modules/ast/src/cpp/analysis/check_sinm.cpp
scilab/modules/ast/src/cpp/analysis/check_size.cpp
scilab/modules/ast/src/cpp/analysis/check_sqrt.cpp
scilab/modules/ast/src/cpp/analysis/check_sum.cpp
scilab/modules/ast/src/cpp/analysis/check_toc.cpp
scilab/modules/ast/src/cpp/analysis/check_type.cpp
scilab/modules/ast/src/cpp/analysis/check_typeof.cpp
scilab/modules/ast/src/cpp/analysis/check_uint16.cpp
scilab/modules/ast/src/cpp/analysis/check_uint32.cpp
scilab/modules/ast/src/cpp/analysis/check_uint64.cpp
scilab/modules/ast/src/cpp/analysis/check_uint8.cpp
scilab/modules/ast/src/cpp/analysis/check_zeros.cpp
scilab/modules/ast/src/cpp/ast/macrovarvisitor.cpp
scilab/modules/ast/src/cpp/ast/printvisitor.cpp
scilab/modules/ast/src/cpp/ast/run_AssignExp.hpp
scilab/modules/ast/src/cpp/ast/run_CallExp.hpp
scilab/modules/ast/src/cpp/ast/run_MatrixExp.hpp
scilab/modules/ast/src/cpp/ast/run_OpExp.hpp
scilab/modules/ast/src/cpp/ast/runvisitor.cpp
scilab/modules/ast/src/cpp/ast/treevisitor.cpp
scilab/modules/ast/src/cpp/ast/visitor_common.cpp
scilab/modules/ast/src/cpp/operations/types_addition.cpp
scilab/modules/ast/src/cpp/operations/types_and.cpp
scilab/modules/ast/src/cpp/operations/types_comparison_eq.cpp
scilab/modules/ast/src/cpp/operations/types_comparison_ne.cpp
scilab/modules/ast/src/cpp/operations/types_divide.cpp
scilab/modules/ast/src/cpp/operations/types_dotdivide.cpp
scilab/modules/ast/src/cpp/operations/types_dotmultiplication.cpp
scilab/modules/ast/src/cpp/operations/types_finite.cpp
scilab/modules/ast/src/cpp/operations/types_ldivide.cpp
scilab/modules/ast/src/cpp/operations/types_multiplication.cpp
scilab/modules/ast/src/cpp/operations/types_or.cpp
scilab/modules/ast/src/cpp/operations/types_power.cpp
scilab/modules/ast/src/cpp/operations/types_subtraction.cpp
scilab/modules/ast/src/cpp/parse/bison/parsescilab.output
scilab/modules/ast/src/cpp/parse/bison/parsescilab.yy
scilab/modules/ast/src/cpp/parse/flex/scanscilab.ll
scilab/modules/ast/src/cpp/parse/parser.cpp
scilab/modules/ast/src/cpp/parse/parsescilab.cpp
scilab/modules/ast/src/cpp/parse/printerror.cpp
scilab/modules/ast/src/cpp/parse/scanscilab.cpp
scilab/modules/ast/src/cpp/symbol/context.cpp
scilab/modules/ast/src/cpp/system_env/configvariable.cpp
scilab/modules/ast/src/cpp/system_env/configvariable_interface.cpp
scilab/modules/ast/src/cpp/system_env/lasterror.cpp
scilab/modules/ast/src/cpp/system_env/sci_home.cpp
scilab/modules/ast/src/cpp/system_env/sci_path.cpp
scilab/modules/ast/src/cpp/system_env/sci_tmpdir.cpp
scilab/modules/ast/src/cpp/system_env/setenvvar.cpp
scilab/modules/ast/src/cpp/system_env/threadmanagement.cpp
scilab/modules/ast/src/cpp/types/addfunction.cpp
scilab/modules/ast/src/cpp/types/arrayof.cpp
scilab/modules/ast/src/cpp/types/bool.cpp
scilab/modules/ast/src/cpp/types/callable.cpp
scilab/modules/ast/src/cpp/types/cell.cpp
scilab/modules/ast/src/cpp/types/double.cpp
scilab/modules/ast/src/cpp/types/file.cpp
scilab/modules/ast/src/cpp/types/function.cpp
scilab/modules/ast/src/cpp/types/graphichandle.cpp
scilab/modules/ast/src/cpp/types/implicitlist.cpp
scilab/modules/ast/src/cpp/types/inspector.cpp
scilab/modules/ast/src/cpp/types/int.cpp
scilab/modules/ast/src/cpp/types/library.cpp
scilab/modules/ast/src/cpp/types/list.cpp
scilab/modules/ast/src/cpp/types/listdelete.cpp
scilab/modules/ast/src/cpp/types/listinsert.cpp
scilab/modules/ast/src/cpp/types/listoperation.cpp
scilab/modules/ast/src/cpp/types/listundefined.cpp
scilab/modules/ast/src/cpp/types/macro.cpp
scilab/modules/ast/src/cpp/types/macrofile.cpp
scilab/modules/ast/src/cpp/types/mlist.cpp
scilab/modules/ast/src/cpp/types/overload.cpp
scilab/modules/ast/src/cpp/types/polynom.cpp
scilab/modules/ast/src/cpp/types/singlepoly.cpp
scilab/modules/ast/src/cpp/types/sparse.cpp
scilab/modules/ast/src/cpp/types/string.cpp
scilab/modules/ast/src/cpp/types/struct.cpp
scilab/modules/ast/src/cpp/types/threadId.cpp
scilab/modules/ast/src/cpp/types/tlist.cpp
scilab/modules/ast/src/cpp/types/tostring_common.cpp
scilab/modules/ast/src/cpp/types/types_tools.cpp
scilab/modules/ast/src/cpp/types/void.cpp
scilab/modules/ast/tests/nonreg_tests/bug_12657.dia.ref
scilab/modules/ast/tests/nonreg_tests/bug_12657.tst
scilab/modules/ast/tests/nonreg_tests/bug_1823.dia.ref
scilab/modules/ast/tests/nonreg_tests/bug_1823.tst
scilab/modules/ast/tests/nonreg_tests/bug_2345.dia.ref
scilab/modules/ast/tests/nonreg_tests/bug_2345.tst
scilab/modules/ast/tests/nonreg_tests/bug_8622.dia.ref
scilab/modules/ast/tests/nonreg_tests/bug_8622.tst
scilab/modules/ast/tests/nonreg_tests/bug_8745.dia.ref
scilab/modules/ast/tests/nonreg_tests/bug_8745.tst
scilab/modules/ast/tests/nonreg_tests/bug_8955.dia.ref
scilab/modules/ast/tests/nonreg_tests/bug_8955.tst
scilab/modules/ast/tests/nonreg_tests/bug_9344.tst
scilab/modules/ast/tests/nonreg_tests/bug_9344.unix.dia.ref
scilab/modules/ast/tests/nonreg_tests/bug_9344.win.dia.ref
scilab/modules/ast/tests/nonreg_tests/bug_9600.dia.ref
scilab/modules/ast/tests/nonreg_tests/bug_9600.tst
scilab/modules/ast/tests/unit_tests/addition.dia.ref
scilab/modules/ast/tests/unit_tests/addition.tst
scilab/modules/ast/tests/unit_tests/addition_output_type.dia.ref
scilab/modules/ast/tests/unit_tests/addition_output_type.tst
scilab/modules/ast/tests/unit_tests/analysis1.dia.ref
scilab/modules/ast/tests/unit_tests/analysis1.tst
scilab/modules/ast/tests/unit_tests/analysis2.dia.ref
scilab/modules/ast/tests/unit_tests/analysis2.tst
scilab/modules/ast/tests/unit_tests/and.dia.ref
scilab/modules/ast/tests/unit_tests/and.tst
scilab/modules/ast/tests/unit_tests/colon_insert.dia.ref
scilab/modules/ast/tests/unit_tests/colon_insert.tst
scilab/modules/ast/tests/unit_tests/comparisonequal.dia.ref
scilab/modules/ast/tests/unit_tests/comparisonequal.tst
scilab/modules/ast/tests/unit_tests/comparisonequal_with_graphic.dia.ref
scilab/modules/ast/tests/unit_tests/comparisonequal_with_graphic.tst
scilab/modules/ast/tests/unit_tests/comparisonnonequal.dia.ref
scilab/modules/ast/tests/unit_tests/comparisonnonequal.tst
scilab/modules/ast/tests/unit_tests/concatenation.dia.ref
scilab/modules/ast/tests/unit_tests/concatenation.tst
scilab/modules/ast/tests/unit_tests/controlexp.dia.ref
scilab/modules/ast/tests/unit_tests/controlexp.tst
scilab/modules/ast/tests/unit_tests/displaycomplex.dia.ref
scilab/modules/ast/tests/unit_tests/displaycomplex.tst
scilab/modules/ast/tests/unit_tests/divide.dia.ref
scilab/modules/ast/tests/unit_tests/divide.tst
scilab/modules/ast/tests/unit_tests/dotdivide.dia.ref
scilab/modules/ast/tests/unit_tests/dotdivide.tst
scilab/modules/ast/tests/unit_tests/dotmultiplication.dia.ref
scilab/modules/ast/tests/unit_tests/dotmultiplication.tst
scilab/modules/ast/tests/unit_tests/emptyMatrix.dia.ref
scilab/modules/ast/tests/unit_tests/emptyMatrix.tst
scilab/modules/ast/tests/unit_tests/eq.dia.ref
scilab/modules/ast/tests/unit_tests/eq.tst
scilab/modules/ast/tests/unit_tests/extractEmpty.dia.ref
scilab/modules/ast/tests/unit_tests/extractEmpty.tst
scilab/modules/ast/tests/unit_tests/gvn.dia.ref
scilab/modules/ast/tests/unit_tests/gvn.tst
scilab/modules/ast/tests/unit_tests/implicitlist.dia.ref
scilab/modules/ast/tests/unit_tests/implicitlist.tst
scilab/modules/ast/tests/unit_tests/insert.dia.ref
scilab/modules/ast/tests/unit_tests/insert.tst
scilab/modules/ast/tests/unit_tests/kron.dia.ref
scilab/modules/ast/tests/unit_tests/kron.tst
scilab/modules/ast/tests/unit_tests/ldivide.dia.ref
scilab/modules/ast/tests/unit_tests/ldivide.tst
scilab/modules/ast/tests/unit_tests/library.dia.ref
scilab/modules/ast/tests/unit_tests/library.tst
scilab/modules/ast/tests/unit_tests/lt_le_gt_ge.dia.ref
scilab/modules/ast/tests/unit_tests/lt_le_gt_ge.tst
scilab/modules/ast/tests/unit_tests/matrix_exp.dia.ref
scilab/modules/ast/tests/unit_tests/matrix_exp.tst
scilab/modules/ast/tests/unit_tests/multiplication.dia.ref
scilab/modules/ast/tests/unit_tests/multiplication.tst
scilab/modules/ast/tests/unit_tests/ne.dia.ref
scilab/modules/ast/tests/unit_tests/ne.tst
scilab/modules/ast/tests/unit_tests/newtype.dia.ref
scilab/modules/ast/tests/unit_tests/newtype.hxx
scilab/modules/ast/tests/unit_tests/or.dia.ref
scilab/modules/ast/tests/unit_tests/or.tst
scilab/modules/ast/tests/unit_tests/or_and.dia.ref
scilab/modules/ast/tests/unit_tests/or_and.tst
scilab/modules/ast/tests/unit_tests/power.dia.ref
scilab/modules/ast/tests/unit_tests/power.tst
scilab/modules/ast/tests/unit_tests/return.dia.ref
scilab/modules/ast/tests/unit_tests/return.tst
scilab/modules/ast/tests/unit_tests/scope.dia.ref
scilab/modules/ast/tests/unit_tests/scope.tst
scilab/modules/ast/tests/unit_tests/sparseBool.dia.ref
scilab/modules/ast/tests/unit_tests/sparseBool.tst
scilab/modules/ast/tests/unit_tests/struct.dia.ref
scilab/modules/ast/tests/unit_tests/struct.tst
scilab/modules/ast/tests/unit_tests/subtraction.dia.ref
scilab/modules/ast/tests/unit_tests/subtraction.tst
scilab/modules/ast/tests/unit_tests/transposition.dia.ref
scilab/modules/ast/tests/unit_tests/transposition.tst
scilab/modules/ast/tests/unit_tests/uminus.dia.ref
scilab/modules/ast/tests/unit_tests/uminus.tst
scilab/modules/atoms/Makefile.in
scilab/modules/atoms/locales/atoms.pot
scilab/modules/atoms/tests/unit_tests/atomsLoad.dia.ref
scilab/modules/boolean/Makefile.in
scilab/modules/boolean/includes/gw_boolean.h
scilab/modules/boolean/locales/boolean.pot
scilab/modules/boolean/sci_gateway/cpp/sci_and.cpp
scilab/modules/boolean/sci_gateway/cpp/sci_bool2s.cpp
scilab/modules/boolean/sci_gateway/cpp/sci_find.cpp
scilab/modules/boolean/sci_gateway/cpp/sci_or.cpp
scilab/modules/boolean/src/c/DllmainBoolean.c
scilab/modules/boolean/src/cpp/boolean_gw.cpp
scilab/modules/cacsd/Makefile.in
scilab/modules/cacsd/includes/gw_cacsd.h
scilab/modules/cacsd/locales/cacsd.pot
scilab/modules/cacsd/sci_gateway/c/sci_contr.c
scilab/modules/cacsd/sci_gateway/c/sci_linmeq.c
scilab/modules/cacsd/sci_gateway/c/sci_ricc.c
scilab/modules/cacsd/sci_gateway/cpp/cacsd_gw.cpp
scilab/modules/cacsd/sci_gateway/cpp/sci_arl2_ius.cpp
scilab/modules/cacsd/sci_gateway/cpp/sci_ereduc.cpp
scilab/modules/cacsd/sci_gateway/cpp/sci_freq.cpp
scilab/modules/cacsd/sci_gateway/cpp/sci_fstair.cpp
scilab/modules/cacsd/sci_gateway/cpp/sci_ldiv.cpp
scilab/modules/cacsd/sci_gateway/cpp/sci_ppol.cpp
scilab/modules/cacsd/sci_gateway/cpp/sci_residu.cpp
scilab/modules/cacsd/sci_gateway/cpp/sci_tzer.cpp
scilab/modules/cacsd/src/c/DllmainCacsd.c
scilab/modules/cacsd/src/c/cacsd.vcxproj
scilab/modules/cacsd/src/c/core_Import.def
scilab/modules/cacsd/src/fortran/cacsd_f.vfproj
scilab/modules/cacsd/src/fortran/core_Import.def
scilab/modules/cacsd/src/slicot/slicot_f/linear_algebra_f_Import.def
scilab/modules/cacsd/src/slicot/slicot_f/slicot_f.vfproj
scilab/modules/cacsd/tests/nonreg_tests/bug_9285.dia.ref
scilab/modules/call_scilab/Makefile.in
scilab/modules/call_scilab/core_Import.def
scilab/modules/call_scilab/src/c/DllmainCall_scilab.c
scilab/modules/call_scilab/src/c/call_scilab.c
scilab/modules/commons/Makefile.in
scilab/modules/commons/commons.iss
scilab/modules/commons/locales/commons.pot
scilab/modules/commons/src/c/DllmainCommons.c
scilab/modules/commons/src/java/org/scilab/modules/commons/CommonFileUtils.java
scilab/modules/commons/src/java/org/scilab/modules/commons/CommonFileUtilsJNI.java
scilab/modules/commons/src/java/org/scilab/modules/commons/ScilabCommons.java
scilab/modules/commons/src/java/org/scilab/modules/commons/ScilabCommonsJNI.java
scilab/modules/commons/src/jni/CommonFileUtils_wrap.c
scilab/modules/commons/src/jni/ScilabCommons.i
scilab/modules/commons/src/jni/ScilabCommons_wrap.c
scilab/modules/compatibility_functions/Makefile.in
scilab/modules/compatibility_functions/locales/compatibility_functions.pot
scilab/modules/completion/Makefile.in
scilab/modules/completion/locales/completion.pot
scilab/modules/completion/sci_gateway/cpp/sci_completion.cpp
scilab/modules/completion/src/cpp/DllmainCompletion.cpp
scilab/modules/completion/src/java/org/scilab/modules/completion/Completion.java
scilab/modules/completion/src/java/org/scilab/modules/completion/CompletionJNI.java
scilab/modules/completion/src/jni/Completion_wrap.c
scilab/modules/completion/tests/unit_tests/completion.dia.ref
scilab/modules/completion/tests/unit_tests/completion.tst
scilab/modules/completion/tests/utilities/sci_completeline.c
scilab/modules/completion/tests/utilities/sci_getcommonpart.c
scilab/modules/console/Makefile.in
scilab/modules/console/includes/prompt.h
scilab/modules/console/locales/console.pot
scilab/modules/console/sci_gateway/cpp/sci_prompt.cpp
scilab/modules/console/src/c/DllmainConsole.c
scilab/modules/console/src/c/Scilab_windows_Import.def
scilab/modules/console/src/c/console.vcxproj
scilab/modules/console/src/c/core_Import.def
scilab/modules/console/src/c/windows/TermCommand.c
scilab/modules/console/src/c/windows/TermLine.c
scilab/modules/console/src/cpp/scilabRead.cpp
scilab/modules/console/src/java/org/scilab/modules/console/DropFiles.java
scilab/modules/console/src/java/org/scilab/modules/console/DropFilesJNI.java
scilab/modules/console/src/java/org/scilab/modules/console/GuiManagement.java
scilab/modules/console/src/java/org/scilab/modules/console/GuiManagementJNI.java
scilab/modules/console/src/jni/DropFiles_wrap.c
scilab/modules/console/src/jni/GuiManagement_wrap.c
scilab/modules/console/src/noconsole/noconsole.vcxproj
scilab/modules/console/tests/nonreg_tests/bug_13971.dia.ref
scilab/modules/console/tests/nonreg_tests/bug_13971.tst
scilab/modules/core/Makefile.am
scilab/modules/core/Makefile.in
scilab/modules/core/help/en_US/debugging/setbpt.xml
scilab/modules/core/help/ja_JP/debugging/setbpt.xml
scilab/modules/core/help/pt_BR/debugging/setbpt.xml
scilab/modules/core/help/ru_RU/debugging/setbpt.xml
scilab/modules/core/includes/InitScilab.h
scilab/modules/core/includes/core_gw.hxx
scilab/modules/core/includes/gw_core.h
scilab/modules/core/includes/runner.hxx
scilab/modules/core/includes/storeCommand.h
scilab/modules/core/includes/tasks.hxx
scilab/modules/core/includes/timer.hxx
scilab/modules/core/locales/core.pot
scilab/modules/core/locales/zh_TW.po
scilab/modules/core/macros/who_user.sci
scilab/modules/core/sci_gateway/c/sci_type.c
scilab/modules/core/sci_gateway/cpp/core_gw.cpp
scilab/modules/core/sci_gateway/cpp/core_gw.vcxproj
scilab/modules/core/sci_gateway/cpp/core_gw.vcxproj.filters
scilab/modules/core/sci_gateway/cpp/sci_abort.cpp
scilab/modules/core/sci_gateway/cpp/sci_analyzeroptions.cpp
scilab/modules/core/sci_gateway/cpp/sci_argn.cpp
scilab/modules/core/sci_gateway/cpp/sci_cell.cpp
scilab/modules/core/sci_gateway/cpp/sci_clear.cpp
scilab/modules/core/sci_gateway/cpp/sci_clearfun.cpp
scilab/modules/core/sci_gateway/cpp/sci_clearglobal.cpp
scilab/modules/core/sci_gateway/cpp/sci_error.cpp
scilab/modules/core/sci_gateway/cpp/sci_exit.cpp
scilab/modules/core/sci_gateway/cpp/sci_fieldnames.cpp
scilab/modules/core/sci_gateway/cpp/sci_format.cpp
scilab/modules/core/sci_gateway/cpp/sci_funptr.cpp
scilab/modules/core/sci_gateway/cpp/sci_getmd5.cpp
scilab/modules/core/sci_gateway/cpp/sci_getmodules.cpp
scilab/modules/core/sci_gateway/cpp/sci_getos.cpp
scilab/modules/core/sci_gateway/cpp/sci_getscilabmode.cpp
scilab/modules/core/sci_gateway/cpp/sci_getversion.cpp
scilab/modules/core/sci_gateway/cpp/sci_global.cpp
scilab/modules/core/sci_gateway/cpp/sci_insert.cpp
scilab/modules/core/sci_gateway/cpp/sci_inspectorDeleteUnreferencedItems.cpp
scilab/modules/core/sci_gateway/cpp/sci_inspectorGetFunctionList.cpp
scilab/modules/core/sci_gateway/cpp/sci_inspectorGetItem.cpp
scilab/modules/core/sci_gateway/cpp/sci_inspectorGetItemCount.cpp
scilab/modules/core/sci_gateway/cpp/sci_inspectorGetUnreferencedItem.cpp
scilab/modules/core/sci_gateway/cpp/sci_inspectorShowItem.cpp
scilab/modules/core/sci_gateway/cpp/sci_inspectorShowUnreferencedItem.cpp
scilab/modules/core/sci_gateway/cpp/sci_isfield.cpp
scilab/modules/core/sci_gateway/cpp/sci_isglobal.cpp
scilab/modules/core/sci_gateway/cpp/sci_lasterror.cpp
scilab/modules/core/sci_gateway/cpp/sci_list.cpp
scilab/modules/core/sci_gateway/cpp/sci_macr2tree.cpp
scilab/modules/core/sci_gateway/cpp/sci_makecell.cpp
scilab/modules/core/sci_gateway/cpp/sci_mlist.cpp
scilab/modules/core/sci_gateway/cpp/sci_mode.cpp
scilab/modules/core/sci_gateway/cpp/sci_newfun.cpp
scilab/modules/core/sci_gateway/cpp/sci_null.cpp
scilab/modules/core/sci_gateway/cpp/sci_pause.cpp
scilab/modules/core/sci_gateway/cpp/sci_predef.cpp
scilab/modules/core/sci_gateway/cpp/sci_quit.cpp
scilab/modules/core/sci_gateway/cpp/sci_struct.cpp
scilab/modules/core/sci_gateway/cpp/sci_tlist.cpp
scilab/modules/core/sci_gateway/cpp/sci_tlist_or_mlist.hxx
scilab/modules/core/sci_gateway/cpp/sci_typeof.cpp
scilab/modules/core/sci_gateway/cpp/sci_warning.cpp
scilab/modules/core/sci_gateway/cpp/sci_where.cpp
scilab/modules/core/sci_gateway/cpp/sci_who.cpp
scilab/modules/core/sci_gateway/cpp/sci_with_module.cpp
scilab/modules/core/src/c/DllmainCore.c
scilab/modules/core/src/c/ExceptionMessage.c
scilab/modules/core/src/c/GetXmlFileEncoding.c
scilab/modules/core/src/c/InitializePreferences.c
scilab/modules/core/src/c/core.vcxproj
scilab/modules/core/src/c/core.vcxproj.filters
scilab/modules/core/src/c/csignal.c
scilab/modules/core/src/c/dynamic_gateways.c
scilab/modules/core/src/c/dynamic_parallel.c
scilab/modules/core/src/c/dynamic_tclsci.c
scilab/modules/core/src/cpp/InitScilab.cpp
scilab/modules/core/src/cpp/runner.cpp
scilab/modules/core/src/cpp/setlines.cpp
scilab/modules/core/src/cpp/storeCommand.cpp
scilab/modules/core/src/cpp/tasks.cpp
scilab/modules/core/src/fortran/Output_stream_Import.def
scilab/modules/core/src/fortran/console_Import.def
scilab/modules/core/src/fortran/core_Import.def
scilab/modules/core/src/fortran/core_f.vfproj
scilab/modules/core/src/fortran/core_f2c.vcxproj
scilab/modules/core/src/fortran/core_f2c.vcxproj.filters
scilab/modules/core/tests/nonreg_tests/bug_10503.dia.ref
scilab/modules/core/tests/nonreg_tests/bug_10503.tst
scilab/modules/core/tests/nonreg_tests/bug_1110.dia.ref
scilab/modules/core/tests/nonreg_tests/bug_2263.dia.ref
scilab/modules/core/tests/nonreg_tests/bug_2618.dia.ref
scilab/modules/core/tests/nonreg_tests/bug_3407.dia.ref
scilab/modules/core/tests/nonreg_tests/bug_3818.dia.ref
scilab/modules/core/tests/nonreg_tests/bug_9600.dia.ref
scilab/modules/core/tests/nonreg_tests/bug_9600.tst
scilab/modules/core/tests/nonreg_tests/bug_J.dia.ref
scilab/modules/core/tests/unit_tests/basic_operations.dia.ref
scilab/modules/core/tests/unit_tests/display.dia.ref
scilab/modules/core/tests/unit_tests/funcprot.dia.ref
scilab/modules/core/tests/unit_tests/funcprot.tst
scilab/modules/core/tests/unit_tests/macro.dia.ref
scilab/modules/core/tests/unit_tests/matsys.dia.ref
scilab/modules/core/tests/unit_tests/newfun.dia.ref
scilab/modules/core/tests/unit_tests/newfun.tst
scilab/modules/data_structures/Makefile.in
scilab/modules/data_structures/locales/data_structures.pot
scilab/modules/data_structures/macros/lstcat.sci
scilab/modules/data_structures/sci_gateway/cpp/sci_getfield.cpp
scilab/modules/data_structures/src/c/DllmainData_structures.c
scilab/modules/data_structures/src/c/core_Import.def
scilab/modules/data_structures/src/c/data_structures.vcxproj
scilab/modules/data_structures/src/c/data_structures.vcxproj.filters
scilab/modules/data_structures/tests/nonreg_tests/bug_6988.dia.ref
scilab/modules/data_structures/tests/nonreg_tests/bug_9218.dia.ref
scilab/modules/demo_tools/Makefile.in
scilab/modules/demo_tools/locales/demo_tools.pot
scilab/modules/development_tools/Makefile.in
scilab/modules/development_tools/locales/development_tools.pot
scilab/modules/development_tools/macros/test_run.sci
scilab/modules/development_tools/src/fake/Makefile.in
scilab/modules/development_tools/tests/unit_tests/assert/checkfilesequal.dia.ref
scilab/modules/differential_equations/Makefile.in
scilab/modules/differential_equations/demos/levitron/levitron_gui.sci
scilab/modules/differential_equations/includes/differentialequationfunctions.hxx
scilab/modules/differential_equations/locales/differential_equations.pot
scilab/modules/differential_equations/sci_gateway/cpp/differential_equations_gw.cpp
scilab/modules/differential_equations/sci_gateway/cpp/sci_daskr.cpp
scilab/modules/differential_equations/sci_gateway/cpp/sci_dasrt.cpp
scilab/modules/differential_equations/sci_gateway/cpp/sci_dassl.cpp
scilab/modules/differential_equations/sci_gateway/cpp/sci_ode.cpp
scilab/modules/differential_equations/sci_gateway/cpp/sci_odedc.cpp
scilab/modules/differential_equations/src/c/DllmainDifferential_equations.c
scilab/modules/differential_equations/src/c/Ex-daskr.c
scilab/modules/differential_equations/src/c/core_Import.def
scilab/modules/differential_equations/src/cpp/checkodeerror.cpp
scilab/modules/differential_equations/src/cpp/differentialequationfunctions.cpp
scilab/modules/differential_equations/src/fortran/Core_f_Import.def
scilab/modules/differential_equations/src/fortran/Output_stream_Import.def
scilab/modules/differential_equations/src/fortran/core_Import.def
scilab/modules/differential_equations/tests/nonreg_tests/bug_2396.dia.ref
scilab/modules/differential_equations/tests/unit_tests/ode.unix.dia.ref
scilab/modules/dynamic_link/Makefile.am
scilab/modules/dynamic_link/Makefile.in
scilab/modules/dynamic_link/includes/dynamiclibrary_others.h
scilab/modules/dynamic_link/includes/dynamiclibrary_windows.h
scilab/modules/dynamic_link/locales/dynamic_link.pot
scilab/modules/dynamic_link/macros/ilib_gen_gateway.sci
scilab/modules/dynamic_link/macros/windows/dlwCompile.sci
scilab/modules/dynamic_link/macros/windows/dlwGetSdkPath.sci
scilab/modules/dynamic_link/macros/windows/dlwGetVisualStudioPath.sci
scilab/modules/dynamic_link/sci_gateway/cpp/sci_addinter.cpp
scilab/modules/dynamic_link/sci_gateway/cpp/sci_c_link.cpp
scilab/modules/dynamic_link/sci_gateway/cpp/sci_link.cpp
scilab/modules/dynamic_link/src/c/DllmainDynamic_link.c
scilab/modules/dynamic_link/src/c/core_Import.def
scilab/modules/dynamic_link/src/c/dynamic_link.vcxproj
scilab/modules/dynamic_link/src/c/dynamic_link.vcxproj.filters
scilab/modules/dynamic_link/src/scripts/aclocal.m4
scilab/modules/dynamic_link/src/scripts/configure
scilab/modules/dynamic_link/src/scripts/configure.ac
scilab/modules/elementary_functions/Makefile.am
scilab/modules/elementary_functions/Makefile.in
scilab/modules/elementary_functions/help/en_US/floating_point/ieee.xml
scilab/modules/elementary_functions/help/en_US/setoperations/members.xml
scilab/modules/elementary_functions/help/fr_FR/floating_point/ieee.xml
scilab/modules/elementary_functions/help/pt_BR/floating_point/ieee.xml
scilab/modules/elementary_functions/help/ru_RU/floating_point/ieee.xml
scilab/modules/elementary_functions/includes/cos.h
scilab/modules/elementary_functions/includes/elem_common.h
scilab/modules/elementary_functions/includes/elem_func_gw.hxx
scilab/modules/elementary_functions/includes/gsort.hxx
scilab/modules/elementary_functions/includes/gw_elementary_functions.h
scilab/modules/elementary_functions/includes/sin.h
scilab/modules/elementary_functions/locales/elementary_functions.pot
scilab/modules/elementary_functions/macros/%sp_prod.sci
scilab/modules/elementary_functions/macros/%sp_sum.sci
scilab/modules/elementary_functions/sci_gateway/c/sci_dec2base.c
scilab/modules/elementary_functions/sci_gateway/c/sci_log10.c
scilab/modules/elementary_functions/sci_gateway/c/sci_maxi.c
scilab/modules/elementary_functions/sci_gateway/c/sci_number_properties.c
scilab/modules/elementary_functions/sci_gateway/c/sci_sqrt.c
scilab/modules/elementary_functions/sci_gateway/cpp/elem_func_gw.cpp
scilab/modules/elementary_functions/sci_gateway/cpp/elem_func_gw/elem_func_gw.vcxproj
scilab/modules/elementary_functions/sci_gateway/cpp/elem_func_gw/elem_func_gw.vcxproj.filters
scilab/modules/elementary_functions/sci_gateway/cpp/sci_abs.cpp
scilab/modules/elementary_functions/sci_gateway/cpp/sci_acos.cpp
scilab/modules/elementary_functions/sci_gateway/cpp/sci_acosh.cpp
scilab/modules/elementary_functions/sci_gateway/cpp/sci_asin.cpp
scilab/modules/elementary_functions/sci_gateway/cpp/sci_asinh.cpp
scilab/modules/elementary_functions/sci_gateway/cpp/sci_atan.cpp
scilab/modules/elementary_functions/sci_gateway/cpp/sci_atanh.cpp
scilab/modules/elementary_functions/sci_gateway/cpp/sci_ceil.cpp
scilab/modules/elementary_functions/sci_gateway/cpp/sci_clean.cpp
scilab/modules/elementary_functions/sci_gateway/cpp/sci_conj.cpp
scilab/modules/elementary_functions/sci_gateway/cpp/sci_cos.cpp
scilab/modules/elementary_functions/sci_gateway/cpp/sci_cosh.cpp
scilab/modules/elementary_functions/sci_gateway/cpp/sci_cumprod.cpp
scilab/modules/elementary_functions/sci_gateway/cpp/sci_cumsum.cpp
scilab/modules/elementary_functions/sci_gateway/cpp/sci_diag.cpp
scilab/modules/elementary_functions/sci_gateway/cpp/sci_dsearch.cpp
scilab/modules/elementary_functions/sci_gateway/cpp/sci_exp.cpp
scilab/modules/elementary_functions/sci_gateway/cpp/sci_expm.cpp
scilab/modules/elementary_functions/sci_gateway/cpp/sci_eye.cpp
scilab/modules/elementary_functions/sci_gateway/cpp/sci_floor.cpp
scilab/modules/elementary_functions/sci_gateway/cpp/sci_frexp.cpp
scilab/modules/elementary_functions/sci_gateway/cpp/sci_gsort.cpp
scilab/modules/elementary_functions/sci_gateway/cpp/sci_imag.cpp
scilab/modules/elementary_functions/sci_gateway/cpp/sci_imult.cpp
scilab/modules/elementary_functions/sci_gateway/cpp/sci_int.cpp
scilab/modules/elementary_functions/sci_gateway/cpp/sci_isequal.cpp
scilab/modules/elementary_functions/sci_gateway/cpp/sci_isreal.cpp
scilab/modules/elementary_functions/sci_gateway/cpp/sci_kron.cpp
scilab/modules/elementary_functions/sci_gateway/cpp/sci_log.cpp
scilab/modules/elementary_functions/sci_gateway/cpp/sci_log1p.cpp
scilab/modules/elementary_functions/sci_gateway/cpp/sci_matrix.cpp
scilab/modules/elementary_functions/sci_gateway/cpp/sci_max.cpp
scilab/modules/elementary_functions/sci_gateway/cpp/sci_ones.cpp
scilab/modules/elementary_functions/sci_gateway/cpp/sci_prod.cpp
scilab/modules/elementary_functions/sci_gateway/cpp/sci_rand.cpp
scilab/modules/elementary_functions/sci_gateway/cpp/sci_rat.cpp
scilab/modules/elementary_functions/sci_gateway/cpp/sci_real.cpp
scilab/modules/elementary_functions/sci_gateway/cpp/sci_round.cpp
scilab/modules/elementary_functions/sci_gateway/cpp/sci_sign.cpp
scilab/modules/elementary_functions/sci_gateway/cpp/sci_sin.cpp
scilab/modules/elementary_functions/sci_gateway/cpp/sci_sinh.cpp
scilab/modules/elementary_functions/sci_gateway/cpp/sci_size.cpp
scilab/modules/elementary_functions/sci_gateway/cpp/sci_sum.cpp
scilab/modules/elementary_functions/sci_gateway/cpp/sci_tan.cpp
scilab/modules/elementary_functions/sci_gateway/cpp/sci_tanh.cpp
scilab/modules/elementary_functions/sci_gateway/cpp/sci_tril.cpp
scilab/modules/elementary_functions/sci_gateway/cpp/sci_triu.cpp
scilab/modules/elementary_functions/sci_gateway/cpp/sci_zeros.cpp
scilab/modules/elementary_functions/src/c/DllmainElementary_functions.c
scilab/modules/elementary_functions/src/c/atan.c
scilab/modules/elementary_functions/src/c/core_Import.def
scilab/modules/elementary_functions/src/c/eispack_f_Import.def
scilab/modules/elementary_functions/src/c/elementary_functions.vcxproj
scilab/modules/elementary_functions/src/c/elementary_functions.vcxproj.filters
scilab/modules/elementary_functions/src/c/elementary_functions_f_Import.def
scilab/modules/elementary_functions/src/c/expm.c
scilab/modules/elementary_functions/src/c/linpack_f_Import.def
scilab/modules/elementary_functions/src/c/tan.c
scilab/modules/elementary_functions/src/cpp/getmode.cpp
scilab/modules/elementary_functions/src/cpp/gsort.cpp
scilab/modules/elementary_functions/src/cpp/gsort.hxx
scilab/modules/elementary_functions/src/cpp/max.cpp
scilab/modules/elementary_functions/src/cpp/min.cpp
scilab/modules/elementary_functions/src/cpp/prod.cpp
scilab/modules/elementary_functions/src/fortran/Core_f_Import.def
scilab/modules/elementary_functions/src/fortran/core_Import.def
scilab/modules/elementary_functions/src/fortran/elementary_functions_f2c.vcxproj
scilab/modules/elementary_functions/tests/nonreg_tests/bug_13515.dia.ref
scilab/modules/elementary_functions/tests/nonreg_tests/bug_13515.tst
scilab/modules/elementary_functions/tests/nonreg_tests/bug_13774.dia.ref
scilab/modules/elementary_functions/tests/nonreg_tests/bug_3587.dia.ref
scilab/modules/elementary_functions/tests/nonreg_tests/bug_3587.tst
scilab/modules/elementary_functions/tests/nonreg_tests/bug_3735.dia.ref
scilab/modules/elementary_functions/tests/nonreg_tests/bug_3735.tst
scilab/modules/elementary_functions/tests/nonreg_tests/bug_426.dia.ref
scilab/modules/elementary_functions/tests/unit_tests/bitset.dia.ref
scilab/modules/elementary_functions/tests/unit_tests/bitset.tst
scilab/modules/elementary_functions/tests/unit_tests/cumprod.dia.ref
scilab/modules/elementary_functions/tests/unit_tests/cumprod.tst
scilab/modules/elementary_functions/tests/unit_tests/cumsum.dia.ref
scilab/modules/elementary_functions/tests/unit_tests/cumsum.tst
scilab/modules/elementary_functions/tests/unit_tests/find.dia.ref
scilab/modules/elementary_functions/tests/unit_tests/isequal.dia.ref
scilab/modules/elementary_functions/tests/unit_tests/isequal.tst
scilab/modules/elementary_functions/tests/unit_tests/matrix.dia.ref
scilab/modules/elementary_functions/tests/unit_tests/matrix.tst
scilab/modules/elementary_functions/tests/unit_tests/prod.dia.ref
scilab/modules/elementary_functions/tests/unit_tests/prod.tst
scilab/modules/elementary_functions/tests/unit_tests/resize_matrix.dia.ref
scilab/modules/elementary_functions/tests/unit_tests/resize_matrix.tst
scilab/modules/elementary_functions/tests/unit_tests/sum.dia.ref
scilab/modules/elementary_functions/tests/unit_tests/sum.tst
scilab/modules/elementary_functions/tests/unit_tests/toeplitz.dia.ref
scilab/modules/elementary_functions/tests/unit_tests/toeplitz.tst
scilab/modules/external_objects/Makefile.in
scilab/modules/external_objects/core_Import.def
scilab/modules/external_objects/locales/external_objects.pot
scilab/modules/external_objects/src/cpp/EOType.cpp
scilab/modules/external_objects/src/cpp/EOType.hxx
scilab/modules/external_objects/src/cpp/ScilabObjects.cpp
scilab/modules/external_objects/src/cpp/deff.cpp
scilab/modules/external_objects_java/Makefile.in
scilab/modules/external_objects_java/locales/external_objects_java.pot
scilab/modules/external_objects_java/src/cpp/ScilabJavaEnvironment.hxx
scilab/modules/external_objects_java/src/cpp/dllMain.cpp
scilab/modules/fftw/Makefile.in
scilab/modules/fftw/locales/fftw.pot
scilab/modules/fftw/src/c/DllmainFttw.c
scilab/modules/fftw/src/cpp/fftw_common.cpp
scilab/modules/fftw/src/cpp/fftw_common.hxx
scilab/modules/fileio/Makefile.in
scilab/modules/fileio/core_Import.def
scilab/modules/fileio/core_f_Import.def
scilab/modules/fileio/fileio.vcxproj
scilab/modules/fileio/fileio.vcxproj.filters
scilab/modules/fileio/includes/do_xxscanf.h
scilab/modules/fileio/includes/filemanager.hxx
scilab/modules/fileio/includes/gw_fileio.h
scilab/modules/fileio/locales/fileio.pot
scilab/modules/fileio/sci_gateway/c/sci_chdir.c
scilab/modules/fileio/sci_gateway/cpp/fileio_gw.cpp
scilab/modules/fileio/sci_gateway/cpp/sci_basename.cpp
scilab/modules/fileio/sci_gateway/cpp/sci_createdir.cpp
scilab/modules/fileio/sci_gateway/cpp/sci_deletefile.cpp
scilab/modules/fileio/sci_gateway/cpp/sci_fileext.cpp
scilab/modules/fileio/sci_gateway/cpp/sci_fileinfo.cpp
scilab/modules/fileio/sci_gateway/cpp/sci_fileparts.cpp
scilab/modules/fileio/sci_gateway/cpp/sci_filesep.cpp
scilab/modules/fileio/sci_gateway/cpp/sci_findfiles.cpp
scilab/modules/fileio/sci_gateway/cpp/sci_fullpath.cpp
scilab/modules/fileio/sci_gateway/cpp/sci_get_absolute_file_path.cpp
scilab/modules/fileio/sci_gateway/cpp/sci_getdrives.cpp
scilab/modules/fileio/sci_gateway/cpp/sci_getlongpathname.cpp
scilab/modules/fileio/sci_gateway/cpp/sci_getrelativefilename.cpp
scilab/modules/fileio/sci_gateway/cpp/sci_getshortpathname.cpp
scilab/modules/fileio/sci_gateway/cpp/sci_isdir.cpp
scilab/modules/fileio/sci_gateway/cpp/sci_isfile.cpp
scilab/modules/fileio/sci_gateway/cpp/sci_mclearerr.cpp
scilab/modules/fileio/sci_gateway/cpp/sci_meof.cpp
scilab/modules/fileio/sci_gateway/cpp/sci_merror.cpp
scilab/modules/fileio/sci_gateway/cpp/sci_mfprintf.cpp
scilab/modules/fileio/sci_gateway/cpp/sci_mfscanf.cpp
scilab/modules/fileio/sci_gateway/cpp/sci_mget.cpp
scilab/modules/fileio/sci_gateway/cpp/sci_mgetl.cpp
scilab/modules/fileio/sci_gateway/cpp/sci_mgetstr.cpp
scilab/modules/fileio/sci_gateway/cpp/sci_mopen.cpp
scilab/modules/fileio/sci_gateway/cpp/sci_mput.cpp
scilab/modules/fileio/sci_gateway/cpp/sci_mputl.cpp
scilab/modules/fileio/sci_gateway/cpp/sci_mputstr.cpp
scilab/modules/fileio/sci_gateway/cpp/sci_mscanf.cpp
scilab/modules/fileio/sci_gateway/cpp/sci_mseek.cpp
scilab/modules/fileio/sci_gateway/cpp/sci_msscanf.cpp
scilab/modules/fileio/sci_gateway/cpp/sci_mtell.cpp
scilab/modules/fileio/sci_gateway/cpp/sci_newest.cpp
scilab/modules/fileio/sci_gateway/cpp/sci_pathconvert.cpp
scilab/modules/fileio/sci_gateway/cpp/sci_removedir.cpp
scilab/modules/fileio/src/c/DllmainFileio.c
scilab/modules/fileio/src/c/do_xxscanf.c
scilab/modules/fileio/src/c/findfiles.c
scilab/modules/fileio/src/c/fscanfMat.c
scilab/modules/fileio/src/c/removedir.c
scilab/modules/fileio/src/c/scanf_functions.c
scilab/modules/fileio/src/cpp/filemanager.cpp
scilab/modules/fileio/src/cpp/mgetl.cpp
scilab/modules/fileio/src/cpp/mgetstr.cpp
scilab/modules/fileio/tests/unit_tests/fileparts.dia.ref
scilab/modules/fileio/tests/unit_tests/fileparts.tst
scilab/modules/fileio/tests/unit_tests/getdrives.dia.ref
scilab/modules/fileio/tests/unit_tests/getdrives.tst
scilab/modules/fileio/tests/unit_tests/meof.dia.ref
scilab/modules/fileio/tests/unit_tests/mget.dia.ref
scilab/modules/fileio/tests/unit_tests/mseek.dia.ref
scilab/modules/functions/Makefile.am
scilab/modules/functions/Makefile.in
scilab/modules/functions/includes/gw_functions.h
scilab/modules/functions/locales/functions.pot
scilab/modules/functions/macros/head_comments.sci
scilab/modules/functions/sci_gateway/cpp/functions_gw.vcxproj
scilab/modules/functions/sci_gateway/cpp/functions_gw.vcxproj.filters
scilab/modules/functions/sci_gateway/cpp/sci_exec.cpp
scilab/modules/functions/sci_gateway/cpp/sci_execstr.cpp
scilab/modules/functions/sci_gateway/cpp/sci_functionlist.cpp
scilab/modules/functions/sci_gateway/cpp/sci_getCurrentThreadId.cpp
scilab/modules/functions/sci_gateway/cpp/sci_getThreads.cpp
scilab/modules/functions/sci_gateway/cpp/sci_librarieslist.cpp
scilab/modules/functions/sci_gateway/cpp/sci_libraryinfo.cpp
scilab/modules/functions/sci_gateway/cpp/sci_macrovar.cpp
scilab/modules/functions/sci_gateway/cpp/sci_testAnalysis.cpp
scilab/modules/functions/sci_gateway/cpp/sci_testGVN.cpp
scilab/modules/functions/sci_gateway/cpp/sci_whereis.cpp
scilab/modules/functions/tests/nonreg_tests/bug_12593.dia.ref
scilab/modules/functions/tests/nonreg_tests/bug_12593.tst
scilab/modules/functions/tests/nonreg_tests/bug_525.dia.ref
scilab/modules/functions/tests/nonreg_tests/bug_525.tst
scilab/modules/functions/tests/nonreg_tests/bug_9059.dia.ref
scilab/modules/functions/tests/nonreg_tests/bug_9059.tst
scilab/modules/functions/tests/unit_tests/exec.dia.ref
scilab/modules/functions_manager/Makefile.in
scilab/modules/functions_manager/functions_manager.vcxproj
scilab/modules/functions_manager/includes/dynamic_modules.hxx
scilab/modules/functions_manager/includes/funcmanager.hxx
scilab/modules/functions_manager/includes/functions_manager.h
scilab/modules/functions_manager/includes/module_declaration.hxx
scilab/modules/functions_manager/src/cpp/dynamic_modules.cpp
scilab/modules/functions_manager/src/cpp/funcmanager.cpp
scilab/modules/functions_manager/src/cpp/functions_manager.cpp
scilab/modules/genetic_algorithms/Makefile.in
scilab/modules/genetic_algorithms/locales/genetic_algorithms.pot
scilab/modules/graph/Makefile.in
scilab/modules/graph/locales/graph.pot
scilab/modules/graphic_export/Makefile.am
scilab/modules/graphic_export/Makefile.in
scilab/modules/graphic_export/core_Import.def
scilab/modules/graphic_export/graphic_export.vcxproj.filters
scilab/modules/graphic_export/locales/graphic_export.pot
scilab/modules/graphic_export/src/c/DllmainGraphics_export.c
scilab/modules/graphic_objects/Makefile.am
scilab/modules/graphic_objects/Makefile.in
scilab/modules/graphic_objects/locales/graphic_objects.pot
scilab/modules/graphic_objects/src/c/core_Import.def
scilab/modules/graphic_objects/src/cpp/DllmainGraphic_objects.cpp
scilab/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/DataLoader.java
scilab/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/DataLoaderJNI.java
scilab/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/PolylineData.java
scilab/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/PolylineDataJNI.java
scilab/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/SurfaceData.java
scilab/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/SurfaceDataJNI.java
scilab/modules/graphic_objects/src/jni/DataLoader_wrap.c
scilab/modules/graphic_objects/src/jni/PolylineData_wrap.c
scilab/modules/graphic_objects/src/jni/SurfaceData_wrap.c
scilab/modules/graphic_objects/src/nographic_objects/Dllmainnographic_objects.c
scilab/modules/graphic_objects/src/nographic_objects/nographic_objects.c
scilab/modules/graphics/Makefile.in
scilab/modules/graphics/core_Import.def
scilab/modules/graphics/help/en_US/3d_plot/scatter3.xml
scilab/modules/graphics/includes/graphics_gw.hxx
scilab/modules/graphics/includes/gw_graphics.h
scilab/modules/graphics/locales/graphics.pot
scilab/modules/graphics/sci_gateway/c/sci_light.c
scilab/modules/graphics/sci_gateway/cpp/graphics_gw.cpp
scilab/modules/graphics/sci_gateway/cpp/sci_get.cpp
scilab/modules/graphics/sci_gateway/cpp/sci_matplot.cpp
scilab/modules/graphics/sci_gateway/cpp/sci_matplot1.cpp
scilab/modules/graphics/sci_gateway/cpp/sci_xget.cpp
scilab/modules/graphics/sci_gateway/cpp/sci_xset.cpp
scilab/modules/graphics/src/c/DllmainGraphics.c
scilab/modules/graphics/src/c/GetCommandArg.c
scilab/modules/graphics/src/c/getHandleProperty/get_children_property.c
scilab/modules/graphics/src/c/getHandleProperty/get_position_property.c
scilab/modules/graphics/src/c/getHandleProperty/set_line_style_property.c
scilab/modules/graphics/src/cpp/configgraphicvariable.cpp
scilab/modules/graphics/src/cpp/configgraphicvariable.hxx
scilab/modules/graphics/src/nographics/nographics.c
scilab/modules/gui/Makefile.in
scilab/modules/gui/help/en_US/uicontrol_properties.xml
scilab/modules/gui/help/ja_JP/uicontrol_properties.xml
scilab/modules/gui/includes/gui_gw.hxx
scilab/modules/gui/locales/gui.pot
scilab/modules/gui/sci_gateway/cpp/gui_gw.cpp
scilab/modules/gui/sci_gateway/cpp/sci_displaytree.cpp
scilab/modules/gui/sci_gateway/cpp/sci_helpbrowser.cpp
scilab/modules/gui/sci_gateway/cpp/sci_setlookandfeel.cpp
scilab/modules/gui/src/c/DllmainGUI.c
scilab/modules/gui/src/java/org/scilab/modules/gui/ScilabTermination.java
scilab/modules/gui/src/java/org/scilab/modules/gui/ScilabTerminationJNI.java
scilab/modules/gui/src/jni/ScilabTermination_wrap.c
scilab/modules/hdf5/Makefile.in
scilab/modules/hdf5/locales/hdf5.pot
scilab/modules/hdf5/sci_gateway/cpp/sci_hdf5_file_version.cpp
scilab/modules/hdf5/sci_gateway/cpp/sci_hdf5_is_file.cpp
scilab/modules/hdf5/sci_gateway/cpp/sci_hdf5_listvar.cpp
scilab/modules/hdf5/sci_gateway/cpp/sci_hdf5_listvar_v2.cpp
scilab/modules/hdf5/sci_gateway/cpp/sci_hdf5_listvar_v3.cpp
scilab/modules/hdf5/sci_gateway/cpp/sci_hdf5_load.cpp
scilab/modules/hdf5/sci_gateway/cpp/sci_hdf5_load_v1.cpp
scilab/modules/hdf5/sci_gateway/cpp/sci_hdf5_load_v2.cpp
scilab/modules/hdf5/sci_gateway/cpp/sci_hdf5_load_v3.cpp
scilab/modules/hdf5/sci_gateway/cpp/sci_hdf5_save.cpp
scilab/modules/hdf5/src/c/DllmainHdf5.c
scilab/modules/hdf5/src/c/core_Import.def
scilab/modules/hdf5/src/c/h5_writeDataToFile.c
scilab/modules/hdf5/src/cpp/H5BasicData.hxx
scilab/modules/hdf5/src/cpp/handle_properties.cpp
scilab/modules/hdf5/src/cpp/handle_properties.hxx
scilab/modules/hdf5/tests/nonreg_tests/bug_12285.dia.ref
scilab/modules/hdf5/tests/nonreg_tests/bug_9510.dia.ref
scilab/modules/hdf5/tests/nonreg_tests/bug_9510.tst
scilab/modules/hdf5/tests/unit_tests/binary_bit-for-bit.dia.ref
scilab/modules/hdf5/tests/unit_tests/binary_bit-for-bit.tst
scilab/modules/hdf5/tests/unit_tests/h5mv.dia.ref
scilab/modules/hdf5/tests/unit_tests/h5mv.tst
scilab/modules/hdf5/tests/unit_tests/saveloadHdf5.dia.ref
scilab/modules/hdf5/tests/unit_tests/saveloadHdf5.tst
scilab/modules/helptools/Makefile.in
scilab/modules/helptools/data/pages/homepage-en_US.html
scilab/modules/helptools/data/pages/homepage-fr_FR.html
scilab/modules/helptools/locales/helptools.pot
scilab/modules/helptools/sci_gateway/cpp/sci_buildDoc.cpp
scilab/modules/helptools/src/c/DllmainHelptools.c
scilab/modules/helptools/src/c/core_Import.def
scilab/modules/helptools/src/c/helptools.vcxproj.filters
scilab/modules/history_browser/Makefile.in
scilab/modules/history_browser/locales/history_browser.pot
scilab/modules/history_browser/src/c/DllmainHISTORY_BROWSER.c
scilab/modules/history_browser/src/c/core_Import.def
scilab/modules/history_browser/src/c/history_browser.vcxproj.filters
scilab/modules/history_manager/Makefile.in
scilab/modules/history_manager/locales/history_manager.pot
scilab/modules/history_manager/sci_gateway/cpp/history_manager_gw.vcxproj.filters
scilab/modules/history_manager/sci_gateway/cpp/sci_historymanager.cpp
scilab/modules/history_manager/sci_gateway/cpp/sci_loadhistory.cpp
scilab/modules/history_manager/sci_gateway/cpp/sci_savehistory.cpp
scilab/modules/history_manager/sci_gateway/cpp/sci_sethistoryfile.cpp
scilab/modules/history_manager/src/c/DllmainHistory_Manager.c
scilab/modules/history_manager/src/c/core_Import.def
scilab/modules/history_manager/src/c/history_manager.vcxproj
scilab/modules/history_manager/src/c/history_manager.vcxproj.filters
scilab/modules/history_manager/src/java/org/scilab/modules/history_manager/HistoryManagement.java
scilab/modules/history_manager/src/java/org/scilab/modules/history_manager/HistoryManagementJNI.java
scilab/modules/history_manager/src/jni/HistoryManagement_wrap.c
scilab/modules/integer/Makefile.in
scilab/modules/integer/locales/integer.pot
scilab/modules/integer/macros/mgeti.sci
scilab/modules/integer/sci_gateway/cpp/integer_gw.cpp
scilab/modules/integer/sci_gateway/cpp/sci_iconvert.cpp
scilab/modules/integer/sci_gateway/cpp/sci_int.cpp
scilab/modules/integer/sci_gateway/cpp/sci_inttype.cpp
scilab/modules/integer/src/c/DllmainInteger.c
scilab/modules/integer/src/c/core_Import.def
scilab/modules/integer/src/c/integer.vcxproj
scilab/modules/integer/tests/nonreg_tests/bug_3842.dia.ref
scilab/modules/integer/tests/nonreg_tests/bug_623.dia.ref
scilab/modules/interpolation/Makefile.in
scilab/modules/interpolation/locales/interpolation.pot
scilab/modules/interpolation/sci_gateway/cpp/sci_bsplin3val.cpp
scilab/modules/interpolation/sci_gateway/cpp/sci_eval_cshep2d.cpp
scilab/modules/interpolation/sci_gateway/cpp/sci_interp.cpp
scilab/modules/interpolation/sci_gateway/cpp/sci_interp2d.cpp
scilab/modules/interpolation/sci_gateway/cpp/sci_interp3d.cpp
scilab/modules/interpolation/sci_gateway/cpp/sci_linear_interpn.cpp
scilab/modules/interpolation/sci_gateway/cpp/sci_lsq_splin.cpp
scilab/modules/interpolation/sci_gateway/cpp/sci_splin.cpp
scilab/modules/interpolation/sci_gateway/cpp/sci_splin2d.cpp
scilab/modules/interpolation/src/c/DllmainInterpolation.c
scilab/modules/interpolation/src/c/core_Import.def
scilab/modules/io/Makefile.am
scilab/modules/io/Makefile.in
scilab/modules/io/locales/io.pot
scilab/modules/io/macros/%_sodload.sci
scilab/modules/io/sci_gateway/cpp/sci_file.cpp
scilab/modules/io/sci_gateway/cpp/sci_genlib.cpp
scilab/modules/io/sci_gateway/cpp/sci_host.cpp
scilab/modules/io/sci_gateway/cpp/sci_lib.cpp
scilab/modules/io/sci_gateway/cpp/sci_load.cpp
scilab/modules/io/sci_gateway/cpp/sci_read.cpp
scilab/modules/io/sci_gateway/cpp/sci_write.cpp
scilab/modules/io/src/c/DllmainIo.c
scilab/modules/io/src/c/Scilab_Windows_Import.def
scilab/modules/io/src/c/core_Import.def
scilab/modules/io/src/c/io.vcxproj
scilab/modules/io/src/c/io_f_Import.def
scilab/modules/io/src/c/setenvc.c
scilab/modules/io/src/cpp/io_gw.cpp
scilab/modules/io/src/cpp/loadlib.cpp
scilab/modules/io/tests/nonreg_tests/bug_13981.dia.ref
scilab/modules/io/tests/nonreg_tests/bug_13981.tst
scilab/modules/io/tests/nonreg_tests/bug_14049.dia.ref
scilab/modules/io/tests/nonreg_tests/bug_14049.tst
scilab/modules/io/tests/unit_tests/read.dia.ref
scilab/modules/io/tests/unit_tests/read.tst
scilab/modules/io/tests/unit_tests/write.tst
scilab/modules/io/tests/unit_tests/write.unix.dia.ref
scilab/modules/io/tests/unit_tests/write.win.dia.ref
scilab/modules/javasci/Makefile.in
scilab/modules/javasci/src/c/DllmainJavasci.c
scilab/modules/javasci/src/java/org/scilab/modules/javasci/Call_Scilab.java
scilab/modules/javasci/src/java/org/scilab/modules/javasci/Call_ScilabJNI.java
scilab/modules/javasci/src/jni/call_scilab_wrap.c
scilab/modules/jvm/Makefile.in
scilab/modules/jvm/core_Import.def
scilab/modules/jvm/libjvm.vcxproj.filters
scilab/modules/jvm/locales/jvm.pot
scilab/modules/jvm/sci_gateway/cpp/sci_system_getproperty.cpp
scilab/modules/jvm/sci_gateway/cpp/sci_system_setproperty.cpp
scilab/modules/jvm/src/c/DllmainJvm.c
scilab/modules/linear_algebra/Makefile.in
scilab/modules/linear_algebra/locales/linear_algebra.pot
scilab/modules/linear_algebra/macros/squeeze.sci
scilab/modules/linear_algebra/sci_gateway/cpp/sci_balanc.cpp
scilab/modules/linear_algebra/sci_gateway/cpp/sci_bdiag.cpp
scilab/modules/linear_algebra/sci_gateway/cpp/sci_chol.cpp
scilab/modules/linear_algebra/sci_gateway/cpp/sci_det.cpp
scilab/modules/linear_algebra/sci_gateway/cpp/sci_hess.cpp
scilab/modules/linear_algebra/sci_gateway/cpp/sci_inv.cpp
scilab/modules/linear_algebra/sci_gateway/cpp/sci_lsq.cpp
scilab/modules/linear_algebra/sci_gateway/cpp/sci_lu.cpp
scilab/modules/linear_algebra/sci_gateway/cpp/sci_qr.cpp
scilab/modules/linear_algebra/sci_gateway/cpp/sci_rcond.cpp
scilab/modules/linear_algebra/sci_gateway/cpp/sci_schur.cpp
scilab/modules/linear_algebra/sci_gateway/cpp/sci_spec.cpp
scilab/modules/linear_algebra/sci_gateway/cpp/sci_svd.cpp
scilab/modules/linear_algebra/src/c/DllmainLinear_algebra.c
scilab/modules/linear_algebra/src/c/core_Import.def
scilab/modules/linear_algebra/src/c/eigen.c
scilab/modules/linear_algebra/src/c/lsq.c
scilab/modules/linear_algebra/src/c/qr.c
scilab/modules/linear_algebra/src/c/svd.c
scilab/modules/linear_algebra/src/cpp/schurSelect.cpp
scilab/modules/linear_algebra/src/cpp/scischur.cpp
scilab/modules/linear_algebra/tests/unit_tests/lu.dia.ref
scilab/modules/linear_algebra/tests/unit_tests/svd.dia.ref
scilab/modules/localization/Makefile.am
scilab/modules/localization/Makefile.in
scilab/modules/localization/includes/gw_localization.h
scilab/modules/localization/includes/localization.hxx
scilab/modules/localization/includes/setgetlanguage.h
scilab/modules/localization/locales/localization.pot
scilab/modules/localization/sci_gateway/cpp/sci_getdefaultlanguage.cpp
scilab/modules/localization/sci_gateway/cpp/sci_getlanguage.cpp
scilab/modules/localization/sci_gateway/cpp/sci_setdefaultlanguage.cpp
scilab/modules/localization/sci_gateway/cpp/sci_setlanguage.cpp
scilab/modules/localization/src/c/DllmainLocalization.c
scilab/modules/localization/src/c/LanguagePreferences_Windows.c
scilab/modules/localization/src/c/charEncoding.c
scilab/modules/localization/src/c/setgetlanguage.c
scilab/modules/localization/src/core_Import.def
scilab/modules/localization/src/cpp/localization.cpp
scilab/modules/localization/src/io_Import.def
scilab/modules/localization/src/java/org/scilab/modules/localization/LocaleToLCID.java
scilab/modules/localization/src/java/org/scilab/modules/localization/LocaleToLCIDJNI.java
scilab/modules/localization/src/java/org/scilab/modules/localization/Messages.java
scilab/modules/localization/src/java/org/scilab/modules/localization/MessagesJNI.java
scilab/modules/localization/src/jni/LocaleToLCID_wrap.c
scilab/modules/localization/src/jni/Messages_wrap.c
scilab/modules/localization/src/localization.vcxproj
scilab/modules/localization/src/localization.vcxproj.filters
scilab/modules/localization/tests/unit_tests/UTF-8_Identifiers.dia.ref
scilab/modules/localization/tests/unit_tests/UTF-8_Identifiers.tst
scilab/modules/m2sci/Makefile.in
scilab/modules/m2sci/locales/m2sci.pot
scilab/modules/m2sci/tests/nonreg_tests/bug_1123.dia.ref
scilab/modules/matio/Makefile.in
scilab/modules/matio/locales/matio.pot
scilab/modules/matio/src/c/DllmainMatio.c
scilab/modules/matio/src/cpp/ConvertSciVarToMatVar.cpp
scilab/modules/matio/src/cpp/ConvertSciVarToMatVar.hxx
scilab/modules/matio/src/cpp/CreateCellVariable.cpp
scilab/modules/matio/src/cpp/CreateHyperMatrixVariable.cpp
scilab/modules/matio/src/cpp/CreateMatlabTreeVariable.cpp
scilab/modules/matio/src/cpp/CreateMatlabTreeVariable.hxx
scilab/modules/matio/src/cpp/CreateStructVariable.cpp
scilab/modules/matio/src/cpp/GetCellVariable.cpp
scilab/modules/matio/src/cpp/GetCharVariable.cpp
scilab/modules/matio/src/cpp/GetStructVariable.cpp
scilab/modules/matio/tests/nonreg_tests/bug_12170.dia.ref
scilab/modules/matio/tests/unit_tests/loadmatfile.dia.ref
scilab/modules/mexlib/Makefile.in
scilab/modules/mexlib/locales/mexlib.pot
scilab/modules/mexlib/src/cpp/mexlib.cpp
scilab/modules/mexlib/src/libmat/libmat.vcxproj
scilab/modules/mexlib/src/libmat/libmat.vcxproj.filters
scilab/modules/mexlib/src/libmex/libmex.vcxproj.filters
scilab/modules/mexlib/src/libmx/libmx.vcxproj
scilab/modules/mexlib/src/libmx/libmx.vcxproj.filters
scilab/modules/mexlib/tests/nonreg_tests/bug_5292.dia.ref
scilab/modules/mexlib/tests/nonreg_tests/bug_5292.tst
scilab/modules/mexlib/tests/nonreg_tests/bug_614.dia.ref
scilab/modules/mexlib/tests/nonreg_tests/bug_614.tst
scilab/modules/mexlib/tests/unit_tests/mexAtExit.dia.ref
scilab/modules/mexlib/tests/unit_tests/mexAtExit.tst
scilab/modules/mexlib/tests/unit_tests/mexCall.dia.ref
scilab/modules/mexlib/tests/unit_tests/mexCall.tst
scilab/modules/mexlib/tests/unit_tests/mexErrMsgTxt.tst
scilab/modules/mexlib/tests/unit_tests/mexEvalString.dia.ref
scilab/modules/mexlib/tests/unit_tests/mexEvalString.tst
scilab/modules/mexlib/tests/unit_tests/mexFunctionName.dia.ref
scilab/modules/mexlib/tests/unit_tests/mexFunctionName.tst
scilab/modules/mexlib/tests/unit_tests/mexGetVariable.dia.ref
scilab/modules/mexlib/tests/unit_tests/mexGetVariable.tst
scilab/modules/mexlib/tests/unit_tests/mexGetVariablePtr.dia.ref
scilab/modules/mexlib/tests/unit_tests/mexGetVariablePtr.tst
scilab/modules/mexlib/tests/unit_tests/mexIsGlobal.dia.ref
scilab/modules/mexlib/tests/unit_tests/mexIsGlobal.tst
scilab/modules/mexlib/tests/unit_tests/mexPrintf.dia.ref
scilab/modules/mexlib/tests/unit_tests/mexPrintf.tst
scilab/modules/mexlib/tests/unit_tests/mexPutVariable.dia.ref
scilab/modules/mexlib/tests/unit_tests/mexPutVariable.tst
scilab/modules/mexlib/tests/unit_tests/mexWarnMsgTxt.dia.ref
scilab/modules/mexlib/tests/unit_tests/mexWarnMsgTxt.tst
scilab/modules/mexlib/tests/unit_tests/mxAddField.dia.ref
scilab/modules/mexlib/tests/unit_tests/mxAddField.tst
scilab/modules/mexlib/tests/unit_tests/mxArrayToString.dia.ref
scilab/modules/mexlib/tests/unit_tests/mxArrayToString.tst
scilab/modules/mexlib/tests/unit_tests/mxAssert.tst
scilab/modules/mexlib/tests/unit_tests/mxAssertS.tst
scilab/modules/mexlib/tests/unit_tests/mxCalcSingleSubscript.dia.ref
scilab/modules/mexlib/tests/unit_tests/mxCalcSingleSubscript.tst
scilab/modules/mexlib/tests/unit_tests/mxCheckTypes.dia.ref
scilab/modules/mexlib/tests/unit_tests/mxCheckTypes.tst
scilab/modules/mexlib/tests/unit_tests/mxCreateCell.dia.ref
scilab/modules/mexlib/tests/unit_tests/mxCreateCell.tst
scilab/modules/mexlib/tests/unit_tests/mxCreateCharArray.dia.ref
scilab/modules/mexlib/tests/unit_tests/mxCreateCharArray.tst
scilab/modules/mexlib/tests/unit_tests/mxCreateCharMatrixFromStrings.dia.ref
scilab/modules/mexlib/tests/unit_tests/mxCreateCharMatrixFromStrings.tst
scilab/modules/mexlib/tests/unit_tests/mxCreateDouble.dia.ref
scilab/modules/mexlib/tests/unit_tests/mxCreateDouble.tst
scilab/modules/mexlib/tests/unit_tests/mxCreateLogicalArray.dia.ref
scilab/modules/mexlib/tests/unit_tests/mxCreateLogicalArray.tst
scilab/modules/mexlib/tests/unit_tests/mxCreateLogicalMatrix.dia.ref
scilab/modules/mexlib/tests/unit_tests/mxCreateLogicalMatrix.tst
scilab/modules/mexlib/tests/unit_tests/mxCreateLogicalScalar.dia.ref
scilab/modules/mexlib/tests/unit_tests/mxCreateLogicalScalar.tst
scilab/modules/mexlib/tests/unit_tests/mxCreateNumericArray.dia.ref
scilab/modules/mexlib/tests/unit_tests/mxCreateNumericArray.tst
scilab/modules/mexlib/tests/unit_tests/mxCreateString.dia.ref
scilab/modules/mexlib/tests/unit_tests/mxCreateString.tst
scilab/modules/mexlib/tests/unit_tests/mxCreateStruct.dia.ref
scilab/modules/mexlib/tests/unit_tests/mxCreateStruct.tst
scilab/modules/mexlib/tests/unit_tests/mxDestroyArray.dia.ref
scilab/modules/mexlib/tests/unit_tests/mxDestroyArray.tst
scilab/modules/mexlib/tests/unit_tests/mxDuplicateArray.dia.ref
scilab/modules/mexlib/tests/unit_tests/mxDuplicateArray.tst
scilab/modules/mexlib/tests/unit_tests/mxGetChars.dia.ref
scilab/modules/mexlib/tests/unit_tests/mxGetChars.tst
scilab/modules/mexlib/tests/unit_tests/mxGetClassID.dia.ref
scilab/modules/mexlib/tests/unit_tests/mxGetClassID.tst
scilab/modules/mexlib/tests/unit_tests/mxGetClassName.dia.ref
scilab/modules/mexlib/tests/unit_tests/mxGetClassName.tst
scilab/modules/mexlib/tests/unit_tests/mxGetDimensions.dia.ref
scilab/modules/mexlib/tests/unit_tests/mxGetDimensions.tst
scilab/modules/mexlib/tests/unit_tests/mxGetElementSize.dia.ref
scilab/modules/mexlib/tests/unit_tests/mxGetElementSize.tst
scilab/modules/mexlib/tests/unit_tests/mxGetEps.dia.ref
scilab/modules/mexlib/tests/unit_tests/mxGetEps.tst
scilab/modules/mexlib/tests/unit_tests/mxGetField.dia.ref
scilab/modules/mexlib/tests/unit_tests/mxGetField.tst
scilab/modules/mexlib/tests/unit_tests/mxGetFieldByNumber.dia.ref
scilab/modules/mexlib/tests/unit_tests/mxGetFieldByNumber.tst
scilab/modules/mexlib/tests/unit_tests/mxGetFieldNameByNumber.dia.ref
scilab/modules/mexlib/tests/unit_tests/mxGetFieldNameByNumber.tst
scilab/modules/mexlib/tests/unit_tests/mxGetFieldNumber.dia.ref
scilab/modules/mexlib/tests/unit_tests/mxGetFieldNumber.tst
scilab/modules/mexlib/tests/unit_tests/mxGetInf.dia.ref
scilab/modules/mexlib/tests/unit_tests/mxGetInf.tst
scilab/modules/mexlib/tests/unit_tests/mxGetLogicals.dia.ref
scilab/modules/mexlib/tests/unit_tests/mxGetLogicals.tst
scilab/modules/mexlib/tests/unit_tests/mxGetNaN.dia.ref
scilab/modules/mexlib/tests/unit_tests/mxGetNaN.tst
scilab/modules/mexlib/tests/unit_tests/mxGetNumberOfDimensions.dia.ref
scilab/modules/mexlib/tests/unit_tests/mxGetNumberOfDimensions.tst
scilab/modules/mexlib/tests/unit_tests/mxGetNumberOfElements.dia.ref
scilab/modules/mexlib/tests/unit_tests/mxGetNumberOfElements.tst
scilab/modules/mexlib/tests/unit_tests/mxGetNumberOfFields.dia.ref
scilab/modules/mexlib/tests/unit_tests/mxGetNumberOfFields.tst
scilab/modules/mexlib/tests/unit_tests/mxGetScalar.dia.ref
scilab/modules/mexlib/tests/unit_tests/mxGetScalar.tst
scilab/modules/mexlib/tests/unit_tests/mxGetSetData.dia.ref
scilab/modules/mexlib/tests/unit_tests/mxGetSetData.tst
scilab/modules/mexlib/tests/unit_tests/mxGetSetImagData.dia.ref
scilab/modules/mexlib/tests/unit_tests/mxGetSetImagData.tst
scilab/modules/mexlib/tests/unit_tests/mxGetSetMN.dia.ref
scilab/modules/mexlib/tests/unit_tests/mxGetSetMN.tst
scilab/modules/mexlib/tests/unit_tests/mxGetSetPri.dia.ref
scilab/modules/mexlib/tests/unit_tests/mxGetSetPri.tst
scilab/modules/mexlib/tests/unit_tests/mxGetString.dia.ref
scilab/modules/mexlib/tests/unit_tests/mxGetString.tst
scilab/modules/mexlib/tests/unit_tests/mxIsClass.dia.ref
scilab/modules/mexlib/tests/unit_tests/mxIsClass.tst
scilab/modules/mexlib/tests/unit_tests/mxIsComplex.dia.ref
scilab/modules/mexlib/tests/unit_tests/mxIsComplex.tst
scilab/modules/mexlib/tests/unit_tests/mxIsEmpty.dia.ref
scilab/modules/mexlib/tests/unit_tests/mxIsEmpty.tst
scilab/modules/mexlib/tests/unit_tests/mxIsFinite.dia.ref
scilab/modules/mexlib/tests/unit_tests/mxIsFinite.tst
scilab/modules/mexlib/tests/unit_tests/mxIsInf.dia.ref
scilab/modules/mexlib/tests/unit_tests/mxIsInf.tst
scilab/modules/mexlib/tests/unit_tests/mxIsLogicalScalar.dia.ref
scilab/modules/mexlib/tests/unit_tests/mxIsLogicalScalar.tst
scilab/modules/mexlib/tests/unit_tests/mxIsNaN.dia.ref
scilab/modules/mexlib/tests/unit_tests/mxIsNaN.tst
scilab/modules/mexlib/tests/unit_tests/mxMalloc.tst
scilab/modules/mexlib/tests/unit_tests/mxSetCell.dia.ref
scilab/modules/mexlib/tests/unit_tests/mxSetCell.tst
scilab/modules/mexlib/tests/unit_tests/mxSetDimensions.dia.ref
scilab/modules/mexlib/tests/unit_tests/mxSetDimensions.tst
scilab/modules/mexlib/tests/unit_tests/mxSetField.dia.ref
scilab/modules/mexlib/tests/unit_tests/mxSetField.tst
scilab/modules/mexlib/tests/unit_tests/mxSetFieldByNumber.dia.ref
scilab/modules/mexlib/tests/unit_tests/mxSetFieldByNumber.tst
scilab/modules/modules_manager/Makefile.in
scilab/modules/modules_manager/locales/modules_manager.pot
scilab/modules/mpi/Makefile.am
scilab/modules/mpi/Makefile.in
scilab/modules/mpi/includes/gw_mpi.h
scilab/modules/mpi/locales/mpi.pot
scilab/modules/mpi/mpi.vcxproj
scilab/modules/mpi/src/c/DllmainMpi.c
scilab/modules/optimization/Makefile.in
scilab/modules/optimization/includes/optimizationfunctions.hxx
scilab/modules/optimization/locales/optimization.pot
scilab/modules/optimization/sci_gateway/c/sci_qp_solve.c
scilab/modules/optimization/sci_gateway/cpp/sci_optim.cpp
scilab/modules/optimization/sci_gateway/cpp/sci_readmps.cpp
scilab/modules/optimization/src/c/DllmainOptimization.c
scilab/modules/optimization/src/c/sp.c
scilab/modules/optimization/src/cpp/optimizationfunctions.cpp
scilab/modules/optimization/src/fortran/Core_f_Import.def
scilab/modules/optimization/src/fortran/Output_stream_Import.def
scilab/modules/optimization/src/fortran/core_Import.def
scilab/modules/optimization/src/fortran/optimization_f.vfproj
scilab/modules/optimization/tests/unit_tests/neldermead/neldermead_configure.dia.ref
scilab/modules/optimization/tests/unit_tests/optimsimplex/optimsimplex_randbounds.dia.ref
scilab/modules/output_stream/Makefile.am
scilab/modules/output_stream/Makefile.in
scilab/modules/output_stream/includes/Sciwarning.h
scilab/modules/output_stream/includes/gw_output_stream.h
scilab/modules/output_stream/locales/output_stream.pot
scilab/modules/output_stream/sci_gateway/cpp/sci_mprintf.cpp
scilab/modules/output_stream/sci_gateway/cpp/sci_msprintf.cpp
scilab/modules/output_stream/src/c/Console_Import.def
scilab/modules/output_stream/src/c/Core_f_Import.def
scilab/modules/output_stream/src/c/DllmainOutput_Stream.c
scilab/modules/output_stream/src/c/ast_Import.def
scilab/modules/output_stream/src/c/core_Import.def
scilab/modules/output_stream/src/c/output_stream.vcxproj
scilab/modules/output_stream/src/c/output_stream.vcxproj.filters
scilab/modules/output_stream/src/c/output_stream_f_Import.def
scilab/modules/output_stream/src/cpp/getFullFilename.cpp
scilab/modules/output_stream/src/cpp/scilab_sprintf.cpp
scilab/modules/output_stream/src/fortran/Core_f_Import.def
scilab/modules/output_stream/src/fortran/core_Import.def
scilab/modules/output_stream/src/fortran/output_stream_Import.def
scilab/modules/output_stream/src/fortran/output_stream_f.vfproj
scilab/modules/output_stream/tests/nonreg_tests/bug_1371.dia.ref
scilab/modules/output_stream/tests/nonreg_tests/bug_3831.dia.ref
scilab/modules/overloading/Makefile.in
scilab/modules/overloading/locales/overloading.pot
scilab/modules/overloading/macros/%r_simp.sci
scilab/modules/overloading/tests/nonreg_tests/bug_13924.dia.ref
scilab/modules/overloading/tests/nonreg_tests/bug_13924.tst
scilab/modules/parallel/Makefile.in
scilab/modules/parallel/locales/parallel.pot
scilab/modules/parallel/src/c/DllmainParallel.c
scilab/modules/parallel/tests/unit_tests/parallel_run.tst
scilab/modules/parameters/Makefile.in
scilab/modules/parameters/core_Import.def
scilab/modules/parameters/locales/parameters.pot
scilab/modules/parameters/src/c/DllmainParameters.c
scilab/modules/polynomials/Makefile.in
scilab/modules/polynomials/locales/polynomials.pot
scilab/modules/polynomials/sci_gateway/cpp/sci_bezout.cpp
scilab/modules/polynomials/sci_gateway/cpp/sci_coeff.cpp
scilab/modules/polynomials/sci_gateway/cpp/sci_degree.cpp
scilab/modules/polynomials/sci_gateway/cpp/sci_poly.cpp
scilab/modules/polynomials/sci_gateway/cpp/sci_pppdiv.cpp
scilab/modules/polynomials/sci_gateway/cpp/sci_roots.cpp
scilab/modules/polynomials/sci_gateway/cpp/sci_sfact.cpp
scilab/modules/polynomials/sci_gateway/cpp/sci_simp.cpp
scilab/modules/polynomials/sci_gateway/cpp/sci_varn.cpp
scilab/modules/polynomials/src/c/DllmainPolynomial.c
scilab/modules/polynomials/src/c/polynomials.vcxproj
scilab/modules/polynomials/src/fortran/Core_f_Import.def
scilab/modules/polynomials/src/fortran/core_Import.def
scilab/modules/polynomials/src/fortran/output_stream_Import.def
scilab/modules/polynomials/src/fortran/polynomials_f.vfproj
scilab/modules/prebuildjava/Makefile.in
scilab/modules/preferences/Makefile.am
scilab/modules/preferences/Makefile.in
scilab/modules/preferences/includes/preferences_gw.hxx
scilab/modules/preferences/locales/preferences.pot
scilab/modules/preferences/sci_gateway/cpp/preferences_gw.cpp
scilab/modules/preferences/src/c/DllmainPreferences.c
scilab/modules/preferences/src/c/core_Import.def
scilab/modules/preferences/src/c/getScilabPreference.c
scilab/modules/randlib/Makefile.in
scilab/modules/randlib/locales/randlib.pot
scilab/modules/randlib/sci_gateway/cpp/sci_grand.cpp
scilab/modules/randlib/src/c/DllmainRandlib.c
scilab/modules/randlib/src/c/clcg4.c
scilab/modules/randlib/src/c/core_Import.def
scilab/modules/randlib/src/fortran/core_Import.def
scilab/modules/randlib/tests/unit_tests/grand_clcg4.dia.ref
scilab/modules/renderer/Makefile.in
scilab/modules/renderer/locales/renderer.pot
scilab/modules/renderer/renderer.vcxproj
scilab/modules/renderer/src/c/DllmainRenderer.c
scilab/modules/scicos/Makefile.in
scilab/modules/scicos/includes/Controller.hxx
scilab/modules/scicos/includes/Model.hxx
scilab/modules/scicos/includes/View.hxx
scilab/modules/scicos/includes/model/BaseObject.hxx
scilab/modules/scicos/includes/utilities.hxx
scilab/modules/scicos/includes/view_scilab/Adapters.hxx
scilab/modules/scicos/locales/scicos.pot
scilab/modules/scicos/macros/scicos_scicos/%model_p.sci
scilab/modules/scicos/sci_gateway/cpp/sci_buildouttb.cpp
scilab/modules/scicos/sci_gateway/cpp/sci_callblk.cpp
scilab/modules/scicos/sci_gateway/cpp/sci_coserror.cpp
scilab/modules/scicos/sci_gateway/cpp/sci_getscicosvars.cpp
scilab/modules/scicos/sci_gateway/cpp/sci_model2blk.cpp
scilab/modules/scicos/sci_gateway/cpp/sci_scicos_log.cpp
scilab/modules/scicos/sci_gateway/cpp/sci_scicos_new.cpp
scilab/modules/scicos/sci_gateway/cpp/sci_scicos_setfield.cpp
scilab/modules/scicos/sci_gateway/cpp/sci_scicosim.cpp
scilab/modules/scicos/sci_gateway/cpp/sci_validvar.cpp
scilab/modules/scicos/src/c/Core_f_Import.def
scilab/modules/scicos/src/c/DllmainScicos.c
scilab/modules/scicos/src/c/Dynamic_link_Import.def
scilab/modules/scicos/src/c/Output_stream_Import.def
scilab/modules/scicos/src/c/cli/scicos-cli.vcxproj
scilab/modules/scicos/src/c/cli/scicos-cli.vcxproj.filters
scilab/modules/scicos/src/c/core_Import.def
scilab/modules/scicos/src/c/scicos.c
scilab/modules/scicos/src/c/scicos.vcxproj
scilab/modules/scicos/src/c/scicos.vcxproj.filters
scilab/modules/scicos/src/c/scicos_f_Import.def
scilab/modules/scicos/src/cpp/Controller.cpp
scilab/modules/scicos/src/cpp/LoggerView.cpp
scilab/modules/scicos/src/cpp/LoggerView.hxx
scilab/modules/scicos/src/cpp/Model.cpp
scilab/modules/scicos/src/cpp/Model_getObjectProperties.cpp
scilab/modules/scicos/src/cpp/Model_setObjectProperties.cpp
scilab/modules/scicos/src/cpp/extractblklist.cpp
scilab/modules/scicos/src/cpp/model/Annotation.hxx
scilab/modules/scicos/src/cpp/model/Block.hxx
scilab/modules/scicos/src/cpp/model/Diagram.hxx
scilab/modules/scicos/src/cpp/model/Link.hxx
scilab/modules/scicos/src/cpp/model/Port.hxx
scilab/modules/scicos/src/cpp/sciblk2.cpp
scilab/modules/scicos/src/cpp/sciblk4.cpp
scilab/modules/scicos/src/cpp/var2vec.cpp
scilab/modules/scicos/src/cpp/vec2var.cpp
scilab/modules/scicos/src/cpp/view_scilab/Adapters.cpp
scilab/modules/scicos/src/cpp/view_scilab/BaseAdapter.hxx
scilab/modules/scicos/src/cpp/view_scilab/BlockAdapter.cpp
scilab/modules/scicos/src/cpp/view_scilab/BlockAdapter.hxx
scilab/modules/scicos/src/cpp/view_scilab/DiagramAdapter.cpp
scilab/modules/scicos/src/cpp/view_scilab/DiagramAdapter.hxx
scilab/modules/scicos/src/cpp/view_scilab/GraphicsAdapter.cpp
scilab/modules/scicos/src/cpp/view_scilab/LinkAdapter.cpp
scilab/modules/scicos/src/cpp/view_scilab/ModelAdapter.cpp
scilab/modules/scicos/src/cpp/view_scilab/ParamsAdapter.cpp
scilab/modules/scicos/src/cpp/view_scilab/TextAdapter.cpp
scilab/modules/scicos/src/cpp/view_scilab/ports_management.hxx
scilab/modules/scicos/tests/unit_tests/getfield.dia.ref
scilab/modules/scicos/tests/unit_tests/getfield.tst
scilab/modules/scicos/tests/unit_tests/model/Annotation.dia.ref
scilab/modules/scicos/tests/unit_tests/model/Annotation.tst
scilab/modules/scicos/tests/unit_tests/model/Block.dia.ref
scilab/modules/scicos/tests/unit_tests/model/Block.tst
scilab/modules/scicos/tests/unit_tests/model/Block_copy_list.dia.ref
scilab/modules/scicos/tests/unit_tests/model/Consecutive_init.dia.ref
scilab/modules/scicos/tests/unit_tests/model/Deep_cloning.dia.ref
scilab/modules/scicos/tests/unit_tests/model/Delete_objects.dia.ref
scilab/modules/scicos/tests/unit_tests/model/Diagram.dia.ref
scilab/modules/scicos/tests/unit_tests/model/Link.dia.ref
scilab/modules/scicos/tests/unit_tests/model/SuperBlock.dia.ref
scilab/modules/scicos/tests/unit_tests/model/SuperBlock_in_SuperBlock.dia.ref
scilab/modules/scicos/tests/unit_tests/model/clone_extract.dia.ref
scilab/modules/scicos/tests/unit_tests/model/from_mlist.dia.ref
scilab/modules/scicos/tests/unit_tests/model/link_preservation.dia.ref
scilab/modules/scicos/tests/unit_tests/model/simple_delete.dia.ref
scilab/modules/scicos/tests/unit_tests/sciblk2.dia.ref
scilab/modules/scicos/tests/unit_tests/scicos.dia.ref
scilab/modules/scicos/tests/unit_tests/scicos_new.tst
scilab/modules/scicos/tests/unit_tests/var2vec.dia.ref
scilab/modules/scicos/tests/unit_tests/var2vec.tst
scilab/modules/scicos/tests/unit_tests/vec2var.dia.ref
scilab/modules/scicos/tests/unit_tests/vec2var.tst
scilab/modules/scicos_blocks/Makefile.in
scilab/modules/scicos_blocks/locales/scicos_blocks.pot
scilab/modules/scicos_blocks/src/c/DllmainScicos_blocks.c
scilab/modules/scicos_blocks/src/c/cli/scicos_blocks-cli.vcxproj
scilab/modules/scicos_blocks/src/c/scicos_blocks.vcxproj
scilab/modules/scicos_blocks/src/fortran/Core_f_Import.def
scilab/modules/scicos_blocks/src/fortran/Scicos_Import.def
scilab/modules/scicos_blocks/src/fortran/scicos_blocks_f.vfproj
scilab/modules/scinotes/Makefile.in
scilab/modules/scinotes/locales/scinotes.pot
scilab/modules/scinotes/src/c/DllmainSCINOTES.c
scilab/modules/scinotes/src/c/core_Import.def
scilab/modules/scinotes/src/java/org/scilab/modules/scinotes/ScilabKeywords.java
scilab/modules/scinotes/src/java/org/scilab/modules/scinotes/ScilabKeywordsJNI.java
scilab/modules/scinotes/src/jni/ScilabKeywords_wrap.c
scilab/modules/signal_processing/Makefile.in
scilab/modules/signal_processing/includes/gw_signal.h
scilab/modules/signal_processing/locales/signal_processing.pot
scilab/modules/signal_processing/sci_gateway/cpp/sci_fft.cpp
scilab/modules/signal_processing/sci_gateway/cpp/signal_processing_gw.vcxproj
scilab/modules/signal_processing/sci_gateway/cpp/signal_processing_gw.vcxproj.filters
scilab/modules/signal_processing/src/c/DllmainSignal_processing.c
scilab/modules/signal_processing/src/c/signal_processing_f_Import.def
scilab/modules/signal_processing/src/cpp/signalprocessingfunctions.cpp
scilab/modules/signal_processing/src/cpp/signalprocessingfunctions.hxx
scilab/modules/signal_processing/src/fortran/core_Import.def
scilab/modules/signal_processing/src/fortran/core_f_Import.def
scilab/modules/signal_processing/src/fortran/signal_processing_f.vfproj
scilab/modules/signal_processing/tests/unit_tests/amell.dia.ref
scilab/modules/signal_processing/tests/unit_tests/amell.tst
scilab/modules/signal_processing/tests/unit_tests/fft.dia.ref
scilab/modules/signal_processing/tests/unit_tests/fft.tst
scilab/modules/signal_processing/tests/unit_tests/remez.dia.ref
scilab/modules/signal_processing/tests/unit_tests/remez.tst
scilab/modules/simulated_annealing/Makefile.in
scilab/modules/simulated_annealing/locales/simulated_annealing.pot
scilab/modules/sound/Makefile.in
scilab/modules/sound/locales/sound.pot
scilab/modules/sound/sound.vcxproj.filters
scilab/modules/sound/src/c/DllmainSound.c
scilab/modules/sparse/Makefile.in
scilab/modules/sparse/locales/sparse.pot
scilab/modules/sparse/sci_gateway/cpp/sci_adj2sp.cpp
scilab/modules/sparse/sci_gateway/cpp/sci_ludel.cpp
scilab/modules/sparse/sci_gateway/cpp/sci_lufact.cpp
scilab/modules/sparse/sci_gateway/cpp/sci_luget.cpp
scilab/modules/sparse/sci_gateway/cpp/sci_lusolve.cpp
scilab/modules/sparse/sci_gateway/cpp/sci_nnz.cpp
scilab/modules/sparse/sci_gateway/cpp/sci_ordmmd.cpp
scilab/modules/sparse/sci_gateway/cpp/sci_sp2adj.cpp
scilab/modules/sparse/sci_gateway/cpp/sci_sparse.cpp
scilab/modules/sparse/sci_gateway/cpp/sci_spcompack.cpp
scilab/modules/sparse/sci_gateway/cpp/sci_spones.cpp
scilab/modules/sparse/src/c/DllmainSparse.c
scilab/modules/sparse/src/c/core_Import.def
scilab/modules/sparse/src/c/sparse.vcxproj
scilab/modules/sparse/src/fortran/Core_f_Import.def
scilab/modules/sparse/src/fortran/Output_stream_Import.def
scilab/modules/sparse/src/fortran/core_Import.def
scilab/modules/sparse/src/fortran/sparse_f.vfproj
scilab/modules/sparse/src/fortran/sparse_f2c.vcxproj
scilab/modules/sparse/tests/nonreg_tests/bug_6827.dia.ref
scilab/modules/special_functions/Makefile.in
scilab/modules/special_functions/locales/special_functions.pot
scilab/modules/special_functions/sci_gateway/cpp/sci_dlgamma.cpp
scilab/modules/special_functions/sci_gateway/cpp/sci_gamma.cpp
scilab/modules/special_functions/sci_gateway/cpp/sci_lgamma.cpp
scilab/modules/special_functions/src/c/DllmainSpecial_functions.c
scilab/modules/special_functions/src/c/core_Import.def
scilab/modules/special_functions/src/fortran/core_Import.def
scilab/modules/special_functions/src/fortran/special_functions_f.vfproj
scilab/modules/special_functions/src/fortran/special_functions_f2c.vcxproj
scilab/modules/spreadsheet/Makefile.in
scilab/modules/spreadsheet/core_Import.def
scilab/modules/spreadsheet/includes/gw_spreadsheet.h
scilab/modules/spreadsheet/locales/spreadsheet.pot
scilab/modules/spreadsheet/sci_gateway/cpp/sci_xls_open.cpp
scilab/modules/spreadsheet/src/c/DllmainSpreadsheet.c
scilab/modules/spreadsheet/src/c/csvRead.c
scilab/modules/spreadsheet/tests/nonreg_tests/ticket_194.dia.ref
scilab/modules/spreadsheet/tests/unit_tests/readxls.dia.ref
scilab/modules/spreadsheet/tests/unit_tests/xls_open.dia.ref
scilab/modules/startup/locales/startup.pot
scilab/modules/startup/src/cpp/scilab.cpp
scilab/modules/statistics/Makefile.in
scilab/modules/statistics/includes/gw_statistics.h
scilab/modules/statistics/locales/statistics.pot
scilab/modules/statistics/src/c/CdfBase.c
scilab/modules/statistics/src/c/DllMainStatistics.c
scilab/modules/statistics/src/c/core_Import.def
scilab/modules/statistics/src/c/statistics.vcxproj.filters
scilab/modules/statistics/tests/nonreg_tests/bug_316.dia.ref
scilab/modules/statistics/tests/unit_tests/cdfbin.dia.ref
scilab/modules/string/Makefile.in
scilab/modules/string/locales/ja_JP.po
scilab/modules/string/locales/string.pot
scilab/modules/string/locales/zh_TW.po
scilab/modules/string/sci_gateway/cpp/sci_ascii.cpp
scilab/modules/string/sci_gateway/cpp/sci_convstr.cpp
scilab/modules/string/sci_gateway/cpp/sci_grep.cpp
scilab/modules/string/sci_gateway/cpp/sci_isalphanum.cpp
scilab/modules/string/sci_gateway/cpp/sci_isascii.cpp
scilab/modules/string/sci_gateway/cpp/sci_isdigit.cpp
scilab/modules/string/sci_gateway/cpp/sci_length.cpp
scilab/modules/string/sci_gateway/cpp/sci_part.cpp
scilab/modules/string/sci_gateway/cpp/sci_regexp.cpp
scilab/modules/string/sci_gateway/cpp/sci_strcat.cpp
scilab/modules/string/sci_gateway/cpp/sci_strindex.cpp
scilab/modules/string/sci_gateway/cpp/sci_string.cpp
scilab/modules/string/sci_gateway/cpp/sci_strsplit.cpp
scilab/modules/string/sci_gateway/cpp/sci_strsubst.cpp
scilab/modules/string/sci_gateway/cpp/sci_strtod.cpp
scilab/modules/string/sci_gateway/cpp/string_gw.cpp
scilab/modules/string/src/c/DllMainString.c
scilab/modules/string/src/c/core_Import.def
scilab/modules/string/src/c/string.vcxproj
scilab/modules/string/src/c/string.vcxproj.filters
scilab/modules/string/tests/nonreg_tests/bug_13524.dia.ref
scilab/modules/string/tests/nonreg_tests/bug_13524.tst
scilab/modules/string/tests/nonreg_tests/bug_3598.dia.ref
scilab/modules/string/tests/nonreg_tests/bug_3598.tst
scilab/modules/string/tests/nonreg_tests/bug_5073.dia.ref
scilab/modules/string/tests/nonreg_tests/bug_5073.tst
scilab/modules/string/tests/nonreg_tests/bug_7249.dia.ref
scilab/modules/tclsci/Makefile.am
scilab/modules/tclsci/Makefile.in
scilab/modules/tclsci/core_Import.def
scilab/modules/tclsci/locales/tclsci.pot
scilab/modules/tclsci/sci_gateway/c/sci_TCL_DeleteInterp.c
scilab/modules/tclsci/sci_gateway/c/sci_TCL_DoOneEvent.c
scilab/modules/tclsci/sci_gateway/c/sci_TCL_EvalFile.c
scilab/modules/tclsci/sci_gateway/c/sci_TCL_EvalStr.c
scilab/modules/tclsci/sci_gateway/c/sci_TCL_ExistArray.c
scilab/modules/tclsci/sci_gateway/c/sci_TCL_ExistInterp.c
scilab/modules/tclsci/sci_gateway/c/sci_TCL_ExistVar.c
scilab/modules/tclsci/sci_gateway/c/sci_TCL_GetVar.c
scilab/modules/tclsci/sci_gateway/c/sci_TCL_GetVersion.c
scilab/modules/tclsci/sci_gateway/c/sci_TCL_SetVar.c
scilab/modules/tclsci/sci_gateway/c/sci_TCL_UnsetVar.c
scilab/modules/tclsci/sci_gateway/c/sci_TCL_UpVar.c
scilab/modules/tclsci/sci_gateway/c/sci_opentk.c
scilab/modules/tclsci/scilab_windows_Import.def
scilab/modules/tclsci/src/c/LoadUnloadTclsci.c
scilab/modules/tclsci/src/c/ScilabEval.c
scilab/modules/tclsci/src/c/setvar.c
scilab/modules/tclsci/tclsci.vcxproj
scilab/modules/threads/Makefile.in
scilab/modules/threads/includes/Thread_Wrapper.h
scilab/modules/time/Makefile.in
scilab/modules/time/core_Import.def
scilab/modules/time/locales/time.pot
scilab/modules/time/src/c/DllmainTime.c
scilab/modules/types/Makefile.am
scilab/modules/types/Makefile.in
scilab/modules/types/etc/types.start
scilab/modules/types/locales/types.pot
scilab/modules/types/macros/buildmacros.sce
scilab/modules/types/src/java/org/scilab/modules/types/GetScilabVariable.java
scilab/modules/types/src/java/org/scilab/modules/types/GetScilabVariableJNI.java
scilab/modules/types/src/java/org/scilab/modules/types/ScilabIntegerTypeEnum.java
scilab/modules/types/src/java/org/scilab/modules/types/ScilabTypeEnum.java
scilab/modules/types/src/jni/getScilabVariable_wrap.c
scilab/modules/types/types.iss
scilab/modules/ui_data/Makefile.in
scilab/modules/ui_data/includes/ui_data_gw.hxx
scilab/modules/ui_data/locales/ui_data.pot
scilab/modules/ui_data/sci_gateway/cpp/ui_data_gw.cpp
scilab/modules/ui_data/src/c/DllmainUi_data.c
scilab/modules/ui_data/src/c/core_Import.def
scilab/modules/ui_data/src/cpp/BrowseVarManager.cpp
scilab/modules/ui_data/src/java/org/scilab/modules/ui_data/UI_data.java
scilab/modules/ui_data/src/java/org/scilab/modules/ui_data/UI_dataJNI.java
scilab/modules/ui_data/src/jni/ui_data_wrap.c
scilab/modules/umfpack/Makefile.in
scilab/modules/umfpack/locales/umfpack.pot
scilab/modules/umfpack/sci_gateway/c/sci_umf_lufact.c
scilab/modules/umfpack/src/c/DllMainUmfpack.c
scilab/modules/umfpack/src/c/core_Import.def
scilab/modules/umfpack/src/c/umfpack.vcxproj
scilab/modules/windows_tools/Makefile.in
scilab/modules/windows_tools/locales/windows_tools.pot
scilab/modules/windows_tools/sci_gateway/cpp/sci_consolebox.cpp
scilab/modules/windows_tools/sci_gateway/cpp/sci_dos.cpp
scilab/modules/windows_tools/src/c/DllmainWindows_Tools.c
scilab/modules/windows_tools/src/c/core_Import.def
scilab/modules/windows_tools/src/c/scilab_windows/DllmainScilab_Windows.c
scilab/modules/windows_tools/src/c/scilab_windows_Import.def
scilab/modules/xcos/Makefile.am
scilab/modules/xcos/Makefile.in
scilab/modules/xcos/includes/gw_xcos.h
scilab/modules/xcos/locales/xcos.pot
scilab/modules/xcos/sci_gateway/cpp/sci_Xcos.cpp
scilab/modules/xcos/sci_gateway/cpp/sci_xcosDiagramToScilab.cpp
scilab/modules/xcos/sci_gateway/cpp/sci_xcosUpdateBlock.cpp
scilab/modules/xcos/sci_gateway/xcos_gateway.xml
scilab/modules/xcos/src/c/DllmainXCOS.c
scilab/modules/xcos/src/c/core_Import.def
scilab/modules/xcos/src/c/xcos.vcxproj
scilab/modules/xcos/src/c/xcos.vcxproj.filters
scilab/modules/xcos/src/java/org/scilab/modules/xcos/Controller.java
scilab/modules/xcos/src/java/org/scilab/modules/xcos/JavaController.java
scilab/modules/xcos/src/java/org/scilab/modules/xcos/JavaControllerJNI.java
scilab/modules/xcos/src/java/org/scilab/modules/xcos/Kind.java
scilab/modules/xcos/src/java/org/scilab/modules/xcos/ObjectProperties.java
scilab/modules/xcos/src/java/org/scilab/modules/xcos/UpdateStatus.java
scilab/modules/xcos/src/java/org/scilab/modules/xcos/VectorOfBool.java
scilab/modules/xcos/src/java/org/scilab/modules/xcos/VectorOfDouble.java
scilab/modules/xcos/src/java/org/scilab/modules/xcos/VectorOfInt.java
scilab/modules/xcos/src/java/org/scilab/modules/xcos/VectorOfScicosID.java
scilab/modules/xcos/src/java/org/scilab/modules/xcos/VectorOfString.java
scilab/modules/xcos/src/java/org/scilab/modules/xcos/View.java
scilab/modules/xcos/src/java/org/scilab/modules/xcos/Xcos.java
scilab/modules/xcos/src/java/org/scilab/modules/xcos/XcosView.java
scilab/modules/xcos/src/java/org/scilab/modules/xcos/graph/PaletteDiagram.java
scilab/modules/xcos/src/java/org/scilab/modules/xcos/graph/XcosDiagram.java
scilab/modules/xcos/src/java/org/scilab/modules/xcos/palette/PaletteBlockCtrl.java
scilab/modules/xcos/src/java/org/scilab/modules/xcos/palette/listener/PaletteBlockMouseListener.java
scilab/modules/xcos/src/java/org/scilab/modules/xcos/palette/listener/PaletteManagerTreeSelectionListener.java
scilab/modules/xcos/src/java/org/scilab/modules/xcos/palette/model/PaletteBlock.java
scilab/modules/xcos/src/java/org/scilab/modules/xcos/palette/view/PaletteBlockView.java
scilab/modules/xcos/src/java/org/scilab/modules/xcos/palette/view/PaletteManagerPanel.java
scilab/modules/xcos/src/java/org/scilab/modules/xcos/palette/view/PaletteView.java
scilab/modules/xcos/src/java/org/scilab/modules/xcos/utils/XcosConstants.java
scilab/modules/xcos/src/java/org/scilab/modules/xcos/utils/XcosMessages.java
scilab/modules/xcos/src/jni/JavaController.i
scilab/modules/xcos/src/jni/JavaController_wrap.cxx
scilab/modules/xcos/src/jni/JavaController_wrap.h
scilab/modules/xcos/tests/unit_tests/scicosim.dia.ref
scilab/modules/xml/Makefile.in
scilab/modules/xml/core_Import.def
scilab/modules/xml/includes/gw_xml.h
scilab/modules/xml/locales/xml.pot
scilab/modules/xml/src/c/DllmainXml.c
scilab/tools/innosetup/base.iss
scilab/tools/profiling/valgrind.supp

Change-Id: I2290012498712f3d1e059ddb41f95abc13cbb43f

110 files changed:
1  2 
git_hooks/pre-commit
scilab/.gitignore
scilab/Makefile.in
scilab/aclocal.m4
scilab/build.incl.xml
scilab/build.qa.incl.xml
scilab/configure
scilab/configure.ac
scilab/contrib/Makefile.in
scilab/desktop/Makefile.in
scilab/desktop/images/icons/Makefile.in
scilab/etc/classpath.xml.vc
scilab/modules/Makefile.in
scilab/modules/action_binding/Makefile.in
scilab/modules/api_scilab/Makefile.in
scilab/modules/arnoldi/Makefile.in
scilab/modules/ast/Makefile.in
scilab/modules/atoms/Makefile.in
scilab/modules/boolean/Makefile.in
scilab/modules/cacsd/Makefile.in
scilab/modules/call_scilab/Makefile.in
scilab/modules/commons/Makefile.in
scilab/modules/compatibility_functions/Makefile.in
scilab/modules/completion/Makefile.in
scilab/modules/console/Makefile.in
scilab/modules/core/Makefile.in
scilab/modules/coverage/Makefile.in
scilab/modules/data_structures/Makefile.in
scilab/modules/demo_tools/Makefile.in
scilab/modules/development_tools/Makefile.in
scilab/modules/development_tools/src/fake/Makefile.in
scilab/modules/differential_equations/Makefile.in
scilab/modules/dynamic_link/Makefile.in
scilab/modules/elementary_functions/Makefile.in
scilab/modules/external_objects/Makefile.in
scilab/modules/external_objects_java/Makefile.in
scilab/modules/fftw/Makefile.in
scilab/modules/fileio/Makefile.in
scilab/modules/functions/Makefile.in
scilab/modules/functions_manager/Makefile.in
scilab/modules/genetic_algorithms/Makefile.in
scilab/modules/graph/Makefile.in
scilab/modules/graphic_export/Makefile.in
scilab/modules/graphic_objects/Makefile.in
scilab/modules/graphics/Makefile.in
scilab/modules/gui/Makefile.in
scilab/modules/hdf5/Makefile.in
scilab/modules/helptools/Makefile.in
scilab/modules/history_browser/Makefile.in
scilab/modules/history_manager/Makefile.in
scilab/modules/integer/Makefile.in
scilab/modules/interpolation/Makefile.in
scilab/modules/io/Makefile.in
scilab/modules/javasci/Makefile.in
scilab/modules/jvm/Makefile.in
scilab/modules/linear_algebra/Makefile.in
scilab/modules/localization/Makefile.in
scilab/modules/m2sci/Makefile.in
scilab/modules/matio/Makefile.in
scilab/modules/mexlib/Makefile.in
scilab/modules/modules_manager/Makefile.in
scilab/modules/mpi/Makefile.in
scilab/modules/optimization/Makefile.in
scilab/modules/output_stream/Makefile.in
scilab/modules/overloading/Makefile.in
scilab/modules/parallel/Makefile.in
scilab/modules/parameters/Makefile.in
scilab/modules/polynomials/Makefile.in
scilab/modules/prebuildjava/Makefile.in
scilab/modules/preferences/Makefile.in
scilab/modules/randlib/Makefile.in
scilab/modules/renderer/Makefile.in
scilab/modules/scicos/Makefile.in
scilab/modules/scicos_blocks/Makefile.in
scilab/modules/scinotes/Makefile.in
scilab/modules/signal_processing/Makefile.in
scilab/modules/simulated_annealing/Makefile.in
scilab/modules/slint/Makefile.in
scilab/modules/sound/Makefile.in
scilab/modules/sparse/Makefile.in
scilab/modules/special_functions/Makefile.in
scilab/modules/spreadsheet/Makefile.in
scilab/modules/statistics/Makefile.in
scilab/modules/string/Makefile.in
scilab/modules/tclsci/Makefile.in
scilab/modules/threads/Makefile.in
scilab/modules/time/Makefile.in
scilab/modules/types/Makefile.in
scilab/modules/ui_data/Makefile.in
scilab/modules/umfpack/Makefile.in
scilab/modules/windows_tools/Makefile.in
scilab/modules/xcos/Makefile.in
scilab/modules/xcos/src/java/org/scilab/modules/xcos/graph/PaletteDiagram.java
scilab/modules/xcos/src/java/org/scilab/modules/xcos/graph/XcosDiagram.java
scilab/modules/xcos/src/java/org/scilab/modules/xcos/palette/Palette.java
scilab/modules/xcos/src/java/org/scilab/modules/xcos/palette/PaletteBlockCtrl.java
scilab/modules/xcos/src/java/org/scilab/modules/xcos/palette/PaletteCtrl.java
scilab/modules/xcos/src/java/org/scilab/modules/xcos/palette/listener/PaletteBlockMouseListener.java
scilab/modules/xcos/src/java/org/scilab/modules/xcos/palette/listener/PaletteManagerTreeSelectionListener.java
scilab/modules/xcos/src/java/org/scilab/modules/xcos/palette/model/PaletteBlock.java
scilab/modules/xcos/src/java/org/scilab/modules/xcos/palette/model/PaletteNode.java
scilab/modules/xcos/src/java/org/scilab/modules/xcos/palette/view/PaletteBlockView.java
scilab/modules/xcos/src/java/org/scilab/modules/xcos/palette/view/PaletteConfiguratorListView.java
scilab/modules/xcos/src/java/org/scilab/modules/xcos/palette/view/PaletteManagerPanel.java
scilab/modules/xcos/src/java/org/scilab/modules/xcos/palette/view/PaletteView.java
scilab/modules/xcos/src/java/org/scilab/modules/xcos/utils/XcosConstants.java
scilab/modules/xcos/src/java/org/scilab/modules/xcos/utils/XcosMessages.java
scilab/modules/xml/Makefile.in
scilab/scilab-lib.properties.in
scilab/scilab-lib.properties.vc

Simple merge
Simple merge
@@@ -131,33 -144,6 +134,32 @@@ bin_PROGRAMS = scilab-bin$(EXEEXT) scil
  #  The user wants to compile the localization files
  @GENERATE_LOCALIZATION_FILES_TRUE@am__append_13 = localization
  @COMPILATION_TESTS_TRUE@am__append_14 = check-java
 +DIST_COMMON = $(top_srcdir)/Makefile.call_scilab.am \
 +      $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
 +      $(top_srcdir)/configure $(am__configure_deps) \
 +      $(top_srcdir)/modules/core/includes/machine.h.in \
 +      $(top_srcdir)/config/mkinstalldirs $(srcdir)/scilab.pc.in \
 +      $(top_srcdir)/etc/modules.xml.in \
 +      $(top_srcdir)/etc/classpath.xml.in \
 +      $(top_srcdir)/etc/Info.plist.in \
 +      $(top_srcdir)/etc/logging.properties.in \
 +      $(srcdir)/scilab.properties.in \
 +      $(srcdir)/scilab-lib.properties.in \
 +      $(srcdir)/scilab-lib-doc.properties.in \
 +      $(top_srcdir)/modules/helptools/etc/SciDocConf.xml.in \
 +      $(top_srcdir)/modules/core/includes/version.h.in \
-       $(top_srcdir)/modules/core/includes/stack.h.in \
 +      $(top_srcdir)/modules/atoms/etc/repositories.in \
 +      $(top_srcdir)/modules/atoms/tests/unit_tests/repositories.orig.in \
 +      $(top_srcdir)/config/depcomp COPYING config/ar-lib \
 +      config/compile config/config.guess config/config.rpath \
 +      config/config.sub config/depcomp config/install-sh \
 +      config/missing config/mkinstalldirs config/ltmain.sh \
 +      $(top_srcdir)/config/ar-lib $(top_srcdir)/config/compile \
 +      $(top_srcdir)/config/config.guess \
 +      $(top_srcdir)/config/config.rpath \
 +      $(top_srcdir)/config/config.sub \
 +      $(top_srcdir)/config/install-sh $(top_srcdir)/config/ltmain.sh \
 +      $(top_srcdir)/config/missing
  check_PROGRAMS = call_scilab_c_simple$(EXEEXT) call_scilab_c$(EXEEXT) \
        call_scilab_c_getlastjob$(EXEEXT) \
        call_scilab_c_DisableInteractiveMode$(EXEEXT) \
Simple merge
              <compilerarg value="-Xlint:-serial" />
              <!--  Silent warning about the serializable -->
              <compilerarg value="-Xlint:-options" />
-             <!-- Silent 'bootstrap class path not set in conjunction with -source 1.6'. We don't want to manage the detection of rt.jar. See https://blogs.oracle.com/darcy/entry/bootclasspath_older_source -->
          </javac>
      </target>
 -    
 +
      <!-- Create the jar -->
      <target name="jar" description="Build the jar file" depends="compile">
          <jar destfile="${build.jar.dir}/${library.name}" basedir="${classes.dir}">
Simple merge
@@@ -3338,6 -3352,9 +3355,9 @@@ els
  $as_echo "no, using $LN_S" >&6; }
  fi
  
 -# Expand $ac_aux_dir to an absolute path.
 -am_aux_dir=`cd "$ac_aux_dir" && pwd`
++# expand $ac_aux_dir to an absolute path
++am_aux_dir=`cd $ac_aux_dir && pwd`
  ac_ext=c
  ac_cpp='$CPP $CPPFLAGS'
  ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
  $as_echo "$as_me: WARNING: 'missing' script is too old or missing" >&2;}
  fi
  
 -if test x"${install_sh+set}" != xset; then
++if test x"${install_sh}" != xset; then
+   case $am_aux_dir in
+   *\ * | *\   *)
+     install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
+   *)
+     install_sh="\${SHELL} $am_aux_dir/install-sh"
+   esac
+ fi
+ # Installed binaries are usually stripped using 'strip' when the user
+ # run "make install-strip".  However 'strip' might not be the right
+ # tool to use in cross-compilation environments, therefore Automake
+ # will honor the 'STRIP' environment variable to overrule this program.
+ if test "$cross_compiling" != no; then
+   if test -n "$ac_tool_prefix"; then
+   # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
+ set dummy ${ac_tool_prefix}strip; ac_word=$2
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+ $as_echo_n "checking for $ac_word... " >&6; }
+ if ${ac_cv_prog_STRIP+:} false; then :
+   $as_echo_n "(cached) " >&6
+ else
+   if test -n "$STRIP"; then
+   ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
+ else
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+ for as_dir in $PATH
+ do
+   IFS=$as_save_IFS
+   test -z "$as_dir" && as_dir=.
+     for ac_exec_ext in '' $ac_executable_extensions; do
+   if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+     ac_cv_prog_STRIP="${ac_tool_prefix}strip"
+     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+     break 2
+   fi
+ done
+   done
+ IFS=$as_save_IFS
+ fi
+ fi
+ STRIP=$ac_cv_prog_STRIP
+ if test -n "$STRIP"; then
+   { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5
+ $as_echo "$STRIP" >&6; }
+ else
+   { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+ $as_echo "no" >&6; }
+ fi
+ fi
+ if test -z "$ac_cv_prog_STRIP"; then
+   ac_ct_STRIP=$STRIP
+   # Extract the first word of "strip", so it can be a program name with args.
+ set dummy strip; ac_word=$2
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+ $as_echo_n "checking for $ac_word... " >&6; }
+ if ${ac_cv_prog_ac_ct_STRIP+:} false; then :
+   $as_echo_n "(cached) " >&6
+ else
+   if test -n "$ac_ct_STRIP"; then
+   ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
+ else
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+ for as_dir in $PATH
+ do
+   IFS=$as_save_IFS
+   test -z "$as_dir" && as_dir=.
+     for ac_exec_ext in '' $ac_executable_extensions; do
+   if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+     ac_cv_prog_ac_ct_STRIP="strip"
+     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+     break 2
+   fi
+ done
+   done
+ IFS=$as_save_IFS
+ fi
+ fi
+ ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
+ if test -n "$ac_ct_STRIP"; then
+   { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5
+ $as_echo "$ac_ct_STRIP" >&6; }
+ else
+   { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+ $as_echo "no" >&6; }
+ fi
+   if test "x$ac_ct_STRIP" = x; then
+     STRIP=":"
+   else
+     case $cross_compiling:$ac_tool_warned in
+ yes:)
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+ $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ ac_tool_warned=yes ;;
+ esac
+     STRIP=$ac_ct_STRIP
+   fi
+ else
+   STRIP="$ac_cv_prog_STRIP"
+ fi
+ fi
+ INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a thread-safe mkdir -p" >&5
  $as_echo_n "checking for a thread-safe mkdir -p... " >&6; }
  if test -z "$MKDIR_P"; then
@@@ -11179,7 -11678,7 +11680,7 @@@ $as_echo "$ac_java_classpath" >&6; 
  $as_echo_n "checking to see if the java compiler works... " >&6; }
  
      cat << \EOF > conftest.java
- // #line 11182 "configure"
 -// #line 11681 "configure"
++// #line 11683 "configure"
  import java.util.regex.Pattern;
  
  
@@@ -11266,7 -11765,7 +11767,7 @@@ $as_echo_n "checking type of jvm... " >
      if test "x$ac_java_jvm_name" = "x" ; then
  
      cat << \EOF > conftest.java
- // #line 11269 "configure"
 -// #line 11768 "configure"
++// #line 11770 "configure"
  import java.util.regex.Pattern;
  
  import gnu.java.io.EncodingManager;
@@@ -11350,7 -11849,7 +11851,7 @@@ $as_echo_n "checking java API version..
      # The class java.nio.charset.Charset is new to 1.4
  
      cat << \EOF > conftest.java
- // #line 11353 "configure"
 -// #line 11852 "configure"
++// #line 11854 "configure"
  import java.util.regex.Pattern;
  
  import java.nio.charset.Charset;
      # The class java.lang.StringBuilder is new to 1.5
  
      cat << \EOF > conftest.java
- // #line 11418 "configure"
 -// #line 11917 "configure"
++// #line 11919 "configure"
  import java.util.regex.Pattern;
  
  import java.lang.StringBuilder;
      # The class java.util.ArrayDeque is new to 1.6
  
      cat << \EOF > conftest.java
- // #line 11483 "configure"
 -// #line 11982 "configure"
++// #line 11984 "configure"
  import java.util.regex.Pattern;
  
  import java.util.ArrayDeque;
      # The class java.nio.file.Path is new to 1.7
  
      cat << \EOF > conftest.java
- // #line 11548 "configure"
 -// #line 12047 "configure"
++// #line 12049 "configure"
  import java.util.regex.Pattern;
  
  import java.nio.file.Path;
      # The class java.util.stream.DoubleStream is new to 1.8
  
      cat << \EOF > conftest.java
- // #line 11613 "configure"
 -// #line 12112 "configure"
++// #line 12114 "configure"
  import java.util.regex.Pattern;
  
  import java.util.stream.DoubleStream;
                  if test "$with_xcos" != no; then
                     # jgraphx
  
-     { $as_echo "$as_me:${as_lineno-$LINENO}: checking jgraphx" >&5
- $as_echo_n "checking jgraphx... " >&6; }
-     PACKAGE_JAR_FILE=
-     found_jar=no
-     saved_ac_java_classpath=$ac_java_classpath
-     DEFAULT_JAR_DIR="/usr/share/java /usr/lib/java /usr/share/java /usr/share/java/jar /opt/java/lib /usr/local/java /usr/local/java/jar /usr/local/share/java /usr/local/share/java/jar /usr/local/lib/java $(find /usr/share/java/ -maxdepth 1 -type d 2>/dev/null) $(find /usr/lib64/ -maxdepth 1 -type d 2>/dev/null) $(find  /usr/lib/ -maxdepth 1 -type d 2>/dev/null)  $(find /usr/share/*/lib -maxdepth 1 -type d 2>/dev/null)"
-     for jardir in "`pwd`/thirdparty" "`pwd`/jar" $DEFAULT_JAR_DIR; do
-       for jar in "$jardir/jgraphx.jar" "$jardir/libjgraphx.jar" "$jardir/libjgraphx-java.jar" "$jardir/jgraphx*.jar"; do
- # TODO check the behaviour when spaces
-         jars_resolved=`ls $jar 2>/dev/null`
-         for jar_resolved in $jars_resolved; do # If several jars matches
-           if test -e "$jar_resolved"; then
-             export ac_java_classpath="$jar_resolved:$ac_java_classpath"
-     cat << \EOF > conftest.java
- // #line 13091 "configure"
+     cat << \EOF > conftestSharedChecker.java
 -// #line 13575 "configure"
++// #line 13577 "configure"
  import java.util.regex.Pattern;
+ import java.io.File;
+ import java.io.IOException;
+ import java.lang.reflect.Field;
+ import java.lang.reflect.InvocationTargetException;
+ import java.lang.reflect.Method;
+ import java.net.URL;
+ import java.net.URLClassLoader;
+ import java.util.ArrayList;
+ public class conftestSharedChecker {
+     /**
+      * Required arguments :
+      *  argv[0]: name of the jar package
+      *  argv[1]: name of the class (with the package prefix)
+      *  argv[2]: possible paths of the jar package (separated by ':')
+      *
+      * Optional arguments:
+      *  argv[3]: field or method used to retrieve the version
+      *  argv[4]: expected version
+      *  argv[5]: String comparator :
+      *      "="  for exact version
+      */
+     public static void main(String[] argv) {
+         final String packageName = argv[0];
+         final String className = argv[1];
+         final String[] jarList = argv[2].split(":");
+         ArrayList<URL> found = new ArrayList<>();
+         for(String jar : jarList)
+         {
+             try {
+                 File f = new File(jar);
+                 if (f.exists()) {
+                     found.add(f.toURI().toURL());
+                 }
+             } catch (IOException ex) {
+                 System.err.println(ex.toString());
+             }
+         }
+         URLClassLoader localClassLoader = new URLClassLoader(found.toArray(new URL[found.size()]));
+         URL klassURL = null;
+         Class<?> klass = null;
+         try {
+             String resourceName = className.replace(".", "/") + ".class";
+             klassURL = localClassLoader.getResource(resourceName);
+             klass = localClassLoader.loadClass(className);
+         } catch (ClassNotFoundException ex) {
+             System.err.println(className + " not found");
+             System.exit(-1);
+         }
  
- import com.mxgraph.model.mxCell;
+         String pathURL = klassURL.getPath().substring(0, klassURL.getPath().indexOf('!'));
+         String path = pathURL.substring(pathURL.indexOf(':') + 1);
+         System.err.println("found: " + path);
  
- public class conftest {
-     public static void main(String[] argv) {
+         if (argv.length > 3) {
+             checkVersion(klass, argv);
+         }
+         System.out.println(path);
+     }
+     private static void checkVersion(Class<?> klass, String[] argv) throws SecurityException, IllegalArgumentException {
+         final String versionMethod = argv[3];
+         final String expected = argv[4];
+         final String atLeastOrEqual;
+         if (argv.length > 5)
+             atLeastOrEqual = argv[5];
+         else
+             atLeastOrEqual = "<=";
+         try {
+             try {
+                 Field field = klass.getField(versionMethod);
+                 Object value = field.get(null);
+                 compareAndDisplay(atLeastOrEqual, expected, value);
+             } catch (NoSuchFieldException fe) {
+                 Method method = null;
+                 try {
+                     method = klass.getMethod(versionMethod);
+                 } catch (NoSuchMethodException ex) {
+                     System.err.println(ex.toString());
+                     System.exit(-3);
+                 }
+                 try {
+                     Object value = method.invoke(null);
+                     compareAndDisplay(atLeastOrEqual, expected, value);
+                 } catch (NullPointerException ex) {
+                     Object value = method.invoke(klass.newInstance());
+                     compareAndDisplay(atLeastOrEqual, expected, value);
+                 }
+             }
+         } catch (IllegalAccessException ex) {
+             System.err.println(ex);
+             System.exit(-2);
+         } catch (InvocationTargetException ex) {
+             System.err.println(ex);
+             System.exit(-2);
+         } catch (InstantiationException ex) {
+             System.err.println(ex);
+             System.exit(-2);
+         }
+     }
  
+     private static void compareAndDisplay(String atLeastOrEqual, String expected, Object value) {
+         int cmp = compare(expected, value.toString());
+         switch(atLeastOrEqual) {
+             case ">":
+                 if (cmp > 0) {
+                     return;
+                 } else {
+                     System.err.println("expected "+atLeastOrEqual+""+expected+" but got "+value);
+                     System.exit(-4);
+                 }
+             case "==":
+                 if (cmp == 0) {
+                     return;
+                 } else {
+                     System.err.println("expected "+atLeastOrEqual+""+expected+" but got "+value);
+                     System.exit(-4);
+                 }
+             case "<=":
+                 if (cmp <= 0) {
+                     return;
+                 } else {
+                     System.err.println("expected "+atLeastOrEqual+""+expected+" but got "+value);
+                     System.exit(-4);
+                 }
+             default:
+                 System.err.println("unable to compare with "+atLeastOrEqual);
+                 System.exit(-4);
+         }
      }
  
      private static int compare(String v1, String v2) {
  
      CLASSPATH=$ac_java_classpath
      export CLASSPATH
-     cmd="$JAVAC ${JAVAC_FLAGS} conftest.java"
-     if (echo $cmd >&5 ; eval $cmd >conftest.java.output 2>&5) ; then
-        if test ""no"" = "no"; then
-            echo "yes" >&5
-               { $as_echo "$as_me:${as_lineno-$LINENO}: result: $jar_resolved" >&5
- $as_echo "$jar_resolved" >&6; }
-               found_jar=yes
-               PACKAGE_JAR_FILE=$jar_resolved
-               break 3
-        else
-               cmd="$JAVA conftest"
-               if (echo $cmd >&5 ; eval $cmd >conftest.java.output 2>&5); then
-                echo "yes" >&5
-               { $as_echo "$as_me:${as_lineno-$LINENO}: result: $jar_resolved" >&5
- $as_echo "$jar_resolved" >&6; }
-               found_jar=yes
-               PACKAGE_JAR_FILE=$jar_resolved
-               break 3
-             else
-                 echo "configure: failed program was:" >&5
-                 cat conftest.java >&5
-                 if test -s conftest.java.output; then
-                    STDOUT=`cat conftest.java.output`
-                 fi
-                 echo "configure: CLASSPATH was $CLASSPATH" >&5
-             ac_java_classpath=$saved_ac_java_classpath
-                             fi
-         fi
-         if test -f conftest.java.output; then
-            rm conftest.java.output
-         fi
+     cmd="$JAVAC ${JAVAC_FLAGS} conftestSharedChecker.java"
+     if (echo $cmd >&5 ; eval $cmd >conftestSharedChecker.java.output 2>&5) ; then
+         echo "configure: conftestSharedChecker.class available" >&5
      else
          echo "configure: failed program was:" >&5
-         cat conftest.java >&5
+         cat conftestSharedChecker.java >&5
          echo "configure: CLASSPATH was $CLASSPATH" >&5
-             ac_java_classpath=$saved_ac_java_classpath
+     fi
  
  
-             fi
  
-           fi
-         done
-       done
-     done
-     if test "$found_jar" = "no"; then
-       { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
- $as_echo "no" >&6; }
-       if test "" = "yes"; then
-          { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Could not find or use the Java package/jar jgraphx used by Diagram design (looking for package com.mxgraph.model.mxCell)" >&5
- $as_echo "$as_me: WARNING: Could not find or use the Java package/jar jgraphx used by Diagram design (looking for package com.mxgraph.model.mxCell)" >&2;}
-       else
-           as_fn_error $? "Could not find or use the Java package/jar jgraphx used by Diagram design (looking for package com.mxgraph.model.mxCell)" "$LINENO" 5
-       fi
-     fi
  
-                    JGRAPHX=$PACKAGE_JAR_FILE
+     { $as_echo "$as_me:${as_lineno-$LINENO}: checking jgraphx" >&5
+ $as_echo_n "checking jgraphx... " >&6; }
+     PACKAGE_JAR_FILE=
  
+     DEFAULT_JAR_DIR="$(pwd)/thirdparty/ $(pwd)/jar/ /usr/local/java/ /usr/local/java/jar /usr/local/share/java/ /usr/local/share/java/jar/ /usr/local/lib/java/ $(find /usr/share/java/ -maxdepth 1 -type d 2>/dev/null | sort) $(find /usr/lib64/ -maxdepth 1 -type d 2>/dev/null) $(find  /usr/lib/ -maxdepth 1 -type d 2>/dev/null) $(find /usr/share/*/lib -maxdepth 1 -type d 2>/dev/null) /opt/java/lib/"
  
+     jar_resolved="$(find $DEFAULT_JAR_DIR -maxdepth 1 \( -type f -name 'jgraphx.jar' -or -name 'libjgraphx.jar' -or -name 'libjgraphx-java.jar' -or -name 'jgraphx*.jar' \) 2>/dev/null |tr '\n' ':')."
  
-     { $as_echo "$as_me:${as_lineno-$LINENO}: checking minimal version (2.0.0.1) of jgraphx" >&5
- $as_echo_n "checking minimal version (2.0.0.1) of jgraphx... " >&6; }
-    saved_ac_java_classpath=$ac_java_classpath
-    export ac_java_classpath="$JGRAPHX:$ac_java_classpath"
-    if test "x" == "x"; then
+     if test ! -f conftestSharedChecker.class ; then
  
-     cat << \EOF > conftest.java
- // #line 13198 "configure"
+     cat << \EOF > conftestSharedChecker.java
 -// #line 13764 "configure"
++// #line 13766 "configure"
  import java.util.regex.Pattern;
+ import java.io.File;
+ import java.io.IOException;
+ import java.lang.reflect.Field;
+ import java.lang.reflect.InvocationTargetException;
+ import java.lang.reflect.Method;
+ import java.net.URL;
+ import java.net.URLClassLoader;
+ import java.util.ArrayList;
+ public class conftestSharedChecker {
+     /**
+      * Required arguments :
+      *  argv[0]: name of the jar package
+      *  argv[1]: name of the class (with the package prefix)
+      *  argv[2]: possible paths of the jar package (separated by ':')
+      *
+      * Optional arguments:
+      *  argv[3]: field or method used to retrieve the version
+      *  argv[4]: expected version
+      *  argv[5]: String comparator :
+      *      "="  for exact version
+      */
+     public static void main(String[] argv) {
+         final String packageName = argv[0];
+         final String className = argv[1];
+         final String[] jarList = argv[2].split(":");
  
- import com.mxgraph.view.mxGraph;
+         ArrayList<URL> found = new ArrayList<>();
+         for(String jar : jarList)
+         {
+             try {
+                 File f = new File(jar);
+                 if (f.exists()) {
+                     found.add(f.toURI().toURL());
+                 }
+             } catch (IOException ex) {
+                 System.err.println(ex.toString());
+             }
+         }
  
- public class conftest {
-     public static void main(String[] argv) {
-         String minVersion="2.0.0.1";
+         URLClassLoader localClassLoader = new URLClassLoader(found.toArray(new URL[found.size()]));
+         URL klassURL = null;
+         Class<?> klass = null;
+         try {
+             String resourceName = className.replace(".", "/") + ".class";
+             klassURL = localClassLoader.getResource(resourceName);
+             klass = localClassLoader.loadClass(className);
+         } catch (ClassNotFoundException ex) {
+             System.err.println(className + " not found");
+             System.exit(-1);
+         }
  
-                             System.out.println(mxGraph.VERSION);
-                                   if (compare(minVersion, mxGraph.VERSION) > 0) {
-                                    System.exit(-1);
-                                 }
+         String pathURL = klassURL.getPath().substring(0, klassURL.getPath().indexOf('!'));
+         String path = pathURL.substring(pathURL.indexOf(':') + 1);
+         System.err.println("found: " + path);
  
-     }
+         if (argv.length > 3) {
+             checkVersion(klass, argv);
+         }
  
-     private static int compare(String v1, String v2) {
-         String s1 = normalisedVersion(v1);
-         String s2 = normalisedVersion(v2);
-         return s1.compareTo(s2);
+         System.out.println(path);
      }
  
-     private static String normalisedVersion(String version) {
-         return normalisedVersion(version, ".", 4);
-     }
+     private static void checkVersion(Class<?> klass, String[] argv) throws SecurityException, IllegalArgumentException {
+         final String versionMethod = argv[3];
+         final String expected = argv[4];
+         final String atLeastOrEqual;
+         if (argv.length > 5)
+             atLeastOrEqual = argv[5];
+         else
+             atLeastOrEqual = "<=";
  
-     private static String normalisedVersion(String version, String sep, int maxWidth) {
-         String[] split = Pattern.compile(sep, Pattern.LITERAL).split(version);
-         StringBuilder sb = new StringBuilder();
-         for (String s : split) {
-             sb.append(String.format("%" + maxWidth + 's', s));
+         try {
+             try {
+                 Field field = klass.getField(versionMethod);
+                 Object value = field.get(null);
+                 compareAndDisplay(atLeastOrEqual, expected, value);
+             } catch (NoSuchFieldException fe) {
+                 Method method = null;
+                 try {
+                     method = klass.getMethod(versionMethod);
+                 } catch (NoSuchMethodException ex) {
+                     System.err.println(ex.toString());
+                     System.exit(-3);
+                 }
+                 try {
+                     Object value = method.invoke(null);
+                     compareAndDisplay(atLeastOrEqual, expected, value);
+                 } catch (NullPointerException ex) {
+                     Object value = method.invoke(klass.newInstance());
+                     compareAndDisplay(atLeastOrEqual, expected, value);
+                 }
+             }
+         } catch (IllegalAccessException ex) {
+             System.err.println(ex);
+             System.exit(-2);
+         } catch (InvocationTargetException ex) {
+             System.err.println(ex);
+             System.exit(-2);
+         } catch (InstantiationException ex) {
+             System.err.println(ex);
+             System.exit(-2);
          }
-         return sb.toString();
      }
- }
- EOF
-     CLASSPATH=$ac_java_classpath
-     export CLASSPATH
-     cmd="$JAVAC ${JAVAC_FLAGS} conftest.java"
-     if (echo $cmd >&5 ; eval $cmd >conftest.java.output 2>&5) ; then
-        if test ""yes"" = "no"; then
-            echo "yes" >&5
-               echo "yes"
-        else
-               cmd="$JAVA conftest"
-               if (echo $cmd >&5 ; eval $cmd >conftest.java.output 2>&5); then
-                echo "yes" >&5
-                   echo "yes"
-             else
-                 echo "configure: failed program was:" >&5
-                 cat conftest.java >&5
-                 if test -s conftest.java.output; then
-                    STDOUT=`cat conftest.java.output`
-                 fi
-                 echo "configure: CLASSPATH was $CLASSPATH" >&5
-                   as_fn_error $? "Wrong version of jgraphx. Expected at least 2.0.0.1. Found $STDOUT" "$LINENO" 5
-                             fi
-         fi
-         if test -f conftest.java.output; then
-            rm conftest.java.output
-         fi
-     else
-         echo "configure: failed program was:" >&5
-         cat conftest.java >&5
-         echo "configure: CLASSPATH was $CLASSPATH" >&5
-           as_fn_error $? "Wrong version of jgraphx. Expected at least 2.0.0.1. Found $STDOUT" "$LINENO" 5
-             fi
-    else
-     cat << \EOF > conftest.java
- // #line 13270 "configure"
- import java.util.regex.Pattern;
- import com.mxgraph.view.mxGraph;
- public class conftest {
-     public static void main(String[] argv) {
-         String minVersion="2.0.0.1";
-                             System.out.println(mxGraph.VERSION);
-                                   if (compare(minVersion, mxGraph.VERSION) != 0) {
-                                    System.exit(-1);
-                                 }
  
+     private static void compareAndDisplay(String atLeastOrEqual, String expected, Object value) {
+         int cmp = compare(expected, value.toString());
+         switch(atLeastOrEqual) {
+             case ">":
+                 if (cmp > 0) {
+                     return;
+                 } else {
+                     System.err.println("expected "+atLeastOrEqual+""+expected+" but got "+value);
+                     System.exit(-4);
+                 }
+             case "==":
+                 if (cmp == 0) {
+                     return;
+                 } else {
+                     System.err.println("expected "+atLeastOrEqual+""+expected+" but got "+value);
+                     System.exit(-4);
+                 }
+             case "<=":
+                 if (cmp <= 0) {
+                     return;
+                 } else {
+                     System.err.println("expected "+atLeastOrEqual+""+expected+" but got "+value);
+                     System.exit(-4);
+                 }
+             default:
+                 System.err.println("unable to compare with "+atLeastOrEqual);
+                 System.exit(-4);
+         }
      }
  
      private static int compare(String v1, String v2) {
@@@ -13348,27 -13974,152 +13976,152 @@@ $as_echo "$as_me: WARNING: Could not fi
      { $as_echo "$as_me:${as_lineno-$LINENO}: checking scirenderer" >&5
  $as_echo_n "checking scirenderer... " >&6; }
      PACKAGE_JAR_FILE=
-     found_jar=no
-     saved_ac_java_classpath=$ac_java_classpath
-     DEFAULT_JAR_DIR="/usr/share/java /usr/lib/java /usr/share/java /usr/share/java/jar /opt/java/lib /usr/local/java /usr/local/java/jar /usr/local/share/java /usr/local/share/java/jar /usr/local/lib/java $(find /usr/share/java/ -maxdepth 1 -type d 2>/dev/null) $(find /usr/lib64/ -maxdepth 1 -type d 2>/dev/null) $(find  /usr/lib/ -maxdepth 1 -type d 2>/dev/null)  $(find /usr/share/*/lib -maxdepth 1 -type d 2>/dev/null)"
-     for jardir in "`pwd`/thirdparty" "`pwd`/jar" $DEFAULT_JAR_DIR; do
-       for jar in "$jardir/scirenderer.jar" "$jardir/libscirenderer.jar" "$jardir/libscirenderer-java.jar" "$jardir/scirenderer*.jar"; do
- # TODO check the behaviour when spaces
-         jars_resolved=`ls $jar 2>/dev/null`
-         for jar_resolved in $jars_resolved; do # If several jars matches
-           if test -e "$jar_resolved"; then
-             export ac_java_classpath="$jar_resolved:$ac_java_classpath"
  
-     cat << \EOF > conftest.java
- // #line 13364 "configure"
- import java.util.regex.Pattern;
+     DEFAULT_JAR_DIR="$(pwd)/thirdparty/ $(pwd)/jar/ /usr/local/java/ /usr/local/java/jar /usr/local/share/java/ /usr/local/share/java/jar/ /usr/local/lib/java/ $(find /usr/share/java/ -maxdepth 1 -type d 2>/dev/null | sort) $(find /usr/lib64/ -maxdepth 1 -type d 2>/dev/null) $(find  /usr/lib/ -maxdepth 1 -type d 2>/dev/null) $(find /usr/share/*/lib -maxdepth 1 -type d 2>/dev/null) /opt/java/lib/"
  
- import org.scilab.forge.scirenderer.PackageInfo;
+     jar_resolved="$(find $DEFAULT_JAR_DIR -maxdepth 1 \( -type f -name 'scirenderer.jar' -or -name 'libscirenderer.jar' -or -name 'libscirenderer-java.jar' -or -name 'scirenderer*.jar' \) 2>/dev/null |tr '\n' ':')."
  
- public class conftest {
+     if test ! -f conftestSharedChecker.class ; then
+     cat << \EOF > conftestSharedChecker.java
 -// #line 13985 "configure"
++// #line 13987 "configure"
+ import java.util.regex.Pattern;
+ import java.io.File;
+ import java.io.IOException;
+ import java.lang.reflect.Field;
+ import java.lang.reflect.InvocationTargetException;
+ import java.lang.reflect.Method;
+ import java.net.URL;
+ import java.net.URLClassLoader;
+ import java.util.ArrayList;
+ public class conftestSharedChecker {
+     /**
+      * Required arguments :
+      *  argv[0]: name of the jar package
+      *  argv[1]: name of the class (with the package prefix)
+      *  argv[2]: possible paths of the jar package (separated by ':')
+      *
+      * Optional arguments:
+      *  argv[3]: field or method used to retrieve the version
+      *  argv[4]: expected version
+      *  argv[5]: String comparator :
+      *      "="  for exact version
+      */
      public static void main(String[] argv) {
+         final String packageName = argv[0];
+         final String className = argv[1];
+         final String[] jarList = argv[2].split(":");
+         ArrayList<URL> found = new ArrayList<>();
+         for(String jar : jarList)
+         {
+             try {
+                 File f = new File(jar);
+                 if (f.exists()) {
+                     found.add(f.toURI().toURL());
+                 }
+             } catch (IOException ex) {
+                 System.err.println(ex.toString());
+             }
+         }
+         URLClassLoader localClassLoader = new URLClassLoader(found.toArray(new URL[found.size()]));
+         URL klassURL = null;
+         Class<?> klass = null;
+         try {
+             String resourceName = className.replace(".", "/") + ".class";
+             klassURL = localClassLoader.getResource(resourceName);
+             klass = localClassLoader.loadClass(className);
+         } catch (ClassNotFoundException ex) {
+             System.err.println(className + " not found");
+             System.exit(-1);
+         }
+         String pathURL = klassURL.getPath().substring(0, klassURL.getPath().indexOf('!'));
+         String path = pathURL.substring(pathURL.indexOf(':') + 1);
+         System.err.println("found: " + path);
+         if (argv.length > 3) {
+             checkVersion(klass, argv);
+         }
  
+         System.out.println(path);
+     }
+     private static void checkVersion(Class<?> klass, String[] argv) throws SecurityException, IllegalArgumentException {
+         final String versionMethod = argv[3];
+         final String expected = argv[4];
+         final String atLeastOrEqual;
+         if (argv.length > 5)
+             atLeastOrEqual = argv[5];
+         else
+             atLeastOrEqual = "<=";
+         try {
+             try {
+                 Field field = klass.getField(versionMethod);
+                 Object value = field.get(null);
+                 compareAndDisplay(atLeastOrEqual, expected, value);
+             } catch (NoSuchFieldException fe) {
+                 Method method = null;
+                 try {
+                     method = klass.getMethod(versionMethod);
+                 } catch (NoSuchMethodException ex) {
+                     System.err.println(ex.toString());
+                     System.exit(-3);
+                 }
+                 try {
+                     Object value = method.invoke(null);
+                     compareAndDisplay(atLeastOrEqual, expected, value);
+                 } catch (NullPointerException ex) {
+                     Object value = method.invoke(klass.newInstance());
+                     compareAndDisplay(atLeastOrEqual, expected, value);
+                 }
+             }
+         } catch (IllegalAccessException ex) {
+             System.err.println(ex);
+             System.exit(-2);
+         } catch (InvocationTargetException ex) {
+             System.err.println(ex);
+             System.exit(-2);
+         } catch (InstantiationException ex) {
+             System.err.println(ex);
+             System.exit(-2);
+         }
+     }
+     private static void compareAndDisplay(String atLeastOrEqual, String expected, Object value) {
+         int cmp = compare(expected, value.toString());
+         switch(atLeastOrEqual) {
+             case ">":
+                 if (cmp > 0) {
+                     return;
+                 } else {
+                     System.err.println("expected "+atLeastOrEqual+""+expected+" but got "+value);
+                     System.exit(-4);
+                 }
+             case "==":
+                 if (cmp == 0) {
+                     return;
+                 } else {
+                     System.err.println("expected "+atLeastOrEqual+""+expected+" but got "+value);
+                     System.exit(-4);
+                 }
+             case "<=":
+                 if (cmp <= 0) {
+                     return;
+                 } else {
+                     System.err.println("expected "+atLeastOrEqual+""+expected+" but got "+value);
+                     System.exit(-4);
+                 }
+             default:
+                 System.err.println("unable to compare with "+atLeastOrEqual);
+                 System.exit(-4);
+         }
      }
  
      private static int compare(String v1, String v2) {
@@@ -13459,29 -14185,168 +14187,168 @@@ $as_echo "$as_me: WARNING: Could not fi
  
                     SCIRENDERER=$PACKAGE_JAR_FILE
                     SCIRENDERER_CP=$PACKAGE_JAR_FILE
+                  else
+                    echo "Use external version of scirenderer"
+                    # Use the scirenderer in Scilab sources
+                    SCIRENDERER="\${modules.dir}/scirenderer/\${build.jar.dir}/scirenderer.jar"
+                    SCIRENDERER_CP="\$SCILAB/modules/scirenderer/jar/scirenderer.jar"
+                 fi
  
  
-     { $as_echo "$as_me:${as_lineno-$LINENO}: checking minimal version (1.1.0) of scirenderer" >&5
- $as_echo_n "checking minimal version (1.1.0) of scirenderer... " >&6; }
-    saved_ac_java_classpath=$ac_java_classpath
-    export ac_java_classpath="$SCIRENDERER:$ac_java_classpath"
-    if test "x" == "x"; then
  
-     cat << \EOF > conftest.java
- // #line 13471 "configure"
- import java.util.regex.Pattern;
+                # Docking system
  
- import org.scilab.forge.scirenderer.PackageInfo;
  
- public class conftest {
+     { $as_echo "$as_me:${as_lineno-$LINENO}: checking flexdock" >&5
+ $as_echo_n "checking flexdock... " >&6; }
+     PACKAGE_JAR_FILE=
+     DEFAULT_JAR_DIR="$(pwd)/thirdparty/ $(pwd)/jar/ /usr/local/java/ /usr/local/java/jar /usr/local/share/java/ /usr/local/share/java/jar/ /usr/local/lib/java/ $(find /usr/share/java/ -maxdepth 1 -type d 2>/dev/null | sort) $(find /usr/lib64/ -maxdepth 1 -type d 2>/dev/null) $(find  /usr/lib/ -maxdepth 1 -type d 2>/dev/null) $(find /usr/share/*/lib -maxdepth 1 -type d 2>/dev/null) /opt/java/lib/"
+     jar_resolved="$(find $DEFAULT_JAR_DIR -maxdepth 1 \( -type f -name 'flexdock.jar' -or -name 'libflexdock.jar' -or -name 'libflexdock-java.jar' -or -name 'flexdock*.jar' \) 2>/dev/null |tr '\n' ':')."
+     if test ! -f conftestSharedChecker.class ; then
+     cat << \EOF > conftestSharedChecker.java
 -// #line 14212 "configure"
++// #line 14214 "configure"
+ import java.util.regex.Pattern;
+ import java.io.File;
+ import java.io.IOException;
+ import java.lang.reflect.Field;
+ import java.lang.reflect.InvocationTargetException;
+ import java.lang.reflect.Method;
+ import java.net.URL;
+ import java.net.URLClassLoader;
+ import java.util.ArrayList;
+ public class conftestSharedChecker {
+     /**
+      * Required arguments :
+      *  argv[0]: name of the jar package
+      *  argv[1]: name of the class (with the package prefix)
+      *  argv[2]: possible paths of the jar package (separated by ':')
+      *
+      * Optional arguments:
+      *  argv[3]: field or method used to retrieve the version
+      *  argv[4]: expected version
+      *  argv[5]: String comparator :
+      *      "="  for exact version
+      */
      public static void main(String[] argv) {
-         String minVersion="1.1.0";
+         final String packageName = argv[0];
+         final String className = argv[1];
+         final String[] jarList = argv[2].split(":");
+         ArrayList<URL> found = new ArrayList<>();
+         for(String jar : jarList)
+         {
+             try {
+                 File f = new File(jar);
+                 if (f.exists()) {
+                     found.add(f.toURI().toURL());
+                 }
+             } catch (IOException ex) {
+                 System.err.println(ex.toString());
+             }
+         }
+         URLClassLoader localClassLoader = new URLClassLoader(found.toArray(new URL[found.size()]));
+         URL klassURL = null;
+         Class<?> klass = null;
+         try {
+             String resourceName = className.replace(".", "/") + ".class";
+             klassURL = localClassLoader.getResource(resourceName);
+             klass = localClassLoader.loadClass(className);
+         } catch (ClassNotFoundException ex) {
+             System.err.println(className + " not found");
+             System.exit(-1);
+         }
+         String pathURL = klassURL.getPath().substring(0, klassURL.getPath().indexOf('!'));
+         String path = pathURL.substring(pathURL.indexOf(':') + 1);
+         System.err.println("found: " + path);
  
-                             System.out.println(PackageInfo.VERSION);
-                                   if (compare(minVersion, PackageInfo.VERSION) > 0) {
-                                    System.exit(-1);
-                                 }
+         if (argv.length > 3) {
+             checkVersion(klass, argv);
+         }
+         System.out.println(path);
+     }
+     private static void checkVersion(Class<?> klass, String[] argv) throws SecurityException, IllegalArgumentException {
+         final String versionMethod = argv[3];
+         final String expected = argv[4];
+         final String atLeastOrEqual;
+         if (argv.length > 5)
+             atLeastOrEqual = argv[5];
+         else
+             atLeastOrEqual = "<=";
+         try {
+             try {
+                 Field field = klass.getField(versionMethod);
+                 Object value = field.get(null);
+                 compareAndDisplay(atLeastOrEqual, expected, value);
+             } catch (NoSuchFieldException fe) {
+                 Method method = null;
+                 try {
+                     method = klass.getMethod(versionMethod);
+                 } catch (NoSuchMethodException ex) {
+                     System.err.println(ex.toString());
+                     System.exit(-3);
+                 }
+                 try {
+                     Object value = method.invoke(null);
+                     compareAndDisplay(atLeastOrEqual, expected, value);
+                 } catch (NullPointerException ex) {
+                     Object value = method.invoke(klass.newInstance());
+                     compareAndDisplay(atLeastOrEqual, expected, value);
+                 }
+             }
+         } catch (IllegalAccessException ex) {
+             System.err.println(ex);
+             System.exit(-2);
+         } catch (InvocationTargetException ex) {
+             System.err.println(ex);
+             System.exit(-2);
+         } catch (InstantiationException ex) {
+             System.err.println(ex);
+             System.exit(-2);
+         }
+     }
  
+     private static void compareAndDisplay(String atLeastOrEqual, String expected, Object value) {
+         int cmp = compare(expected, value.toString());
+         switch(atLeastOrEqual) {
+             case ">":
+                 if (cmp > 0) {
+                     return;
+                 } else {
+                     System.err.println("expected "+atLeastOrEqual+""+expected+" but got "+value);
+                     System.exit(-4);
+                 }
+             case "==":
+                 if (cmp == 0) {
+                     return;
+                 } else {
+                     System.err.println("expected "+atLeastOrEqual+""+expected+" but got "+value);
+                     System.exit(-4);
+                 }
+             case "<=":
+                 if (cmp <= 0) {
+                     return;
+                 } else {
+                     System.err.println("expected "+atLeastOrEqual+""+expected+" but got "+value);
+                     System.exit(-4);
+                 }
+             default:
+                 System.err.println("unable to compare with "+atLeastOrEqual);
+                 System.exit(-4);
+         }
      }
  
      private static int compare(String v1, String v2) {
  
      CLASSPATH=$ac_java_classpath
      export CLASSPATH
-     cmd="$JAVAC ${JAVAC_FLAGS} conftest.java"
-     if (echo $cmd >&5 ; eval $cmd >conftest.java.output 2>&5) ; then
-        if test ""yes"" = "no"; then
-            echo "yes" >&5
-               echo "yes"
-        else
-               cmd="$JAVA conftest"
-               if (echo $cmd >&5 ; eval $cmd >conftest.java.output 2>&5); then
-                echo "yes" >&5
-                   echo "yes"
-             else
-                 echo "configure: failed program was:" >&5
-                 cat conftest.java >&5
-                 if test -s conftest.java.output; then
-                    STDOUT=`cat conftest.java.output`
-                 fi
-                 echo "configure: CLASSPATH was $CLASSPATH" >&5
-                   as_fn_error $? "Wrong version of scirenderer. Expected at least 1.1.0. Found $STDOUT" "$LINENO" 5
-                             fi
-         fi
-         if test -f conftest.java.output; then
-            rm conftest.java.output
-         fi
+     cmd="$JAVAC ${JAVAC_FLAGS} conftestSharedChecker.java"
+     if (echo $cmd >&5 ; eval $cmd >conftestSharedChecker.java.output 2>&5) ; then
+         echo "configure: conftestSharedChecker.class available" >&5
      else
          echo "configure: failed program was:" >&5
-         cat conftest.java >&5
+         cat conftestSharedChecker.java >&5
          echo "configure: CLASSPATH was $CLASSPATH" >&5
-           as_fn_error $? "Wrong version of scirenderer. Expected at least 1.1.0. Found $STDOUT" "$LINENO" 5
-             fi
+     fi
  
-    else
+     fi
  
-     cat << \EOF > conftest.java
- // #line 13543 "configure"
- import java.util.regex.Pattern;
+     CLASSPATH=$ac_java_classpath
+     export CLASSPATH
+     cmd="$JAVA conftestSharedChecker flexdock org.flexdock.util.Utilities $jar_resolved VERSION 1.2.4 "
+     if (echo $cmd >&5 ; eval $cmd >conftestSharedChecker.java.output 2>&5); then
+         PACKAGE_JAR_FILE=$(tail -n 1 conftestSharedChecker.java.output);
+         { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PACKAGE_JAR_FILE" >&5
+ $as_echo "$PACKAGE_JAR_FILE" >&6; }
+         echo "yes" >&5
+         # append the found file to the classpath to manage jar dependency
+         ac_java_classpath="$ac_java_classpath:$PACKAGE_JAR_FILE"
+     else
+       { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+ $as_echo "no" >&6; }
+       if test "" = "yes"; then
+          { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Could not find or use the Java package/jar flexdock used by Scilab Gui (looking for package org.flexdock.util.Utilities)" >&5
+ $as_echo "$as_me: WARNING: Could not find or use the Java package/jar flexdock used by Scilab Gui (looking for package org.flexdock.util.Utilities)" >&2;}
+       else
+           as_fn_error $? "Could not find or use the Java package/jar flexdock used by Scilab Gui (looking for package org.flexdock.util.Utilities)" "$LINENO" 5
+       fi
+     fi
+     if test -f conftestSharedChecker.java.output; then
+         rm conftestSharedChecker.java.output
+     fi
+                 FLEXDOCK=$PACKAGE_JAR_FILE
  
- import org.scilab.forge.scirenderer.PackageInfo;
  
- public class conftest {
+                 # Swing look&feel implementations
+     { $as_echo "$as_me:${as_lineno-$LINENO}: checking looks" >&5
+ $as_echo_n "checking looks... " >&6; }
+     PACKAGE_JAR_FILE=
+     DEFAULT_JAR_DIR="$(pwd)/thirdparty/ $(pwd)/jar/ /usr/local/java/ /usr/local/java/jar /usr/local/share/java/ /usr/local/share/java/jar/ /usr/local/lib/java/ $(find /usr/share/java/ -maxdepth 1 -type d 2>/dev/null | sort) $(find /usr/lib64/ -maxdepth 1 -type d 2>/dev/null) $(find  /usr/lib/ -maxdepth 1 -type d 2>/dev/null) $(find /usr/share/*/lib -maxdepth 1 -type d 2>/dev/null) /opt/java/lib/"
+     jar_resolved="$(find $DEFAULT_JAR_DIR -maxdepth 1 \( -type f -name 'looks.jar' -or -name 'liblooks.jar' -or -name 'liblooks-java.jar' -or -name 'looks*.jar' \) 2>/dev/null |tr '\n' ':')."
+     if test ! -f conftestSharedChecker.class ; then
+     cat << \EOF > conftestSharedChecker.java
 -// #line 14431 "configure"
++// #line 14433 "configure"
+ import java.util.regex.Pattern;
+ import java.io.File;
+ import java.io.IOException;
+ import java.lang.reflect.Field;
+ import java.lang.reflect.InvocationTargetException;
+ import java.lang.reflect.Method;
+ import java.net.URL;
+ import java.net.URLClassLoader;
+ import java.util.ArrayList;
+ public class conftestSharedChecker {
+     /**
+      * Required arguments :
+      *  argv[0]: name of the jar package
+      *  argv[1]: name of the class (with the package prefix)
+      *  argv[2]: possible paths of the jar package (separated by ':')
+      *
+      * Optional arguments:
+      *  argv[3]: field or method used to retrieve the version
+      *  argv[4]: expected version
+      *  argv[5]: String comparator :
+      *      "="  for exact version
+      */
      public static void main(String[] argv) {
-         String minVersion="1.1.0";
+         final String packageName = argv[0];
+         final String className = argv[1];
+         final String[] jarList = argv[2].split(":");
+         ArrayList<URL> found = new ArrayList<>();
+         for(String jar : jarList)
+         {
+             try {
+                 File f = new File(jar);
+                 if (f.exists()) {
+                     found.add(f.toURI().toURL());
+                 }
+             } catch (IOException ex) {
+                 System.err.println(ex.toString());
+             }
+         }
+         URLClassLoader localClassLoader = new URLClassLoader(found.toArray(new URL[found.size()]));
+         URL klassURL = null;
+         Class<?> klass = null;
+         try {
+             String resourceName = className.replace(".", "/") + ".class";
+             klassURL = localClassLoader.getResource(resourceName);
+             klass = localClassLoader.loadClass(className);
+         } catch (ClassNotFoundException ex) {
+             System.err.println(className + " not found");
+             System.exit(-1);
+         }
+         String pathURL = klassURL.getPath().substring(0, klassURL.getPath().indexOf('!'));
+         String path = pathURL.substring(pathURL.indexOf(':') + 1);
+         System.err.println("found: " + path);
+         if (argv.length > 3) {
+             checkVersion(klass, argv);
+         }
+         System.out.println(path);
+     }
+     private static void checkVersion(Class<?> klass, String[] argv) throws SecurityException, IllegalArgumentException {
+         final String versionMethod = argv[3];
+         final String expected = argv[4];
+         final String atLeastOrEqual;
+         if (argv.length > 5)
+             atLeastOrEqual = argv[5];
+         else
+             atLeastOrEqual = "<=";
  
-                             System.out.println(PackageInfo.VERSION);
-                                   if (compare(minVersion, PackageInfo.VERSION) != 0) {
-                                    System.exit(-1);
-                                 }
+         try {
+             try {
+                 Field field = klass.getField(versionMethod);
+                 Object value = field.get(null);
+                 compareAndDisplay(atLeastOrEqual, expected, value);
+             } catch (NoSuchFieldException fe) {
+                 Method method = null;
+                 try {
+                     method = klass.getMethod(versionMethod);
+                 } catch (NoSuchMethodException ex) {
+                     System.err.println(ex.toString());
+                     System.exit(-3);
+                 }
+                 try {
+                     Object value = method.invoke(null);
+                     compareAndDisplay(atLeastOrEqual, expected, value);
+                 } catch (NullPointerException ex) {
+                     Object value = method.invoke(klass.newInstance());
+                     compareAndDisplay(atLeastOrEqual, expected, value);
+                 }
+             }
+         } catch (IllegalAccessException ex) {
+             System.err.println(ex);
+             System.exit(-2);
+         } catch (InvocationTargetException ex) {
+             System.err.println(ex);
+             System.exit(-2);
+         } catch (InstantiationException ex) {
+             System.err.println(ex);
+             System.exit(-2);
+         }
+     }
  
+     private static void compareAndDisplay(String atLeastOrEqual, String expected, Object value) {
+         int cmp = compare(expected, value.toString());
+         switch(atLeastOrEqual) {
+             case ">":
+                 if (cmp > 0) {
+                     return;
+                 } else {
+                     System.err.println("expected "+atLeastOrEqual+""+expected+" but got "+value);
+                     System.exit(-4);
+                 }
+             case "==":
+                 if (cmp == 0) {
+                     return;
+                 } else {
+                     System.err.println("expected "+atLeastOrEqual+""+expected+" but got "+value);
+                     System.exit(-4);
+                 }
+             case "<=":
+                 if (cmp <= 0) {
+                     return;
+                 } else {
+                     System.err.println("expected "+atLeastOrEqual+""+expected+" but got "+value);
+                     System.exit(-4);
+                 }
+             default:
+                 System.err.println("unable to compare with "+atLeastOrEqual);
+                 System.exit(-4);
+         }
      }
  
      private static int compare(String v1, String v2) {
  
      CLASSPATH=$ac_java_classpath
      export CLASSPATH
-     cmd="$JAVAC ${JAVAC_FLAGS} conftest.java"
-     if (echo $cmd >&5 ; eval $cmd >conftest.java.output 2>&5) ; then
-        if test ""yes"" = "no"; then
-            echo "yes" >&5
-               echo "yes"
-        else
-               cmd="$JAVA conftest"
-               if (echo $cmd >&5 ; eval $cmd >conftest.java.output 2>&5); then
-                echo "yes" >&5
-                   echo "yes"
-             else
-                 echo "configure: failed program was:" >&5
-                 cat conftest.java >&5
-                 if test -s conftest.java.output; then
-                    STDOUT=`cat conftest.java.output`
-                 fi
-                 echo "configure: CLASSPATH was $CLASSPATH" >&5
-                   as_fn_error $? "Wrong version of scirenderer. Expected exact version 1.1.0. Found $STDOUT" "$LINENO" 5
-                             fi
-         fi
-         if test -f conftest.java.output; then
-            rm conftest.java.output
-         fi
+     cmd="$JAVAC ${JAVAC_FLAGS} conftestSharedChecker.java"
+     if (echo $cmd >&5 ; eval $cmd >conftestSharedChecker.java.output 2>&5) ; then
+         echo "configure: conftestSharedChecker.class available" >&5
      else
          echo "configure: failed program was:" >&5
-         cat conftest.java >&5
+         cat conftestSharedChecker.java >&5
          echo "configure: CLASSPATH was $CLASSPATH" >&5
-           as_fn_error $? "Wrong version of scirenderer. Expected exact version 1.1.0. Found $STDOUT" "$LINENO" 5
-             fi
+     fi
  
      fi
-    ac_java_classpath=$saved_ac_java_classpath
  
-                  else
-                    echo "Use external version of scirenderer"
-                    # Use the scirenderer in Scilab sources
-                    SCIRENDERER="\${modules.dir}/scirenderer/\${build.jar.dir}/scirenderer.jar"
-                    SCIRENDERER_CP="\$SCILAB/modules/scirenderer/jar/scirenderer.jar"
-                 fi
+     CLASSPATH=$ac_java_classpath
+     export CLASSPATH
+     cmd="$JAVA conftestSharedChecker looks com.jgoodies.looks.common.MenuItemRenderer $jar_resolved   "
+     if (echo $cmd >&5 ; eval $cmd >conftestSharedChecker.java.output 2>&5); then
+         PACKAGE_JAR_FILE=$(tail -n 1 conftestSharedChecker.java.output);
+         { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PACKAGE_JAR_FILE" >&5
+ $as_echo "$PACKAGE_JAR_FILE" >&6; }
+         echo "yes" >&5
+         # append the found file to the classpath to manage jar dependency
+         ac_java_classpath="$ac_java_classpath:$PACKAGE_JAR_FILE"
+     else
+       { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+ $as_echo "no" >&6; }
+       if test ""yes"" = "yes"; then
+          { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Could not find or use the Java package/jar looks used by Scilab Gui - Look and feel (looking for package com.jgoodies.looks.common.MenuItemRenderer)" >&5
+ $as_echo "$as_me: WARNING: Could not find or use the Java package/jar looks used by Scilab Gui - Look and feel (looking for package com.jgoodies.looks.common.MenuItemRenderer)" >&2;}
+       else
+           as_fn_error $? "Could not find or use the Java package/jar looks used by Scilab Gui - Look and feel (looking for package com.jgoodies.looks.common.MenuItemRenderer)" "$LINENO" 5
+       fi
+     fi
+     if test -f conftestSharedChecker.java.output; then
+         rm conftestSharedChecker.java.output
+     fi
  
+                 LOOKS=$PACKAGE_JAR_FILE
  
+                 # Named differently under ArchLinux or Fedora
+                 if test -z "$LOOKS"; then
  
-                # Docking system
  
-     { $as_echo "$as_me:${as_lineno-$LINENO}: checking flexdock" >&5
- $as_echo_n "checking flexdock... " >&6; }
+     { $as_echo "$as_me:${as_lineno-$LINENO}: checking jgoodies-looks" >&5
+ $as_echo_n "checking jgoodies-looks... " >&6; }
      PACKAGE_JAR_FILE=
-     found_jar=no
-     saved_ac_java_classpath=$ac_java_classpath
-     DEFAULT_JAR_DIR="/usr/share/java /usr/lib/java /usr/share/java /usr/share/java/jar /opt/java/lib /usr/local/java /usr/local/java/jar /usr/local/share/java /usr/local/share/java/jar /usr/local/lib/java $(find /usr/share/java/ -maxdepth 1 -type d 2>/dev/null) $(find /usr/lib64/ -maxdepth 1 -type d 2>/dev/null) $(find  /usr/lib/ -maxdepth 1 -type d 2>/dev/null)  $(find /usr/share/*/lib -maxdepth 1 -type d 2>/dev/null)"
-     for jardir in "`pwd`/thirdparty" "`pwd`/jar" $DEFAULT_JAR_DIR; do
-       for jar in "$jardir/flexdock.jar" "$jardir/libflexdock.jar" "$jardir/libflexdock-java.jar" "$jardir/flexdock*.jar"; do
- # TODO check the behaviour when spaces
-         jars_resolved=`ls $jar 2>/dev/null`
-         for jar_resolved in $jars_resolved; do # If several jars matches
-           if test -e "$jar_resolved"; then
-             export ac_java_classpath="$jar_resolved:$ac_java_classpath"
  
-     cat << \EOF > conftest.java
- // #line 13642 "configure"
- import java.util.regex.Pattern;
+     DEFAULT_JAR_DIR="$(pwd)/thirdparty/ $(pwd)/jar/ /usr/local/java/ /usr/local/java/jar /usr/local/share/java/ /usr/local/share/java/jar/ /usr/local/lib/java/ $(find /usr/share/java/ -maxdepth 1 -type d 2>/dev/null | sort) $(find /usr/lib64/ -maxdepth 1 -type d 2>/dev/null) $(find  /usr/lib/ -maxdepth 1 -type d 2>/dev/null) $(find /usr/share/*/lib -maxdepth 1 -type d 2>/dev/null) /opt/java/lib/"
  
- import org.flexdock.docking.DockingManager;
+     jar_resolved="$(find $DEFAULT_JAR_DIR -maxdepth 1 \( -type f -name 'jgoodies-looks.jar' -or -name 'libjgoodies-looks.jar' -or -name 'libjgoodies-looks-java.jar' -or -name 'jgoodies-looks*.jar' \) 2>/dev/null |tr '\n' ':')."
  
- public class conftest {
+     if test ! -f conftestSharedChecker.class ; then
+     cat << \EOF > conftestSharedChecker.java
 -// #line 14650 "configure"
++// #line 14652 "configure"
+ import java.util.regex.Pattern;
+ import java.io.File;
+ import java.io.IOException;
+ import java.lang.reflect.Field;
+ import java.lang.reflect.InvocationTargetException;
+ import java.lang.reflect.Method;
+ import java.net.URL;
+ import java.net.URLClassLoader;
+ import java.util.ArrayList;
+ public class conftestSharedChecker {
+     /**
+      * Required arguments :
+      *  argv[0]: name of the jar package
+      *  argv[1]: name of the class (with the package prefix)
+      *  argv[2]: possible paths of the jar package (separated by ':')
+      *
+      * Optional arguments:
+      *  argv[3]: field or method used to retrieve the version
+      *  argv[4]: expected version
+      *  argv[5]: String comparator :
+      *      "="  for exact version
+      */
      public static void main(String[] argv) {
+         final String packageName = argv[0];
+         final String className = argv[1];
+         final String[] jarList = argv[2].split(":");
+         ArrayList<URL> found = new ArrayList<>();
+         for(String jar : jarList)
+         {
+             try {
+                 File f = new File(jar);
+                 if (f.exists()) {
+                     found.add(f.toURI().toURL());
+                 }
+             } catch (IOException ex) {
+                 System.err.println(ex.toString());
+             }
+         }
+         URLClassLoader localClassLoader = new URLClassLoader(found.toArray(new URL[found.size()]));
+         URL klassURL = null;
+         Class<?> klass = null;
+         try {
+             String resourceName = className.replace(".", "/") + ".class";
+             klassURL = localClassLoader.getResource(resourceName);
+             klass = localClassLoader.loadClass(className);
+         } catch (ClassNotFoundException ex) {
+             System.err.println(className + " not found");
+             System.exit(-1);
+         }
+         String pathURL = klassURL.getPath().substring(0, klassURL.getPath().indexOf('!'));
+         String path = pathURL.substring(pathURL.indexOf(':') + 1);
+         System.err.println("found: " + path);
+         if (argv.length > 3) {
+             checkVersion(klass, argv);
+         }
+         System.out.println(path);
+     }
+     private static void checkVersion(Class<?> klass, String[] argv) throws SecurityException, IllegalArgumentException {
+         final String versionMethod = argv[3];
+         final String expected = argv[4];
+         final String atLeastOrEqual;
+         if (argv.length > 5)
+             atLeastOrEqual = argv[5];
+         else
+             atLeastOrEqual = "<=";
  
+         try {
+             try {
+                 Field field = klass.getField(versionMethod);
+                 Object value = field.get(null);
+                 compareAndDisplay(atLeastOrEqual, expected, value);
+             } catch (NoSuchFieldException fe) {
+                 Method method = null;
+                 try {
+                     method = klass.getMethod(versionMethod);
+                 } catch (NoSuchMethodException ex) {
+                     System.err.println(ex.toString());
+                     System.exit(-3);
+                 }
+                 try {
+                     Object value = method.invoke(null);
+                     compareAndDisplay(atLeastOrEqual, expected, value);
+                 } catch (NullPointerException ex) {
+                     Object value = method.invoke(klass.newInstance());
+                     compareAndDisplay(atLeastOrEqual, expected, value);
+                 }
+             }
+         } catch (IllegalAccessException ex) {
+             System.err.println(ex);
+             System.exit(-2);
+         } catch (InvocationTargetException ex) {
+             System.err.println(ex);
+             System.exit(-2);
+         } catch (InstantiationException ex) {
+             System.err.println(ex);
+             System.exit(-2);
+         }
+     }
+     private static void compareAndDisplay(String atLeastOrEqual, String expected, Object value) {
+         int cmp = compare(expected, value.toString());
+         switch(atLeastOrEqual) {
+             case ">":
+                 if (cmp > 0) {
+                     return;
+                 } else {
+                     System.err.println("expected "+atLeastOrEqual+""+expected+" but got "+value);
+                     System.exit(-4);
+                 }
+             case "==":
+                 if (cmp == 0) {
+                     return;
+                 } else {
+                     System.err.println("expected "+atLeastOrEqual+""+expected+" but got "+value);
+                     System.exit(-4);
+                 }
+             case "<=":
+                 if (cmp <= 0) {
+                     return;
+                 } else {
+                     System.err.println("expected "+atLeastOrEqual+""+expected+" but got "+value);
+                     System.exit(-4);
+                 }
+             default:
+                 System.err.println("unable to compare with "+atLeastOrEqual);
+                 System.exit(-4);
+         }
      }
  
      private static int compare(String v1, String v2) {
@@@ -13714,326 -14838,173 +14840,173 @@@ $as_echo "$PACKAGE_JAR_FILE" >&6; 
        { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  $as_echo "no" >&6; }
        if test "" = "yes"; then
-          { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Could not find or use the Java package/jar flexdock used by Scilab Gui (looking for package org.flexdock.docking.DockingManager)" >&5
- $as_echo "$as_me: WARNING: Could not find or use the Java package/jar flexdock used by Scilab Gui (looking for package org.flexdock.docking.DockingManager)" >&2;}
+          { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Could not find or use the Java package/jar jgoodies-looks used by Scilab Gui - Look and feel (looking for package com.jgoodies.looks.common.MenuItemRenderer)" >&5
+ $as_echo "$as_me: WARNING: Could not find or use the Java package/jar jgoodies-looks used by Scilab Gui - Look and feel (looking for package com.jgoodies.looks.common.MenuItemRenderer)" >&2;}
        else
-           as_fn_error $? "Could not find or use the Java package/jar flexdock used by Scilab Gui (looking for package org.flexdock.docking.DockingManager)" "$LINENO" 5
+           as_fn_error $? "Could not find or use the Java package/jar jgoodies-looks used by Scilab Gui - Look and feel (looking for package com.jgoodies.looks.common.MenuItemRenderer)" "$LINENO" 5
        fi
      fi
+     if test -f conftestSharedChecker.java.output; then
+         rm conftestSharedChecker.java.output
+     fi
  
-                 FLEXDOCK=$PACKAGE_JAR_FILE
-     { $as_echo "$as_me:${as_lineno-$LINENO}: checking minimal version (1.2.4) of flexdock" >&5
- $as_echo_n "checking minimal version (1.2.4) of flexdock... " >&6; }
-    saved_ac_java_classpath=$ac_java_classpath
-    export ac_java_classpath="$FLEXDOCK:$ac_java_classpath"
-    if test "x" == "x"; then
-     cat << \EOF > conftest.java
- // #line 13749 "configure"
- import java.util.regex.Pattern;
- import org.flexdock.util.Utilities;
+                     LOOKS=$PACKAGE_JAR_FILE
+                 fi
  
- public class conftest {
-     public static void main(String[] argv) {
-         String minVersion="1.2.4";
  
-                             System.out.println(Utilities.VERSION);
-                                   if (compare(minVersion, Utilities.VERSION) > 0) {
-                                    System.exit(-1);
-                                 }
+                 #  Skin Look and Feel
  
-     }
  
-     private static int compare(String v1, String v2) {
-         String s1 = normalisedVersion(v1);
-         String s2 = normalisedVersion(v2);
-         return s1.compareTo(s2);
-     }
  
-     private static String normalisedVersion(String version) {
-         return normalisedVersion(version, ".", 4);
-     }
+     { $as_echo "$as_me:${as_lineno-$LINENO}: checking skinlf" >&5
+ $as_echo_n "checking skinlf... " >&6; }
+     PACKAGE_JAR_FILE=
  
-     private static String normalisedVersion(String version, String sep, int maxWidth) {
-         String[] split = Pattern.compile(sep, Pattern.LITERAL).split(version);
-         StringBuilder sb = new StringBuilder();
-         for (String s : split) {
-             sb.append(String.format("%" + maxWidth + 's', s));
-         }
-         return sb.toString();
-     }
- }
- EOF
+     DEFAULT_JAR_DIR="$(pwd)/thirdparty/ $(pwd)/jar/ /usr/local/java/ /usr/local/java/jar /usr/local/share/java/ /usr/local/share/java/jar/ /usr/local/lib/java/ $(find /usr/share/java/ -maxdepth 1 -type d 2>/dev/null | sort) $(find /usr/lib64/ -maxdepth 1 -type d 2>/dev/null) $(find  /usr/lib/ -maxdepth 1 -type d 2>/dev/null) $(find /usr/share/*/lib -maxdepth 1 -type d 2>/dev/null) /opt/java/lib/"
  
-     CLASSPATH=$ac_java_classpath
-     export CLASSPATH
-     cmd="$JAVAC ${JAVAC_FLAGS} conftest.java"
-     if (echo $cmd >&5 ; eval $cmd >conftest.java.output 2>&5) ; then
-        if test ""yes"" = "no"; then
-            echo "yes" >&5
-               echo "yes"
-        else
-               cmd="$JAVA conftest"
-               if (echo $cmd >&5 ; eval $cmd >conftest.java.output 2>&5); then
-                echo "yes" >&5
-                   echo "yes"
-             else
-                 echo "configure: failed program was:" >&5
-                 cat conftest.java >&5
-                 if test -s conftest.java.output; then
-                    STDOUT=`cat conftest.java.output`
-                 fi
-                 echo "configure: CLASSPATH was $CLASSPATH" >&5
-                   as_fn_error $? "Wrong version of flexdock. Expected at least 1.2.4. Found $STDOUT" "$LINENO" 5
-                             fi
-         fi
-         if test -f conftest.java.output; then
-            rm conftest.java.output
-         fi
-     else
-         echo "configure: failed program was:" >&5
-         cat conftest.java >&5
-         echo "configure: CLASSPATH was $CLASSPATH" >&5
-           as_fn_error $? "Wrong version of flexdock. Expected at least 1.2.4. Found $STDOUT" "$LINENO" 5
-             fi
+     jar_resolved="$(find $DEFAULT_JAR_DIR -maxdepth 1 \( -type f -name 'skinlf.jar' -or -name 'libskinlf.jar' -or -name 'libskinlf-java.jar' -or -name 'skinlf*.jar' \) 2>/dev/null |tr '\n' ':')."
  
-    else
+     if test ! -f conftestSharedChecker.class ; then
  
-     cat << \EOF > conftest.java
- // #line 13821 "configure"
+     cat << \EOF > conftestSharedChecker.java
 -// #line 14870 "configure"
++// #line 14872 "configure"
  import java.util.regex.Pattern;
- import org.flexdock.util.Utilities;
- public class conftest {
+ import java.io.File;
+ import java.io.IOException;
+ import java.lang.reflect.Field;
+ import java.lang.reflect.InvocationTargetException;
+ import java.lang.reflect.Method;
+ import java.net.URL;
+ import java.net.URLClassLoader;
+ import java.util.ArrayList;
+ public class conftestSharedChecker {
+     /**
+      * Required arguments :
+      *  argv[0]: name of the jar package
+      *  argv[1]: name of the class (with the package prefix)
+      *  argv[2]: possible paths of the jar package (separated by ':')
+      *
+      * Optional arguments:
+      *  argv[3]: field or method used to retrieve the version
+      *  argv[4]: expected version
+      *  argv[5]: String comparator :
+      *      "="  for exact version
+      */
      public static void main(String[] argv) {
-         String minVersion="1.2.4";
-                             System.out.println(Utilities.VERSION);
-                                   if (compare(minVersion, Utilities.VERSION) != 0) {
-                                    System.exit(-1);
-                                 }
-     }
+         final String packageName = argv[0];
+         final String className = argv[1];
+         final String[] jarList = argv[2].split(":");
  
-     private static int compare(String v1, String v2) {
-         String s1 = normalisedVersion(v1);
-         String s2 = normalisedVersion(v2);
-         return s1.compareTo(s2);
-     }
-     private static String normalisedVersion(String version) {
-         return normalisedVersion(version, ".", 4);
-     }
-     private static String normalisedVersion(String version, String sep, int maxWidth) {
-         String[] split = Pattern.compile(sep, Pattern.LITERAL).split(version);
-         StringBuilder sb = new StringBuilder();
-         for (String s : split) {
-             sb.append(String.format("%" + maxWidth + 's', s));
+         ArrayList<URL> found = new ArrayList<>();
+         for(String jar : jarList)
+         {
+             try {
+                 File f = new File(jar);
+                 if (f.exists()) {
+                     found.add(f.toURI().toURL());
+                 }
+             } catch (IOException ex) {
+                 System.err.println(ex.toString());
+             }
          }
-         return sb.toString();
-     }
- }
- EOF
-     CLASSPATH=$ac_java_classpath
-     export CLASSPATH
-     cmd="$JAVAC ${JAVAC_FLAGS} conftest.java"
-     if (echo $cmd >&5 ; eval $cmd >conftest.java.output 2>&5) ; then
-        if test ""yes"" = "no"; then
-            echo "yes" >&5
-               echo "yes"
-        else
-               cmd="$JAVA conftest"
-               if (echo $cmd >&5 ; eval $cmd >conftest.java.output 2>&5); then
-                echo "yes" >&5
-                   echo "yes"
-             else
-                 echo "configure: failed program was:" >&5
-                 cat conftest.java >&5
-                 if test -s conftest.java.output; then
-                    STDOUT=`cat conftest.java.output`
-                 fi
-                 echo "configure: CLASSPATH was $CLASSPATH" >&5
-                   as_fn_error $? "Wrong version of flexdock. Expected exact version 1.2.4. Found $STDOUT" "$LINENO" 5
-                             fi
-         fi
-         if test -f conftest.java.output; then
-            rm conftest.java.output
-         fi
-     else
-         echo "configure: failed program was:" >&5
-         cat conftest.java >&5
-         echo "configure: CLASSPATH was $CLASSPATH" >&5
-           as_fn_error $? "Wrong version of flexdock. Expected exact version 1.2.4. Found $STDOUT" "$LINENO" 5
-             fi
-     fi
-    ac_java_classpath=$saved_ac_java_classpath
-                 # Swing look&feel implementations
  
-     { $as_echo "$as_me:${as_lineno-$LINENO}: checking looks" >&5
- $as_echo_n "checking looks... " >&6; }
-     PACKAGE_JAR_FILE=
-     found_jar=no
-     saved_ac_java_classpath=$ac_java_classpath
-     DEFAULT_JAR_DIR="/usr/share/java /usr/lib/java /usr/share/java /usr/share/java/jar /opt/java/lib /usr/local/java /usr/local/java/jar /usr/local/share/java /usr/local/share/java/jar /usr/local/lib/java $(find /usr/share/java/ -maxdepth 1 -type d 2>/dev/null) $(find /usr/lib64/ -maxdepth 1 -type d 2>/dev/null) $(find  /usr/lib/ -maxdepth 1 -type d 2>/dev/null)  $(find /usr/share/*/lib -maxdepth 1 -type d 2>/dev/null)"
-     for jardir in "`pwd`/thirdparty" "`pwd`/jar" $DEFAULT_JAR_DIR; do
-       for jar in "$jardir/looks.jar" "$jardir/liblooks.jar" "$jardir/liblooks-java.jar" "$jardir/looks*.jar"; do
- # TODO check the behaviour when spaces
-         jars_resolved=`ls $jar 2>/dev/null`
-         for jar_resolved in $jars_resolved; do # If several jars matches
-           if test -e "$jar_resolved"; then
-             export ac_java_classpath="$jar_resolved:$ac_java_classpath"
-     cat << \EOF > conftest.java
- // #line 13912 "configure"
- import java.util.regex.Pattern;
- import com.jgoodies.looks.common.MenuItemRenderer;
+         URLClassLoader localClassLoader = new URLClassLoader(found.toArray(new URL[found.size()]));
+         URL klassURL = null;
+         Class<?> klass = null;
+         try {
+             String resourceName = className.replace(".", "/") + ".class";
+             klassURL = localClassLoader.getResource(resourceName);
+             klass = localClassLoader.loadClass(className);
+         } catch (ClassNotFoundException ex) {
+             System.err.println(className + " not found");
+             System.exit(-1);
+         }
  
- public class conftest {
-     public static void main(String[] argv) {
+         String pathURL = klassURL.getPath().substring(0, klassURL.getPath().indexOf('!'));
+         String path = pathURL.substring(pathURL.indexOf(':') + 1);
+         System.err.println("found: " + path);
  
-     }
+         if (argv.length > 3) {
+             checkVersion(klass, argv);
+         }
  
-     private static int compare(String v1, String v2) {
-         String s1 = normalisedVersion(v1);
-         String s2 = normalisedVersion(v2);
-         return s1.compareTo(s2);
+         System.out.println(path);
      }
  
-     private static String normalisedVersion(String version) {
-         return normalisedVersion(version, ".", 4);
-     }
+     private static void checkVersion(Class<?> klass, String[] argv) throws SecurityException, IllegalArgumentException {
+         final String versionMethod = argv[3];
+         final String expected = argv[4];
+         final String atLeastOrEqual;
+         if (argv.length > 5)
+             atLeastOrEqual = argv[5];
+         else
+             atLeastOrEqual = "<=";
  
-     private static String normalisedVersion(String version, String sep, int maxWidth) {
-         String[] split = Pattern.compile(sep, Pattern.LITERAL).split(version);
-         StringBuilder sb = new StringBuilder();
-         for (String s : split) {
-             sb.append(String.format("%" + maxWidth + 's', s));
+         try {
+             try {
+                 Field field = klass.getField(versionMethod);
+                 Object value = field.get(null);
+                 compareAndDisplay(atLeastOrEqual, expected, value);
+             } catch (NoSuchFieldException fe) {
+                 Method method = null;
+                 try {
+                     method = klass.getMethod(versionMethod);
+                 } catch (NoSuchMethodException ex) {
+                     System.err.println(ex.toString());
+                     System.exit(-3);
+                 }
+                 try {
+                     Object value = method.invoke(null);
+                     compareAndDisplay(atLeastOrEqual, expected, value);
+                 } catch (NullPointerException ex) {
+                     Object value = method.invoke(klass.newInstance());
+                     compareAndDisplay(atLeastOrEqual, expected, value);
+                 }
+             }
+         } catch (IllegalAccessException ex) {
+             System.err.println(ex);
+             System.exit(-2);
+         } catch (InvocationTargetException ex) {
+             System.err.println(ex);
+             System.exit(-2);
+         } catch (InstantiationException ex) {
+             System.err.println(ex);
+             System.exit(-2);
          }
-         return sb.toString();
      }
- }
- EOF
-     CLASSPATH=$ac_java_classpath
-     export CLASSPATH
-     cmd="$JAVAC ${JAVAC_FLAGS} conftest.java"
-     if (echo $cmd >&5 ; eval $cmd >conftest.java.output 2>&5) ; then
-        if test ""no"" = "no"; then
-            echo "yes" >&5
-               { $as_echo "$as_me:${as_lineno-$LINENO}: result: $jar_resolved" >&5
- $as_echo "$jar_resolved" >&6; }
-               found_jar=yes
-               PACKAGE_JAR_FILE=$jar_resolved
-               break 3
-        else
-               cmd="$JAVA conftest"
-               if (echo $cmd >&5 ; eval $cmd >conftest.java.output 2>&5); then
-                echo "yes" >&5
-               { $as_echo "$as_me:${as_lineno-$LINENO}: result: $jar_resolved" >&5
- $as_echo "$jar_resolved" >&6; }
-               found_jar=yes
-               PACKAGE_JAR_FILE=$jar_resolved
-               break 3
-             else
-                 echo "configure: failed program was:" >&5
-                 cat conftest.java >&5
-                 if test -s conftest.java.output; then
-                    STDOUT=`cat conftest.java.output`
-                 fi
-                 echo "configure: CLASSPATH was $CLASSPATH" >&5
-             ac_java_classpath=$saved_ac_java_classpath
-                             fi
-         fi
-         if test -f conftest.java.output; then
-            rm conftest.java.output
-         fi
-     else
-         echo "configure: failed program was:" >&5
-         cat conftest.java >&5
-         echo "configure: CLASSPATH was $CLASSPATH" >&5
-             ac_java_classpath=$saved_ac_java_classpath
-             fi
-           fi
-         done
-       done
-     done
-     if test "$found_jar" = "no"; then
-       { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
- $as_echo "no" >&6; }
-       if test ""yes"" = "yes"; then
-          { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Could not find or use the Java package/jar looks used by Scilab Gui - Look and feel (looking for package com.jgoodies.looks.common.MenuItemRenderer)" >&5
- $as_echo "$as_me: WARNING: Could not find or use the Java package/jar looks used by Scilab Gui - Look and feel (looking for package com.jgoodies.looks.common.MenuItemRenderer)" >&2;}
-       else
-           as_fn_error $? "Could not find or use the Java package/jar looks used by Scilab Gui - Look and feel (looking for package com.jgoodies.looks.common.MenuItemRenderer)" "$LINENO" 5
-       fi
-     fi
-                 LOOKS=$PACKAGE_JAR_FILE
-                 # Named differently under ArchLinux or Fedora
-                 if test -z "$LOOKS"; then
-     { $as_echo "$as_me:${as_lineno-$LINENO}: checking jgoodies-looks" >&5
- $as_echo_n "checking jgoodies-looks... " >&6; }
-     PACKAGE_JAR_FILE=
-     found_jar=no
-     saved_ac_java_classpath=$ac_java_classpath
-     DEFAULT_JAR_DIR="/usr/share/java /usr/lib/java /usr/share/java /usr/share/java/jar /opt/java/lib /usr/local/java /usr/local/java/jar /usr/local/share/java /usr/local/share/java/jar /usr/local/lib/java $(find /usr/share/java/ -maxdepth 1 -type d 2>/dev/null) $(find /usr/lib64/ -maxdepth 1 -type d 2>/dev/null) $(find  /usr/lib/ -maxdepth 1 -type d 2>/dev/null)  $(find /usr/share/*/lib -maxdepth 1 -type d 2>/dev/null)"
-     for jardir in "`pwd`/thirdparty" "`pwd`/jar" $DEFAULT_JAR_DIR; do
-       for jar in "$jardir/jgoodies-looks.jar" "$jardir/libjgoodies-looks.jar" "$jardir/libjgoodies-looks-java.jar" "$jardir/jgoodies-looks*.jar"; do
- # TODO check the behaviour when spaces
-         jars_resolved=`ls $jar 2>/dev/null`
-         for jar_resolved in $jars_resolved; do # If several jars matches
-           if test -e "$jar_resolved"; then
-             export ac_java_classpath="$jar_resolved:$ac_java_classpath"
-     cat << \EOF > conftest.java
- // #line 14029 "configure"
- import java.util.regex.Pattern;
- import com.jgoodies.looks.common.MenuItemRenderer;
- public class conftest {
-     public static void main(String[] argv) {
  
+     private static void compareAndDisplay(String atLeastOrEqual, String expected, Object value) {
+         int cmp = compare(expected, value.toString());
+         switch(atLeastOrEqual) {
+             case ">":
+                 if (cmp > 0) {
+                     return;
+                 } else {
+                     System.err.println("expected "+atLeastOrEqual+""+expected+" but got "+value);
+                     System.exit(-4);
+                 }
+             case "==":
+                 if (cmp == 0) {
+                     return;
+                 } else {
+                     System.err.println("expected "+atLeastOrEqual+""+expected+" but got "+value);
+                     System.exit(-4);
+                 }
+             case "<=":
+                 if (cmp <= 0) {
+                     return;
+                 } else {
+                     System.err.println("expected "+atLeastOrEqual+""+expected+" but got "+value);
+                     System.exit(-4);
+                 }
+             default:
+                 System.err.println("unable to compare with "+atLeastOrEqual);
+                 System.exit(-4);
+         }
      }
  
      private static int compare(String v1, String v2) {
@@@ -14248,27 -15078,152 +15080,152 @@@ $as_echo "$as_me: WARNING: Could not fi
      { $as_echo "$as_me:${as_lineno-$LINENO}: checking jogl2" >&5
  $as_echo_n "checking jogl2... " >&6; }
      PACKAGE_JAR_FILE=
-     found_jar=no
-     saved_ac_java_classpath=$ac_java_classpath
-     DEFAULT_JAR_DIR="/usr/share/java /usr/lib/java /usr/share/java /usr/share/java/jar /opt/java/lib /usr/local/java /usr/local/java/jar /usr/local/share/java /usr/local/share/java/jar /usr/local/lib/java $(find /usr/share/java/ -maxdepth 1 -type d 2>/dev/null) $(find /usr/lib64/ -maxdepth 1 -type d 2>/dev/null) $(find  /usr/lib/ -maxdepth 1 -type d 2>/dev/null)  $(find /usr/share/*/lib -maxdepth 1 -type d 2>/dev/null)"
-     for jardir in "`pwd`/thirdparty" "`pwd`/jar" $DEFAULT_JAR_DIR; do
-       for jar in "$jardir/jogl2.jar" "$jardir/libjogl2.jar" "$jardir/libjogl2-java.jar" "$jardir/jogl2*.jar"; do
- # TODO check the behaviour when spaces
-         jars_resolved=`ls $jar 2>/dev/null`
-         for jar_resolved in $jars_resolved; do # If several jars matches
-           if test -e "$jar_resolved"; then
-             export ac_java_classpath="$jar_resolved:$ac_java_classpath"
  
-     cat << \EOF > conftest.java
- // #line 14264 "configure"
- import java.util.regex.Pattern;
+     DEFAULT_JAR_DIR="$(pwd)/thirdparty/ $(pwd)/jar/ /usr/local/java/ /usr/local/java/jar /usr/local/share/java/ /usr/local/share/java/jar/ /usr/local/lib/java/ $(find /usr/share/java/ -maxdepth 1 -type d 2>/dev/null | sort) $(find /usr/lib64/ -maxdepth 1 -type d 2>/dev/null) $(find  /usr/lib/ -maxdepth 1 -type d 2>/dev/null) $(find /usr/share/*/lib -maxdepth 1 -type d 2>/dev/null) /opt/java/lib/"
  
- import javax.media.opengl.glu.GLUnurbs;
+     jar_resolved="$(find $DEFAULT_JAR_DIR -maxdepth 1 \( -type f -name 'jogl2.jar' -or -name 'libjogl2.jar' -or -name 'libjogl2-java.jar' -or -name 'jogl2*.jar' \) 2>/dev/null |tr '\n' ':')."
  
- public class conftest {
+     if test ! -f conftestSharedChecker.class ; then
+     cat << \EOF > conftestSharedChecker.java
 -// #line 15089 "configure"
++// #line 15091 "configure"
+ import java.util.regex.Pattern;
+ import java.io.File;
+ import java.io.IOException;
+ import java.lang.reflect.Field;
+ import java.lang.reflect.InvocationTargetException;
+ import java.lang.reflect.Method;
+ import java.net.URL;
+ import java.net.URLClassLoader;
+ import java.util.ArrayList;
+ public class conftestSharedChecker {
+     /**
+      * Required arguments :
+      *  argv[0]: name of the jar package
+      *  argv[1]: name of the class (with the package prefix)
+      *  argv[2]: possible paths of the jar package (separated by ':')
+      *
+      * Optional arguments:
+      *  argv[3]: field or method used to retrieve the version
+      *  argv[4]: expected version
+      *  argv[5]: String comparator :
+      *      "="  for exact version
+      */
      public static void main(String[] argv) {
+         final String packageName = argv[0];
+         final String className = argv[1];
+         final String[] jarList = argv[2].split(":");
+         ArrayList<URL> found = new ArrayList<>();
+         for(String jar : jarList)
+         {
+             try {
+                 File f = new File(jar);
+                 if (f.exists()) {
+                     found.add(f.toURI().toURL());
+                 }
+             } catch (IOException ex) {
+                 System.err.println(ex.toString());
+             }
+         }
+         URLClassLoader localClassLoader = new URLClassLoader(found.toArray(new URL[found.size()]));
+         URL klassURL = null;
+         Class<?> klass = null;
+         try {
+             String resourceName = className.replace(".", "/") + ".class";
+             klassURL = localClassLoader.getResource(resourceName);
+             klass = localClassLoader.loadClass(className);
+         } catch (ClassNotFoundException ex) {
+             System.err.println(className + " not found");
+             System.exit(-1);
+         }
+         String pathURL = klassURL.getPath().substring(0, klassURL.getPath().indexOf('!'));
+         String path = pathURL.substring(pathURL.indexOf(':') + 1);
+         System.err.println("found: " + path);
+         if (argv.length > 3) {
+             checkVersion(klass, argv);
+         }
+         System.out.println(path);
+     }
+     private static void checkVersion(Class<?> klass, String[] argv) throws SecurityException, IllegalArgumentException {
+         final String versionMethod = argv[3];
+         final String expected = argv[4];
+         final String atLeastOrEqual;
+         if (argv.length > 5)
+             atLeastOrEqual = argv[5];
+         else
+             atLeastOrEqual = "<=";
  
+         try {
+             try {
+                 Field field = klass.getField(versionMethod);
+                 Object value = field.get(null);
+                 compareAndDisplay(atLeastOrEqual, expected, value);
+             } catch (NoSuchFieldException fe) {
+                 Method method = null;
+                 try {
+                     method = klass.getMethod(versionMethod);
+                 } catch (NoSuchMethodException ex) {
+                     System.err.println(ex.toString());
+                     System.exit(-3);
+                 }
+                 try {
+                     Object value = method.invoke(null);
+                     compareAndDisplay(atLeastOrEqual, expected, value);
+                 } catch (NullPointerException ex) {
+                     Object value = method.invoke(klass.newInstance());
+                     compareAndDisplay(atLeastOrEqual, expected, value);
+                 }
+             }
+         } catch (IllegalAccessException ex) {
+             System.err.println(ex);
+             System.exit(-2);
+         } catch (InvocationTargetException ex) {
+             System.err.println(ex);
+             System.exit(-2);
+         } catch (InstantiationException ex) {
+             System.err.println(ex);
+             System.exit(-2);
+         }
+     }
+     private static void compareAndDisplay(String atLeastOrEqual, String expected, Object value) {
+         int cmp = compare(expected, value.toString());
+         switch(atLeastOrEqual) {
+             case ">":
+                 if (cmp > 0) {
+                     return;
+                 } else {
+                     System.err.println("expected "+atLeastOrEqual+""+expected+" but got "+value);
+                     System.exit(-4);
+                 }
+             case "==":
+                 if (cmp == 0) {
+                     return;
+                 } else {
+                     System.err.println("expected "+atLeastOrEqual+""+expected+" but got "+value);
+                     System.exit(-4);
+                 }
+             case "<=":
+                 if (cmp <= 0) {
+                     return;
+                 } else {
+                     System.err.println("expected "+atLeastOrEqual+""+expected+" but got "+value);
+                     System.exit(-4);
+                 }
+             default:
+                 System.err.println("unable to compare with "+atLeastOrEqual);
+                 System.exit(-4);
+         }
      }
  
      private static int compare(String v1, String v2) {
@@@ -14367,7 -15297,7 +15299,7 @@@ $as_echo_n "checking minimal version (S
      if test "x" == "x"; then
  
      cat << \EOF > conftest.java
- // #line 14370 "configure"
 -// #line 15300 "configure"
++// #line 15302 "configure"
  import java.util.regex.Pattern;
  
  import java.io.IOException;
      else
  
      cat << \EOF > conftest.java
- // #line 14447 "configure"
 -// #line 15377 "configure"
++// #line 15379 "configure"
  import java.util.regex.Pattern;
  
  import java.io.IOException;
      { $as_echo "$as_me:${as_lineno-$LINENO}: checking gluegen2-rt" >&5
  $as_echo_n "checking gluegen2-rt... " >&6; }
      PACKAGE_JAR_FILE=
-     found_jar=no
-     saved_ac_java_classpath=$ac_java_classpath
-     DEFAULT_JAR_DIR="/usr/share/java /usr/lib/java /usr/share/java /usr/share/java/jar /opt/java/lib /usr/local/java /usr/local/java/jar /usr/local/share/java /usr/local/share/java/jar /usr/local/lib/java $(find /usr/share/java/ -maxdepth 1 -type d 2>/dev/null) $(find /usr/lib64/ -maxdepth 1 -type d 2>/dev/null) $(find  /usr/lib/ -maxdepth 1 -type d 2>/dev/null)  $(find /usr/share/*/lib -maxdepth 1 -type d 2>/dev/null)"
-     for jardir in "`pwd`/thirdparty" "`pwd`/jar" $DEFAULT_JAR_DIR; do
-       for jar in "$jardir/gluegen2-rt.jar" "$jardir/libgluegen2-rt.jar" "$jardir/libgluegen2-rt-java.jar" "$jardir/gluegen2-rt*.jar"; do
- # TODO check the behaviour when spaces
-         jars_resolved=`ls $jar 2>/dev/null`
-         for jar_resolved in $jars_resolved; do # If several jars matches
-           if test -e "$jar_resolved"; then
-             export ac_java_classpath="$jar_resolved:$ac_java_classpath"
  
-     cat << \EOF > conftest.java
- // #line 14649 "configure"
- import java.util.regex.Pattern;
+     DEFAULT_JAR_DIR="$(pwd)/thirdparty/ $(pwd)/jar/ /usr/local/java/ /usr/local/java/jar /usr/local/share/java/ /usr/local/share/java/jar/ /usr/local/lib/java/ $(find /usr/share/java/ -maxdepth 1 -type d 2>/dev/null | sort) $(find /usr/lib64/ -maxdepth 1 -type d 2>/dev/null) $(find  /usr/lib/ -maxdepth 1 -type d 2>/dev/null) $(find /usr/share/*/lib -maxdepth 1 -type d 2>/dev/null) /opt/java/lib/"
  
- import jogamp.common.os.MachineDescriptionRuntime;
+     jar_resolved="$(find $DEFAULT_JAR_DIR -maxdepth 1 \( -type f -name 'gluegen2-rt.jar' -or -name 'libgluegen2-rt.jar' -or -name 'libgluegen2-rt-java.jar' -or -name 'gluegen2-rt*.jar' \) 2>/dev/null |tr '\n' ':')."
  
- public class conftest {
+     if test ! -f conftestSharedChecker.class ; then
+     cat << \EOF > conftestSharedChecker.java
 -// #line 15576 "configure"
++// #line 15578 "configure"
+ import java.util.regex.Pattern;
+ import java.io.File;
+ import java.io.IOException;
+ import java.lang.reflect.Field;
+ import java.lang.reflect.InvocationTargetException;
+ import java.lang.reflect.Method;
+ import java.net.URL;
+ import java.net.URLClassLoader;
+ import java.util.ArrayList;
+ public class conftestSharedChecker {
+     /**
+      * Required arguments :
+      *  argv[0]: name of the jar package
+      *  argv[1]: name of the class (with the package prefix)
+      *  argv[2]: possible paths of the jar package (separated by ':')
+      *
+      * Optional arguments:
+      *  argv[3]: field or method used to retrieve the version
+      *  argv[4]: expected version
+      *  argv[5]: String comparator :
+      *      "="  for exact version
+      */
      public static void main(String[] argv) {
+         final String packageName = argv[0];
+         final String className = argv[1];
+         final String[] jarList = argv[2].split(":");
+         ArrayList<URL> found = new ArrayList<>();
+         for(String jar : jarList)
+         {
+             try {
+                 File f = new File(jar);
+                 if (f.exists()) {
+                     found.add(f.toURI().toURL());
+                 }
+             } catch (IOException ex) {
+                 System.err.println(ex.toString());
+             }
+         }
+         URLClassLoader localClassLoader = new URLClassLoader(found.toArray(new URL[found.size()]));
+         URL klassURL = null;
+         Class<?> klass = null;
+         try {
+             String resourceName = className.replace(".", "/") + ".class";
+             klassURL = localClassLoader.getResource(resourceName);
+             klass = localClassLoader.loadClass(className);
+         } catch (ClassNotFoundException ex) {
+             System.err.println(className + " not found");
+             System.exit(-1);
+         }
+         String pathURL = klassURL.getPath().substring(0, klassURL.getPath().indexOf('!'));
+         String path = pathURL.substring(pathURL.indexOf(':') + 1);
+         System.err.println("found: " + path);
  
+         if (argv.length > 3) {
+             checkVersion(klass, argv);
+         }
+         System.out.println(path);
+     }
+     private static void checkVersion(Class<?> klass, String[] argv) throws SecurityException, IllegalArgumentException {
+         final String versionMethod = argv[3];
+         final String expected = argv[4];
+         final String atLeastOrEqual;
+         if (argv.length > 5)
+             atLeastOrEqual = argv[5];
+         else
+             atLeastOrEqual = "<=";
+         try {
+             try {
+                 Field field = klass.getField(versionMethod);
+                 Object value = field.get(null);
+                 compareAndDisplay(atLeastOrEqual, expected, value);
+             } catch (NoSuchFieldException fe) {
+                 Method method = null;
+                 try {
+                     method = klass.getMethod(versionMethod);
+                 } catch (NoSuchMethodException ex) {
+                     System.err.println(ex.toString());
+                     System.exit(-3);
+                 }
+                 try {
+                     Object value = method.invoke(null);
+                     compareAndDisplay(atLeastOrEqual, expected, value);
+                 } catch (NullPointerException ex) {
+                     Object value = method.invoke(klass.newInstance());
+                     compareAndDisplay(atLeastOrEqual, expected, value);
+                 }
+             }
+         } catch (IllegalAccessException ex) {
+             System.err.println(ex);
+             System.exit(-2);
+         } catch (InvocationTargetException ex) {
+             System.err.println(ex);
+             System.exit(-2);
+         } catch (InstantiationException ex) {
+             System.err.println(ex);
+             System.exit(-2);
+         }
+     }
+     private static void compareAndDisplay(String atLeastOrEqual, String expected, Object value) {
+         int cmp = compare(expected, value.toString());
+         switch(atLeastOrEqual) {
+             case ">":
+                 if (cmp > 0) {
+                     return;
+                 } else {
+                     System.err.println("expected "+atLeastOrEqual+""+expected+" but got "+value);
+                     System.exit(-4);
+                 }
+             case "==":
+                 if (cmp == 0) {
+                     return;
+                 } else {
+                     System.err.println("expected "+atLeastOrEqual+""+expected+" but got "+value);
+                     System.exit(-4);
+                 }
+             case "<=":
+                 if (cmp <= 0) {
+                     return;
+                 } else {
+                     System.err.println("expected "+atLeastOrEqual+""+expected+" but got "+value);
+                     System.exit(-4);
+                 }
+             default:
+                 System.err.println("unable to compare with "+atLeastOrEqual);
+                 System.exit(-4);
+         }
      }
  
      private static int compare(String v1, String v2) {
      { $as_echo "$as_me:${as_lineno-$LINENO}: checking jhall" >&5
  $as_echo_n "checking jhall... " >&6; }
      PACKAGE_JAR_FILE=
-     found_jar=no
-     saved_ac_java_classpath=$ac_java_classpath
-     DEFAULT_JAR_DIR="/usr/share/java /usr/lib/java /usr/share/java /usr/share/java/jar /opt/java/lib /usr/local/java /usr/local/java/jar /usr/local/share/java /usr/local/share/java/jar /usr/local/lib/java $(find /usr/share/java/ -maxdepth 1 -type d 2>/dev/null) $(find /usr/lib64/ -maxdepth 1 -type d 2>/dev/null) $(find  /usr/lib/ -maxdepth 1 -type d 2>/dev/null)  $(find /usr/share/*/lib -maxdepth 1 -type d 2>/dev/null)"
-     for jardir in "`pwd`/thirdparty" "`pwd`/jar" $DEFAULT_JAR_DIR; do
-       for jar in "$jardir/jhall.jar" "$jardir/libjhall.jar" "$jardir/libjhall-java.jar" "$jardir/jhall*.jar"; do
- # TODO check the behaviour when spaces
-         jars_resolved=`ls $jar 2>/dev/null`
-         for jar_resolved in $jars_resolved; do # If several jars matches
-           if test -e "$jar_resolved"; then
-             export ac_java_classpath="$jar_resolved:$ac_java_classpath"
  
-     cat << \EOF > conftest.java
- // #line 14823 "configure"
- import java.util.regex.Pattern;
+     DEFAULT_JAR_DIR="$(pwd)/thirdparty/ $(pwd)/jar/ /usr/local/java/ /usr/local/java/jar /usr/local/share/java/ /usr/local/share/java/jar/ /usr/local/lib/java/ $(find /usr/share/java/ -maxdepth 1 -type d 2>/dev/null | sort) $(find /usr/lib64/ -maxdepth 1 -type d 2>/dev/null) $(find  /usr/lib/ -maxdepth 1 -type d 2>/dev/null) $(find /usr/share/*/lib -maxdepth 1 -type d 2>/dev/null) /opt/java/lib/"
  
- import javax.help.JHelp;
+     jar_resolved="$(find $DEFAULT_JAR_DIR -maxdepth 1 \( -type f -name 'jhall.jar' -or -name 'libjhall.jar' -or -name 'libjhall-java.jar' -or -name 'jhall*.jar' \) 2>/dev/null |tr '\n' ':')."
  
- public class conftest {
+     if test ! -f conftestSharedChecker.class ; then
+     cat << \EOF > conftestSharedChecker.java
 -// #line 15852 "configure"
++// #line 15854 "configure"
+ import java.util.regex.Pattern;
+ import java.io.File;
+ import java.io.IOException;
+ import java.lang.reflect.Field;
+ import java.lang.reflect.InvocationTargetException;
+ import java.lang.reflect.Method;
+ import java.net.URL;
+ import java.net.URLClassLoader;
+ import java.util.ArrayList;
+ public class conftestSharedChecker {
+     /**
+      * Required arguments :
+      *  argv[0]: name of the jar package
+      *  argv[1]: name of the class (with the package prefix)
+      *  argv[2]: possible paths of the jar package (separated by ':')
+      *
+      * Optional arguments:
+      *  argv[3]: field or method used to retrieve the version
+      *  argv[4]: expected version
+      *  argv[5]: String comparator :
+      *      "="  for exact version
+      */
      public static void main(String[] argv) {
+         final String packageName = argv[0];
+         final String className = argv[1];
+         final String[] jarList = argv[2].split(":");
+         ArrayList<URL> found = new ArrayList<>();
+         for(String jar : jarList)
+         {
+             try {
+                 File f = new File(jar);
+                 if (f.exists()) {
+                     found.add(f.toURI().toURL());
+                 }
+             } catch (IOException ex) {
+                 System.err.println(ex.toString());
+             }
+         }
+         URLClassLoader localClassLoader = new URLClassLoader(found.toArray(new URL[found.size()]));
+         URL klassURL = null;
+         Class<?> klass = null;
+         try {
+             String resourceName = className.replace(".", "/") + ".class";
+             klassURL = localClassLoader.getResource(resourceName);
+             klass = localClassLoader.loadClass(className);
+         } catch (ClassNotFoundException ex) {
+             System.err.println(className + " not found");
+             System.exit(-1);
+         }
+         String pathURL = klassURL.getPath().substring(0, klassURL.getPath().indexOf('!'));
+         String path = pathURL.substring(pathURL.indexOf(':') + 1);
+         System.err.println("found: " + path);
+         if (argv.length > 3) {
+             checkVersion(klass, argv);
+         }
+         System.out.println(path);
+     }
+     private static void checkVersion(Class<?> klass, String[] argv) throws SecurityException, IllegalArgumentException {
+         final String versionMethod = argv[3];
+         final String expected = argv[4];
+         final String atLeastOrEqual;
+         if (argv.length > 5)
+             atLeastOrEqual = argv[5];
+         else
+             atLeastOrEqual = "<=";
+         try {
+             try {
+                 Field field = klass.getField(versionMethod);
+                 Object value = field.get(null);
+                 compareAndDisplay(atLeastOrEqual, expected, value);
+             } catch (NoSuchFieldException fe) {
+                 Method method = null;
+                 try {
+                     method = klass.getMethod(versionMethod);
+                 } catch (NoSuchMethodException ex) {
+                     System.err.println(ex.toString());
+                     System.exit(-3);
+                 }
+                 try {
+                     Object value = method.invoke(null);
+                     compareAndDisplay(atLeastOrEqual, expected, value);
+                 } catch (NullPointerException ex) {
+                     Object value = method.invoke(klass.newInstance());
+                     compareAndDisplay(atLeastOrEqual, expected, value);
+                 }
+             }
+         } catch (IllegalAccessException ex) {
+             System.err.println(ex);
+             System.exit(-2);
+         } catch (InvocationTargetException ex) {
+             System.err.println(ex);
+             System.exit(-2);
+         } catch (InstantiationException ex) {
+             System.err.println(ex);
+             System.exit(-2);
+         }
+     }
  
+     private static void compareAndDisplay(String atLeastOrEqual, String expected, Object value) {
+         int cmp = compare(expected, value.toString());
+         switch(atLeastOrEqual) {
+             case ">":
+                 if (cmp > 0) {
+                     return;
+                 } else {
+                     System.err.println("expected "+atLeastOrEqual+""+expected+" but got "+value);
+                     System.exit(-4);
+                 }
+             case "==":
+                 if (cmp == 0) {
+                     return;
+                 } else {
+                     System.err.println("expected "+atLeastOrEqual+""+expected+" but got "+value);
+                     System.exit(-4);
+                 }
+             case "<=":
+                 if (cmp <= 0) {
+                     return;
+                 } else {
+                     System.err.println("expected "+atLeastOrEqual+""+expected+" but got "+value);
+                     System.exit(-4);
+                 }
+             default:
+                 System.err.println("unable to compare with "+atLeastOrEqual);
+                 System.exit(-4);
+         }
      }
  
      private static int compare(String v1, String v2) {
@@@ -14922,27 -16058,152 +16060,152 @@@ $as_echo "$as_me: WARNING: Could not fi
      { $as_echo "$as_me:${as_lineno-$LINENO}: checking javahelp2" >&5
  $as_echo_n "checking javahelp2... " >&6; }
      PACKAGE_JAR_FILE=
-     found_jar=no
-     saved_ac_java_classpath=$ac_java_classpath
-     DEFAULT_JAR_DIR="/usr/share/java /usr/lib/java /usr/share/java /usr/share/java/jar /opt/java/lib /usr/local/java /usr/local/java/jar /usr/local/share/java /usr/local/share/java/jar /usr/local/lib/java $(find /usr/share/java/ -maxdepth 1 -type d 2>/dev/null) $(find /usr/lib64/ -maxdepth 1 -type d 2>/dev/null) $(find  /usr/lib/ -maxdepth 1 -type d 2>/dev/null)  $(find /usr/share/*/lib -maxdepth 1 -type d 2>/dev/null)"
-     for jardir in "`pwd`/thirdparty" "`pwd`/jar" $DEFAULT_JAR_DIR; do
-       for jar in "$jardir/javahelp2.jar" "$jardir/libjavahelp2.jar" "$jardir/libjavahelp2-java.jar" "$jardir/javahelp2*.jar"; do
- # TODO check the behaviour when spaces
-         jars_resolved=`ls $jar 2>/dev/null`
-         for jar_resolved in $jars_resolved; do # If several jars matches
-           if test -e "$jar_resolved"; then
-             export ac_java_classpath="$jar_resolved:$ac_java_classpath"
  
-     cat << \EOF > conftest.java
- // #line 14938 "configure"
- import java.util.regex.Pattern;
+     DEFAULT_JAR_DIR="$(pwd)/thirdparty/ $(pwd)/jar/ /usr/local/java/ /usr/local/java/jar /usr/local/share/java/ /usr/local/share/java/jar/ /usr/local/lib/java/ $(find /usr/share/java/ -maxdepth 1 -type d 2>/dev/null | sort) $(find /usr/lib64/ -maxdepth 1 -type d 2>/dev/null) $(find  /usr/lib/ -maxdepth 1 -type d 2>/dev/null) $(find /usr/share/*/lib -maxdepth 1 -type d 2>/dev/null) /opt/java/lib/"
  
- import javax.help.JHelp;
+     jar_resolved="$(find $DEFAULT_JAR_DIR -maxdepth 1 \( -type f -name 'javahelp2.jar' -or -name 'libjavahelp2.jar' -or -name 'libjavahelp2-java.jar' -or -name 'javahelp2*.jar' \) 2>/dev/null |tr '\n' ':')."
  
- public class conftest {
+     if test ! -f conftestSharedChecker.class ; then
+     cat << \EOF > conftestSharedChecker.java
 -// #line 16069 "configure"
++// #line 16071 "configure"
+ import java.util.regex.Pattern;
+ import java.io.File;
+ import java.io.IOException;
+ import java.lang.reflect.Field;
+ import java.lang.reflect.InvocationTargetException;
+ import java.lang.reflect.Method;
+ import java.net.URL;
+ import java.net.URLClassLoader;
+ import java.util.ArrayList;
+ public class conftestSharedChecker {
+     /**
+      * Required arguments :
+      *  argv[0]: name of the jar package
+      *  argv[1]: name of the class (with the package prefix)
+      *  argv[2]: possible paths of the jar package (separated by ':')
+      *
+      * Optional arguments:
+      *  argv[3]: field or method used to retrieve the version
+      *  argv[4]: expected version
+      *  argv[5]: String comparator :
+      *      "="  for exact version
+      */
      public static void main(String[] argv) {
+         final String packageName = argv[0];
+         final String className = argv[1];
+         final String[] jarList = argv[2].split(":");
+         ArrayList<URL> found = new ArrayList<>();
+         for(String jar : jarList)
+         {
+             try {
+                 File f = new File(jar);
+                 if (f.exists()) {
+                     found.add(f.toURI().toURL());
+                 }
+             } catch (IOException ex) {
+                 System.err.println(ex.toString());
+             }
+         }
+         URLClassLoader localClassLoader = new URLClassLoader(found.toArray(new URL[found.size()]));
+         URL klassURL = null;
+         Class<?> klass = null;
+         try {
+             String resourceName = className.replace(".", "/") + ".class";
+             klassURL = localClassLoader.getResource(resourceName);
+             klass = localClassLoader.loadClass(className);
+         } catch (ClassNotFoundException ex) {
+             System.err.println(className + " not found");
+             System.exit(-1);
+         }
+         String pathURL = klassURL.getPath().substring(0, klassURL.getPath().indexOf('!'));
+         String path = pathURL.substring(pathURL.indexOf(':') + 1);
+         System.err.println("found: " + path);
+         if (argv.length > 3) {
+             checkVersion(klass, argv);
+         }
+         System.out.println(path);
+     }
  
+     private static void checkVersion(Class<?> klass, String[] argv) throws SecurityException, IllegalArgumentException {
+         final String versionMethod = argv[3];
+         final String expected = argv[4];
+         final String atLeastOrEqual;
+         if (argv.length > 5)
+             atLeastOrEqual = argv[5];
+         else
+             atLeastOrEqual = "<=";
+         try {
+             try {
+                 Field field = klass.getField(versionMethod);
+                 Object value = field.get(null);
+                 compareAndDisplay(atLeastOrEqual, expected, value);
+             } catch (NoSuchFieldException fe) {
+                 Method method = null;
+                 try {
+                     method = klass.getMethod(versionMethod);
+                 } catch (NoSuchMethodException ex) {
+                     System.err.println(ex.toString());
+                     System.exit(-3);
+                 }
+                 try {
+                     Object value = method.invoke(null);
+                     compareAndDisplay(atLeastOrEqual, expected, value);
+                 } catch (NullPointerException ex) {
+                     Object value = method.invoke(klass.newInstance());
+                     compareAndDisplay(atLeastOrEqual, expected, value);
+                 }
+             }
+         } catch (IllegalAccessException ex) {
+             System.err.println(ex);
+             System.exit(-2);
+         } catch (InvocationTargetException ex) {
+             System.err.println(ex);
+             System.exit(-2);
+         } catch (InstantiationException ex) {
+             System.err.println(ex);
+             System.exit(-2);
+         }
+     }
+     private static void compareAndDisplay(String atLeastOrEqual, String expected, Object value) {
+         int cmp = compare(expected, value.toString());
+         switch(atLeastOrEqual) {
+             case ">":
+                 if (cmp > 0) {
+                     return;
+                 } else {
+                     System.err.println("expected "+atLeastOrEqual+""+expected+" but got "+value);
+                     System.exit(-4);
+                 }
+             case "==":
+                 if (cmp == 0) {
+                     return;
+                 } else {
+                     System.err.println("expected "+atLeastOrEqual+""+expected+" but got "+value);
+                     System.exit(-4);
+                 }
+             case "<=":
+                 if (cmp <= 0) {
+                     return;
+                 } else {
+                     System.err.println("expected "+atLeastOrEqual+""+expected+" but got "+value);
+                     System.exit(-4);
+                 }
+             default:
+                 System.err.println("unable to compare with "+atLeastOrEqual);
+                 System.exit(-4);
+         }
      }
  
      private static int compare(String v1, String v2) {
@@@ -15035,32 -16271,159 +16273,159 @@@ $as_echo "$as_me: WARNING: Could not fi
                  JHALL=$PACKAGE_JAR_FILE
  
  
 -                # Console API
 +                # Lucene Apache - core
  
 -    { $as_echo "$as_me:${as_lineno-$LINENO}: checking jrosetta-API" >&5
 -$as_echo_n "checking jrosetta-API... " >&6; }
 +    { $as_echo "$as_me:${as_lineno-$LINENO}: checking lucene-core" >&5
 +$as_echo_n "checking lucene-core... " >&6; }
      PACKAGE_JAR_FILE=
-     found_jar=no
-     saved_ac_java_classpath=$ac_java_classpath
-     DEFAULT_JAR_DIR="/usr/share/java /usr/lib/java /usr/share/java /usr/share/java/jar /opt/java/lib /usr/local/java /usr/local/java/jar /usr/local/share/java /usr/local/share/java/jar /usr/local/lib/java $(find /usr/share/java/ -maxdepth 1 -type d 2>/dev/null) $(find /usr/lib64/ -maxdepth 1 -type d 2>/dev/null) $(find  /usr/lib/ -maxdepth 1 -type d 2>/dev/null)  $(find /usr/share/*/lib -maxdepth 1 -type d 2>/dev/null)"
-     for jardir in "`pwd`/thirdparty" "`pwd`/jar" $DEFAULT_JAR_DIR; do
-       for jar in "$jardir/lucene-core.jar" "$jardir/liblucene-core.jar" "$jardir/liblucene-core-java.jar" "$jardir/lucene-core*.jar"; do
- # TODO check the behaviour when spaces
-         jars_resolved=`ls $jar 2>/dev/null`
-         for jar_resolved in $jars_resolved; do # If several jars matches
-           if test -e "$jar_resolved"; then
-             export ac_java_classpath="$jar_resolved:$ac_java_classpath"
  
-     cat << \EOF > conftest.java
- // #line 15056 "configure"
- import java.util.regex.Pattern;
+     DEFAULT_JAR_DIR="$(pwd)/thirdparty/ $(pwd)/jar/ /usr/local/java/ /usr/local/java/jar /usr/local/share/java/ /usr/local/share/java/jar/ /usr/local/lib/java/ $(find /usr/share/java/ -maxdepth 1 -type d 2>/dev/null | sort) $(find /usr/lib64/ -maxdepth 1 -type d 2>/dev/null) $(find  /usr/lib/ -maxdepth 1 -type d 2>/dev/null) $(find /usr/share/*/lib -maxdepth 1 -type d 2>/dev/null) /opt/java/lib/"
  
- import org.apache.lucene.LucenePackage;
 -    jar_resolved="$(find $DEFAULT_JAR_DIR -maxdepth 1 \( -type f -name 'jrosetta-API.jar' -or -name 'libjrosetta-API.jar' -or -name 'libjrosetta-API-java.jar' -or -name 'jrosetta-API*.jar' \) 2>/dev/null |tr '\n' ':')."
++    jar_resolved="$(find $DEFAULT_JAR_DIR -maxdepth 1 \( -type f -name 'lucene-core.jar' -or -name 'liblucene-core.jar' -or -name 'liblucene-core-java.jar' -or -name 'lucene-core*.jar' \) 2>/dev/null |tr '\n' ':')."
  
- public class conftest {
+     if test ! -f conftestSharedChecker.class ; then
+     cat << \EOF > conftestSharedChecker.java
 -// #line 16289 "configure"
++// #line 16291 "configure"
+ import java.util.regex.Pattern;
+ import java.io.File;
+ import java.io.IOException;
+ import java.lang.reflect.Field;
+ import java.lang.reflect.InvocationTargetException;
+ import java.lang.reflect.Method;
+ import java.net.URL;
+ import java.net.URLClassLoader;
+ import java.util.ArrayList;
+ public class conftestSharedChecker {
+     /**
+      * Required arguments :
+      *  argv[0]: name of the jar package
+      *  argv[1]: name of the class (with the package prefix)
+      *  argv[2]: possible paths of the jar package (separated by ':')
+      *
+      * Optional arguments:
+      *  argv[3]: field or method used to retrieve the version
+      *  argv[4]: expected version
+      *  argv[5]: String comparator :
+      *      "="  for exact version
+      */
      public static void main(String[] argv) {
+         final String packageName = argv[0];
+         final String className = argv[1];
+         final String[] jarList = argv[2].split(":");
+         ArrayList<URL> found = new ArrayList<>();
+         for(String jar : jarList)
+         {
+             try {
+                 File f = new File(jar);
+                 if (f.exists()) {
+                     found.add(f.toURI().toURL());
+                 }
+             } catch (IOException ex) {
+                 System.err.println(ex.toString());
+             }
+         }
+         URLClassLoader localClassLoader = new URLClassLoader(found.toArray(new URL[found.size()]));
+         URL klassURL = null;
+         Class<?> klass = null;
+         try {
+             String resourceName = className.replace(".", "/") + ".class";
+             klassURL = localClassLoader.getResource(resourceName);
+             klass = localClassLoader.loadClass(className);
+         } catch (ClassNotFoundException ex) {
+             System.err.println(className + " not found");
+             System.exit(-1);
+         }
+         String pathURL = klassURL.getPath().substring(0, klassURL.getPath().indexOf('!'));
+         String path = pathURL.substring(pathURL.indexOf(':') + 1);
+         System.err.println("found: " + path);
+         if (argv.length > 3) {
+             checkVersion(klass, argv);
+         }
+         System.out.println(path);
+     }
+     private static void checkVersion(Class<?> klass, String[] argv) throws SecurityException, IllegalArgumentException {
+         final String versionMethod = argv[3];
+         final String expected = argv[4];
+         final String atLeastOrEqual;
+         if (argv.length > 5)
+             atLeastOrEqual = argv[5];
+         else
+             atLeastOrEqual = "<=";
  
+         try {
+             try {
+                 Field field = klass.getField(versionMethod);
+                 Object value = field.get(null);
+                 compareAndDisplay(atLeastOrEqual, expected, value);
+             } catch (NoSuchFieldException fe) {
+                 Method method = null;
+                 try {
+                     method = klass.getMethod(versionMethod);
+                 } catch (NoSuchMethodException ex) {
+                     System.err.println(ex.toString());
+                     System.exit(-3);
+                 }
+                 try {
+                     Object value = method.invoke(null);
+                     compareAndDisplay(atLeastOrEqual, expected, value);
+                 } catch (NullPointerException ex) {
+                     Object value = method.invoke(klass.newInstance());
+                     compareAndDisplay(atLeastOrEqual, expected, value);
+                 }
+             }
+         } catch (IllegalAccessException ex) {
+             System.err.println(ex);
+             System.exit(-2);
+         } catch (InvocationTargetException ex) {
+             System.err.println(ex);
+             System.exit(-2);
+         } catch (InstantiationException ex) {
+             System.err.println(ex);
+             System.exit(-2);
+         }
+     }
+     private static void compareAndDisplay(String atLeastOrEqual, String expected, Object value) {
+         int cmp = compare(expected, value.toString());
+         switch(atLeastOrEqual) {
+             case ">":
+                 if (cmp > 0) {
+                     return;
+                 } else {
+                     System.err.println("expected "+atLeastOrEqual+""+expected+" but got "+value);
+                     System.exit(-4);
+                 }
+             case "==":
+                 if (cmp == 0) {
+                     return;
+                 } else {
+                     System.err.println("expected "+atLeastOrEqual+""+expected+" but got "+value);
+                     System.exit(-4);
+                 }
+             case "<=":
+                 if (cmp <= 0) {
+                     return;
+                 } else {
+                     System.err.println("expected "+atLeastOrEqual+""+expected+" but got "+value);
+                     System.exit(-4);
+                 }
+             default:
+                 System.err.println("unable to compare with "+atLeastOrEqual);
+                 System.exit(-4);
+         }
      }
  
      private static int compare(String v1, String v2) {
  
      CLASSPATH=$ac_java_classpath
      export CLASSPATH
-     cmd="$JAVAC ${JAVAC_FLAGS} conftest.java"
-     if (echo $cmd >&5 ; eval $cmd >conftest.java.output 2>&5) ; then
-        if test ""no"" = "no"; then
-            echo "yes" >&5
-               { $as_echo "$as_me:${as_lineno-$LINENO}: result: $jar_resolved" >&5
- $as_echo "$jar_resolved" >&6; }
-               found_jar=yes
-               PACKAGE_JAR_FILE=$jar_resolved
-               break 3
-        else
-               cmd="$JAVA conftest"
-               if (echo $cmd >&5 ; eval $cmd >conftest.java.output 2>&5); then
-                echo "yes" >&5
-               { $as_echo "$as_me:${as_lineno-$LINENO}: result: $jar_resolved" >&5
- $as_echo "$jar_resolved" >&6; }
-               found_jar=yes
-               PACKAGE_JAR_FILE=$jar_resolved
-               break 3
-             else
-                 echo "configure: failed program was:" >&5
-                 cat conftest.java >&5
-                 if test -s conftest.java.output; then
-                    STDOUT=`cat conftest.java.output`
-                 fi
-                 echo "configure: CLASSPATH was $CLASSPATH" >&5
-             ac_java_classpath=$saved_ac_java_classpath
-                             fi
-         fi
-         if test -f conftest.java.output; then
-            rm conftest.java.output
-         fi
+     cmd="$JAVAC ${JAVAC_FLAGS} conftestSharedChecker.java"
+     if (echo $cmd >&5 ; eval $cmd >conftestSharedChecker.java.output 2>&5) ; then
+         echo "configure: conftestSharedChecker.class available" >&5
      else
          echo "configure: failed program was:" >&5
-         cat conftest.java >&5
+         cat conftestSharedChecker.java >&5
          echo "configure: CLASSPATH was $CLASSPATH" >&5
+     fi
  
-             ac_java_classpath=$saved_ac_java_classpath
-             fi
+     fi
  
-           fi
-         done
-       done
-     done
-     if test "$found_jar" = "no"; then
+     CLASSPATH=$ac_java_classpath
+     export CLASSPATH
 -    cmd="$JAVA conftestSharedChecker jrosetta-API com.artenum.rosetta.interfaces.core.ConsoleConfiguration $jar_resolved   "
++    cmd="$JAVA conftestSharedChecker lucene-core org.apache.lucene.LucenePackage $jar_resolved   "
+     if (echo $cmd >&5 ; eval $cmd >conftestSharedChecker.java.output 2>&5); then
+         PACKAGE_JAR_FILE=$(tail -n 1 conftestSharedChecker.java.output);
+         { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PACKAGE_JAR_FILE" >&5
+ $as_echo "$PACKAGE_JAR_FILE" >&6; }
+         echo "yes" >&5
+         # append the found file to the classpath to manage jar dependency
+         ac_java_classpath="$ac_java_classpath:$PACKAGE_JAR_FILE"
+     else
        { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  $as_echo "no" >&6; }
 -      if test ""yes"" = "yes"; then
 -         { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Could not find or use the Java package/jar jrosetta-API used by JRosetta : Console API Artenum / Scilab (looking for package com.artenum.rosetta.interfaces.core.ConsoleConfiguration)" >&5
 -$as_echo "$as_me: WARNING: Could not find or use the Java package/jar jrosetta-API used by JRosetta : Console API Artenum / Scilab (looking for package com.artenum.rosetta.interfaces.core.ConsoleConfiguration)" >&2;}
 +      if test "" = "yes"; then
 +         { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Could not find or use the Java package/jar lucene-core used by Lucene (looking for package org.apache.lucene.LucenePackage)" >&5
 +$as_echo "$as_me: WARNING: Could not find or use the Java package/jar lucene-core used by Lucene (looking for package org.apache.lucene.LucenePackage)" >&2;}
        else
 -          as_fn_error $? "Could not find or use the Java package/jar jrosetta-API used by JRosetta : Console API Artenum / Scilab (looking for package com.artenum.rosetta.interfaces.core.ConsoleConfiguration)" "$LINENO" 5
 +          as_fn_error $? "Could not find or use the Java package/jar lucene-core used by Lucene (looking for package org.apache.lucene.LucenePackage)" "$LINENO" 5
        fi
      fi
+     if test -f conftestSharedChecker.java.output; then
+         rm conftestSharedChecker.java.output
+     fi
  
 -                if test -z "$PACKAGE_JAR_FILE"; then
 +                LUCENE=$PACKAGE_JAR_FILE
  
  
-     { $as_echo "$as_me:${as_lineno-$LINENO}: checking minimal version (5.2.1) of lucene-core" >&5
- $as_echo_n "checking minimal version (5.2.1) of lucene-core... " >&6; }
-    saved_ac_java_classpath=$ac_java_classpath
-    export ac_java_classpath="$LUCENE:$ac_java_classpath"
-    if test "x" == "x"; then
++                # Lucene Apache - analyzers-common
  
-     cat << \EOF > conftest.java
- // #line 15162 "configure"
- import java.util.regex.Pattern;
 -    { $as_echo "$as_me:${as_lineno-$LINENO}: checking jrosetta-api" >&5
 -$as_echo_n "checking jrosetta-api... " >&6; }
 +
- import org.apache.lucene.util.Constants;
 +
- public class conftest {
-     public static void main(String[] argv) {
-         String minVersion="5.2.1";
++    { $as_echo "$as_me:${as_lineno-$LINENO}: checking lucene-analyzers-common" >&5
++$as_echo_n "checking lucene-analyzers-common... " >&6; }
+     PACKAGE_JAR_FILE=
  
-                             System.out.println(Constants.LUCENE_VERSION);
-                                   if (compare(minVersion, Constants.LUCENE_VERSION) > 0) {
-                                    System.exit(-1);
-                                 }
+     DEFAULT_JAR_DIR="$(pwd)/thirdparty/ $(pwd)/jar/ /usr/local/java/ /usr/local/java/jar /usr/local/share/java/ /usr/local/share/java/jar/ /usr/local/lib/java/ $(find /usr/share/java/ -maxdepth 1 -type d 2>/dev/null | sort) $(find /usr/lib64/ -maxdepth 1 -type d 2>/dev/null) $(find  /usr/lib/ -maxdepth 1 -type d 2>/dev/null) $(find /usr/share/*/lib -maxdepth 1 -type d 2>/dev/null) /opt/java/lib/"
  
-     }
 -    jar_resolved="$(find $DEFAULT_JAR_DIR -maxdepth 1 \( -type f -name 'jrosetta-api.jar' -or -name 'libjrosetta-api.jar' -or -name 'libjrosetta-api-java.jar' -or -name 'jrosetta-api*.jar' \) 2>/dev/null |tr '\n' ':')."
++    jar_resolved="$(find $DEFAULT_JAR_DIR -maxdepth 1 \( -type f -name 'lucene-analyzers-common.jar' -or -name 'liblucene-analyzers-common.jar' -or -name 'liblucene-analyzers-common-java.jar' -or -name 'lucene-analyzers-common*.jar' \) 2>/dev/null |tr '\n' ':')."
  
-     private static int compare(String v1, String v2) {
-         String s1 = normalisedVersion(v1);
-         String s2 = normalisedVersion(v2);
-         return s1.compareTo(s2);
-     }
+     if test ! -f conftestSharedChecker.class ; then
  
-     private static String normalisedVersion(String version) {
-         return normalisedVersion(version, ".", 4);
-     }
+     cat << \EOF > conftestSharedChecker.java
 -// #line 16505 "configure"
++// #line 16510 "configure"
+ import java.util.regex.Pattern;
+ import java.io.File;
+ import java.io.IOException;
+ import java.lang.reflect.Field;
+ import java.lang.reflect.InvocationTargetException;
+ import java.lang.reflect.Method;
+ import java.net.URL;
+ import java.net.URLClassLoader;
+ import java.util.ArrayList;
+ public class conftestSharedChecker {
+     /**
+      * Required arguments :
+      *  argv[0]: name of the jar package
+      *  argv[1]: name of the class (with the package prefix)
+      *  argv[2]: possible paths of the jar package (separated by ':')
+      *
+      * Optional arguments:
+      *  argv[3]: field or method used to retrieve the version
+      *  argv[4]: expected version
+      *  argv[5]: String comparator :
+      *      "="  for exact version
+      */
+     public static void main(String[] argv) {
+         final String packageName = argv[0];
+         final String className = argv[1];
+         final String[] jarList = argv[2].split(":");
  
-     private static String normalisedVersion(String version, String sep, int maxWidth) {
-         String[] split = Pattern.compile(sep, Pattern.LITERAL).split(version);
-         StringBuilder sb = new StringBuilder();
-         for (String s : split) {
-             sb.append(String.format("%" + maxWidth + 's', s));
+         ArrayList<URL> found = new ArrayList<>();
+         for(String jar : jarList)
+         {
+             try {
+                 File f = new File(jar);
+                 if (f.exists()) {
+                     found.add(f.toURI().toURL());
+                 }
+             } catch (IOException ex) {
+                 System.err.println(ex.toString());
+             }
          }
-         return sb.toString();
-     }
- }
- EOF
  
-     CLASSPATH=$ac_java_classpath
-     export CLASSPATH
-     cmd="$JAVAC ${JAVAC_FLAGS} conftest.java"
-     if (echo $cmd >&5 ; eval $cmd >conftest.java.output 2>&5) ; then
-        if test ""yes"" = "no"; then
-            echo "yes" >&5
-               echo "yes"
-        else
-               cmd="$JAVA conftest"
-               if (echo $cmd >&5 ; eval $cmd >conftest.java.output 2>&5); then
-                echo "yes" >&5
-                   echo "yes"
-             else
-                 echo "configure: failed program was:" >&5
-                 cat conftest.java >&5
-                 if test -s conftest.java.output; then
-                    STDOUT=`cat conftest.java.output`
-                 fi
-                 echo "configure: CLASSPATH was $CLASSPATH" >&5
-                   as_fn_error $? "Wrong version of lucene-core. Expected at least 5.2.1. Found $STDOUT" "$LINENO" 5
-                             fi
-         fi
-         if test -f conftest.java.output; then
-            rm conftest.java.output
-         fi
-     else
-         echo "configure: failed program was:" >&5
-         cat conftest.java >&5
-         echo "configure: CLASSPATH was $CLASSPATH" >&5
-           as_fn_error $? "Wrong version of lucene-core. Expected at least 5.2.1. Found $STDOUT" "$LINENO" 5
-             fi
+         URLClassLoader localClassLoader = new URLClassLoader(found.toArray(new URL[found.size()]));
+         URL klassURL = null;
+         Class<?> klass = null;
+         try {
+             String resourceName = className.replace(".", "/") + ".class";
+             klassURL = localClassLoader.getResource(resourceName);
+             klass = localClassLoader.loadClass(className);
+         } catch (ClassNotFoundException ex) {
+             System.err.println(className + " not found");
+             System.exit(-1);
+         }
  
-    else
+         String pathURL = klassURL.getPath().substring(0, klassURL.getPath().indexOf('!'));
+         String path = pathURL.substring(pathURL.indexOf(':') + 1);
+         System.err.println("found: " + path);
  
-     cat << \EOF > conftest.java
- // #line 15234 "configure"
- import java.util.regex.Pattern;
+         if (argv.length > 3) {
+             checkVersion(klass, argv);
+         }
  
- import org.apache.lucene.util.Constants;
+         System.out.println(path);
+     }
  
- public class conftest {
-     public static void main(String[] argv) {
-         String minVersion="5.2.1";
+     private static void checkVersion(Class<?> klass, String[] argv) throws SecurityException, IllegalArgumentException {
+         final String versionMethod = argv[3];
+         final String expected = argv[4];
+         final String atLeastOrEqual;
+         if (argv.length > 5)
+             atLeastOrEqual = argv[5];
+         else
+             atLeastOrEqual = "<=";
  
-                             System.out.println(Constants.LUCENE_VERSION);
-                                   if (compare(minVersion, Constants.LUCENE_VERSION) != 0) {
-                                    System.exit(-1);
-                                 }
+         try {
+             try {
+                 Field field = klass.getField(versionMethod);
+                 Object value = field.get(null);
+                 compareAndDisplay(atLeastOrEqual, expected, value);
+             } catch (NoSuchFieldException fe) {
+                 Method method = null;
+                 try {
+                     method = klass.getMethod(versionMethod);
+                 } catch (NoSuchMethodException ex) {
+                     System.err.println(ex.toString());
+                     System.exit(-3);
+                 }
+                 try {
+                     Object value = method.invoke(null);
+                     compareAndDisplay(atLeastOrEqual, expected, value);
+                 } catch (NullPointerException ex) {
+                     Object value = method.invoke(klass.newInstance());
+                     compareAndDisplay(atLeastOrEqual, expected, value);
+                 }
+             }
+         } catch (IllegalAccessException ex) {
+             System.err.println(ex);
+             System.exit(-2);
+         } catch (InvocationTargetException ex) {
+             System.err.println(ex);
+             System.exit(-2);
+         } catch (InstantiationException ex) {
+             System.err.println(ex);
+             System.exit(-2);
+         }
+     }
  
+     private static void compareAndDisplay(String atLeastOrEqual, String expected, Object value) {
+         int cmp = compare(expected, value.toString());
+         switch(atLeastOrEqual) {
+             case ">":
+                 if (cmp > 0) {
+                     return;
+                 } else {
+                     System.err.println("expected "+atLeastOrEqual+""+expected+" but got "+value);
+                     System.exit(-4);
+                 }
+             case "==":
+                 if (cmp == 0) {
+                     return;
+                 } else {
+                     System.err.println("expected "+atLeastOrEqual+""+expected+" but got "+value);
+                     System.exit(-4);
+                 }
+             case "<=":
+                 if (cmp <= 0) {
+                     return;
+                 } else {
+                     System.err.println("expected "+atLeastOrEqual+""+expected+" but got "+value);
+                     System.exit(-4);
+                 }
+             default:
+                 System.err.println("unable to compare with "+atLeastOrEqual);
+                 System.exit(-4);
+         }
      }
  
      private static int compare(String v1, String v2) {
  
      CLASSPATH=$ac_java_classpath
      export CLASSPATH
-     cmd="$JAVAC ${JAVAC_FLAGS} conftest.java"
-     if (echo $cmd >&5 ; eval $cmd >conftest.java.output 2>&5) ; then
-        if test ""no"" = "no"; then
-            echo "yes" >&5
-               { $as_echo "$as_me:${as_lineno-$LINENO}: result: $jar_resolved" >&5
- $as_echo "$jar_resolved" >&6; }
-               found_jar=yes
-               PACKAGE_JAR_FILE=$jar_resolved
-               break 3
-        else
-               cmd="$JAVA conftest"
-               if (echo $cmd >&5 ; eval $cmd >conftest.java.output 2>&5); then
-                echo "yes" >&5
-               { $as_echo "$as_me:${as_lineno-$LINENO}: result: $jar_resolved" >&5
- $as_echo "$jar_resolved" >&6; }
-               found_jar=yes
-               PACKAGE_JAR_FILE=$jar_resolved
-               break 3
-             else
-                 echo "configure: failed program was:" >&5
-                 cat conftest.java >&5
-                 if test -s conftest.java.output; then
-                    STDOUT=`cat conftest.java.output`
-                 fi
-                 echo "configure: CLASSPATH was $CLASSPATH" >&5
-             ac_java_classpath=$saved_ac_java_classpath
-                             fi
-         fi
-         if test -f conftest.java.output; then
-            rm conftest.java.output
-         fi
 -    cmd="$JAVA conftestSharedChecker jrosetta-api com.artenum.rosetta.interfaces.core.ConsoleConfiguration $jar_resolved   "
++    cmd="$JAVA conftestSharedChecker lucene-analyzers-common org.apache.lucene.analysis.standard.StandardAnalyzer $jar_resolved   "
+     if (echo $cmd >&5 ; eval $cmd >conftestSharedChecker.java.output 2>&5); then
+         PACKAGE_JAR_FILE=$(tail -n 1 conftestSharedChecker.java.output);
+         { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PACKAGE_JAR_FILE" >&5
+ $as_echo "$PACKAGE_JAR_FILE" >&6; }
+         echo "yes" >&5
+         # append the found file to the classpath to manage jar dependency
+         ac_java_classpath="$ac_java_classpath:$PACKAGE_JAR_FILE"
      else
        { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  $as_echo "no" >&6; }
        if test "" = "yes"; then
 -         { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Could not find or use the Java package/jar jrosetta-api used by JRosetta : Console API Artenum / Scilab (looking for package com.artenum.rosetta.interfaces.core.ConsoleConfiguration)" >&5
 -$as_echo "$as_me: WARNING: Could not find or use the Java package/jar jrosetta-api used by JRosetta : Console API Artenum / Scilab (looking for package com.artenum.rosetta.interfaces.core.ConsoleConfiguration)" >&2;}
 +         { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Could not find or use the Java package/jar lucene-analyzers-common used by StandardAnalyzer (looking for package org.apache.lucene.analysis.standard.StandardAnalyzer)" >&5
 +$as_echo "$as_me: WARNING: Could not find or use the Java package/jar lucene-analyzers-common used by StandardAnalyzer (looking for package org.apache.lucene.analysis.standard.StandardAnalyzer)" >&2;}
        else
 -          as_fn_error $? "Could not find or use the Java package/jar jrosetta-api used by JRosetta : Console API Artenum / Scilab (looking for package com.artenum.rosetta.interfaces.core.ConsoleConfiguration)" "$LINENO" 5
 +          as_fn_error $? "Could not find or use the Java package/jar lucene-analyzers-common used by StandardAnalyzer (looking for package org.apache.lucene.analysis.standard.StandardAnalyzer)" "$LINENO" 5
        fi
      fi
+     if test -f conftestSharedChecker.java.output; then
+         rm conftestSharedChecker.java.output
+     fi
  
 -                fi
 -                JROSETTA_API=$PACKAGE_JAR_FILE
 +                LUCENE_ANALYZER=$PACKAGE_JAR_FILE
  
  
 -                # Console Core
 +                # Lucene Apache - lucene-queryparser
  
 -    { $as_echo "$as_me:${as_lineno-$LINENO}: checking jrosetta-engine" >&5
 -$as_echo_n "checking jrosetta-engine... " >&6; }
 +    { $as_echo "$as_me:${as_lineno-$LINENO}: checking lucene-queryparser" >&5
 +$as_echo_n "checking lucene-queryparser... " >&6; }
      PACKAGE_JAR_FILE=
-     found_jar=no
-     saved_ac_java_classpath=$ac_java_classpath
-     DEFAULT_JAR_DIR="/usr/share/java /usr/lib/java /usr/share/java /usr/share/java/jar /opt/java/lib /usr/local/java /usr/local/java/jar /usr/local/share/java /usr/local/share/java/jar /usr/local/lib/java $(find /usr/share/java/ -maxdepth 1 -type d 2>/dev/null) $(find /usr/lib64/ -maxdepth 1 -type d 2>/dev/null) $(find  /usr/lib/ -maxdepth 1 -type d 2>/dev/null)  $(find /usr/share/*/lib -maxdepth 1 -type d 2>/dev/null)"
-     for jardir in "`pwd`/thirdparty" "`pwd`/jar" $DEFAULT_JAR_DIR; do
-       for jar in "$jardir/lucene-queryparser.jar" "$jardir/liblucene-queryparser.jar" "$jardir/liblucene-queryparser-java.jar" "$jardir/lucene-queryparser*.jar"; do
- # TODO check the behaviour when spaces
-         jars_resolved=`ls $jar 2>/dev/null`
-         for jar_resolved in $jars_resolved; do # If several jars matches
-           if test -e "$jar_resolved"; then
-             export ac_java_classpath="$jar_resolved:$ac_java_classpath"
  
-     cat << \EOF > conftest.java
- // #line 15442 "configure"
- import java.util.regex.Pattern;
+     DEFAULT_JAR_DIR="$(pwd)/thirdparty/ $(pwd)/jar/ /usr/local/java/ /usr/local/java/jar /usr/local/share/java/ /usr/local/share/java/jar/ /usr/local/lib/java/ $(find /usr/share/java/ -maxdepth 1 -type d 2>/dev/null | sort) $(find /usr/lib64/ -maxdepth 1 -type d 2>/dev/null) $(find  /usr/lib/ -maxdepth 1 -type d 2>/dev/null) $(find /usr/share/*/lib -maxdepth 1 -type d 2>/dev/null) /opt/java/lib/"
  
- import org.apache.lucene.queryparser.classic.QueryParser;
 -    jar_resolved="$(find $DEFAULT_JAR_DIR -maxdepth 1 \( -type f -name 'jrosetta-engine.jar' -or -name 'libjrosetta-engine.jar' -or -name 'libjrosetta-engine-java.jar' -or -name 'jrosetta-engine*.jar' \) 2>/dev/null |tr '\n' ':')."
++    jar_resolved="$(find $DEFAULT_JAR_DIR -maxdepth 1 \( -type f -name 'lucene-queryparser.jar' -or -name 'liblucene-queryparser.jar' -or -name 'liblucene-queryparser-java.jar' -or -name 'lucene-queryparser*.jar' \) 2>/dev/null |tr '\n' ':')."
  
- public class conftest {
+     if test ! -f conftestSharedChecker.class ; then
+     cat << \EOF > conftestSharedChecker.java
 -// #line 16725 "configure"
++// #line 16729 "configure"
+ import java.util.regex.Pattern;
+ import java.io.File;
+ import java.io.IOException;
+ import java.lang.reflect.Field;
+ import java.lang.reflect.InvocationTargetException;
+ import java.lang.reflect.Method;
+ import java.net.URL;
+ import java.net.URLClassLoader;
+ import java.util.ArrayList;
+ public class conftestSharedChecker {
+     /**
+      * Required arguments :
+      *  argv[0]: name of the jar package
+      *  argv[1]: name of the class (with the package prefix)
+      *  argv[2]: possible paths of the jar package (separated by ':')
+      *
+      * Optional arguments:
+      *  argv[3]: field or method used to retrieve the version
+      *  argv[4]: expected version
+      *  argv[5]: String comparator :
+      *      "="  for exact version
+      */
      public static void main(String[] argv) {
+         final String packageName = argv[0];
+         final String className = argv[1];
+         final String[] jarList = argv[2].split(":");
+         ArrayList<URL> found = new ArrayList<>();
+         for(String jar : jarList)
+         {
+             try {
+                 File f = new File(jar);
+                 if (f.exists()) {
+                     found.add(f.toURI().toURL());
+                 }
+             } catch (IOException ex) {
+                 System.err.println(ex.toString());
+             }
+         }
+         URLClassLoader localClassLoader = new URLClassLoader(found.toArray(new URL[found.size()]));
+         URL klassURL = null;
+         Class<?> klass = null;
+         try {
+             String resourceName = className.replace(".", "/") + ".class";
+             klassURL = localClassLoader.getResource(resourceName);
+             klass = localClassLoader.loadClass(className);
+         } catch (ClassNotFoundException ex) {
+             System.err.println(className + " not found");
+             System.exit(-1);
+         }
+         String pathURL = klassURL.getPath().substring(0, klassURL.getPath().indexOf('!'));
+         String path = pathURL.substring(pathURL.indexOf(':') + 1);
+         System.err.println("found: " + path);
+         if (argv.length > 3) {
+             checkVersion(klass, argv);
+         }
+         System.out.println(path);
+     }
+     private static void checkVersion(Class<?> klass, String[] argv) throws SecurityException, IllegalArgumentException {
+         final String versionMethod = argv[3];
+         final String expected = argv[4];
+         final String atLeastOrEqual;
+         if (argv.length > 5)
+             atLeastOrEqual = argv[5];
+         else
+             atLeastOrEqual = "<=";
  
+         try {
+             try {
+                 Field field = klass.getField(versionMethod);
+                 Object value = field.get(null);
+                 compareAndDisplay(atLeastOrEqual, expected, value);
+             } catch (NoSuchFieldException fe) {
+                 Method method = null;
+                 try {
+                     method = klass.getMethod(versionMethod);
+                 } catch (NoSuchMethodException ex) {
+                     System.err.println(ex.toString());
+                     System.exit(-3);
+                 }
+                 try {
+                     Object value = method.invoke(null);
+                     compareAndDisplay(atLeastOrEqual, expected, value);
+                 } catch (NullPointerException ex) {
+                     Object value = method.invoke(klass.newInstance());
+                     compareAndDisplay(atLeastOrEqual, expected, value);
+                 }
+             }
+         } catch (IllegalAccessException ex) {
+             System.err.println(ex);
+             System.exit(-2);
+         } catch (InvocationTargetException ex) {
+             System.err.println(ex);
+             System.exit(-2);
+         } catch (InstantiationException ex) {
+             System.err.println(ex);
+             System.exit(-2);
+         }
+     }
+     private static void compareAndDisplay(String atLeastOrEqual, String expected, Object value) {
+         int cmp = compare(expected, value.toString());
+         switch(atLeastOrEqual) {
+             case ">":
+                 if (cmp > 0) {
+                     return;
+                 } else {
+                     System.err.println("expected "+atLeastOrEqual+""+expected+" but got "+value);
+                     System.exit(-4);
+                 }
+             case "==":
+                 if (cmp == 0) {
+                     return;
+                 } else {
+                     System.err.println("expected "+atLeastOrEqual+""+expected+" but got "+value);
+                     System.exit(-4);
+                 }
+             case "<=":
+                 if (cmp <= 0) {
+                     return;
+                 } else {
+                     System.err.println("expected "+atLeastOrEqual+""+expected+" but got "+value);
+                     System.exit(-4);
+                 }
+             default:
+                 System.err.println("unable to compare with "+atLeastOrEqual);
+                 System.exit(-4);
+         }
      }
  
      private static int compare(String v1, String v2) {
  
      CLASSPATH=$ac_java_classpath
      export CLASSPATH
-     cmd="$JAVAC ${JAVAC_FLAGS} conftest.java"
-     if (echo $cmd >&5 ; eval $cmd >conftest.java.output 2>&5) ; then
-        if test ""no"" = "no"; then
-            echo "yes" >&5
-               { $as_echo "$as_me:${as_lineno-$LINENO}: result: $jar_resolved" >&5
- $as_echo "$jar_resolved" >&6; }
-               found_jar=yes
-               PACKAGE_JAR_FILE=$jar_resolved
-               break 3
-        else
-               cmd="$JAVA conftest"
-               if (echo $cmd >&5 ; eval $cmd >conftest.java.output 2>&5); then
-                echo "yes" >&5
-               { $as_echo "$as_me:${as_lineno-$LINENO}: result: $jar_resolved" >&5
- $as_echo "$jar_resolved" >&6; }
-               found_jar=yes
-               PACKAGE_JAR_FILE=$jar_resolved
-               break 3
-             else
-                 echo "configure: failed program was:" >&5
-                 cat conftest.java >&5
-                 if test -s conftest.java.output; then
-                    STDOUT=`cat conftest.java.output`
-                 fi
-                 echo "configure: CLASSPATH was $CLASSPATH" >&5
-             ac_java_classpath=$saved_ac_java_classpath
-                             fi
-         fi
-         if test -f conftest.java.output; then
-            rm conftest.java.output
-         fi
+     cmd="$JAVAC ${JAVAC_FLAGS} conftestSharedChecker.java"
+     if (echo $cmd >&5 ; eval $cmd >conftestSharedChecker.java.output 2>&5) ; then
+         echo "configure: conftestSharedChecker.class available" >&5
      else
          echo "configure: failed program was:" >&5
-         cat conftest.java >&5
+         cat conftestSharedChecker.java >&5
          echo "configure: CLASSPATH was $CLASSPATH" >&5
+     fi
  
-             ac_java_classpath=$saved_ac_java_classpath
-             fi
+     fi
  
-           fi
-         done
-       done
-     done
-     if test "$found_jar" = "no"; then
+     CLASSPATH=$ac_java_classpath
+     export CLASSPATH
 -    cmd="$JAVA conftestSharedChecker jrosetta-engine com.artenum.rosetta.util.ConfigurationBuilder $jar_resolved getVersion 1.0.4 "
++    cmd="$JAVA conftestSharedChecker lucene-queryparser org.apache.lucene.queryparser.classic.QueryParser $jar_resolved   "
+     if (echo $cmd >&5 ; eval $cmd >conftestSharedChecker.java.output 2>&5); then
+         PACKAGE_JAR_FILE=$(tail -n 1 conftestSharedChecker.java.output);
+         { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PACKAGE_JAR_FILE" >&5
+ $as_echo "$PACKAGE_JAR_FILE" >&6; }
+         echo "yes" >&5
+         # append the found file to the classpath to manage jar dependency
+         ac_java_classpath="$ac_java_classpath:$PACKAGE_JAR_FILE"
+     else
        { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  $as_echo "no" >&6; }
        if test "" = "yes"; then
 -         { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Could not find or use the Java package/jar jrosetta-engine used by JRosetta : Console Core Artenum / Scilab (looking for package com.artenum.rosetta.util.ConfigurationBuilder)" >&5
 -$as_echo "$as_me: WARNING: Could not find or use the Java package/jar jrosetta-engine used by JRosetta : Console Core Artenum / Scilab (looking for package com.artenum.rosetta.util.ConfigurationBuilder)" >&2;}
 +         { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Could not find or use the Java package/jar lucene-queryparser used by QueryParser (looking for package org.apache.lucene.queryparser.classic.QueryParser)" >&5
 +$as_echo "$as_me: WARNING: Could not find or use the Java package/jar lucene-queryparser used by QueryParser (looking for package org.apache.lucene.queryparser.classic.QueryParser)" >&2;}
        else
 -          as_fn_error $? "Could not find or use the Java package/jar jrosetta-engine used by JRosetta : Console Core Artenum / Scilab (looking for package com.artenum.rosetta.util.ConfigurationBuilder)" "$LINENO" 5
 +          as_fn_error $? "Could not find or use the Java package/jar lucene-queryparser used by QueryParser (looking for package org.apache.lucene.queryparser.classic.QueryParser)" "$LINENO" 5
        fi
      fi
+     if test -f conftestSharedChecker.java.output; then
+         rm conftestSharedChecker.java.output
+     fi
  
 -                JROSETTA_ENGINE=$PACKAGE_JAR_FILE
 -
 +                LUCENE_PARSER=$PACKAGE_JAR_FILE
  
  
 -                # MathML rendering solution
 -                # Used in both graphic & help
 +                # Console API
  
 -    { $as_echo "$as_me:${as_lineno-$LINENO}: checking jeuclid-core" >&5
 -$as_echo_n "checking jeuclid-core... " >&6; }
 +    { $as_echo "$as_me:${as_lineno-$LINENO}: checking jrosetta-API" >&5
 +$as_echo_n "checking jrosetta-API... " >&6; }
      PACKAGE_JAR_FILE=
-     found_jar=no
-     saved_ac_java_classpath=$ac_java_classpath
-     DEFAULT_JAR_DIR="/usr/share/java /usr/lib/java /usr/share/java /usr/share/java/jar /opt/java/lib /usr/local/java /usr/local/java/jar /usr/local/share/java /usr/local/share/java/jar /usr/local/lib/java $(find /usr/share/java/ -maxdepth 1 -type d 2>/dev/null) $(find /usr/lib64/ -maxdepth 1 -type d 2>/dev/null) $(find  /usr/lib/ -maxdepth 1 -type d 2>/dev/null)  $(find /usr/share/*/lib -maxdepth 1 -type d 2>/dev/null)"
-     for jardir in "`pwd`/thirdparty" "`pwd`/jar" $DEFAULT_JAR_DIR; do
-       for jar in "$jardir/jrosetta-API.jar" "$jardir/libjrosetta-API.jar" "$jardir/libjrosetta-API-java.jar" "$jardir/jrosetta-API*.jar"; do
- # TODO check the behaviour when spaces
-         jars_resolved=`ls $jar 2>/dev/null`
-         for jar_resolved in $jars_resolved; do # If several jars matches
-           if test -e "$jar_resolved"; then
-             export ac_java_classpath="$jar_resolved:$ac_java_classpath"
  
-     cat << \EOF > conftest.java
- // #line 15559 "configure"
- import java.util.regex.Pattern;
+     DEFAULT_JAR_DIR="$(pwd)/thirdparty/ $(pwd)/jar/ /usr/local/java/ /usr/local/java/jar /usr/local/share/java/ /usr/local/share/java/jar/ /usr/local/lib/java/ $(find /usr/share/java/ -maxdepth 1 -type d 2>/dev/null | sort) $(find /usr/lib64/ -maxdepth 1 -type d 2>/dev/null) $(find  /usr/lib/ -maxdepth 1 -type d 2>/dev/null) $(find /usr/share/*/lib -maxdepth 1 -type d 2>/dev/null) /opt/java/lib/"
  
- import com.artenum.rosetta.interfaces.core.ConsoleConfiguration;
 -    jar_resolved="$(find $DEFAULT_JAR_DIR -maxdepth 1 \( -type f -name 'jeuclid-core.jar' -or -name 'libjeuclid-core.jar' -or -name 'libjeuclid-core-java.jar' -or -name 'jeuclid-core*.jar' \) 2>/dev/null |tr '\n' ':')."
++    jar_resolved="$(find $DEFAULT_JAR_DIR -maxdepth 1 \( -type f -name 'jrosetta-API.jar' -or -name 'libjrosetta-API.jar' -or -name 'libjrosetta-API-java.jar' -or -name 'jrosetta-API*.jar' \) 2>/dev/null |tr '\n' ':')."
  
- public class conftest {
+     if test ! -f conftestSharedChecker.class ; then
+     cat << \EOF > conftestSharedChecker.java
 -// #line 16946 "configure"
++// #line 16948 "configure"
+ import java.util.regex.Pattern;
+ import java.io.File;
+ import java.io.IOException;
+ import java.lang.reflect.Field;
+ import java.lang.reflect.InvocationTargetException;
+ import java.lang.reflect.Method;
+ import java.net.URL;
+ import java.net.URLClassLoader;
+ import java.util.ArrayList;
+ public class conftestSharedChecker {
+     /**
+      * Required arguments :
+      *  argv[0]: name of the jar package
+      *  argv[1]: name of the class (with the package prefix)
+      *  argv[2]: possible paths of the jar package (separated by ':')
+      *
+      * Optional arguments:
+      *  argv[3]: field or method used to retrieve the version
+      *  argv[4]: expected version
+      *  argv[5]: String comparator :
+      *      "="  for exact version
+      */
      public static void main(String[] argv) {
+         final String packageName = argv[0];
+         final String className = argv[1];
+         final String[] jarList = argv[2].split(":");
+         ArrayList<URL> found = new ArrayList<>();
+         for(String jar : jarList)
+         {
+             try {
+                 File f = new File(jar);
+                 if (f.exists()) {
+                     found.add(f.toURI().toURL());
+                 }
+             } catch (IOException ex) {
+                 System.err.println(ex.toString());
+             }
+         }
+         URLClassLoader localClassLoader = new URLClassLoader(found.toArray(new URL[found.size()]));
+         URL klassURL = null;
+         Class<?> klass = null;
+         try {
+             String resourceName = className.replace(".", "/") + ".class";
+             klassURL = localClassLoader.getResource(resourceName);
+             klass = localClassLoader.loadClass(className);
+         } catch (ClassNotFoundException ex) {
+             System.err.println(className + " not found");
+             System.exit(-1);
+         }
+         String pathURL = klassURL.getPath().substring(0, klassURL.getPath().indexOf('!'));
+         String path = pathURL.substring(pathURL.indexOf(':') + 1);
+         System.err.println("found: " + path);
  
+         if (argv.length > 3) {
+             checkVersion(klass, argv);
+         }
+         System.out.println(path);
+     }
+     private static void checkVersion(Class<?> klass, String[] argv) throws SecurityException, IllegalArgumentException {
+         final String versionMethod = argv[3];
+         final String expected = argv[4];
+         final String atLeastOrEqual;
+         if (argv.length > 5)
+             atLeastOrEqual = argv[5];
+         else
+             atLeastOrEqual = "<=";
+         try {
+             try {
+                 Field field = klass.getField(versionMethod);
+                 Object value = field.get(null);
+                 compareAndDisplay(atLeastOrEqual, expected, value);
+             } catch (NoSuchFieldException fe) {
+                 Method method = null;
+                 try {
+                     method = klass.getMethod(versionMethod);
+                 } catch (NoSuchMethodException ex) {
+                     System.err.println(ex.toString());
+                     System.exit(-3);
+                 }
+                 try {
+                     Object value = method.invoke(null);
+                     compareAndDisplay(atLeastOrEqual, expected, value);
+                 } catch (NullPointerException ex) {
+                     Object value = method.invoke(klass.newInstance());
+                     compareAndDisplay(atLeastOrEqual, expected, value);
+                 }
+             }
+         } catch (IllegalAccessException ex) {
+             System.err.println(ex);
+             System.exit(-2);
+         } catch (InvocationTargetException ex) {
+             System.err.println(ex);
+             System.exit(-2);
+         } catch (InstantiationException ex) {
+             System.err.println(ex);
+             System.exit(-2);
+         }
+     }
+     private static void compareAndDisplay(String atLeastOrEqual, String expected, Object value) {
+         int cmp = compare(expected, value.toString());
+         switch(atLeastOrEqual) {
+             case ">":
+                 if (cmp > 0) {
+                     return;
+                 } else {
+                     System.err.println("expected "+atLeastOrEqual+""+expected+" but got "+value);
+                     System.exit(-4);
+                 }
+             case "==":
+                 if (cmp == 0) {
+                     return;
+                 } else {
+                     System.err.println("expected "+atLeastOrEqual+""+expected+" but got "+value);
+                     System.exit(-4);
+                 }
+             case "<=":
+                 if (cmp <= 0) {
+                     return;
+                 } else {
+                     System.err.println("expected "+atLeastOrEqual+""+expected+" but got "+value);
+                     System.exit(-4);
+                 }
+             default:
+                 System.err.println("unable to compare with "+atLeastOrEqual);
+                 System.exit(-4);
+         }
      }
  
      private static int compare(String v1, String v2) {
  
      CLASSPATH=$ac_java_classpath
      export CLASSPATH
-     cmd="$JAVAC ${JAVAC_FLAGS} conftest.java"
-     if (echo $cmd >&5 ; eval $cmd >conftest.java.output 2>&5) ; then
-        if test ""no"" = "no"; then
-            echo "yes" >&5
-               { $as_echo "$as_me:${as_lineno-$LINENO}: result: $jar_resolved" >&5
- $as_echo "$jar_resolved" >&6; }
-               found_jar=yes
-               PACKAGE_JAR_FILE=$jar_resolved
-               break 3
-        else
-               cmd="$JAVA conftest"
-               if (echo $cmd >&5 ; eval $cmd >conftest.java.output 2>&5); then
-                echo "yes" >&5
+     cmd="$JAVAC ${JAVAC_FLAGS} conftestSharedChecker.java"
+     if (echo $cmd >&5 ; eval $cmd >conftestSharedChecker.java.output 2>&5) ; then
+         echo "configure: conftestSharedChecker.class available" >&5
+     else
+         echo "configure: failed program was:" >&5
+         cat conftestSharedChecker.java >&5
+         echo "configure: CLASSPATH was $CLASSPATH" >&5
+     fi
  
-               { $as_echo "$as_me:${as_lineno-$LINENO}: result: $jar_resolved" >&5
- $as_echo "$jar_resolved" >&6; }
-               found_jar=yes
-               PACKAGE_JAR_FILE=$jar_resolved
-               break 3
+     fi
  
-             else
-                 echo "configure: failed program was:" >&5
-                 cat conftest.java >&5
-                 if test -s conftest.java.output; then
-                    STDOUT=`cat conftest.java.output`
-                 fi
-                 echo "configure: CLASSPATH was $CLASSPATH" >&5
-             ac_java_classpath=$saved_ac_java_classpath
-                             fi
-         fi
-         if test -f conftest.java.output; then
-            rm conftest.java.output
-         fi
+     CLASSPATH=$ac_java_classpath
+     export CLASSPATH
 -    cmd="$JAVA conftestSharedChecker jeuclid-core net.sourceforge.jeuclid.LayoutContext $jar_resolved   "
++    cmd="$JAVA conftestSharedChecker jrosetta-API com.artenum.rosetta.interfaces.core.ConsoleConfiguration $jar_resolved   "
+     if (echo $cmd >&5 ; eval $cmd >conftestSharedChecker.java.output 2>&5); then
+         PACKAGE_JAR_FILE=$(tail -n 1 conftestSharedChecker.java.output);
+         { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PACKAGE_JAR_FILE" >&5
+ $as_echo "$PACKAGE_JAR_FILE" >&6; }
+         echo "yes" >&5
+         # append the found file to the classpath to manage jar dependency
+         ac_java_classpath="$ac_java_classpath:$PACKAGE_JAR_FILE"
      else
-         echo "configure: failed program was:" >&5
-         cat conftest.java >&5
-         echo "configure: CLASSPATH was $CLASSPATH" >&5
-             ac_java_classpath=$saved_ac_java_classpath
-             fi
-           fi
-         done
-       done
-     done
-     if test "$found_jar" = "no"; then
        { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  $as_echo "no" >&6; }
 -      if test "" = "yes"; then
 -         { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Could not find or use the Java package/jar jeuclid-core used by MathML rendering solution (at least version 3.1.X) (looking for package net.sourceforge.jeuclid.LayoutContext)" >&5
 -$as_echo "$as_me: WARNING: Could not find or use the Java package/jar jeuclid-core used by MathML rendering solution (at least version 3.1.X) (looking for package net.sourceforge.jeuclid.LayoutContext)" >&2;}
 +      if test ""yes"" = "yes"; then
 +         { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Could not find or use the Java package/jar jrosetta-API used by JRosetta : Console API Artenum / Scilab (looking for package com.artenum.rosetta.interfaces.core.ConsoleConfiguration)" >&5
 +$as_echo "$as_me: WARNING: Could not find or use the Java package/jar jrosetta-API used by JRosetta : Console API Artenum / Scilab (looking for package com.artenum.rosetta.interfaces.core.ConsoleConfiguration)" >&2;}
        else
 -          as_fn_error $? "Could not find or use the Java package/jar jeuclid-core used by MathML rendering solution (at least version 3.1.X) (looking for package net.sourceforge.jeuclid.LayoutContext)" "$LINENO" 5
 +          as_fn_error $? "Could not find or use the Java package/jar jrosetta-API used by JRosetta : Console API Artenum / Scilab (looking for package com.artenum.rosetta.interfaces.core.ConsoleConfiguration)" "$LINENO" 5
        fi
      fi
+     if test -f conftestSharedChecker.java.output; then
+         rm conftestSharedChecker.java.output
+     fi
  
 -                JEUCLID_CORE=$PACKAGE_JAR_FILE
 -
 -
 -
 -                ################ Mandatory for graphic_export features #####
 -                # XML to PDF/other Translator
 +                if test -z "$PACKAGE_JAR_FILE"; then
  
 -    { $as_echo "$as_me:${as_lineno-$LINENO}: checking fop" >&5
 -$as_echo_n "checking fop... " >&6; }
 +    { $as_echo "$as_me:${as_lineno-$LINENO}: checking jrosetta-api" >&5
 +$as_echo_n "checking jrosetta-api... " >&6; }
      PACKAGE_JAR_FILE=
-     found_jar=no
-     saved_ac_java_classpath=$ac_java_classpath
-     DEFAULT_JAR_DIR="/usr/share/java /usr/lib/java /usr/share/java /usr/share/java/jar /opt/java/lib /usr/local/java /usr/local/java/jar /usr/local/share/java /usr/local/share/java/jar /usr/local/lib/java $(find /usr/share/java/ -maxdepth 1 -type d 2>/dev/null) $(find /usr/lib64/ -maxdepth 1 -type d 2>/dev/null) $(find  /usr/lib/ -maxdepth 1 -type d 2>/dev/null)  $(find /usr/share/*/lib -maxdepth 1 -type d 2>/dev/null)"
-     for jardir in "`pwd`/thirdparty" "`pwd`/jar" $DEFAULT_JAR_DIR; do
-       for jar in "$jardir/jrosetta-api.jar" "$jardir/libjrosetta-api.jar" "$jardir/libjrosetta-api-java.jar" "$jardir/jrosetta-api*.jar"; do
- # TODO check the behaviour when spaces
-         jars_resolved=`ls $jar 2>/dev/null`
-         for jar_resolved in $jars_resolved; do # If several jars matches
-           if test -e "$jar_resolved"; then
-             export ac_java_classpath="$jar_resolved:$ac_java_classpath"
  
-     cat << \EOF > conftest.java
- // #line 15673 "configure"
- import java.util.regex.Pattern;
+     DEFAULT_JAR_DIR="$(pwd)/thirdparty/ $(pwd)/jar/ /usr/local/java/ /usr/local/java/jar /usr/local/share/java/ /usr/local/share/java/jar/ /usr/local/lib/java/ $(find /usr/share/java/ -maxdepth 1 -type d 2>/dev/null | sort) $(find /usr/lib64/ -maxdepth 1 -type d 2>/dev/null) $(find  /usr/lib/ -maxdepth 1 -type d 2>/dev/null) $(find /usr/share/*/lib -maxdepth 1 -type d 2>/dev/null) /opt/java/lib/"
  
- import com.artenum.rosetta.interfaces.core.ConsoleConfiguration;
 -    jar_resolved="$(find $DEFAULT_JAR_DIR -maxdepth 1 \( -type f -name 'fop.jar' -or -name 'libfop.jar' -or -name 'libfop-java.jar' -or -name 'fop*.jar' \) 2>/dev/null |tr '\n' ':')."
++    jar_resolved="$(find $DEFAULT_JAR_DIR -maxdepth 1 \( -type f -name 'jrosetta-api.jar' -or -name 'libjrosetta-api.jar' -or -name 'libjrosetta-api-java.jar' -or -name 'jrosetta-api*.jar' \) 2>/dev/null |tr '\n' ':')."
  
- public class conftest {
+     if test ! -f conftestSharedChecker.class ; then
+     cat << \EOF > conftestSharedChecker.java
 -// #line 17167 "configure"
++// #line 17164 "configure"
+ import java.util.regex.Pattern;
+ import java.io.File;
+ import java.io.IOException;
+ import java.lang.reflect.Field;
+ import java.lang.reflect.InvocationTargetException;
+ import java.lang.reflect.Method;
+ import java.net.URL;
+ import java.net.URLClassLoader;
+ import java.util.ArrayList;
+ public class conftestSharedChecker {
+     /**
+      * Required arguments :
+      *  argv[0]: name of the jar package
+      *  argv[1]: name of the class (with the package prefix)
+      *  argv[2]: possible paths of the jar package (separated by ':')
+      *
+      * Optional arguments:
+      *  argv[3]: field or method used to retrieve the version
+      *  argv[4]: expected version
+      *  argv[5]: String comparator :
+      *      "="  for exact version
+      */
      public static void main(String[] argv) {
+         final String packageName = argv[0];
+         final String className = argv[1];
+         final String[] jarList = argv[2].split(":");
+         ArrayList<URL> found = new ArrayList<>();
+         for(String jar : jarList)
+         {
+             try {
+                 File f = new File(jar);
+                 if (f.exists()) {
+                     found.add(f.toURI().toURL());
+                 }
+             } catch (IOException ex) {
+                 System.err.println(ex.toString());
+             }
+         }
+         URLClassLoader localClassLoader = new URLClassLoader(found.toArray(new URL[found.size()]));
+         URL klassURL = null;
+         Class<?> klass = null;
+         try {
+             String resourceName = className.replace(".", "/") + ".class";
+             klassURL = localClassLoader.getResource(resourceName);
+             klass = localClassLoader.loadClass(className);
+         } catch (ClassNotFoundException ex) {
+             System.err.println(className + " not found");
+             System.exit(-1);
+         }
+         String pathURL = klassURL.getPath().substring(0, klassURL.getPath().indexOf('!'));
+         String path = pathURL.substring(pathURL.indexOf(':') + 1);
+         System.err.println("found: " + path);
+         if (argv.length > 3) {
+             checkVersion(klass, argv);
+         }
+         System.out.println(path);
+     }
+     private static void checkVersion(Class<?> klass, String[] argv) throws SecurityException, IllegalArgumentException {
+         final String versionMethod = argv[3];
+         final String expected = argv[4];
+         final String atLeastOrEqual;
+         if (argv.length > 5)
+             atLeastOrEqual = argv[5];
+         else
+             atLeastOrEqual = "<=";
  
+         try {
+             try {
+                 Field field = klass.getField(versionMethod);
+                 Object value = field.get(null);
+                 compareAndDisplay(atLeastOrEqual, expected, value);
+             } catch (NoSuchFieldException fe) {
+                 Method method = null;
+                 try {
+                     method = klass.getMethod(versionMethod);
+                 } catch (NoSuchMethodException ex) {
+                     System.err.println(ex.toString());
+                     System.exit(-3);
+                 }
+                 try {
+                     Object value = method.invoke(null);
+                     compareAndDisplay(atLeastOrEqual, expected, value);
+                 } catch (NullPointerException ex) {
+                     Object value = method.invoke(klass.newInstance());
+                     compareAndDisplay(atLeastOrEqual, expected, value);
+                 }
+             }
+         } catch (IllegalAccessException ex) {
+             System.err.println(ex);
+             System.exit(-2);
+         } catch (InvocationTargetException ex) {
+             System.err.println(ex);
+             System.exit(-2);
+         } catch (InstantiationException ex) {
+             System.err.println(ex);
+             System.exit(-2);
+         }
+     }
+     private static void compareAndDisplay(String atLeastOrEqual, String expected, Object value) {
+         int cmp = compare(expected, value.toString());
+         switch(atLeastOrEqual) {
+             case ">":
+                 if (cmp > 0) {
+                     return;
+                 } else {
+                     System.err.println("expected "+atLeastOrEqual+""+expected+" but got "+value);
+                     System.exit(-4);
+                 }
+             case "==":
+                 if (cmp == 0) {
+                     return;
+                 } else {
+                     System.err.println("expected "+atLeastOrEqual+""+expected+" but got "+value);
+                     System.exit(-4);
+                 }
+             case "<=":
+                 if (cmp <= 0) {
+                     return;
+                 } else {
+                     System.err.println("expected "+atLeastOrEqual+""+expected+" but got "+value);
+                     System.exit(-4);
+                 }
+             default:
+                 System.err.println("unable to compare with "+atLeastOrEqual);
+                 System.exit(-4);
+         }
      }
  
      private static int compare(String v1, String v2) {
  
      CLASSPATH=$ac_java_classpath
      export CLASSPATH
-     cmd="$JAVAC ${JAVAC_FLAGS} conftest.java"
-     if (echo $cmd >&5 ; eval $cmd >conftest.java.output 2>&5) ; then
-        if test ""no"" = "no"; then
-            echo "yes" >&5
-               { $as_echo "$as_me:${as_lineno-$LINENO}: result: $jar_resolved" >&5
- $as_echo "$jar_resolved" >&6; }
-               found_jar=yes
-               PACKAGE_JAR_FILE=$jar_resolved
-               break 3
-        else
-               cmd="$JAVA conftest"
-               if (echo $cmd >&5 ; eval $cmd >conftest.java.output 2>&5); then
-                echo "yes" >&5
-               { $as_echo "$as_me:${as_lineno-$LINENO}: result: $jar_resolved" >&5
- $as_echo "$jar_resolved" >&6; }
-               found_jar=yes
-               PACKAGE_JAR_FILE=$jar_resolved
-               break 3
-             else
-                 echo "configure: failed program was:" >&5
-                 cat conftest.java >&5
-                 if test -s conftest.java.output; then
-                    STDOUT=`cat conftest.java.output`
-                 fi
-                 echo "configure: CLASSPATH was $CLASSPATH" >&5
-             ac_java_classpath=$saved_ac_java_classpath
-                             fi
-         fi
-         if test -f conftest.java.output; then
-            rm conftest.java.output
-         fi
+     cmd="$JAVAC ${JAVAC_FLAGS} conftestSharedChecker.java"
+     if (echo $cmd >&5 ; eval $cmd >conftestSharedChecker.java.output 2>&5) ; then
+         echo "configure: conftestSharedChecker.class available" >&5
      else
          echo "configure: failed program was:" >&5
-         cat conftest.java >&5
+         cat conftestSharedChecker.java >&5
          echo "configure: CLASSPATH was $CLASSPATH" >&5
+     fi
  
-             ac_java_classpath=$saved_ac_java_classpath
-             fi
+     fi
  
-           fi
-         done
-       done
-     done
-     if test "$found_jar" = "no"; then
+     CLASSPATH=$ac_java_classpath
+     export CLASSPATH
 -    cmd="$JAVA conftestSharedChecker fop org.apache.fop.pdf.PDFInfo $jar_resolved   "
++    cmd="$JAVA conftestSharedChecker jrosetta-api com.artenum.rosetta.interfaces.core.ConsoleConfiguration $jar_resolved   "
+     if (echo $cmd >&5 ; eval $cmd >conftestSharedChecker.java.output 2>&5); then
+         PACKAGE_JAR_FILE=$(tail -n 1 conftestSharedChecker.java.output);
+         { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PACKAGE_JAR_FILE" >&5
+ $as_echo "$PACKAGE_JAR_FILE" >&6; }
+         echo "yes" >&5
+         # append the found file to the classpath to manage jar dependency
+         ac_java_classpath="$ac_java_classpath:$PACKAGE_JAR_FILE"
+     else
        { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  $as_echo "no" >&6; }
        if test "" = "yes"; then
 -         { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Could not find or use the Java package/jar fop used by XML to PDF Translator (fop) (looking for package org.apache.fop.pdf.PDFInfo)" >&5
 -$as_echo "$as_me: WARNING: Could not find or use the Java package/jar fop used by XML to PDF Translator (fop) (looking for package org.apache.fop.pdf.PDFInfo)" >&2;}
 +         { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Could not find or use the Java package/jar jrosetta-api used by JRosetta : Console API Artenum / Scilab (looking for package com.artenum.rosetta.interfaces.core.ConsoleConfiguration)" >&5
 +$as_echo "$as_me: WARNING: Could not find or use the Java package/jar jrosetta-api used by JRosetta : Console API Artenum / Scilab (looking for package com.artenum.rosetta.interfaces.core.ConsoleConfiguration)" >&2;}
        else
 -          as_fn_error $? "Could not find or use the Java package/jar fop used by XML to PDF Translator (fop) (looking for package org.apache.fop.pdf.PDFInfo)" "$LINENO" 5
 +          as_fn_error $? "Could not find or use the Java package/jar jrosetta-api used by JRosetta : Console API Artenum / Scilab (looking for package com.artenum.rosetta.interfaces.core.ConsoleConfiguration)" "$LINENO" 5
        fi
      fi
+     if test -f conftestSharedChecker.java.output; then
+         rm conftestSharedChecker.java.output
+     fi
  
 -                FOP=$PACKAGE_JAR_FILE
 -
 -
 +                fi
 +                JROSETTA_API=$PACKAGE_JAR_FILE
  
 -# Check whether --with-emf was given.
 -if test "${with_emf+set}" = set; then :
 -  withval=$with_emf;
 -fi
  
 -                if test "x$with_emf" != xno; then
 -                    # Freehep Graphics2D
 +                # Console Core
  
 -    { $as_echo "$as_me:${as_lineno-$LINENO}: checking freehep-graphics2d" >&5
 -$as_echo_n "checking freehep-graphics2d... " >&6; }
 +    { $as_echo "$as_me:${as_lineno-$LINENO}: checking jrosetta-engine" >&5
 +$as_echo_n "checking jrosetta-engine... " >&6; }
      PACKAGE_JAR_FILE=
-     found_jar=no
-     saved_ac_java_classpath=$ac_java_classpath
-     DEFAULT_JAR_DIR="/usr/share/java /usr/lib/java /usr/share/java /usr/share/java/jar /opt/java/lib /usr/local/java /usr/local/java/jar /usr/local/share/java /usr/local/share/java/jar /usr/local/lib/java $(find /usr/share/java/ -maxdepth 1 -type d 2>/dev/null) $(find /usr/lib64/ -maxdepth 1 -type d 2>/dev/null) $(find  /usr/lib/ -maxdepth 1 -type d 2>/dev/null)  $(find /usr/share/*/lib -maxdepth 1 -type d 2>/dev/null)"
-     for jardir in "`pwd`/thirdparty" "`pwd`/jar" $DEFAULT_JAR_DIR; do
-       for jar in "$jardir/jrosetta-engine.jar" "$jardir/libjrosetta-engine.jar" "$jardir/libjrosetta-engine-java.jar" "$jardir/jrosetta-engine*.jar"; do
- # TODO check the behaviour when spaces
-         jars_resolved=`ls $jar 2>/dev/null`
-         for jar_resolved in $jars_resolved; do # If several jars matches
-           if test -e "$jar_resolved"; then
-             export ac_java_classpath="$jar_resolved:$ac_java_classpath"
  
-     cat << \EOF > conftest.java
- // #line 15791 "configure"
- import java.util.regex.Pattern;
+     DEFAULT_JAR_DIR="$(pwd)/thirdparty/ $(pwd)/jar/ /usr/local/java/ /usr/local/java/jar /usr/local/share/java/ /usr/local/share/java/jar/ /usr/local/lib/java/ $(find /usr/share/java/ -maxdepth 1 -type d 2>/dev/null | sort) $(find /usr/lib64/ -maxdepth 1 -type d 2>/dev/null) $(find  /usr/lib/ -maxdepth 1 -type d 2>/dev/null) $(find /usr/share/*/lib -maxdepth 1 -type d 2>/dev/null) /opt/java/lib/"
  
- import com.artenum.rosetta.core.action.AbstractConsoleAction;
 -    jar_resolved="$(find $DEFAULT_JAR_DIR -maxdepth 1 \( -type f -name 'freehep-graphics2d.jar' -or -name 'libfreehep-graphics2d.jar' -or -name 'libfreehep-graphics2d-java.jar' -or -name 'freehep-graphics2d*.jar' \) 2>/dev/null |tr '\n' ':')."
++    jar_resolved="$(find $DEFAULT_JAR_DIR -maxdepth 1 \( -type f -name 'jrosetta-engine.jar' -or -name 'libjrosetta-engine.jar' -or -name 'libjrosetta-engine-java.jar' -or -name 'jrosetta-engine*.jar' \) 2>/dev/null |tr '\n' ':')."
  
- public class conftest {
+     if test ! -f conftestSharedChecker.class ; then
+     cat << \EOF > conftestSharedChecker.java
 -// #line 17393 "configure"
++// #line 17384 "configure"
+ import java.util.regex.Pattern;
+ import java.io.File;
+ import java.io.IOException;
+ import java.lang.reflect.Field;
+ import java.lang.reflect.InvocationTargetException;
+ import java.lang.reflect.Method;
+ import java.net.URL;
+ import java.net.URLClassLoader;
+ import java.util.ArrayList;
+ public class conftestSharedChecker {
+     /**
+      * Required arguments :
+      *  argv[0]: name of the jar package
+      *  argv[1]: name of the class (with the package prefix)
+      *  argv[2]: possible paths of the jar package (separated by ':')
+      *
+      * Optional arguments:
+      *  argv[3]: field or method used to retrieve the version
+      *  argv[4]: expected version
+      *  argv[5]: String comparator :
+      *      "="  for exact version
+      */
      public static void main(String[] argv) {
+         final String packageName = argv[0];
+         final String className = argv[1];
+         final String[] jarList = argv[2].split(":");
+         ArrayList<URL> found = new ArrayList<>();
+         for(String jar : jarList)
+         {
+             try {
+                 File f = new File(jar);
+                 if (f.exists()) {
+                     found.add(f.toURI().toURL());
+                 }
+             } catch (IOException ex) {
+                 System.err.println(ex.toString());
+             }
+         }
+         URLClassLoader localClassLoader = new URLClassLoader(found.toArray(new URL[found.size()]));
+         URL klassURL = null;
+         Class<?> klass = null;
+         try {
+             String resourceName = className.replace(".", "/") + ".class";
+             klassURL = localClassLoader.getResource(resourceName);
+             klass = localClassLoader.loadClass(className);
+         } catch (ClassNotFoundException ex) {
+             System.err.println(className + " not found");
+             System.exit(-1);
+         }
+         String pathURL = klassURL.getPath().substring(0, klassURL.getPath().indexOf('!'));
+         String path = pathURL.substring(pathURL.indexOf(':') + 1);
+         System.err.println("found: " + path);
  
+         if (argv.length > 3) {
+             checkVersion(klass, argv);
+         }
+         System.out.println(path);
+     }
+     private static void checkVersion(Class<?> klass, String[] argv) throws SecurityException, IllegalArgumentException {
+         final String versionMethod = argv[3];
+         final String expected = argv[4];
+         final String atLeastOrEqual;
+         if (argv.length > 5)
+             atLeastOrEqual = argv[5];
+         else
+             atLeastOrEqual = "<=";
+         try {
+             try {
+                 Field field = klass.getField(versionMethod);
+                 Object value = field.get(null);
+                 compareAndDisplay(atLeastOrEqual, expected, value);
+             } catch (NoSuchFieldException fe) {
+                 Method method = null;
+                 try {
+                     method = klass.getMethod(versionMethod);
+                 } catch (NoSuchMethodException ex) {
+                     System.err.println(ex.toString());
+                     System.exit(-3);
+                 }
+                 try {
+                     Object value = method.invoke(null);
+                     compareAndDisplay(atLeastOrEqual, expected, value);
+                 } catch (NullPointerException ex) {
+                     Object value = method.invoke(klass.newInstance());
+                     compareAndDisplay(atLeastOrEqual, expected, value);
+                 }
+             }
+         } catch (IllegalAccessException ex) {
+             System.err.println(ex);
+             System.exit(-2);
+         } catch (InvocationTargetException ex) {
+             System.err.println(ex);
+             System.exit(-2);
+         } catch (InstantiationException ex) {
+             System.err.println(ex);
+             System.exit(-2);
+         }
+     }
+     private static void compareAndDisplay(String atLeastOrEqual, String expected, Object value) {
+         int cmp = compare(expected, value.toString());
+         switch(atLeastOrEqual) {
+             case ">":
+                 if (cmp > 0) {
+                     return;
+                 } else {
+                     System.err.println("expected "+atLeastOrEqual+""+expected+" but got "+value);
+                     System.exit(-4);
+                 }
+             case "==":
+                 if (cmp == 0) {
+                     return;
+                 } else {
+                     System.err.println("expected "+atLeastOrEqual+""+expected+" but got "+value);
+                     System.exit(-4);
+                 }
+             case "<=":
+                 if (cmp <= 0) {
+                     return;
+                 } else {
+                     System.err.println("expected "+atLeastOrEqual+""+expected+" but got "+value);
+                     System.exit(-4);
+                 }
+             default:
+                 System.err.println("unable to compare with "+atLeastOrEqual);
+                 System.exit(-4);
+         }
      }
  
      private static int compare(String v1, String v2) {
  
      CLASSPATH=$ac_java_classpath
      export CLASSPATH
-     cmd="$JAVAC ${JAVAC_FLAGS} conftest.java"
-     if (echo $cmd >&5 ; eval $cmd >conftest.java.output 2>&5) ; then
-        if test ""no"" = "no"; then
-            echo "yes" >&5
-               { $as_echo "$as_me:${as_lineno-$LINENO}: result: $jar_resolved" >&5
- $as_echo "$jar_resolved" >&6; }
-               found_jar=yes
-               PACKAGE_JAR_FILE=$jar_resolved
-               break 3
-        else
-               cmd="$JAVA conftest"
-               if (echo $cmd >&5 ; eval $cmd >conftest.java.output 2>&5); then
-                echo "yes" >&5
-               { $as_echo "$as_me:${as_lineno-$LINENO}: result: $jar_resolved" >&5
- $as_echo "$jar_resolved" >&6; }
-               found_jar=yes
-               PACKAGE_JAR_FILE=$jar_resolved
-               break 3
-             else
-                 echo "configure: failed program was:" >&5
-                 cat conftest.java >&5
-                 if test -s conftest.java.output; then
-                    STDOUT=`cat conftest.java.output`
-                 fi
-                 echo "configure: CLASSPATH was $CLASSPATH" >&5
-             ac_java_classpath=$saved_ac_java_classpath
-                             fi
-         fi
-         if test -f conftest.java.output; then
-            rm conftest.java.output
-         fi
+     cmd="$JAVAC ${JAVAC_FLAGS} conftestSharedChecker.java"
+     if (echo $cmd >&5 ; eval $cmd >conftestSharedChecker.java.output 2>&5) ; then
+         echo "configure: conftestSharedChecker.class available" >&5
      else
          echo "configure: failed program was:" >&5
-         cat conftest.java >&5
+         cat conftestSharedChecker.java >&5
          echo "configure: CLASSPATH was $CLASSPATH" >&5
+     fi
  
-             ac_java_classpath=$saved_ac_java_classpath
-             fi
+     fi
  
-           fi
-         done
-       done
-     done
-     if test "$found_jar" = "no"; then
+     CLASSPATH=$ac_java_classpath
+     export CLASSPATH
 -    cmd="$JAVA conftestSharedChecker freehep-graphics2d org.freehep.graphics2d.VectorGraphics $jar_resolved   "
++    cmd="$JAVA conftestSharedChecker jrosetta-engine com.artenum.rosetta.util.ConfigurationBuilder $jar_resolved getVersion 1.0.4 "
+     if (echo $cmd >&5 ; eval $cmd >conftestSharedChecker.java.output 2>&5); then
+         PACKAGE_JAR_FILE=$(tail -n 1 conftestSharedChecker.java.output);
+         { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PACKAGE_JAR_FILE" >&5
+ $as_echo "$PACKAGE_JAR_FILE" >&6; }
+         echo "yes" >&5
+         # append the found file to the classpath to manage jar dependency
+         ac_java_classpath="$ac_java_classpath:$PACKAGE_JAR_FILE"
+     else
        { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  $as_echo "no" >&6; }
        if test "" = "yes"; then
-          { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Could not find or use the Java package/jar jrosetta-engine used by JRosetta : Console Core Artenum / Scilab (looking for package com.artenum.rosetta.core.action.AbstractConsoleAction)" >&5
- $as_echo "$as_me: WARNING: Could not find or use the Java package/jar jrosetta-engine used by JRosetta : Console Core Artenum / Scilab (looking for package com.artenum.rosetta.core.action.AbstractConsoleAction)" >&2;}
 -         { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Could not find or use the Java package/jar freehep-graphics2d used by Freehep Graphics2D (looking for package org.freehep.graphics2d.VectorGraphics)" >&5
 -$as_echo "$as_me: WARNING: Could not find or use the Java package/jar freehep-graphics2d used by Freehep Graphics2D (looking for package org.freehep.graphics2d.VectorGraphics)" >&2;}
++         { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Could not find or use the Java package/jar jrosetta-engine used by JRosetta : Console Core Artenum / Scilab (looking for package com.artenum.rosetta.util.ConfigurationBuilder)" >&5
++$as_echo "$as_me: WARNING: Could not find or use the Java package/jar jrosetta-engine used by JRosetta : Console Core Artenum / Scilab (looking for package com.artenum.rosetta.util.ConfigurationBuilder)" >&2;}
        else
-           as_fn_error $? "Could not find or use the Java package/jar jrosetta-engine used by JRosetta : Console Core Artenum / Scilab (looking for package com.artenum.rosetta.core.action.AbstractConsoleAction)" "$LINENO" 5
 -          as_fn_error $? "Could not find or use the Java package/jar freehep-graphics2d used by Freehep Graphics2D (looking for package org.freehep.graphics2d.VectorGraphics)" "$LINENO" 5
++          as_fn_error $? "Could not find or use the Java package/jar jrosetta-engine used by JRosetta : Console Core Artenum / Scilab (looking for package com.artenum.rosetta.util.ConfigurationBuilder)" "$LINENO" 5
        fi
      fi
+     if test -f conftestSharedChecker.java.output; then
+         rm conftestSharedChecker.java.output
+     fi
  
 -                    FREEHEP_GRAPHICS2D=$PACKAGE_JAR_FILE
 +                JROSETTA_ENGINE=$PACKAGE_JAR_FILE
  
  
-     { $as_echo "$as_me:${as_lineno-$LINENO}: checking minimal version (1.0.4) of jrosetta-engine" >&5
- $as_echo_n "checking minimal version (1.0.4) of jrosetta-engine... " >&6; }
-    saved_ac_java_classpath=$ac_java_classpath
-    export ac_java_classpath="$JROSETTA_ENGINE:$ac_java_classpath"
-    if test "x" == "x"; then
-     cat << \EOF > conftest.java
- // #line 15897 "configure"
- import java.util.regex.Pattern;
- import com.artenum.rosetta.util.ConfigurationBuilder;
- public class conftest {
-     public static void main(String[] argv) {
-         String minVersion="1.0.4";
 -                    # Freehep GraphicsIO
 +
-                             System.out.println(ConfigurationBuilder.getVersion());
-                                   if (compare(minVersion, ConfigurationBuilder.getVersion()) > 0) {
-                                    System.exit(-1);
-                                 }
++                # MathML rendering solution
++                # Used in both graphic & help
  
-     }
  
-     private static int compare(String v1, String v2) {
-         String s1 = normalisedVersion(v1);
-         String s2 = normalisedVersion(v2);
-         return s1.compareTo(s2);
-     }
  
-     private static String normalisedVersion(String version) {
-         return normalisedVersion(version, ".", 4);
-     }
 -    { $as_echo "$as_me:${as_lineno-$LINENO}: checking freehep-graphicsio" >&5
 -$as_echo_n "checking freehep-graphicsio... " >&6; }
++    { $as_echo "$as_me:${as_lineno-$LINENO}: checking jeuclid-core" >&5
++$as_echo_n "checking jeuclid-core... " >&6; }
+     PACKAGE_JAR_FILE=
  
-     private static String normalisedVersion(String version, String sep, int maxWidth) {
-         String[] split = Pattern.compile(sep, Pattern.LITERAL).split(version);
-         StringBuilder sb = new StringBuilder();
-         for (String s : split) {
-             sb.append(String.format("%" + maxWidth + 's', s));
-         }
-         return sb.toString();
-     }
- }
- EOF
+     DEFAULT_JAR_DIR="$(pwd)/thirdparty/ $(pwd)/jar/ /usr/local/java/ /usr/local/java/jar /usr/local/share/java/ /usr/local/share/java/jar/ /usr/local/lib/java/ $(find /usr/share/java/ -maxdepth 1 -type d 2>/dev/null | sort) $(find /usr/lib64/ -maxdepth 1 -type d 2>/dev/null) $(find  /usr/lib/ -maxdepth 1 -type d 2>/dev/null) $(find /usr/share/*/lib -maxdepth 1 -type d 2>/dev/null) /opt/java/lib/"
  
-     CLASSPATH=$ac_java_classpath
-     export CLASSPATH
-     cmd="$JAVAC ${JAVAC_FLAGS} conftest.java"
-     if (echo $cmd >&5 ; eval $cmd >conftest.java.output 2>&5) ; then
-        if test ""yes"" = "no"; then
-            echo "yes" >&5
-               echo "yes"
-        else
-               cmd="$JAVA conftest"
-               if (echo $cmd >&5 ; eval $cmd >conftest.java.output 2>&5); then
-                echo "yes" >&5
-                   echo "yes"
-             else
-                 echo "configure: failed program was:" >&5
-                 cat conftest.java >&5
-                 if test -s conftest.java.output; then
-                    STDOUT=`cat conftest.java.output`
-                 fi
-                 echo "configure: CLASSPATH was $CLASSPATH" >&5
-                   as_fn_error $? "Wrong version of jrosetta-engine. Expected at least 1.0.4. Found $STDOUT" "$LINENO" 5
-                             fi
-         fi
-         if test -f conftest.java.output; then
-            rm conftest.java.output
-         fi
-     else
-         echo "configure: failed program was:" >&5
-         cat conftest.java >&5
-         echo "configure: CLASSPATH was $CLASSPATH" >&5
-           as_fn_error $? "Wrong version of jrosetta-engine. Expected at least 1.0.4. Found $STDOUT" "$LINENO" 5
-             fi
 -    jar_resolved="$(find $DEFAULT_JAR_DIR -maxdepth 1 \( -type f -name 'freehep-graphicsio.jar' -or -name 'libfreehep-graphicsio.jar' -or -name 'libfreehep-graphicsio-java.jar' -or -name 'freehep-graphicsio*.jar' \) 2>/dev/null |tr '\n' ':')."
++    jar_resolved="$(find $DEFAULT_JAR_DIR -maxdepth 1 \( -type f -name 'jeuclid-core.jar' -or -name 'libjeuclid-core.jar' -or -name 'libjeuclid-core-java.jar' -or -name 'jeuclid-core*.jar' \) 2>/dev/null |tr '\n' ':')."
  
-    else
+     if test ! -f conftestSharedChecker.class ; then
  
-     cat << \EOF > conftest.java
- // #line 15969 "configure"
+     cat << \EOF > conftestSharedChecker.java
 -// #line 17612 "configure"
++// #line 17605 "configure"
  import java.util.regex.Pattern;
+ import java.io.File;
+ import java.io.IOException;
+ import java.lang.reflect.Field;
+ import java.lang.reflect.InvocationTargetException;
+ import java.lang.reflect.Method;
+ import java.net.URL;
+ import java.net.URLClassLoader;
+ import java.util.ArrayList;
+ public class conftestSharedChecker {
+     /**
+      * Required arguments :
+      *  argv[0]: name of the jar package
+      *  argv[1]: name of the class (with the package prefix)
+      *  argv[2]: possible paths of the jar package (separated by ':')
+      *
+      * Optional arguments:
+      *  argv[3]: field or method used to retrieve the version
+      *  argv[4]: expected version
+      *  argv[5]: String comparator :
+      *      "="  for exact version
+      */
+     public static void main(String[] argv) {
+         final String packageName = argv[0];
+         final String className = argv[1];
+         final String[] jarList = argv[2].split(":");
  
- import com.artenum.rosetta.util.ConfigurationBuilder;
+         ArrayList<URL> found = new ArrayList<>();
+         for(String jar : jarList)
+         {
+             try {
+                 File f = new File(jar);
+                 if (f.exists()) {
+                     found.add(f.toURI().toURL());
+                 }
+             } catch (IOException ex) {
+                 System.err.println(ex.toString());
+             }
+         }
  
- public class conftest {
-     public static void main(String[] argv) {
-         String minVersion="1.0.4";
+         URLClassLoader localClassLoader = new URLClassLoader(found.toArray(new URL[found.size()]));
+         URL klassURL = null;
+         Class<?> klass = null;
+         try {
+             String resourceName = className.replace(".", "/") + ".class";
+             klassURL = localClassLoader.getResource(resourceName);
+             klass = localClassLoader.loadClass(className);
+         } catch (ClassNotFoundException ex) {
+             System.err.println(className + " not found");
+             System.exit(-1);
+         }
  
-                             System.out.println(ConfigurationBuilder.getVersion());
-                                   if (compare(minVersion, ConfigurationBuilder.getVersion()) != 0) {
-                                    System.exit(-1);
-                                 }
+         String pathURL = klassURL.getPath().substring(0, klassURL.getPath().indexOf('!'));
+         String path = pathURL.substring(pathURL.indexOf(':') + 1);
+         System.err.println("found: " + path);
  
-     }
+         if (argv.length > 3) {
+             checkVersion(klass, argv);
+         }
  
-     private static int compare(String v1, String v2) {
-         String s1 = normalisedVersion(v1);
-         String s2 = normalisedVersion(v2);
-         return s1.compareTo(s2);
+         System.out.println(path);
      }
  
-     private static String normalisedVersion(String version) {
-         return normalisedVersion(version, ".", 4);
-     }
+     private static void checkVersion(Class<?> klass, String[] argv) throws SecurityException, IllegalArgumentException {
+         final String versionMethod = argv[3];
+         final String expected = argv[4];
+         final String atLeastOrEqual;
+         if (argv.length > 5)
+             atLeastOrEqual = argv[5];
+         else
+             atLeastOrEqual = "<=";
  
-     private static String normalisedVersion(String version, String sep, int maxWidth) {
-         String[] split = Pattern.compile(sep, Pattern.LITERAL).split(version);
-         StringBuilder sb = new StringBuilder();
-         for (String s : split) {
-             sb.append(String.format("%" + maxWidth + 's', s));
+         try {
+             try {
+                 Field field = klass.getField(versionMethod);
+                 Object value = field.get(null);
+                 compareAndDisplay(atLeastOrEqual, expected, value);
+             } catch (NoSuchFieldException fe) {
+                 Method method = null;
+                 try {
+                     method = klass.getMethod(versionMethod);
+                 } catch (NoSuchMethodException ex) {
+                     System.err.println(ex.toString());
+                     System.exit(-3);
+                 }
+                 try {
+                     Object value = method.invoke(null);
+                     compareAndDisplay(atLeastOrEqual, expected, value);
+                 } catch (NullPointerException ex) {
+                     Object value = method.invoke(klass.newInstance());
+                     compareAndDisplay(atLeastOrEqual, expected, value);
+                 }
+             }
+         } catch (IllegalAccessException ex) {
+             System.err.println(ex);
+             System.exit(-2);
+         } catch (InvocationTargetException ex) {
+             System.err.println(ex);
+             System.exit(-2);
+         } catch (InstantiationException ex) {
+             System.err.println(ex);
+             System.exit(-2);
          }
-         return sb.toString();
      }
- }
- EOF
-     CLASSPATH=$ac_java_classpath
-     export CLASSPATH
-     cmd="$JAVAC ${JAVAC_FLAGS} conftest.java"
-     if (echo $cmd >&5 ; eval $cmd >conftest.java.output 2>&5) ; then
-        if test ""yes"" = "no"; then
-            echo "yes" >&5
-               echo "yes"
-        else
-               cmd="$JAVA conftest"
-               if (echo $cmd >&5 ; eval $cmd >conftest.java.output 2>&5); then
-                echo "yes" >&5
-                   echo "yes"
-             else
-                 echo "configure: failed program was:" >&5
-                 cat conftest.java >&5
-                 if test -s conftest.java.output; then
-                    STDOUT=`cat conftest.java.output`
-                 fi
-                 echo "configure: CLASSPATH was $CLASSPATH" >&5
-                   as_fn_error $? "Wrong version of jrosetta-engine. Expected exact version 1.0.4. Found $STDOUT" "$LINENO" 5
-                             fi
-         fi
-         if test -f conftest.java.output; then
-            rm conftest.java.output
-         fi
-     else
-         echo "configure: failed program was:" >&5
-         cat conftest.java >&5
-         echo "configure: CLASSPATH was $CLASSPATH" >&5
-           as_fn_error $? "Wrong version of jrosetta-engine. Expected exact version 1.0.4. Found $STDOUT" "$LINENO" 5
-             fi
-     fi
-    ac_java_classpath=$saved_ac_java_classpath
-                 # MathML rendering solution
-                 # Used in both graphic & help
-     { $as_echo "$as_me:${as_lineno-$LINENO}: checking jeuclid-core" >&5
- $as_echo_n "checking jeuclid-core... " >&6; }
-     PACKAGE_JAR_FILE=
-     found_jar=no
-     saved_ac_java_classpath=$ac_java_classpath
-     DEFAULT_JAR_DIR="/usr/share/java /usr/lib/java /usr/share/java /usr/share/java/jar /opt/java/lib /usr/local/java /usr/local/java/jar /usr/local/share/java /usr/local/share/java/jar /usr/local/lib/java $(find /usr/share/java/ -maxdepth 1 -type d 2>/dev/null) $(find /usr/lib64/ -maxdepth 1 -type d 2>/dev/null) $(find  /usr/lib/ -maxdepth 1 -type d 2>/dev/null)  $(find /usr/share/*/lib -maxdepth 1 -type d 2>/dev/null)"
-     for jardir in "`pwd`/thirdparty" "`pwd`/jar" $DEFAULT_JAR_DIR; do
-       for jar in "$jardir/jeuclid-core.jar" "$jardir/libjeuclid-core.jar" "$jardir/libjeuclid-core-java.jar" "$jardir/jeuclid-core*.jar"; do
- # TODO check the behaviour when spaces
-         jars_resolved=`ls $jar 2>/dev/null`
-         for jar_resolved in $jars_resolved; do # If several jars matches
-           if test -e "$jar_resolved"; then
-             export ac_java_classpath="$jar_resolved:$ac_java_classpath"
-     cat << \EOF > conftest.java
- // #line 16062 "configure"
- import java.util.regex.Pattern;
- import net.sourceforge.jeuclid.LayoutContext;
- public class conftest {
-     public static void main(String[] argv) {
  
+     private static void compareAndDisplay(String atLeastOrEqual, String expected, Object value) {
+         int cmp = compare(expected, value.toString());
+         switch(atLeastOrEqual) {
+             case ">":
+                 if (cmp > 0) {
+                     return;
+                 } else {
+                     System.err.println("expected "+atLeastOrEqual+""+expected+" but got "+value);
+                     System.exit(-4);
+                 }
+             case "==":
+                 if (cmp == 0) {
+                     return;
+                 } else {
+                     System.err.println("expected "+atLeastOrEqual+""+expected+" but got "+value);
+                     System.exit(-4);
+                 }
+             case "<=":
+                 if (cmp <= 0) {
+                     return;
+                 } else {
+                     System.err.println("expected "+atLeastOrEqual+""+expected+" but got "+value);
+                     System.exit(-4);
+                 }
+             default:
+                 System.err.println("unable to compare with "+atLeastOrEqual);
+                 System.exit(-4);
+         }
      }
  
      private static int compare(String v1, String v2) {
  
      CLASSPATH=$ac_java_classpath
      export CLASSPATH
-     cmd="$JAVAC ${JAVAC_FLAGS} conftest.java"
-     if (echo $cmd >&5 ; eval $cmd >conftest.java.output 2>&5) ; then
-        if test ""no"" = "no"; then
-            echo "yes" >&5
-               { $as_echo "$as_me:${as_lineno-$LINENO}: result: $jar_resolved" >&5
- $as_echo "$jar_resolved" >&6; }
-               found_jar=yes
-               PACKAGE_JAR_FILE=$jar_resolved
-               break 3
-        else
-               cmd="$JAVA conftest"
-               if (echo $cmd >&5 ; eval $cmd >conftest.java.output 2>&5); then
-                echo "yes" >&5
-               { $as_echo "$as_me:${as_lineno-$LINENO}: result: $jar_resolved" >&5
- $as_echo "$jar_resolved" >&6; }
-               found_jar=yes
-               PACKAGE_JAR_FILE=$jar_resolved
-               break 3
-             else
-                 echo "configure: failed program was:" >&5
-                 cat conftest.java >&5
-                 if test -s conftest.java.output; then
-                    STDOUT=`cat conftest.java.output`
-                 fi
-                 echo "configure: CLASSPATH was $CLASSPATH" >&5
-             ac_java_classpath=$saved_ac_java_classpath
-                             fi
-         fi
-         if test -f conftest.java.output; then
-            rm conftest.java.output
-         fi
+     cmd="$JAVAC ${JAVAC_FLAGS} conftestSharedChecker.java"
+     if (echo $cmd >&5 ; eval $cmd >conftestSharedChecker.java.output 2>&5) ; then
+         echo "configure: conftestSharedChecker.class available" >&5
      else
          echo "configure: failed program was:" >&5
-         cat conftest.java >&5
+         cat conftestSharedChecker.java >&5
          echo "configure: CLASSPATH was $CLASSPATH" >&5
+     fi
  
-             ac_java_classpath=$saved_ac_java_classpath
-             fi
+     fi
  
-           fi
-         done
-       done
-     done
-     if test "$found_jar" = "no"; then
+     CLASSPATH=$ac_java_classpath
+     export CLASSPATH
 -    cmd="$JAVA conftestSharedChecker freehep-graphicsio org.freehep.graphicsio.VectorGraphicsIO $jar_resolved   "
++    cmd="$JAVA conftestSharedChecker jeuclid-core net.sourceforge.jeuclid.LayoutContext $jar_resolved   "
+     if (echo $cmd >&5 ; eval $cmd >conftestSharedChecker.java.output 2>&5); then
+         PACKAGE_JAR_FILE=$(tail -n 1 conftestSharedChecker.java.output);
+         { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PACKAGE_JAR_FILE" >&5
+ $as_echo "$PACKAGE_JAR_FILE" >&6; }
+         echo "yes" >&5
+         # append the found file to the classpath to manage jar dependency
+         ac_java_classpath="$ac_java_classpath:$PACKAGE_JAR_FILE"
+     else
        { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  $as_echo "no" >&6; }
        if test "" = "yes"; then
 -         { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Could not find or use the Java package/jar freehep-graphicsio used by Freehep GraphicsIO (looking for package org.freehep.graphicsio.VectorGraphicsIO)" >&5
 -$as_echo "$as_me: WARNING: Could not find or use the Java package/jar freehep-graphicsio used by Freehep GraphicsIO (looking for package org.freehep.graphicsio.VectorGraphicsIO)" >&2;}
 +         { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Could not find or use the Java package/jar jeuclid-core used by MathML rendering solution (at least version 3.1.X) (looking for package net.sourceforge.jeuclid.LayoutContext)" >&5
 +$as_echo "$as_me: WARNING: Could not find or use the Java package/jar jeuclid-core used by MathML rendering solution (at least version 3.1.X) (looking for package net.sourceforge.jeuclid.LayoutContext)" >&2;}
        else
 -          as_fn_error $? "Could not find or use the Java package/jar freehep-graphicsio used by Freehep GraphicsIO (looking for package org.freehep.graphicsio.VectorGraphicsIO)" "$LINENO" 5
 +          as_fn_error $? "Could not find or use the Java package/jar jeuclid-core used by MathML rendering solution (at least version 3.1.X) (looking for package net.sourceforge.jeuclid.LayoutContext)" "$LINENO" 5
        fi
      fi
+     if test -f conftestSharedChecker.java.output; then
+         rm conftestSharedChecker.java.output
+     fi
  
 -                    FREEHEP_GRAPHICSIO=$PACKAGE_JAR_FILE
 +                JEUCLID_CORE=$PACKAGE_JAR_FILE
  
  
 -                    # Freehep GraphicsIO EMF
 +
 +                ################ Mandatory for graphic_export features #####
 +                # XML to PDF/other Translator
  
 -    { $as_echo "$as_me:${as_lineno-$LINENO}: checking freehep-graphicsio-emf" >&5
 -$as_echo_n "checking freehep-graphicsio-emf... " >&6; }
 +    { $as_echo "$as_me:${as_lineno-$LINENO}: checking fop" >&5
 +$as_echo_n "checking fop... " >&6; }
      PACKAGE_JAR_FILE=
-     found_jar=no
-     saved_ac_java_classpath=$ac_java_classpath
-     DEFAULT_JAR_DIR="/usr/share/java /usr/lib/java /usr/share/java /usr/share/java/jar /opt/java/lib /usr/local/java /usr/local/java/jar /usr/local/share/java /usr/local/share/java/jar /usr/local/lib/java $(find /usr/share/java/ -maxdepth 1 -type d 2>/dev/null) $(find /usr/lib64/ -maxdepth 1 -type d 2>/dev/null) $(find  /usr/lib/ -maxdepth 1 -type d 2>/dev/null)  $(find /usr/share/*/lib -maxdepth 1 -type d 2>/dev/null)"
-     for jardir in "`pwd`/thirdparty" "`pwd`/jar" $DEFAULT_JAR_DIR; do
-       for jar in "$jardir/fop.jar" "$jardir/libfop.jar" "$jardir/libfop-java.jar" "$jardir/fop*.jar"; do
- # TODO check the behaviour when spaces
-         jars_resolved=`ls $jar 2>/dev/null`
-         for jar_resolved in $jars_resolved; do # If several jars matches
-           if test -e "$jar_resolved"; then
-             export ac_java_classpath="$jar_resolved:$ac_java_classpath"
  
-     cat << \EOF > conftest.java
- // #line 16181 "configure"
- import java.util.regex.Pattern;
+     DEFAULT_JAR_DIR="$(pwd)/thirdparty/ $(pwd)/jar/ /usr/local/java/ /usr/local/java/jar /usr/local/share/java/ /usr/local/share/java/jar/ /usr/local/lib/java/ $(find /usr/share/java/ -maxdepth 1 -type d 2>/dev/null | sort) $(find /usr/lib64/ -maxdepth 1 -type d 2>/dev/null) $(find  /usr/lib/ -maxdepth 1 -type d 2>/dev/null) $(find /usr/share/*/lib -maxdepth 1 -type d 2>/dev/null) /opt/java/lib/"
  
- import org.apache.fop.pdf.PDFInfo;
 -    jar_resolved="$(find $DEFAULT_JAR_DIR -maxdepth 1 \( -type f -name 'freehep-graphicsio-emf.jar' -or -name 'libfreehep-graphicsio-emf.jar' -or -name 'libfreehep-graphicsio-emf-java.jar' -or -name 'freehep-graphicsio-emf*.jar' \) 2>/dev/null |tr '\n' ':')."
++    jar_resolved="$(find $DEFAULT_JAR_DIR -maxdepth 1 \( -type f -name 'fop.jar' -or -name 'libfop.jar' -or -name 'libfop-java.jar' -or -name 'fop*.jar' \) 2>/dev/null |tr '\n' ':')."
  
- public class conftest {
+     if test ! -f conftestSharedChecker.class ; then
+     cat << \EOF > conftestSharedChecker.java
 -// #line 17831 "configure"
++// #line 17826 "configure"
+ import java.util.regex.Pattern;
+ import java.io.File;
+ import java.io.IOException;
+ import java.lang.reflect.Field;
+ import java.lang.reflect.InvocationTargetException;
+ import java.lang.reflect.Method;
+ import java.net.URL;
+ import java.net.URLClassLoader;
+ import java.util.ArrayList;
+ public class conftestSharedChecker {
+     /**
+      * Required arguments :
+      *  argv[0]: name of the jar package
+      *  argv[1]: name of the class (with the package prefix)
+      *  argv[2]: possible paths of the jar package (separated by ':')
+      *
+      * Optional arguments:
+      *  argv[3]: field or method used to retrieve the version
+      *  argv[4]: expected version
+      *  argv[5]: String comparator :
+      *      "="  for exact version
+      */
      public static void main(String[] argv) {
+         final String packageName = argv[0];
+         final String className = argv[1];
+         final String[] jarList = argv[2].split(":");
+         ArrayList<URL> found = new ArrayList<>();
+         for(String jar : jarList)
+         {
+             try {
+                 File f = new File(jar);
+                 if (f.exists()) {
+                     found.add(f.toURI().toURL());
+                 }
+             } catch (IOException ex) {
+                 System.err.println(ex.toString());
+             }
+         }
+         URLClassLoader localClassLoader = new URLClassLoader(found.toArray(new URL[found.size()]));
+         URL klassURL = null;
+         Class<?> klass = null;
+         try {
+             String resourceName = className.replace(".", "/") + ".class";
+             klassURL = localClassLoader.getResource(resourceName);
+             klass = localClassLoader.loadClass(className);
+         } catch (ClassNotFoundException ex) {
+             System.err.println(className + " not found");
+             System.exit(-1);
+         }
+         String pathURL = klassURL.getPath().substring(0, klassURL.getPath().indexOf('!'));
+         String path = pathURL.substring(pathURL.indexOf(':') + 1);
+         System.err.println("found: " + path);
+         if (argv.length > 3) {
+             checkVersion(klass, argv);
+         }
+         System.out.println(path);
+     }
  
+     private static void checkVersion(Class<?> klass, String[] argv) throws SecurityException, IllegalArgumentException {
+         final String versionMethod = argv[3];
+         final String expected = argv[4];
+         final String atLeastOrEqual;
+         if (argv.length > 5)
+             atLeastOrEqual = argv[5];
+         else
+             atLeastOrEqual = "<=";
+         try {
+             try {
+                 Field field = klass.getField(versionMethod);
+                 Object value = field.get(null);
+                 compareAndDisplay(atLeastOrEqual, expected, value);
+             } catch (NoSuchFieldException fe) {
+                 Method method = null;
+                 try {
+                     method = klass.getMethod(versionMethod);
+                 } catch (NoSuchMethodException ex) {
+                     System.err.println(ex.toString());
+                     System.exit(-3);
+                 }
+                 try {
+                     Object value = method.invoke(null);
+                     compareAndDisplay(atLeastOrEqual, expected, value);
+                 } catch (NullPointerException ex) {
+                     Object value = method.invoke(klass.newInstance());
+                     compareAndDisplay(atLeastOrEqual, expected, value);
+                 }
+             }
+         } catch (IllegalAccessException ex) {
+             System.err.println(ex);
+             System.exit(-2);
+         } catch (InvocationTargetException ex) {
+             System.err.println(ex);
+             System.exit(-2);
+         } catch (InstantiationException ex) {
+             System.err.println(ex);
+             System.exit(-2);
+         }
+     }
+     private static void compareAndDisplay(String atLeastOrEqual, String expected, Object value) {
+         int cmp = compare(expected, value.toString());
+         switch(atLeastOrEqual) {
+             case ">":
+                 if (cmp > 0) {
+                     return;
+                 } else {
+                     System.err.println("expected "+atLeastOrEqual+""+expected+" but got "+value);
+                     System.exit(-4);
+                 }
+             case "==":
+                 if (cmp == 0) {
+                     return;
+                 } else {
+                     System.err.println("expected "+atLeastOrEqual+""+expected+" but got "+value);
+                     System.exit(-4);
+                 }
+             case "<=":
+                 if (cmp <= 0) {
+                     return;
+                 } else {
+                     System.err.println("expected "+atLeastOrEqual+""+expected+" but got "+value);
+                     System.exit(-4);
+                 }
+             default:
+                 System.err.println("unable to compare with "+atLeastOrEqual);
+                 System.exit(-4);
+         }
      }
  
      private static int compare(String v1, String v2) {
  
      CLASSPATH=$ac_java_classpath
      export CLASSPATH
-     cmd="$JAVAC ${JAVAC_FLAGS} conftest.java"
-     if (echo $cmd >&5 ; eval $cmd >conftest.java.output 2>&5) ; then
-        if test ""no"" = "no"; then
-            echo "yes" >&5
-               { $as_echo "$as_me:${as_lineno-$LINENO}: result: $jar_resolved" >&5
- $as_echo "$jar_resolved" >&6; }
-               found_jar=yes
-               PACKAGE_JAR_FILE=$jar_resolved
-               break 3
-        else
-               cmd="$JAVA conftest"
-               if (echo $cmd >&5 ; eval $cmd >conftest.java.output 2>&5); then
-                echo "yes" >&5
-               { $as_echo "$as_me:${as_lineno-$LINENO}: result: $jar_resolved" >&5
- $as_echo "$jar_resolved" >&6; }
-               found_jar=yes
-               PACKAGE_JAR_FILE=$jar_resolved
-               break 3
-             else
-                 echo "configure: failed program was:" >&5
-                 cat conftest.java >&5
-                 if test -s conftest.java.output; then
-                    STDOUT=`cat conftest.java.output`
-                 fi
-                 echo "configure: CLASSPATH was $CLASSPATH" >&5
-             ac_java_classpath=$saved_ac_java_classpath
-                             fi
-         fi
-         if test -f conftest.java.output; then
-            rm conftest.java.output
-         fi
+     cmd="$JAVAC ${JAVAC_FLAGS} conftestSharedChecker.java"
+     if (echo $cmd >&5 ; eval $cmd >conftestSharedChecker.java.output 2>&5) ; then
+         echo "configure: conftestSharedChecker.class available" >&5
      else
          echo "configure: failed program was:" >&5
-         cat conftest.java >&5
+         cat conftestSharedChecker.java >&5
          echo "configure: CLASSPATH was $CLASSPATH" >&5
+     fi
  
-             ac_java_classpath=$saved_ac_java_classpath
-             fi
+     fi
  
-           fi
-         done
-       done
-     done
-     if test "$found_jar" = "no"; then
+     CLASSPATH=$ac_java_classpath
+     export CLASSPATH
 -    cmd="$JAVA conftestSharedChecker freehep-graphicsio-emf org.freehep.graphicsio.emf.EMFGraphics2D $jar_resolved   "
++    cmd="$JAVA conftestSharedChecker fop org.apache.fop.pdf.PDFInfo $jar_resolved   "
+     if (echo $cmd >&5 ; eval $cmd >conftestSharedChecker.java.output 2>&5); then
+         PACKAGE_JAR_FILE=$(tail -n 1 conftestSharedChecker.java.output);
+         { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PACKAGE_JAR_FILE" >&5
+ $as_echo "$PACKAGE_JAR_FILE" >&6; }
+         echo "yes" >&5
+         # append the found file to the classpath to manage jar dependency
+         ac_java_classpath="$ac_java_classpath:$PACKAGE_JAR_FILE"
+     else
        { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  $as_echo "no" >&6; }
        if test "" = "yes"; then
 -         { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Could not find or use the Java package/jar freehep-graphicsio-emf used by Freehep GraphicsIO EMF (looking for package org.freehep.graphicsio.emf.EMFGraphics2D)" >&5
 -$as_echo "$as_me: WARNING: Could not find or use the Java package/jar freehep-graphicsio-emf used by Freehep GraphicsIO EMF (looking for package org.freehep.graphicsio.emf.EMFGraphics2D)" >&2;}
 +         { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Could not find or use the Java package/jar fop used by XML to PDF Translator (fop) (looking for package org.apache.fop.pdf.PDFInfo)" >&5
 +$as_echo "$as_me: WARNING: Could not find or use the Java package/jar fop used by XML to PDF Translator (fop) (looking for package org.apache.fop.pdf.PDFInfo)" >&2;}
        else
 -          as_fn_error $? "Could not find or use the Java package/jar freehep-graphicsio-emf used by Freehep GraphicsIO EMF (looking for package org.freehep.graphicsio.emf.EMFGraphics2D)" "$LINENO" 5
 +          as_fn_error $? "Could not find or use the Java package/jar fop used by XML to PDF Translator (fop) (looking for package org.apache.fop.pdf.PDFInfo)" "$LINENO" 5
        fi
      fi
+     if test -f conftestSharedChecker.java.output; then
+         rm conftestSharedChecker.java.output
+     fi
  
 -                    FREEHEP_GRAPHICSIO_EMF=$PACKAGE_JAR_FILE
 +                FOP=$PACKAGE_JAR_FILE
  
  
 -                    # Freehep IO
 +
 +# Check whether --with-emf was given.
 +if test "${with_emf+set}" = set; then :
 +  withval=$with_emf;
 +fi
 +
 +                if test "x$with_emf" != xno; then
 +                    # Freehep Graphics2D
  
 -    { $as_echo "$as_me:${as_lineno-$LINENO}: checking freehep-io" >&5
 -$as_echo_n "checking freehep-io... " >&6; }
 +    { $as_echo "$as_me:${as_lineno-$LINENO}: checking freehep-graphics2d" >&5
 +$as_echo_n "checking freehep-graphics2d... " >&6; }
      PACKAGE_JAR_FILE=
-     found_jar=no
-     saved_ac_java_classpath=$ac_java_classpath
-     DEFAULT_JAR_DIR="/usr/share/java /usr/lib/java /usr/share/java /usr/share/java/jar /opt/java/lib /usr/local/java /usr/local/java/jar /usr/local/share/java /usr/local/share/java/jar /usr/local/lib/java $(find /usr/share/java/ -maxdepth 1 -type d 2>/dev/null) $(find /usr/lib64/ -maxdepth 1 -type d 2>/dev/null) $(find  /usr/lib/ -maxdepth 1 -type d 2>/dev/null)  $(find /usr/share/*/lib -maxdepth 1 -type d 2>/dev/null)"
-     for jardir in "`pwd`/thirdparty" "`pwd`/jar" $DEFAULT_JAR_DIR; do
-       for jar in "$jardir/freehep-graphics2d.jar" "$jardir/libfreehep-graphics2d.jar" "$jardir/libfreehep-graphics2d-java.jar" "$jardir/freehep-graphics2d*.jar"; do
- # TODO check the behaviour when spaces
-         jars_resolved=`ls $jar 2>/dev/null`
-         for jar_resolved in $jars_resolved; do # If several jars matches
-           if test -e "$jar_resolved"; then
-             export ac_java_classpath="$jar_resolved:$ac_java_classpath"
  
-     cat << \EOF > conftest.java
- // #line 16305 "configure"
- import java.util.regex.Pattern;
+     DEFAULT_JAR_DIR="$(pwd)/thirdparty/ $(pwd)/jar/ /usr/local/java/ /usr/local/java/jar /usr/local/share/java/ /usr/local/share/java/jar/ /usr/local/lib/java/ $(find /usr/share/java/ -maxdepth 1 -type d 2>/dev/null | sort) $(find /usr/lib64/ -maxdepth 1 -type d 2>/dev/null) $(find  /usr/lib/ -maxdepth 1 -type d 2>/dev/null) $(find /usr/share/*/lib -maxdepth 1 -type d 2>/dev/null) /opt/java/lib/"
  
- import org.freehep.graphics2d.VectorGraphics;
 -    jar_resolved="$(find $DEFAULT_JAR_DIR -maxdepth 1 \( -type f -name 'freehep-io.jar' -or -name 'libfreehep-io.jar' -or -name 'libfreehep-io-java.jar' -or -name 'freehep-io*.jar' \) 2>/dev/null |tr '\n' ':')."
++    jar_resolved="$(find $DEFAULT_JAR_DIR -maxdepth 1 \( -type f -name 'freehep-graphics2d.jar' -or -name 'libfreehep-graphics2d.jar' -or -name 'libfreehep-graphics2d-java.jar' -or -name 'freehep-graphics2d*.jar' \) 2>/dev/null |tr '\n' ':')."
  
- public class conftest {
+     if test ! -f conftestSharedChecker.class ; then
+     cat << \EOF > conftestSharedChecker.java
 -// #line 18050 "configure"
++// #line 18052 "configure"
+ import java.util.regex.Pattern;
+ import java.io.File;
+ import java.io.IOException;
+ import java.lang.reflect.Field;
+ import java.lang.reflect.InvocationTargetException;
+ import java.lang.reflect.Method;
+ import java.net.URL;
+ import java.net.URLClassLoader;
+ import java.util.ArrayList;
+ public class conftestSharedChecker {
+     /**
+      * Required arguments :
+      *  argv[0]: name of the jar package
+      *  argv[1]: name of the class (with the package prefix)
+      *  argv[2]: possible paths of the jar package (separated by ':')
+      *
+      * Optional arguments:
+      *  argv[3]: field or method used to retrieve the version
+      *  argv[4]: expected version
+      *  argv[5]: String comparator :
+      *      "="  for exact version
+      */
      public static void main(String[] argv) {
+         final String packageName = argv[0];
+         final String className = argv[1];
+         final String[] jarList = argv[2].split(":");
+         ArrayList<URL> found = new ArrayList<>();
+         for(String jar : jarList)
+         {
+             try {
+                 File f = new File(jar);
+                 if (f.exists()) {
+                     found.add(f.toURI().toURL());
+                 }
+             } catch (IOException ex) {
+                 System.err.println(ex.toString());
+             }
+         }
+         URLClassLoader localClassLoader = new URLClassLoader(found.toArray(new URL[found.size()]));
+         URL klassURL = null;
+         Class<?> klass = null;
+         try {
+             String resourceName = className.replace(".", "/") + ".class";
+             klassURL = localClassLoader.getResource(resourceName);
+             klass = localClassLoader.loadClass(className);
+         } catch (ClassNotFoundException ex) {
+             System.err.println(className + " not found");
+             System.exit(-1);
+         }
+         String pathURL = klassURL.getPath().substring(0, klassURL.getPath().indexOf('!'));
+         String path = pathURL.substring(pathURL.indexOf(':') + 1);
+         System.err.println("found: " + path);
+         if (argv.length > 3) {
+             checkVersion(klass, argv);
+         }
+         System.out.println(path);
+     }
+     private static void checkVersion(Class<?> klass, String[] argv) throws SecurityException, IllegalArgumentException {
+         final String versionMethod = argv[3];
+         final String expected = argv[4];
+         final String atLeastOrEqual;
+         if (argv.length > 5)
+             atLeastOrEqual = argv[5];
+         else
+             atLeastOrEqual = "<=";
  
+         try {
+             try {
+                 Field field = klass.getField(versionMethod);
+                 Object value = field.get(null);
+                 compareAndDisplay(atLeastOrEqual, expected, value);
+             } catch (NoSuchFieldException fe) {
+                 Method method = null;
+                 try {
+                     method = klass.getMethod(versionMethod);
+                 } catch (NoSuchMethodException ex) {
+                     System.err.println(ex.toString());
+                     System.exit(-3);
+                 }
+                 try {
+                     Object value = method.invoke(null);
+                     compareAndDisplay(atLeastOrEqual, expected, value);
+                 } catch (NullPointerException ex) {
+                     Object value = method.invoke(klass.newInstance());
+                     compareAndDisplay(atLeastOrEqual, expected, value);
+                 }
+             }
+         } catch (IllegalAccessException ex) {
+             System.err.println(ex);
+             System.exit(-2);
+         } catch (InvocationTargetException ex) {
+             System.err.println(ex);
+             System.exit(-2);
+         } catch (InstantiationException ex) {
+             System.err.println(ex);
+             System.exit(-2);
+         }
+     }
+     private static void compareAndDisplay(String atLeastOrEqual, String expected, Object value) {
+         int cmp = compare(expected, value.toString());
+         switch(atLeastOrEqual) {
+             case ">":
+                 if (cmp > 0) {
+                     return;
+                 } else {
+                     System.err.println("expected "+atLeastOrEqual+""+expected+" but got "+value);
+                     System.exit(-4);
+                 }
+             case "==":
+                 if (cmp == 0) {
+                     return;
+                 } else {
+                     System.err.println("expected "+atLeastOrEqual+""+expected+" but got "+value);
+                     System.exit(-4);
+                 }
+             case "<=":
+                 if (cmp <= 0) {
+                     return;
+                 } else {
+                     System.err.println("expected "+atLeastOrEqual+""+expected+" but got "+value);
+                     System.exit(-4);
+                 }
+             default:
+                 System.err.println("unable to compare with "+atLeastOrEqual);
+                 System.exit(-4);
+         }
      }
  
      private static int compare(String v1, String v2) {
  
      CLASSPATH=$ac_java_classpath
      export CLASSPATH
-     cmd="$JAVAC ${JAVAC_FLAGS} conftest.java"
-     if (echo $cmd >&5 ; eval $cmd >conftest.java.output 2>&5) ; then
-        if test ""no"" = "no"; then
-            echo "yes" >&5
-               { $as_echo "$as_me:${as_lineno-$LINENO}: result: $jar_resolved" >&5
- $as_echo "$jar_resolved" >&6; }
-               found_jar=yes
-               PACKAGE_JAR_FILE=$jar_resolved
-               break 3
-        else
-               cmd="$JAVA conftest"
-               if (echo $cmd >&5 ; eval $cmd >conftest.java.output 2>&5); then
-                echo "yes" >&5
-               { $as_echo "$as_me:${as_lineno-$LINENO}: result: $jar_resolved" >&5
- $as_echo "$jar_resolved" >&6; }
-               found_jar=yes
-               PACKAGE_JAR_FILE=$jar_resolved
-               break 3
-             else
-                 echo "configure: failed program was:" >&5
-                 cat conftest.java >&5
-                 if test -s conftest.java.output; then
-                    STDOUT=`cat conftest.java.output`
-                 fi
-                 echo "configure: CLASSPATH was $CLASSPATH" >&5
-             ac_java_classpath=$saved_ac_java_classpath
-                             fi
-         fi
-         if test -f conftest.java.output; then
-            rm conftest.java.output
-         fi
+     cmd="$JAVAC ${JAVAC_FLAGS} conftestSharedChecker.java"
+     if (echo $cmd >&5 ; eval $cmd >conftestSharedChecker.java.output 2>&5) ; then
+         echo "configure: conftestSharedChecker.class available" >&5
      else
          echo "configure: failed program was:" >&5
-         cat conftest.java >&5
+         cat conftestSharedChecker.java >&5
          echo "configure: CLASSPATH was $CLASSPATH" >&5
+     fi
  
-             ac_java_classpath=$saved_ac_java_classpath
-             fi
+     fi
  
-           fi
-         done
-       done
-     done
-     if test "$found_jar" = "no"; then
+     CLASSPATH=$ac_java_classpath
+     export CLASSPATH
 -    cmd="$JAVA conftestSharedChecker freehep-io org.freehep.util.io.XMLSequence $jar_resolved   "
++    cmd="$JAVA conftestSharedChecker freehep-graphics2d org.freehep.graphics2d.VectorGraphics $jar_resolved   "
+     if (echo $cmd >&5 ; eval $cmd >conftestSharedChecker.java.output 2>&5); then
+         PACKAGE_JAR_FILE=$(tail -n 1 conftestSharedChecker.java.output);
+         { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PACKAGE_JAR_FILE" >&5
+ $as_echo "$PACKAGE_JAR_FILE" >&6; }
+         echo "yes" >&5
+         # append the found file to the classpath to manage jar dependency
+         ac_java_classpath="$ac_java_classpath:$PACKAGE_JAR_FILE"
+     else
        { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  $as_echo "no" >&6; }
        if test "" = "yes"; then
 -         { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Could not find or use the Java package/jar freehep-io used by Freehep IO (looking for package org.freehep.util.io.XMLSequence)" >&5
 -$as_echo "$as_me: WARNING: Could not find or use the Java package/jar freehep-io used by Freehep IO (looking for package org.freehep.util.io.XMLSequence)" >&2;}
 +         { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Could not find or use the Java package/jar freehep-graphics2d used by Freehep Graphics2D (looking for package org.freehep.graphics2d.VectorGraphics)" >&5
 +$as_echo "$as_me: WARNING: Could not find or use the Java package/jar freehep-graphics2d used by Freehep Graphics2D (looking for package org.freehep.graphics2d.VectorGraphics)" >&2;}
        else
 -          as_fn_error $? "Could not find or use the Java package/jar freehep-io used by Freehep IO (looking for package org.freehep.util.io.XMLSequence)" "$LINENO" 5
 +          as_fn_error $? "Could not find or use the Java package/jar freehep-graphics2d used by Freehep Graphics2D (looking for package org.freehep.graphics2d.VectorGraphics)" "$LINENO" 5
        fi
      fi
+     if test -f conftestSharedChecker.java.output; then
+         rm conftestSharedChecker.java.output
+     fi
  
 -                    FREEHEP_IO=$PACKAGE_JAR_FILE
 +                    FREEHEP_GRAPHICS2D=$PACKAGE_JAR_FILE
  
  
-                     # Freehep GraphicsIO EMF
 -                    # Freehep Util
++                    # Freehep GraphicsIO
  
-     { $as_echo "$as_me:${as_lineno-$LINENO}: checking freehep-graphicsio-emf" >&5
- $as_echo_n "checking freehep-graphicsio-emf... " >&6; }
 -    { $as_echo "$as_me:${as_lineno-$LINENO}: checking freehep-util" >&5
 -$as_echo_n "checking freehep-util... " >&6; }
++    { $as_echo "$as_me:${as_lineno-$LINENO}: checking freehep-graphicsio" >&5
++$as_echo_n "checking freehep-graphicsio... " >&6; }
      PACKAGE_JAR_FILE=
-     found_jar=no
-     saved_ac_java_classpath=$ac_java_classpath
-     DEFAULT_JAR_DIR="/usr/share/java /usr/lib/java /usr/share/java /usr/share/java/jar /opt/java/lib /usr/local/java /usr/local/java/jar /usr/local/share/java /usr/local/share/java/jar /usr/local/lib/java $(find /usr/share/java/ -maxdepth 1 -type d 2>/dev/null) $(find /usr/lib64/ -maxdepth 1 -type d 2>/dev/null) $(find  /usr/lib/ -maxdepth 1 -type d 2>/dev/null)  $(find /usr/share/*/lib -maxdepth 1 -type d 2>/dev/null)"
-     for jardir in "`pwd`/thirdparty" "`pwd`/jar" $DEFAULT_JAR_DIR; do
-       for jar in "$jardir/freehep-graphicsio-emf.jar" "$jardir/libfreehep-graphicsio-emf.jar" "$jardir/libfreehep-graphicsio-emf-java.jar" "$jardir/freehep-graphicsio-emf*.jar"; do
- # TODO check the behaviour when spaces
-         jars_resolved=`ls $jar 2>/dev/null`
-         for jar_resolved in $jars_resolved; do # If several jars matches
-           if test -e "$jar_resolved"; then
-             export ac_java_classpath="$jar_resolved:$ac_java_classpath"
  
-     cat << \EOF > conftest.java
- // #line 16422 "configure"
- import java.util.regex.Pattern;
+     DEFAULT_JAR_DIR="$(pwd)/thirdparty/ $(pwd)/jar/ /usr/local/java/ /usr/local/java/jar /usr/local/share/java/ /usr/local/share/java/jar/ /usr/local/lib/java/ $(find /usr/share/java/ -maxdepth 1 -type d 2>/dev/null | sort) $(find /usr/lib64/ -maxdepth 1 -type d 2>/dev/null) $(find  /usr/lib/ -maxdepth 1 -type d 2>/dev/null) $(find /usr/share/*/lib -maxdepth 1 -type d 2>/dev/null) /opt/java/lib/"
  
- import org.freehep.graphicsio.emf.EMFGraphics2D;
 -    jar_resolved="$(find $DEFAULT_JAR_DIR -maxdepth 1 \( -type f -name 'freehep-util.jar' -or -name 'libfreehep-util.jar' -or -name 'libfreehep-util-java.jar' -or -name 'freehep-util*.jar' \) 2>/dev/null |tr '\n' ':')."
++    jar_resolved="$(find $DEFAULT_JAR_DIR -maxdepth 1 \( -type f -name 'freehep-graphicsio.jar' -or -name 'libfreehep-graphicsio.jar' -or -name 'libfreehep-graphicsio-java.jar' -or -name 'freehep-graphicsio*.jar' \) 2>/dev/null |tr '\n' ':')."
  
- public class conftest {
+     if test ! -f conftestSharedChecker.class ; then
+     cat << \EOF > conftestSharedChecker.java
 -// #line 18269 "configure"
++// #line 18271 "configure"
+ import java.util.regex.Pattern;
+ import java.io.File;
+ import java.io.IOException;
+ import java.lang.reflect.Field;
+ import java.lang.reflect.InvocationTargetException;
+ import java.lang.reflect.Method;
+ import java.net.URL;
+ import java.net.URLClassLoader;
+ import java.util.ArrayList;
+ public class conftestSharedChecker {
+     /**
+      * Required arguments :
+      *  argv[0]: name of the jar package
+      *  argv[1]: name of the class (with the package prefix)
+      *  argv[2]: possible paths of the jar package (separated by ':')
+      *
+      * Optional arguments:
+      *  argv[3]: field or method used to retrieve the version
+      *  argv[4]: expected version
+      *  argv[5]: String comparator :
+      *      "="  for exact version
+      */
      public static void main(String[] argv) {
+         final String packageName = argv[0];
+         final String className = argv[1];
+         final String[] jarList = argv[2].split(":");
+         ArrayList<URL> found = new ArrayList<>();
+         for(String jar : jarList)
+         {
+             try {
+                 File f = new File(jar);
+                 if (f.exists()) {
+                     found.add(f.toURI().toURL());
+                 }
+             } catch (IOException ex) {
+                 System.err.println(ex.toString());
+             }
+         }
+         URLClassLoader localClassLoader = new URLClassLoader(found.toArray(new URL[found.size()]));
+         URL klassURL = null;
+         Class<?> klass = null;
+         try {
+             String resourceName = className.replace(".", "/") + ".class";
+             klassURL = localClassLoader.getResource(resourceName);
+             klass = localClassLoader.loadClass(className);
+         } catch (ClassNotFoundException ex) {
+             System.err.println(className + " not found");
+             System.exit(-1);
+         }
+         String pathURL = klassURL.getPath().substring(0, klassURL.getPath().indexOf('!'));
+         String path = pathURL.substring(pathURL.indexOf(':') + 1);
+         System.err.println("found: " + path);
+         if (argv.length > 3) {
+             checkVersion(klass, argv);
+         }
  
+         System.out.println(path);
+     }
+     private static void checkVersion(Class<?> klass, String[] argv) throws SecurityException, IllegalArgumentException {
+         final String versionMethod = argv[3];
+         final String expected = argv[4];
+         final String atLeastOrEqual;
+         if (argv.length > 5)
+             atLeastOrEqual = argv[5];
+         else
+             atLeastOrEqual = "<=";
+         try {
+             try {
+                 Field field = klass.getField(versionMethod);
+                 Object value = field.get(null);
+                 compareAndDisplay(atLeastOrEqual, expected, value);
+             } catch (NoSuchFieldException fe) {
+                 Method method = null;
+                 try {
+                     method = klass.getMethod(versionMethod);
+                 } catch (NoSuchMethodException ex) {
+                     System.err.println(ex.toString());
+                     System.exit(-3);
+                 }
+                 try {
+                     Object value = method.invoke(null);
+                     compareAndDisplay(atLeastOrEqual, expected, value);
+                 } catch (NullPointerException ex) {
+                     Object value = method.invoke(klass.newInstance());
+                     compareAndDisplay(atLeastOrEqual, expected, value);
+                 }
+             }
+         } catch (IllegalAccessException ex) {
+             System.err.println(ex);
+             System.exit(-2);
+         } catch (InvocationTargetException ex) {
+             System.err.println(ex);
+             System.exit(-2);
+         } catch (InstantiationException ex) {
+             System.err.println(ex);
+             System.exit(-2);
+         }
+     }
+     private static void compareAndDisplay(String atLeastOrEqual, String expected, Object value) {
+         int cmp = compare(expected, value.toString());
+         switch(atLeastOrEqual) {
+             case ">":
+                 if (cmp > 0) {
+                     return;
+                 } else {
+                     System.err.println("expected "+atLeastOrEqual+""+expected+" but got "+value);
+                     System.exit(-4);
+                 }
+             case "==":
+                 if (cmp == 0) {
+                     return;
+                 } else {
+                     System.err.println("expected "+atLeastOrEqual+""+expected+" but got "+value);
+                     System.exit(-4);
+                 }
+             case "<=":
+                 if (cmp <= 0) {
+                     return;
+                 } else {
+                     System.err.println("expected "+atLeastOrEqual+""+expected+" but got "+value);
+                     System.exit(-4);
+                 }
+             default:
+                 System.err.println("unable to compare with "+atLeastOrEqual);
+                 System.exit(-4);
+         }
      }
  
      private static int compare(String v1, String v2) {
  
      CLASSPATH=$ac_java_classpath
      export CLASSPATH
-     cmd="$JAVAC ${JAVAC_FLAGS} conftest.java"
-     if (echo $cmd >&5 ; eval $cmd >conftest.java.output 2>&5) ; then
-        if test ""no"" = "no"; then
-            echo "yes" >&5
-               { $as_echo "$as_me:${as_lineno-$LINENO}: result: $jar_resolved" >&5
- $as_echo "$jar_resolved" >&6; }
-               found_jar=yes
-               PACKAGE_JAR_FILE=$jar_resolved
-               break 3
-        else
-               cmd="$JAVA conftest"
-               if (echo $cmd >&5 ; eval $cmd >conftest.java.output 2>&5); then
-                echo "yes" >&5
-               { $as_echo "$as_me:${as_lineno-$LINENO}: result: $jar_resolved" >&5
- $as_echo "$jar_resolved" >&6; }
-               found_jar=yes
-               PACKAGE_JAR_FILE=$jar_resolved
-               break 3
-             else
-                 echo "configure: failed program was:" >&5
-                 cat conftest.java >&5
-                 if test -s conftest.java.output; then
-                    STDOUT=`cat conftest.java.output`
-                 fi
-                 echo "configure: CLASSPATH was $CLASSPATH" >&5
-             ac_java_classpath=$saved_ac_java_classpath
-                             fi
-         fi
-         if test -f conftest.java.output; then
-            rm conftest.java.output
-         fi
+     cmd="$JAVAC ${JAVAC_FLAGS} conftestSharedChecker.java"
+     if (echo $cmd >&5 ; eval $cmd >conftestSharedChecker.java.output 2>&5) ; then
+         echo "configure: conftestSharedChecker.class available" >&5
      else
          echo "configure: failed program was:" >&5
-         cat conftest.java >&5
+         cat conftestSharedChecker.java >&5
          echo "configure: CLASSPATH was $CLASSPATH" >&5
+     fi
  
-             ac_java_classpath=$saved_ac_java_classpath
-             fi
+     fi
  
-           fi
-         done
-       done
-     done
-     if test "$found_jar" = "no"; then
+     CLASSPATH=$ac_java_classpath
+     export CLASSPATH
 -    cmd="$JAVA conftestSharedChecker freehep-util org.freehep.util.StringUtilities $jar_resolved   "
++    cmd="$JAVA conftestSharedChecker freehep-graphicsio org.freehep.graphicsio.VectorGraphicsIO $jar_resolved   "
+     if (echo $cmd >&5 ; eval $cmd >conftestSharedChecker.java.output 2>&5); then
+         PACKAGE_JAR_FILE=$(tail -n 1 conftestSharedChecker.java.output);
+         { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PACKAGE_JAR_FILE" >&5
+ $as_echo "$PACKAGE_JAR_FILE" >&6; }
+         echo "yes" >&5
+         # append the found file to the classpath to manage jar dependency
+         ac_java_classpath="$ac_java_classpath:$PACKAGE_JAR_FILE"
+     else
        { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  $as_echo "no" >&6; }
        if test "" = "yes"; then
-          { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Could not find or use the Java package/jar freehep-graphicsio-emf used by Freehep GraphicsIO EMF (looking for package org.freehep.graphicsio.emf.EMFGraphics2D)" >&5
- $as_echo "$as_me: WARNING: Could not find or use the Java package/jar freehep-graphicsio-emf used by Freehep GraphicsIO EMF (looking for package org.freehep.graphicsio.emf.EMFGraphics2D)" >&2;}
 -         { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Could not find or use the Java package/jar freehep-util used by Freehep Util (looking for package org.freehep.util.StringUtilities)" >&5
 -$as_echo "$as_me: WARNING: Could not find or use the Java package/jar freehep-util used by Freehep Util (looking for package org.freehep.util.StringUtilities)" >&2;}
++         { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Could not find or use the Java package/jar freehep-graphicsio used by Freehep GraphicsIO (looking for package org.freehep.graphicsio.VectorGraphicsIO)" >&5
++$as_echo "$as_me: WARNING: Could not find or use the Java package/jar freehep-graphicsio used by Freehep GraphicsIO (looking for package org.freehep.graphicsio.VectorGraphicsIO)" >&2;}
        else
-           as_fn_error $? "Could not find or use the Java package/jar freehep-graphicsio-emf used by Freehep GraphicsIO EMF (looking for package org.freehep.graphicsio.emf.EMFGraphics2D)" "$LINENO" 5
 -          as_fn_error $? "Could not find or use the Java package/jar freehep-util used by Freehep Util (looking for package org.freehep.util.StringUtilities)" "$LINENO" 5
++          as_fn_error $? "Could not find or use the Java package/jar freehep-graphicsio used by Freehep GraphicsIO (looking for package org.freehep.graphicsio.VectorGraphicsIO)" "$LINENO" 5
        fi
      fi
+     if test -f conftestSharedChecker.java.output; then
+         rm conftestSharedChecker.java.output
+     fi
  
-                     FREEHEP_GRAPHICSIO_EMF=$PACKAGE_JAR_FILE
 -                    FREEHEP_UTIL=$PACKAGE_JAR_FILE
++                    FREEHEP_GRAPHICSIO=$PACKAGE_JAR_FILE
  
 -                fi
  
-                     # Freehep GraphicsIO
 -                # xml.apache.org SVG Library (under mandriva for example)
++                    # Freehep GraphicsIO EMF
  
-     { $as_echo "$as_me:${as_lineno-$LINENO}: checking freehep-graphicsio" >&5
- $as_echo_n "checking freehep-graphicsio... " >&6; }
 -    { $as_echo "$as_me:${as_lineno-$LINENO}: checking batik-all" >&5
 -$as_echo_n "checking batik-all... " >&6; }
++    { $as_echo "$as_me:${as_lineno-$LINENO}: checking freehep-graphicsio-emf" >&5
++$as_echo_n "checking freehep-graphicsio-emf... " >&6; }
      PACKAGE_JAR_FILE=
-     found_jar=no
-     saved_ac_java_classpath=$ac_java_classpath
-     DEFAULT_JAR_DIR="/usr/share/java /usr/lib/java /usr/share/java /usr/share/java/jar /opt/java/lib /usr/local/java /usr/local/java/jar /usr/local/share/java /usr/local/share/java/jar /usr/local/lib/java $(find /usr/share/java/ -maxdepth 1 -type d 2>/dev/null) $(find /usr/lib64/ -maxdepth 1 -type d 2>/dev/null) $(find  /usr/lib/ -maxdepth 1 -type d 2>/dev/null)  $(find /usr/share/*/lib -maxdepth 1 -type d 2>/dev/null)"
-     for jardir in "`pwd`/thirdparty" "`pwd`/jar" $DEFAULT_JAR_DIR; do
-       for jar in "$jardir/freehep-graphicsio.jar" "$jardir/libfreehep-graphicsio.jar" "$jardir/libfreehep-graphicsio-java.jar" "$jardir/freehep-graphicsio*.jar"; do
- # TODO check the behaviour when spaces
-         jars_resolved=`ls $jar 2>/dev/null`
-         for jar_resolved in $jars_resolved; do # If several jars matches
-           if test -e "$jar_resolved"; then
-             export ac_java_classpath="$jar_resolved:$ac_java_classpath"
  
-     cat << \EOF > conftest.java
- // #line 16539 "configure"
- import java.util.regex.Pattern;
+     DEFAULT_JAR_DIR="$(pwd)/thirdparty/ $(pwd)/jar/ /usr/local/java/ /usr/local/java/jar /usr/local/share/java/ /usr/local/share/java/jar/ /usr/local/lib/java/ $(find /usr/share/java/ -maxdepth 1 -type d 2>/dev/null | sort) $(find /usr/lib64/ -maxdepth 1 -type d 2>/dev/null) $(find  /usr/lib/ -maxdepth 1 -type d 2>/dev/null) $(find /usr/share/*/lib -maxdepth 1 -type d 2>/dev/null) /opt/java/lib/"
  
- import org.freehep.graphicsio.VectorGraphicsIO;
 -    jar_resolved="$(find $DEFAULT_JAR_DIR -maxdepth 1 \( -type f -name 'batik-all.jar' -or -name 'libbatik-all.jar' -or -name 'libbatik-all-java.jar' -or -name 'batik-all*.jar' \) 2>/dev/null |tr '\n' ':')."
++    jar_resolved="$(find $DEFAULT_JAR_DIR -maxdepth 1 \( -type f -name 'freehep-graphicsio-emf.jar' -or -name 'libfreehep-graphicsio-emf.jar' -or -name 'libfreehep-graphicsio-emf-java.jar' -or -name 'freehep-graphicsio-emf*.jar' \) 2>/dev/null |tr '\n' ':')."
  
- public class conftest {
+     if test ! -f conftestSharedChecker.class ; then
+     cat << \EOF > conftestSharedChecker.java
 -// #line 18489 "configure"
++// #line 18490 "configure"
+ import java.util.regex.Pattern;
+ import java.io.File;
+ import java.io.IOException;
+ import java.lang.reflect.Field;
+ import java.lang.reflect.InvocationTargetException;
+ import java.lang.reflect.Method;
+ import java.net.URL;
+ import java.net.URLClassLoader;
+ import java.util.ArrayList;
+ public class conftestSharedChecker {
+     /**
+      * Required arguments :
+      *  argv[0]: name of the jar package
+      *  argv[1]: name of the class (with the package prefix)
+      *  argv[2]: possible paths of the jar package (separated by ':')
+      *
+      * Optional arguments:
+      *  argv[3]: field or method used to retrieve the version
+      *  argv[4]: expected version
+      *  argv[5]: String comparator :
+      *      "="  for exact version
+      */
      public static void main(String[] argv) {
+         final String packageName = argv[0];
+         final String className = argv[1];
+         final String[] jarList = argv[2].split(":");
+         ArrayList<URL> found = new ArrayList<>();
+         for(String jar : jarList)
+         {
+             try {
+                 File f = new File(jar);
+                 if (f.exists()) {
+                     found.add(f.toURI().toURL());
+                 }
+             } catch (IOException ex) {
+                 System.err.println(ex.toString());
+             }
+         }
+         URLClassLoader localClassLoader = new URLClassLoader(found.toArray(new URL[found.size()]));
+         URL klassURL = null;
+         Class<?> klass = null;
+         try {
+             String resourceName = className.replace(".", "/") + ".class";
+             klassURL = localClassLoader.getResource(resourceName);
+             klass = localClassLoader.loadClass(className);
+         } catch (ClassNotFoundException ex) {
+             System.err.println(className + " not found");
+             System.exit(-1);
+         }
+         String pathURL = klassURL.getPath().substring(0, klassURL.getPath().indexOf('!'));
+         String path = pathURL.substring(pathURL.indexOf(':') + 1);
+         System.err.println("found: " + path);
+         if (argv.length > 3) {
+             checkVersion(klass, argv);
+         }
+         System.out.println(path);
+     }
+     private static void checkVersion(Class<?> klass, String[] argv) throws SecurityException, IllegalArgumentException {
+         final String versionMethod = argv[3];
+         final String expected = argv[4];
+         final String atLeastOrEqual;
+         if (argv.length > 5)
+             atLeastOrEqual = argv[5];
+         else
+             atLeastOrEqual = "<=";
  
+         try {
+             try {
+                 Field field = klass.getField(versionMethod);
+                 Object value = field.get(null);
+                 compareAndDisplay(atLeastOrEqual, expected, value);
+             } catch (NoSuchFieldException fe) {
+                 Method method = null;
+                 try {
+                     method = klass.getMethod(versionMethod);
+                 } catch (NoSuchMethodException ex) {
+                     System.err.println(ex.toString());
+                     System.exit(-3);
+                 }
+                 try {
+                     Object value = method.invoke(null);
+                     compareAndDisplay(atLeastOrEqual, expected, value);
+                 } catch (NullPointerException ex) {
+                     Object value = method.invoke(klass.newInstance());
+                     compareAndDisplay(atLeastOrEqual, expected, value);
+                 }
+             }
+         } catch (IllegalAccessException ex) {
+             System.err.println(ex);
+