0be30111b9b78e38376b3feb8849ae0aa929f9f7
[scilab.git] / scilab / m4 / java-thirdparty.m4
1 dnl
2 dnl Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
3 dnl Copyright (C) DIGITEO - 2010 - Sylvestre Ledru
4 dnl 
5 dnl This file must be used under the terms of the CeCILL.
6 dnl This source file is licensed as described in the file COPYING, which
7 dnl you should have received as part of this distribution.  The terms
8 dnl are also available at    
9 dnl http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
10 dnl
11
12 #------------------------------------------------------------------------
13 # AC_JAVA_CHECK_VERSION_PACKAGE(NAME, IMPORTS, JAR, MIN_VERSION, CURRENT_VERSION, [PRE_PROCESSING], [GREATER_OR_EQUALS])
14 #
15 # Check if the minimal version of a software/package is available or not.
16 # Note that since java does not provide an universal mechanism to detect
17 # the version of a package, some work is left to the user.
18 # I will update this work when OSGI is more supported.
19 #
20 # Arguments:
21 #    1. The name of the package (only used in the display of feedbacks)
22 #    2. Which imports are necessary in the check
23 #    3. The name of the jar files used to build against
24 #    4. What is the minimal version expected
25 #    5. The Java code to get the version ... This can be a serie of java
26 #       instructions
27 #   6. Pre processing to reformat the values
28 #   7. Specify if we want the exact version or greater. (equals or greater by
29 #      default).
30 #
31 #------------------------------------------------------------------------
32
33 AC_DEFUN([AC_JAVA_CHECK_VERSION_PACKAGE], [
34     AC_MSG_CHECKING([minimal version ($4) of $1])
35    saved_ac_java_classpath=$ac_java_classpath
36    export ac_java_classpath="$3:$ac_java_classpath"
37    if test "x$7" == "x"; then
38    AC_JAVA_TRY_COMPILE($2, [String minVersion="$4";
39                             $6
40                             System.out.println($5);
41                                   if (compare(minVersion, $5) > 0) {
42                                    System.exit(-1);
43                                 } ]
44                             , "yes", echo "yes" , AC_MSG_ERROR([Wrong version of $1. Expected at least $4. Found $STDOUT]))
45    else
46    AC_JAVA_TRY_COMPILE($2, [String minVersion="$4";
47                             $6
48                             System.out.println($5);
49                                   if (compare(minVersion, $5) != 0) {
50                                    System.exit(-1);
51                                 } ]
52                             , "yes", echo "yes" , AC_MSG_ERROR([Wrong version of $1. Expected exact version $4. Found $STDOUT]))
53     fi
54    ac_java_classpath=$saved_ac_java_classpath
55 ])