changeset 131:2e1e040bcda7

Bug 2785: Change the order of searching JDK path at configure Reviewed-by: yasuenag
author KUBOTA Yuji <kubota.yuji@lab.ntt.co.jp>
date Fri, 15 Jan 2016 13:05:14 +0900
parents c293936e7655
children b35a3db44df2
files ChangeLog configure configure.ac
diffstat 3 files changed, 63 insertions(+), 65 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog	Fri Jan 15 13:00:29 2016 +0900
+++ b/ChangeLog	Fri Jan 15 13:05:14 2016 +0900
@@ -1,6 +1,7 @@
 2016-01-14  KUBOTA Yuji <kubota.yuji@lab.ntt.co.jp>
 
 	* Bug 2784: Fix configure to search /etc/alternatives/java correctly.
+	* Bug 2785: Change the order of searching JDK path at configure
 
 2016-01-12  Yasumasa Suenaga <yasuenag@gmail.com>
 
--- a/configure	Fri Jan 15 13:00:29 2016 +0900
+++ b/configure	Fri Jan 15 13:05:14 2016 +0900
@@ -1437,8 +1437,8 @@
   --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
   --without-PACKAGE       do not use PACKAGE (same as --with-PACKAGE=no)
   --with-arch[=ARG]       Specify an architecture of the system.
-  --with-jdk[=PATH]       Path to JDK home directory.
-                          [default=/usr/lib/jvm/java-openjdk]
+  --with-jdk[=PATH]       Path to JDK home directory. (default: follow
+                          symbolic links from /etc/alternatives/java)
   --with-gcov[=yes/no]    Link with gcov library. [default=no]
 
 Some influential environment variables:
@@ -8082,8 +8082,8 @@
 fi
 
 
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for JAVA_HOME" >&5
-$as_echo_n "checking for JAVA_HOME... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for JAVA_HOME using configure arguments" >&5
+$as_echo_n "checking for JAVA_HOME using configure arguments... " >&6; }
 if test -n "$with_jdk"; then
   JDK_DIR="$with_jdk"
   { $as_echo "$as_me:${as_lineno-$LINENO}: result: $JDK_DIR" >&5
@@ -8091,18 +8091,7 @@
 else
   { $as_echo "$as_me:${as_lineno-$LINENO}: result: none" >&5
 $as_echo "none" >&6; }
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for default openjdk home directory" >&5
-$as_echo_n "checking for default openjdk home directory... " >&6; }
-  DEFAULT_JDK_PATH="/usr/lib/jvm/java-openjdk"
-
-  if test -d "$DEFAULT_JDK_PATH" && test -r "$DEFAULT_JDK_PATH" ; then
-    JDK_DIR="$DEFAULT_JDK_PATH"
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: exist" >&5
-$as_echo "exist" >&6; }
-  else
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: none" >&5
-$as_echo "none" >&6; }
-    # Extract the first word of "java", so it can be a program name with args.
+  # Extract the first word of "java", so it can be a program name with args.
 set dummy java; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
@@ -8142,9 +8131,9 @@
 fi
 
 
-    if test -n "$JAVA_PATH"; then
-      # Follow a chain of symbolic link by readlink to get the real JDK path
-      # Extract the first word of "readlink", so it can be a program name with args.
+  if test -n "$JAVA_PATH"; then
+    # Follow a chain of symbolic link by readlink to get the real JDK path
+    # Extract the first word of "readlink", so it can be a program name with args.
 set dummy readlink; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
@@ -8184,28 +8173,37 @@
 fi
 
 
-      if test -z "$READLINK"; then
-        as_fn_error $? "readlink not found." "$LINENO" 5
+    if test -z "$READLINK"; then
+      as_fn_error $? "readlink not found." "$LINENO" 5
+    else
+      { $as_echo "$as_me:${as_lineno-$LINENO}: checking for JAVA_HOME using java in /etc/alternatives" >&5
+$as_echo_n "checking for JAVA_HOME using java in /etc/alternatives... " >&6; }
+      # We have to get JDK directory, not JRE directory
+      JDK_DIR=`$READLINK -f "$JAVA_PATH" 2>$DEVNULL | $SED -e 's:\(jre/\|\)bin/java::g' 2>$DEVNULL`
+      if test $? -ne 0 ; then
+        JDK_DIR=""
+        { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found" >&5
+$as_echo "not found" >&6; }
       else
-        { $as_echo "$as_me:${as_lineno-$LINENO}: checking for java configured by alternatives" >&5
-$as_echo_n "checking for java configured by alternatives... " >&6; }
-        # We have to get JDK_PATH, not JRE_PATH
-        JDK_DIR=`$READLINK -f "$JAVA_PATH" 2>$DEVNULL | $SED -e 's:\(jre/\|\)bin/java::g' 2>$DEVNULL`
-        if test $? -ne 0 ; then
-          JDK_DIR=""
-          { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found" >&5
-$as_echo "not found" >&6; }
-        else
-          { $as_echo "$as_me:${as_lineno-$LINENO}: result: found" >&5
-$as_echo "found" >&6; }
-        fi
+        { $as_echo "$as_me:${as_lineno-$LINENO}: result: $JDK_DIR" >&5
+$as_echo "$JDK_DIR" >&6; }
       fi
     fi
