common/autoconf/boot-jdk.m4

changeset 494
e64f2cb57d05
parent 478
2ba6f4da4bf3
child 839
174a54ce39c4
child 965
3ef3f4174c2b
     1.1 --- a/common/autoconf/boot-jdk.m4	Wed Oct 24 13:11:42 2012 -0700
     1.2 +++ b/common/autoconf/boot-jdk.m4	Fri Oct 26 14:29:57 2012 -0700
     1.3 @@ -62,9 +62,12 @@
     1.4              else
     1.5                # We're done! :-)
     1.6                BOOT_JDK_FOUND=yes
     1.7 -              SPACESAFE(BOOT_JDK,[the path to the Boot JDK])
     1.8 +              BASIC_FIXUP_PATH(BOOT_JDK)
     1.9                AC_MSG_CHECKING([for Boot JDK])
    1.10 -              AC_MSG_RESULT([$BOOT_JDK ($BOOT_JDK_VERSION)])
    1.11 +              AC_MSG_RESULT([$BOOT_JDK])
    1.12 +              AC_MSG_CHECKING([Boot JDK version])
    1.13 +              BOOT_JDK_VERSION=`"$BOOT_JDK/bin/java" -version 2>&1 | $TR '\n\r' '  '`
    1.14 +              AC_MSG_RESULT([$BOOT_JDK_VERSION])
    1.15              fi # end check jdk version
    1.16            fi # end check rt.jar
    1.17          fi # end check javac
    1.18 @@ -93,12 +96,8 @@
    1.19  AC_DEFUN([BOOTJDK_CHECK_JAVA_HOME],
    1.20  [
    1.21      if test "x$JAVA_HOME" != x; then
    1.22 -        if test "x$OPENJDK_TARGET_OS" = xwindows; then
    1.23 -          # On Windows, JAVA_HOME is likely in DOS-style
    1.24 -          JAVA_HOME_PROCESSED="`$CYGPATH -u "$JAVA_HOME"`"
    1.25 -        else
    1.26 -          JAVA_HOME_PROCESSED="$JAVA_HOME"
    1.27 -        fi
    1.28 +        JAVA_HOME_PROCESSED="$JAVA_HOME"
    1.29 +        BASIC_FIXUP_PATH(JAVA_HOME_PROCESSED)
    1.30          if test ! -d "$JAVA_HOME_PROCESSED"; then
    1.31              AC_MSG_NOTICE([Your JAVA_HOME points to a non-existing directory!])
    1.32          else
    1.33 @@ -125,8 +124,7 @@
    1.34          # Lets find the JDK/JRE directory by following symbolic links.
    1.35          # Linux/GNU systems often have links from /usr/bin/java to 
    1.36          # /etc/alternatives/java to the real JDK binary.
    1.37 -        SET_FULL_PATH_SPACESAFE(BINARY)
    1.38 -        REMOVE_SYMBOLIC_LINKS(BINARY)
    1.39 +        BASIC_REMOVE_SYMBOLIC_LINKS(BINARY)
    1.40          BOOT_JDK=`dirname "$BINARY"`
    1.41          BOOT_JDK=`cd "$BOOT_JDK/.."; pwd`
    1.42          if test -x "$BOOT_JDK/bin/javac" && test -x "$BOOT_JDK/bin/java"; then
    1.43 @@ -155,13 +153,17 @@
    1.44  [
    1.45    BOOT_JDK_PREFIX="$1"
    1.46    BOOT_JDK_SUFFIX="$2"
    1.47 -  BEST_JDK_FOUND=`$LS "$BOOT_JDK_PREFIX" 2> /dev/null | $GREP jdk | $SORT -r | $HEAD -n 1 `
    1.48 -  if test "x$BEST_JDK_FOUND" != x; then
    1.49 -    BOOT_JDK="${BOOT_JDK_PREFIX}/${BEST_JDK_FOUND}${BOOT_JDK_SUFFIX}"
    1.50 -    if test -d "$BOOT_JDK"; then
    1.51 -      BOOT_JDK_FOUND=maybe
    1.52 -      AC_MSG_NOTICE([Found potential Boot JDK using well-known locations (in $BOOT_JDK_PREFIX)])
    1.53 -    fi
    1.54 +  ALL_JDKS_FOUND=`$LS "$BOOT_JDK_PREFIX" 2> /dev/null | $SORT -r`
    1.55 +  if test "x$ALL_JDKS_FOUND" != x; then
    1.56 +    for JDK_TO_TRY in $ALL_JDKS_FOUND ; do
    1.57 +      BOOTJDK_DO_CHECK([
    1.58 +        BOOT_JDK="${BOOT_JDK_PREFIX}/${JDK_TO_TRY}${BOOT_JDK_SUFFIX}"
    1.59 +        if test -d "$BOOT_JDK"; then
    1.60 +          BOOT_JDK_FOUND=maybe
    1.61 +          AC_MSG_NOTICE([Found potential Boot JDK using well-known locations (in $BOOT_JDK_PREFIX/$JDK_TO_TRY)])
    1.62 +        fi
    1.63 +      ])
    1.64 +    done
    1.65    fi
    1.66  ])
    1.67  
    1.68 @@ -171,7 +173,9 @@
    1.69  AC_DEFUN([BOOTJDK_FIND_BEST_JDK_IN_WINDOWS_VIRTUAL_DIRECTORY],
    1.70  [
    1.71    if test "x[$]$1" != x; then
    1.72 -    BOOTJDK_FIND_BEST_JDK_IN_DIRECTORY([`$CYGPATH -u "[$]$1"`/Java])
    1.73 +    VIRTUAL_DIR="[$]$1/Java"
    1.74 +    BASIC_WINDOWS_REWRITE_AS_UNIX_PATH(VIRTUAL_DIR)
    1.75 +    BOOTJDK_FIND_BEST_JDK_IN_DIRECTORY($VIRTUAL_DIR)
    1.76    fi
    1.77  ])
    1.78  
    1.79 @@ -187,6 +191,8 @@
    1.80    elif test "x$OPENJDK_TARGET_OS" = xmacosx; then
    1.81      BOOTJDK_DO_CHECK([BOOTJDK_FIND_BEST_JDK_IN_DIRECTORY([/Library/Java/JavaVirtualMachines],[/Contents/Home])])
    1.82      BOOTJDK_DO_CHECK([BOOTJDK_FIND_BEST_JDK_IN_DIRECTORY([/System/Library/Java/JavaVirtualMachines],[/Contents/Home])])
    1.83 +  elif test "x$OPENJDK_TARGET_OS" = xlinux; then
    1.84 +    BOOTJDK_DO_CHECK([BOOTJDK_FIND_BEST_JDK_IN_DIRECTORY([/usr/lib/jvm])])
    1.85    fi
    1.86  ])
    1.87  

mercurial