changeset 1223:ab8ea3bd3ead

Improved JDK9 detection * acinclude.m4: (IT_CHECK_FOR_JDK) if found jdk is link, then it is printed out also as resolved. (IT_CHECK_FOR_JRE) same, plus except classical JDK/jre verification, also modular JRE is checked.
author Jiri Vanek <jvanek@redhat.com>
date Tue, 28 Apr 2015 11:38:35 +0200
parents fc88dd0ab2e4
children 11249cdb910b
files ChangeLog acinclude.m4
diffstat 2 files changed, 27 insertions(+), 6 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog	Mon Apr 27 10:15:42 2015 -0400
+++ b/ChangeLog	Tue Apr 28 11:38:35 2015 +0200
@@ -1,3 +1,10 @@
+2015-04-28  Jiri Vanek  <jvanek@redhat.com>
+
+	Improved JDK9 detection
+	* acinclude.m4: (IT_CHECK_FOR_JDK) if found jdk is link, then it is printed
+	out also as resolved. (IT_CHECK_FOR_JRE) same, plus except classical JDK/jre
+	verification, also modular JRE is checked.
+
 2015-04-27  Lukasz Dracz  <ldracz@redhat.com>
 
 	Removed Executable Permissions from bash completion
--- a/acinclude.m4	Mon Apr 27 10:15:42 2015 -0400
+++ b/acinclude.m4	Tue Apr 28 11:38:35 2015 +0200
@@ -65,9 +65,11 @@
        fi
     done
   fi
-  AC_MSG_RESULT(${SYSTEM_JDK_DIR})
   if ! test -d "${SYSTEM_JDK_DIR}"; then
-    AC_MSG_ERROR("A JDK home directory could not be found.")
+    AC_MSG_ERROR("A JDK home directory could not be found. ${SYSTEM_JDK_DIR}")
+  else
+    READ=`readlink -f ${SYSTEM_JDK_DIR}`
+    AC_MSG_RESULT(${SYSTEM_JDK_DIR} (link to ${READ}))
   fi
   AC_SUBST(SYSTEM_JDK_DIR)
 ])
@@ -87,13 +89,25 @@
                SYSTEM_JRE_DIR=
              ])
   if test -z "${SYSTEM_JRE_DIR}" ; then
-    if test -d "${SYSTEM_JDK_DIR}/jre" ; then
-      SYSTEM_JRE_DIR="${SYSTEM_JDK_DIR}/jre"
+    SYSTEM_JRE_DIR_EIGHT_AND_LESS="${SYSTEM_JDK_DIR}/jre"
+    SYSTEM_JRE_DIR_MODULAR="${SYSTEM_JDK_DIR}"
+    # try jdk8 or older compliant
+    if test -d "${SYSTEM_JRE_DIR_EIGHT_AND_LESS}" -a -e "${SYSTEM_JRE_DIR_EIGHT_AND_LESS}/bin/java" -a -e "${SYSTEM_JRE_DIR_EIGHT_AND_LESS}/lib/rt.jar" ; then
+      SYSTEM_JRE_DIR="${SYSTEM_JRE_DIR_EIGHT_AND_LESS}"
+    fi
+    # still not found?
+    if test -z "${SYSTEM_JRE_DIR}" ; then
+      # try modular, jdk9 or higher compliant
+      if test -d "${SYSTEM_JRE_DIR_MODULAR}" -a -f "${SYSTEM_JRE_DIR_MODULAR}/bin/java" -a -d "${SYSTEM_JRE_DIR_MODULAR}/lib/modules" ; then
+        SYSTEM_JRE_DIR="${SYSTEM_JRE_DIR_MODULAR}"
+      fi
     fi
   fi
-  AC_MSG_RESULT(${SYSTEM_JRE_DIR})
   if ! test -d "${SYSTEM_JRE_DIR}"; then
-    AC_MSG_ERROR("A JRE home directory could not be found.")
+    AC_MSG_ERROR("A JRE home directory could not be found. ${SYSTEM_JRE_DIR}")
+  else
+    READ=`readlink -f ${SYSTEM_JRE_DIR}`
+    AC_MSG_RESULT(${SYSTEM_JRE_DIR} (link to ${READ}))
   fi
   AC_SUBST(SYSTEM_JRE_DIR)
 ])