+  else
+    # Get JDK path from openjdk default directory
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for JAVA_HOME using well-known locations (/usr/lib/jvm/java-openjdk)" >&5
+$as_echo_n "checking for JAVA_HOME using well-known locations (/usr/lib/jvm/java-openjdk)... " >&6; }
+    DEFAULT_JDK_PATH="/usr/lib/jvm/java-openjdk"
+    if test -d "$DEFAULT_JDK_PATH" && test -r "$DEFAULT_JDK_PATH" ; then
+      JDK_DIR="$DEFAULT_JDK_PATH"
+      { $as_echo "$as_me:${as_lineno-$LINENO}: result: exist" >&5
+$as_echo "exist" >&6; }
+    fi
   fi
 fi
 
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for JAVA_HOME" >&5
-$as_echo_n "checking for JAVA_HOME... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for JDK library using found JAVA_HOME" >&5
+$as_echo_n "checking for JDK library using found JAVA_HOME... " >&6; }
 if test -z "$JDK_DIR" || test ! -d $JDK_DIR || test ! -r $JDK_DIR \
   || test ! -d $JDK_DIR/bin/ || test ! -r $JDK_DIR/bin/ \
   || test ! -d $JDK_DIR/include/ || test ! -r $JDK_DIR/include/ \
@@ -8223,8 +8221,8 @@
   as_fn_error $? "JDK directory (JAVA_HOME) was not found." "$LINENO" 5
 fi
 
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $JDK_DIR" >&5
-$as_echo "$JDK_DIR" >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: found at $JDK_DIR" >&5
+$as_echo "found at $JDK_DIR" >&6; }
 
 
 # end JDK path -----------------------------------------------------------------
--- a/configure.ac	Fri Jan 15 13:00:29 2016 +0900
+++ b/configure.ac	Fri Jan 15 13:05:14 2016 +0900
@@ -193,44 +193,43 @@
 # get JDK path -----------------------------------------------------------------
 
 AC_ARG_WITH([jdk], AC_HELP_STRING([--with-jdk@<:@=PATH@:>@],
-  [Path to JDK home directory. @<:@default=/usr/lib/jvm/java-openjdk@:>@]))
+  [Path to JDK home directory. (default: follow symbolic links from /etc/alternatives/java)]))
 
-AC_MSG_CHECKING([for JAVA_HOME])
+AC_MSG_CHECKING([for JAVA_HOME using configure arguments])
 if test -n "$with_jdk"; then
   JDK_DIR="$with_jdk"
   AC_MSG_RESULT($JDK_DIR)
 else
   AC_MSG_RESULT(none)
-  AC_MSG_CHECKING([for default openjdk home directory])
-  DEFAULT_JDK_PATH="/usr/lib/jvm/java-openjdk"
-
-  if test -d "$DEFAULT_JDK_PATH" && test -r "$DEFAULT_JDK_PATH" ; then
-    JDK_DIR="$DEFAULT_JDK_PATH"
-    AC_MSG_RESULT([exist])
+  AC_PATH_PROG([JAVA_PATH], [java], [], [/etc/alternatives])
+  if test -n "$JAVA_PATH"; then
+    # Follow a chain of symbolic link by readlink to get the real JDK path
+    AC_PATH_PROG([READLINK], [readlink], [], [$PATH])
+    if test -z "$READLINK"; then
+      AC_MSG_ERROR([readlink not found.])
+    else
+      AC_MSG_CHECKING([for JAVA_HOME using java in /etc/alternatives])
+      # We have to get JDK directory, not JRE directory
+      JDK_DIR=`$READLINK -f "$JAVA_PATH" 2>$DEVNULL | $SED -e 's:\(jre/\|\)bin/java::g' 2>$DEVNULL`
+      if test $? -ne 0 ; then
+        JDK_DIR=""
+        AC_MSG_RESULT([not found])
+      else
+        AC_MSG_RESULT([$JDK_DIR])
+      fi
+    fi
   else
-    AC_MSG_RESULT([none])
-    AC_PATH_PROG([JAVA_PATH], [java], [], [/etc/alternatives])
-    if test -n "$JAVA_PATH"; then
-      # Follow a chain of symbolic link by readlink to get the real JDK path
-      AC_PATH_PROG([READLINK], [readlink], [], [$PATH])
-      if test -z "$READLINK"; then
-        AC_MSG_ERROR([readlink not found.])
-      else
-        AC_MSG_CHECKING([for java configured by alternatives])
-        # We have to get JDK_PATH, not JRE_PATH
-        JDK_DIR=`$READLINK -f "$JAVA_PATH" 2>$DEVNULL | $SED -e 's:\(jre/\|\)bin/java::g' 2>$DEVNULL`
-        if test $? -ne 0 ; then
-          JDK_DIR=""
-          AC_MSG_RESULT([not found])
-        else
-          AC_MSG_RESULT([found])
-        fi
-      fi
+    # Get JDK path from openjdk default directory
+    AC_MSG_CHECKING([for JAVA_HOME using well-known locations (/usr/lib/jvm/java-openjdk)])
+    DEFAULT_JDK_PATH="/usr/lib/jvm/java-openjdk"
+    if test -d "$DEFAULT_JDK_PATH" && test -r "$DEFAULT_JDK_PATH" ; then
+      JDK_DIR="$DEFAULT_JDK_PATH"
+      AC_MSG_RESULT([exist])
     fi
   fi
 fi
 
-AC_MSG_CHECKING([for JAVA_HOME])
+AC_MSG_CHECKING([for JDK library using found JAVA_HOME])
 if test -z "$JDK_DIR" || test ! -d $JDK_DIR || test ! -r $JDK_DIR \
   || test ! -d $JDK_DIR/bin/ || test ! -r $JDK_DIR/bin/ \
   || test ! -d $JDK_DIR/include/ || test ! -r $JDK_DIR/include/ \
@@ -244,7 +243,7 @@
   AC_MSG_ERROR([JDK directory (JAVA_HOME) was not found.])
 fi
 
-AC_MSG_RESULT([$JDK_DIR])
+AC_MSG_RESULT([found at $JDK_DIR])
 AC_SUBST([JDK_DIR])
 
 # end JDK path -----------------------------------------------------------------