Mercurial > hg > heapstats
changeset 130:c293936e7655
Bug 2784: Fix configure to search /etc/alternatives/java correctly.
Reviewed-by: yasuenag
author | KUBOTA Yuji <kubota.yuji@lab.ntt.co.jp> |
---|---|
date | Fri, 15 Jan 2016 13:00:29 +0900 |
parents | 0a9f7bbe5859 |
children | 2e1e040bcda7 |
files | ChangeLog configure configure.ac |
diffstat | 3 files changed, 74 insertions(+), 23 deletions(-) [+] |
line wrap: on
line diff
--- a/ChangeLog Tue Jan 12 21:59:14 2016 +0900 +++ b/ChangeLog Fri Jan 15 13:00:29 2016 +0900 @@ -1,3 +1,7 @@ +2016-01-14 KUBOTA Yuji <kubota.yuji@lab.ntt.co.jp> + + * Bug 2784: Fix configure to search /etc/alternatives/java correctly. + 2016-01-12 Yasumasa Suenaga <yasuenag@gmail.com> * Bug 2783: Add CLI kick shell
--- a/configure Tue Jan 12 21:59:14 2016 +0900 +++ b/configure Fri Jan 15 13:00:29 2016 +0900 @@ -639,6 +639,7 @@ NET_SNMP_CFG_PATH VMSTRUCTS_CXX_FLAGS JDK_DIR +READLINK JAVA_PATH ARM_FALSE ARM_TRUE @@ -8141,22 +8142,64 @@ fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for java configured by alternatives" >&5 + 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; } +if ${ac_cv_path_READLINK+:} false; then : + $as_echo_n "(cached) " >&6 +else + case $READLINK in + [\\/]* | ?:[\\/]*) + ac_cv_path_READLINK="$READLINK" # Let the user override the test with a path. + ;; + *) + 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_path_READLINK="$as_dir/$ac_word$ac_exec_ext" + $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 + + ;; +esac +fi +READLINK=$ac_cv_path_READLINK +if test -n "$READLINK"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $READLINK" >&5 +$as_echo "$READLINK" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + if test -z "$READLINK"; then + as_fn_error $? "readlink not found." "$LINENO" 5 + 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; } - - if test -z "$JAVA_PATH"; then - JDK_DIR=`$READLINK -f "$JAVA_PATH" 2>$DEVNULL | $SED -e 's:bin/java::g' 2>$DEVNULL` - if test $? -ne 0 ; then - JDK_DIR="" - { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found" >&5 + # 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 + else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: found" >&5 $as_echo "found" >&6; } + fi fi - else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found" >&5 -$as_echo "not found" >&6; } fi fi fi
--- a/configure.ac Tue Jan 12 21:59:14 2016 +0900 +++ b/configure.ac Fri Jan 15 13:00:29 2016 +0900 @@ -203,25 +203,29 @@ 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]) else AC_MSG_RESULT([none]) AC_PATH_PROG([JAVA_PATH], [java], [], [/etc/alternatives]) - AC_MSG_CHECKING([for java configured by alternatives]) - - if test -z "$JAVA_PATH"; then - JDK_DIR=`$READLINK -f "$JAVA_PATH" 2>$DEVNULL | $SED -e 's:bin/java::g' 2>$DEVNULL` - if test $? -ne 0 ; then - JDK_DIR="" - AC_MSG_RESULT([not found]) + 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_RESULT([found]) + 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 - else - AC_MSG_RESULT([not found]) fi fi fi