File: check_java_support.m4

package info (click to toggle)
syslog-ng 4.8.1-5
  • links: PTS, VCS
  • area: main
  • in suites: sid, trixie
  • size: 20,440 kB
  • sloc: ansic: 177,631; python: 13,035; cpp: 11,611; makefile: 7,011; sh: 5,147; java: 3,651; xml: 3,344; yacc: 1,377; lex: 599; perl: 193; awk: 190; objc: 162
file content (118 lines) | stat: -rw-r--r-- 3,872 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
AU_ALIAS([AC_CHECK_JAVA_VERSION], [AX_CHECK_JAVA_VERSION])
AU_ALIAS([AC_CHECK_GRADLE_VERSION], [AX_CHECK_GRADLE_VERSION])

AC_DEFUN([AX_READLINK],
[
  READLINK_TARGET=[$1]

  if test -n "$READLINK_TARGET"; then
    cd $(dirname "$READLINK_TARGET")
    while test -L "$READLINK_TARGET"; do
      READLINK_TARGET=$(readlink "$READLINK_TARGET")
      cd $(dirname "$READLINK_TARGET")
    done
    echo $(pwd -P)/$(basename "$READLINK_TARGET")
  fi
])
AC_DEFUN([AX_CHECK_GRADLE_VERSION],
[AC_MSG_CHECKING([for GRADLE_VERSION])
  EXPECTED_GRADLE_VERSION=[$1]
  GRADLE_BIN=`which gradle`
  if test "x$GRADLE_BIN" != "x"; then
    GRADLE_BIN=`AX_READLINK([$GRADLE_BIN])`
    GRADLE_VERSION=`gradle -version 2>&1 | grep Gradle | head -1 |sed "s/.*\ \(.*\)/\1/"`
    SHORT_VERSION=${GRADLE_VERSION%.*}
    MAJOR_VERSION=${SHORT_VERSION%.*}
    MINOR_VERSION=${SHORT_VERSION##*.}
    EXPECTED_MAJOR_VERSION=${EXPECTED_GRADLE_VERSION%.*}
    EXPECTED_MINOR_VERSION=${EXPECTED_GRADLE_VERSION##*.}
    if test "$MAJOR_VERSION" -lt "$EXPECTED_MAJOR_VERSION";
    then
      AC_MSG_ERROR([Too old gradle version required: $EXPECTED_GRADLE_VERSION found: $GRADLE_VERSION])
    elif test "$MAJOR_VERSION" -eq "$EXPECTED_MAJOR_VERSION";
    then
      if test "$MINOR_VERSION" -lt "$EXPECTED_MINOR_VERSION";
      then
        AC_MSG_ERROR([Too old gradle version required: $EXPECTED_GRADLE_VERSION= found: $GRADLE_VERSION])
      fi
    fi
    AC_SUBST(GRADLE, "$GRADLE_BIN")
    $2
    AC_MSG_RESULT([$SHORT_VERSION])
  else
    $3
    AC_MSG_RESULT([no])
  fi
])
AC_DEFUN([AX_CHECK_JAVA_VERSION],
[AC_MSG_CHECKING([for JAVA_VERSION])
  case $host_os in
    freebsd*) DONT_RESOLVE_JAVA_BIN_LINKS="YES" ;;
    *) ;;
  esac
  JAVA_VERSION=[$1]
  JAVAC_BIN=`which javac`
  JAVAH_BIN=`which javah`
  JAR_BIN=`which jar`
  JAVA_HOME_CHECKER="/usr/libexec/java_home"

  if test "x$JAVAC_BIN" != "x"; then
    if test "x$DONT_RESOLVE_JAVA_BIN_LINKS" = "x"; then
      JAVAC_BIN=`AX_READLINK([$JAVAC_BIN])`
      JAVAH_BIN=`AX_READLINK([$JAVAH_BIN])`
      JAR_BIN=`AX_READLINK([$JAR_BIN])`
    fi
    JAVAC_VERSION=`$JAVAC_BIN -version 2>&1 | sed "s/.*\ \(.*\)/\1/"`
    SHORT_VERSION=${JAVAC_VERSION%.*}
    MAJOR_VERSION=${SHORT_VERSION%.*}
    MINOR_VERSION=${SHORT_VERSION##*.}
    VERSION_OK="1"

    EXPECTED_MAJOR_VERSION=${JAVA_VERSION%.*}
    EXPECTED_MINOR_VERSION=${JAVA_VERSION##*.}
    if test "$MAJOR_VERSION" -lt "$EXPECTED_MAJOR_VERSION";
    then
      AC_MSG_NOTICE([Too old java version required: $JAVA_VERSION found: $SHORT_VERSION])
      VERSION_OK="0"
    elif test "$MAJOR_VERSION" -eq "$EXPECTED_MAJOR_VERSION";
    then
      if test "$MINOR_VERSION" -lt "$EXPECTED_MINOR_VERSION";
      then
        AC_MSG_NOTICE([Too old java version required: $JAVA_VERSION found: $SHORT_VERSION])
        VERSION_OK="0"
      fi
    fi

    if test "$VERSION_OK" = "1";
    then
      if test -e "$JAVA_HOME_CHECKER"; then
        JNI_HOME=`$JAVA_HOME_CHECKER`
      else
        JNI_HOME=`echo $JAVAC_BIN | sed "s/\(.*\)[[/]]bin[[/]]java.*/\1\//"`
      fi

      JNI_LIBDIR=`find $JNI_HOME \( -name "libjvm.so" -or -name "libjvm.dylib" \) \
        | sed "s-/libjvm\.so-/-" \
        | sed "s-/libjvm\.dylib-/-" | head -n 1`
      JNI_LIBS="-L$JNI_LIBDIR -ljvm"
      JNI_INCLUDE_DIR=`find $JNI_HOME -name "jni.h" |  sed "s/\(.*\)jni.h/\1/" | head -n 1`
      JNI_CFLAGS="-I$JNI_INCLUDE_DIR"

      JNI_MD_INCLUDE_DIR=`find $JNI_HOME -name "jni_md.h" |  sed "s/\(.*\)jni_md.h/\1/" | head -n 1`
      JNI_CFLAGS="$JNI_CFLAGS -I$JNI_MD_INCLUDE_DIR"
      AC_SUBST(JNI_CFLAGS, "$JNI_CFLAGS")
      AC_SUBST(JNI_LIBS, "$JNI_LIBS")
      AC_SUBST(JAVAC, "$JAVAC_BIN")
      AC_SUBST(JAVAH, "$JAVAH_BIN")
      AC_SUBST(JAR, "$JAR_BIN")
      $2
      AC_MSG_RESULT([$SHORT_VERSION])
    else
        $3
        AC_MSG_RESULT([no])
    fi
  else
    $3
    AC_MSG_RESULT([no])
  fi
])