--- a/common/autoconf/basics_windows.m4 Thu May 07 16:11:04 2015 +0200
+++ b/common/autoconf/basics_windows.m4 Sat May 09 07:32:37 2015 -0400
@@ -320,8 +320,8 @@
WINDOWS_ENV_VENDOR='cygwin'
WINDOWS_ENV_VERSION="$CYGWIN_VERSION"
- CYGWIN_VERSION_OK=`$ECHO $CYGWIN_VERSION | $GREP ^1.7.`
- if test "x$CYGWIN_VERSION_OK" = x; then
+ CYGWIN_VERSION_OLD=`$ECHO $CYGWIN_VERSION | $GREP -e '^1\.[0-6]'`
+ if test "x$CYGWIN_VERSION_OLD" != x; then
AC_MSG_NOTICE([Your cygwin is too old. You are running $CYGWIN_VERSION, but at least cygwin 1.7 is required. Please upgrade.])
AC_MSG_ERROR([Cannot continue])
fi
--- a/common/autoconf/boot-jdk.m4 Thu May 07 16:11:04 2015 +0200
+++ b/common/autoconf/boot-jdk.m4 Sat May 09 07:32:37 2015 -0400
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2011, 2014, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -306,7 +306,6 @@
BOOTJDK_CHECK_TOOL_IN_BOOTJDK(JAVAC, javac)
BOOTJDK_CHECK_TOOL_IN_BOOTJDK(JAVAH, javah)
BOOTJDK_CHECK_TOOL_IN_BOOTJDK(JAR, jar)
- BOOTJDK_CHECK_TOOL_IN_BOOTJDK(NATIVE2ASCII, native2ascii)
BOOTJDK_CHECK_TOOL_IN_BOOTJDK(JARSIGNER, jarsigner)
# Finally, set some other options...
--- a/common/autoconf/bootcycle-spec.gmk.in Thu May 07 16:11:04 2015 +0200
+++ b/common/autoconf/bootcycle-spec.gmk.in Sat May 09 07:32:37 2015 -0400
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -57,6 +57,5 @@
JAVAC_CMD:=$(BOOT_JDK)/bin/javac
JAVAH_CMD:=$(BOOT_JDK)/bin/javah
JAR_CMD:=$(BOOT_JDK)/bin/jar
-NATIVE2ASCII_CMD:=$(BOOT_JDK)/bin/native2ascii
JARSIGNER_CMD:=$(BOOT_JDK)/bin/jarsigner
SJAVAC_SERVER_JAVA_CMD:=$(JAVA_CMD)
--- a/common/autoconf/flags.m4 Thu May 07 16:11:04 2015 +0200
+++ b/common/autoconf/flags.m4 Sat May 09 07:32:37 2015 -0400
@@ -65,12 +65,6 @@
fi
AC_SUBST(POST_STRIP_CMD)
- if test "x$OPENJDK_TARGET_OS" = xsolaris; then
- # FIXME: break out into MCSFLAGS
- POST_MCS_CMD="$MCS -d -a \"JDK $FULL_VERSION\""
- fi
- AC_SUBST(POST_MCS_CMD)
-
if test "x$TOOLCHAIN_TYPE" = xmicrosoft; then
CC_OUT_OPTION=-Fo
EXE_OUT_OPTION=-out:
--- a/common/autoconf/generated-configure.sh Thu May 07 16:11:04 2015 +0200
+++ b/common/autoconf/generated-configure.sh Sat May 09 07:32:37 2015 -0400
@@ -737,7 +737,6 @@
LD_OUT_OPTION
EXE_OUT_OPTION
CC_OUT_OPTION
-POST_MCS_CMD
POST_STRIP_CMD
ARFLAGS
COMPILER_TARGET_BITS_FLAG
@@ -759,7 +758,6 @@
OBJCOPY
ac_ct_NM
ac_ct_STRIP
-MCS
GNM
NM
STRIP
@@ -820,7 +818,6 @@
JAVAC_FLAGS
BOOT_JDK_SOURCETARGET
JARSIGNER
-NATIVE2ASCII
JAR
JAVAH
JAVAC
@@ -1189,7 +1186,6 @@
JAVAC
JAVAH
JAR
-NATIVE2ASCII
JARSIGNER
CC
CFLAGS
@@ -1207,7 +1203,6 @@
STRIP
NM
GNM
-MCS
OBJCOPY
OBJDUMP
BUILD_CC
@@ -2070,8 +2065,6 @@
JAVAC Override default value for JAVAC
JAVAH Override default value for JAVAH
JAR Override default value for JAR
- NATIVE2ASCII
- Override default value for NATIVE2ASCII
JARSIGNER Override default value for JARSIGNER
CC C compiler command
CFLAGS C compiler flags
@@ -2090,7 +2083,6 @@
STRIP Override default value for STRIP
NM Override default value for NM
GNM Override default value for GNM
- MCS Override default value for MCS
OBJCOPY Override default value for OBJCOPY
OBJDUMP Override default value for OBJDUMP
BUILD_CC Override default value for BUILD_CC
@@ -3599,7 +3591,7 @@
# ... then the rest
#
-# Copyright (c) 2011, 2014, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -4367,7 +4359,7 @@
#CUSTOM_AUTOCONF_INCLUDE
# Do not change or remove the following line, it is needed for consistency checks:
-DATE_WHEN_GENERATED=1430331133
+DATE_WHEN_GENERATED=1430918902
###############################################################################
#
@@ -14052,8 +14044,8 @@
WINDOWS_ENV_VENDOR='cygwin'
WINDOWS_ENV_VERSION="$CYGWIN_VERSION"
- CYGWIN_VERSION_OK=`$ECHO $CYGWIN_VERSION | $GREP ^1.7.`
- if test "x$CYGWIN_VERSION_OK" = x; then
+ CYGWIN_VERSION_OLD=`$ECHO $CYGWIN_VERSION | $GREP -e '^1\.0-6'`
+ if test "x$CYGWIN_VERSION_OLD" != x; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: Your cygwin is too old. You are running $CYGWIN_VERSION, but at least cygwin 1.7 is required. Please upgrade." >&5
$as_echo "$as_me: Your cygwin is too old. You are running $CYGWIN_VERSION, but at least cygwin 1.7 is required. Please upgrade." >&6;}
as_fn_error $? "Cannot continue" "$LINENO" 5
@@ -26059,133 +26051,6 @@
# Publish this variable in the help.
- if test "x$NATIVE2ASCII" = x; then
- # The variable is not set by user, try to locate tool using the code snippet
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for native2ascii in Boot JDK" >&5
-$as_echo_n "checking for native2ascii in Boot JDK... " >&6; }
- NATIVE2ASCII=$BOOT_JDK/bin/native2ascii
- if test ! -x $NATIVE2ASCII; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found" >&5
-$as_echo "not found" >&6; }
- { $as_echo "$as_me:${as_lineno-$LINENO}: Your Boot JDK seems broken. This might be fixed by explicitely setting --with-boot-jdk" >&5
-$as_echo "$as_me: Your Boot JDK seems broken. This might be fixed by explicitely setting --with-boot-jdk" >&6;}
- as_fn_error $? "Could not find native2ascii in the Boot JDK" "$LINENO" 5
- fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5
-$as_echo "ok" >&6; }
-
-
- else
- # The variable is set, but is it from the command line or the environment?
-
- # Try to remove the string !NATIVE2ASCII! from our list.
- try_remove_var=${CONFIGURE_OVERRIDDEN_VARIABLES//!NATIVE2ASCII!/}
- if test "x$try_remove_var" = "x$CONFIGURE_OVERRIDDEN_VARIABLES"; then
- # If it failed, the variable was not from the command line. Ignore it,
- # but warn the user (except for BASH, which is always set by the calling BASH).
- if test "xNATIVE2ASCII" != xBASH; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Ignoring value of NATIVE2ASCII from the environment. Use command line variables instead." >&5
-$as_echo "$as_me: WARNING: Ignoring value of NATIVE2ASCII from the environment. Use command line variables instead." >&2;}
- fi
- # Try to locate tool using the code snippet
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for native2ascii in Boot JDK" >&5
-$as_echo_n "checking for native2ascii in Boot JDK... " >&6; }
- NATIVE2ASCII=$BOOT_JDK/bin/native2ascii
- if test ! -x $NATIVE2ASCII; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found" >&5
-$as_echo "not found" >&6; }
- { $as_echo "$as_me:${as_lineno-$LINENO}: Your Boot JDK seems broken. This might be fixed by explicitely setting --with-boot-jdk" >&5
-$as_echo "$as_me: Your Boot JDK seems broken. This might be fixed by explicitely setting --with-boot-jdk" >&6;}
- as_fn_error $? "Could not find native2ascii in the Boot JDK" "$LINENO" 5
- fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5
-$as_echo "ok" >&6; }
-
-
- else
- # If it succeeded, then it was overridden by the user. We will use it
- # for the tool.
-
- # First remove it from the list of overridden variables, so we can test
- # for unknown variables in the end.
- CONFIGURE_OVERRIDDEN_VARIABLES="$try_remove_var"
-
- # Check if the provided tool contains a complete path.
- tool_specified="$NATIVE2ASCII"
- tool_basename="${tool_specified##*/}"
- if test "x$tool_basename" = "x$tool_specified"; then
- # A command without a complete path is provided, search $PATH.
- { $as_echo "$as_me:${as_lineno-$LINENO}: Will search for user supplied tool NATIVE2ASCII=$tool_basename" >&5
-$as_echo "$as_me: Will search for user supplied tool NATIVE2ASCII=$tool_basename" >&6;}
- # Extract the first word of "$tool_basename", so it can be a program name with args.
-set dummy $tool_basename; 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_NATIVE2ASCII+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- case $NATIVE2ASCII in
- [\\/]* | ?:[\\/]*)
- ac_cv_path_NATIVE2ASCII="$NATIVE2ASCII" # 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_NATIVE2ASCII="$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
-NATIVE2ASCII=$ac_cv_path_NATIVE2ASCII
-if test -n "$NATIVE2ASCII"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $NATIVE2ASCII" >&5
-$as_echo "$NATIVE2ASCII" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- if test "x$NATIVE2ASCII" = x; then
- as_fn_error $? "User supplied tool $tool_basename could not be found" "$LINENO" 5
- fi
- else
- # Otherwise we believe it is a complete path. Use it as it is.
- { $as_echo "$as_me:${as_lineno-$LINENO}: Will use user supplied tool NATIVE2ASCII=$tool_specified" >&5
-$as_echo "$as_me: Will use user supplied tool NATIVE2ASCII=$tool_specified" >&6;}
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for NATIVE2ASCII" >&5
-$as_echo_n "checking for NATIVE2ASCII... " >&6; }
- if test ! -x "$tool_specified"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found" >&5
-$as_echo "not found" >&6; }
- as_fn_error $? "User supplied tool NATIVE2ASCII=$tool_specified does not exist or is not executable" "$LINENO" 5
- fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $tool_specified" >&5
-$as_echo "$tool_specified" >&6; }
- fi
- fi
- fi
-
-
-
- # Use user overridden value if available, otherwise locate tool in the Boot JDK.
-
- # Publish this variable in the help.
-
-
if test "x$JARSIGNER" = x; then
# The variable is not set by user, try to locate tool using the code snippet
@@ -28232,7 +28097,7 @@
# For solaris we really need solaris tools, and not the GNU equivalent.
# The build tools on Solaris reside in /usr/ccs (C Compilation System),
# so add that to path before starting to probe.
- # FIXME: This was originally only done for AS,NM,GNM,STRIP,MCS,OBJCOPY,OBJDUMP.
+ # FIXME: This was originally only done for AS,NM,GNM,STRIP,OBJCOPY,OBJDUMP.
if test "x$OPENJDK_BUILD_OS" = xsolaris; then
PATH="/usr/ccs/bin:$PATH"
fi
@@ -36672,479 +36537,6 @@
fi
fi
-
-
-
- # Publish this variable in the help.
-
-
- if test "x$MCS" = x; then
- # The variable is not set by user, try to locate tool using the code snippet
- for ac_prog in mcs
-do
- # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; 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_MCS+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- case $MCS in
- [\\/]* | ?:[\\/]*)
- ac_cv_path_MCS="$MCS" # 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_MCS="$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
-MCS=$ac_cv_path_MCS
-if test -n "$MCS"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MCS" >&5
-$as_echo "$MCS" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- test -n "$MCS" && break
-done
-
- else
- # The variable is set, but is it from the command line or the environment?
-
- # Try to remove the string !MCS! from our list.
- try_remove_var=${CONFIGURE_OVERRIDDEN_VARIABLES//!MCS!/}
- if test "x$try_remove_var" = "x$CONFIGURE_OVERRIDDEN_VARIABLES"; then
- # If it failed, the variable was not from the command line. Ignore it,
- # but warn the user (except for BASH, which is always set by the calling BASH).
- if test "xMCS" != xBASH; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Ignoring value of MCS from the environment. Use command line variables instead." >&5
-$as_echo "$as_me: WARNING: Ignoring value of MCS from the environment. Use command line variables instead." >&2;}
- fi
- # Try to locate tool using the code snippet
- for ac_prog in mcs
-do
- # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; 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_MCS+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- case $MCS in
- [\\/]* | ?:[\\/]*)
- ac_cv_path_MCS="$MCS" # 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_MCS="$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
-MCS=$ac_cv_path_MCS
-if test -n "$MCS"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MCS" >&5
-$as_echo "$MCS" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- test -n "$MCS" && break
-done
-
- else
- # If it succeeded, then it was overridden by the user. We will use it
- # for the tool.
-
- # First remove it from the list of overridden variables, so we can test
- # for unknown variables in the end.
- CONFIGURE_OVERRIDDEN_VARIABLES="$try_remove_var"
-
- # Check if the provided tool contains a complete path.
- tool_specified="$MCS"
- tool_basename="${tool_specified##*/}"
- if test "x$tool_basename" = "x$tool_specified"; then
- # A command without a complete path is provided, search $PATH.
- { $as_echo "$as_me:${as_lineno-$LINENO}: Will search for user supplied tool MCS=$tool_basename" >&5
-$as_echo "$as_me: Will search for user supplied tool MCS=$tool_basename" >&6;}
- # Extract the first word of "$tool_basename", so it can be a program name with args.
-set dummy $tool_basename; 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_MCS+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- case $MCS in
- [\\/]* | ?:[\\/]*)
- ac_cv_path_MCS="$MCS" # 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_MCS="$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
-MCS=$ac_cv_path_MCS
-if test -n "$MCS"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MCS" >&5
-$as_echo "$MCS" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- if test "x$MCS" = x; then
- as_fn_error $? "User supplied tool $tool_basename could not be found" "$LINENO" 5
- fi
- else
- # Otherwise we believe it is a complete path. Use it as it is.
- { $as_echo "$as_me:${as_lineno-$LINENO}: Will use user supplied tool MCS=$tool_specified" >&5
-$as_echo "$as_me: Will use user supplied tool MCS=$tool_specified" >&6;}
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for MCS" >&5
-$as_echo_n "checking for MCS... " >&6; }
- if test ! -x "$tool_specified"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found" >&5
-$as_echo "not found" >&6; }
- as_fn_error $? "User supplied tool MCS=$tool_specified does not exist or is not executable" "$LINENO" 5
- fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $tool_specified" >&5
-$as_echo "$tool_specified" >&6; }
- fi
- fi
- fi
-
-
-
- # Only process if variable expands to non-empty
-
- if test "x$MCS" != x; then
- if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
-
- # First separate the path from the arguments. This will split at the first
- # space.
- complete="$MCS"
- path="${complete%% *}"
- tmp="$complete EOL"
- arguments="${tmp#* }"
-
- # Input might be given as Windows format, start by converting to
- # unix format.
- new_path=`$CYGPATH -u "$path"`
-
- # Now try to locate executable using which
- new_path=`$WHICH "$new_path" 2> /dev/null`
- # bat and cmd files are not always considered executable in cygwin causing which
- # to not find them
- if test "x$new_path" = x \
- && test "x`$ECHO \"$path\" | $GREP -i -e \"\\.bat$\" -e \"\\.cmd$\"`" != x \
- && test "x`$LS \"$path\" 2>/dev/null`" != x; then
- new_path=`$CYGPATH -u "$path"`
- fi
- if test "x$new_path" = x; then
- # Oops. Which didn't find the executable.
- # The splitting of arguments from the executable at a space might have been incorrect,
- # since paths with space are more likely in Windows. Give it another try with the whole
- # argument.
- path="$complete"
- arguments="EOL"
- new_path=`$CYGPATH -u "$path"`
- new_path=`$WHICH "$new_path" 2> /dev/null`
- # bat and cmd files are not always considered executable in cygwin causing which
- # to not find them
- if test "x$new_path" = x \
- && test "x`$ECHO \"$path\" | $GREP -i -e \"\\.bat$\" -e \"\\.cmd$\"`" != x \
- && test "x`$LS \"$path\" 2>/dev/null`" != x; then
- new_path=`$CYGPATH -u "$path"`
- fi
- if test "x$new_path" = x; then
- # It's still not found. Now this is an unrecoverable error.
- { $as_echo "$as_me:${as_lineno-$LINENO}: The path of MCS, which resolves as \"$complete\", is not found." >&5
-$as_echo "$as_me: The path of MCS, which resolves as \"$complete\", is not found." >&6;}
- has_space=`$ECHO "$complete" | $GREP " "`
- if test "x$has_space" != x; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: You might be mixing spaces in the path and extra arguments, which is not allowed." >&5
-$as_echo "$as_me: You might be mixing spaces in the path and extra arguments, which is not allowed." >&6;}
- fi
- as_fn_error $? "Cannot locate the the path of MCS" "$LINENO" 5
- fi
- fi
-
- # Cygwin tries to hide some aspects of the Windows file system, such that binaries are
- # named .exe but called without that suffix. Therefore, "foo" and "foo.exe" are considered
- # the same file, most of the time (as in "test -f"). But not when running cygpath -s, then
- # "foo.exe" is OK but "foo" is an error.
- #
- # This test is therefore slightly more accurate than "test -f" to check for file presence.
- # It is also a way to make sure we got the proper file name for the real test later on.
- test_shortpath=`$CYGPATH -s -m "$new_path" 2> /dev/null`
- if test "x$test_shortpath" = x; then
- # Short path failed, file does not exist as specified.
- # Try adding .exe or .cmd
- if test -f "${new_path}.exe"; then
- input_to_shortpath="${new_path}.exe"
- elif test -f "${new_path}.cmd"; then
- input_to_shortpath="${new_path}.cmd"
- else
- { $as_echo "$as_me:${as_lineno-$LINENO}: The path of MCS, which resolves as \"$new_path\", is invalid." >&5
-$as_echo "$as_me: The path of MCS, which resolves as \"$new_path\", is invalid." >&6;}
- { $as_echo "$as_me:${as_lineno-$LINENO}: Neither \"$new_path\" nor \"$new_path.exe/cmd\" can be found" >&5
-$as_echo "$as_me: Neither \"$new_path\" nor \"$new_path.exe/cmd\" can be found" >&6;}
- as_fn_error $? "Cannot locate the the path of MCS" "$LINENO" 5
- fi
- else
- input_to_shortpath="$new_path"
- fi
-
- # Call helper function which possibly converts this using DOS-style short mode.
- # If so, the updated path is stored in $new_path.
- new_path="$input_to_shortpath"
-
- input_path="$input_to_shortpath"
- # Check if we need to convert this using DOS-style short mode. If the path
- # contains just simple characters, use it. Otherwise (spaces, weird characters),
- # take no chances and rewrite it.
- # Note: m4 eats our [], so we need to use [ and ] instead.
- has_forbidden_chars=`$ECHO "$input_path" | $GREP [^-._/a-zA-Z0-9]`
- if test "x$has_forbidden_chars" != x; then
- # Now convert it to mixed DOS-style, short mode (no spaces, and / instead of \)
- shortmode_path=`$CYGPATH -s -m -a "$input_path"`
- path_after_shortmode=`$CYGPATH -u "$shortmode_path"`
- if test "x$path_after_shortmode" != "x$input_to_shortpath"; then
- # Going to short mode and back again did indeed matter. Since short mode is
- # case insensitive, let's make it lowercase to improve readability.
- shortmode_path=`$ECHO "$shortmode_path" | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
- # Now convert it back to Unix-style (cygpath)
- input_path=`$CYGPATH -u "$shortmode_path"`
- new_path="$input_path"
- fi
- fi
-
- test_cygdrive_prefix=`$ECHO $input_path | $GREP ^/cygdrive/`
- if test "x$test_cygdrive_prefix" = x; then
- # As a simple fix, exclude /usr/bin since it's not a real path.
- if test "x`$ECHO $input_to_shortpath | $GREP ^/usr/bin/`" = x; then
- # The path is in a Cygwin special directory (e.g. /home). We need this converted to
- # a path prefixed by /cygdrive for fixpath to work.
- new_path="$CYGWIN_ROOT_PATH$input_path"
- fi
- fi
-
- # remove trailing .exe if any
- new_path="${new_path/%.exe/}"
-
- elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
-
- # First separate the path from the arguments. This will split at the first
- # space.
- complete="$MCS"
- path="${complete%% *}"
- tmp="$complete EOL"
- arguments="${tmp#* }"
-
- # Input might be given as Windows format, start by converting to
- # unix format.
- new_path="$path"
-
- windows_path="$new_path"
- if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
- unix_path=`$CYGPATH -u "$windows_path"`
- new_path="$unix_path"
- elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
- unix_path=`$ECHO "$windows_path" | $SED -e 's,^\\(.\\):,/\\1,g' -e 's,\\\\,/,g'`
- new_path="$unix_path"
- fi
-
-
- # Now try to locate executable using which
- new_path=`$WHICH "$new_path" 2> /dev/null`
-
- if test "x$new_path" = x; then
- # Oops. Which didn't find the executable.
- # The splitting of arguments from the executable at a space might have been incorrect,
- # since paths with space are more likely in Windows. Give it another try with the whole
- # argument.
- path="$complete"
- arguments="EOL"
- new_path="$path"
-
- windows_path="$new_path"
- if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
- unix_path=`$CYGPATH -u "$windows_path"`
- new_path="$unix_path"
- elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
- unix_path=`$ECHO "$windows_path" | $SED -e 's,^\\(.\\):,/\\1,g' -e 's,\\\\,/,g'`
- new_path="$unix_path"
- fi
-
-
- new_path=`$WHICH "$new_path" 2> /dev/null`
- # bat and cmd files are not always considered executable in MSYS causing which
- # to not find them
- if test "x$new_path" = x \
- && test "x`$ECHO \"$path\" | $GREP -i -e \"\\.bat$\" -e \"\\.cmd$\"`" != x \
- && test "x`$LS \"$path\" 2>/dev/null`" != x; then
- new_path="$path"
-
- windows_path="$new_path"
- if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
- unix_path=`$CYGPATH -u "$windows_path"`
- new_path="$unix_path"
- elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
- unix_path=`$ECHO "$windows_path" | $SED -e 's,^\\(.\\):,/\\1,g' -e 's,\\\\,/,g'`
- new_path="$unix_path"
- fi
-
- fi
-
- if test "x$new_path" = x; then
- # It's still not found. Now this is an unrecoverable error.
- { $as_echo "$as_me:${as_lineno-$LINENO}: The path of MCS, which resolves as \"$complete\", is not found." >&5
-$as_echo "$as_me: The path of MCS, which resolves as \"$complete\", is not found." >&6;}
- has_space=`$ECHO "$complete" | $GREP " "`
- if test "x$has_space" != x; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: You might be mixing spaces in the path and extra arguments, which is not allowed." >&5
-$as_echo "$as_me: You might be mixing spaces in the path and extra arguments, which is not allowed." >&6;}
- fi
- as_fn_error $? "Cannot locate the the path of MCS" "$LINENO" 5
- fi
- fi
-
- # Now new_path has a complete unix path to the binary
- if test "x`$ECHO $new_path | $GREP ^/bin/`" != x; then
- # Keep paths in /bin as-is, but remove trailing .exe if any
- new_path="${new_path/%.exe/}"
- # Do not save /bin paths to all_fixpath_prefixes!
- else
- # Not in mixed or Windows style, start by that.
- new_path=`cmd //c echo $new_path`
-
- input_path="$new_path"
- # Check if we need to convert this using DOS-style short mode. If the path
- # contains just simple characters, use it. Otherwise (spaces, weird characters),
- # take no chances and rewrite it.
- # Note: m4 eats our [], so we need to use [ and ] instead.
- has_forbidden_chars=`$ECHO "$input_path" | $GREP [^-_/:a-zA-Z0-9]`
- if test "x$has_forbidden_chars" != x; then
- # Now convert it to mixed DOS-style, short mode (no spaces, and / instead of \)
- new_path=`cmd /c "for %A in (\"$input_path\") do @echo %~sA"|$TR \\\\\\\\ / | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
- fi
-
- # Output is in $new_path
-
- windows_path="$new_path"
- if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
- unix_path=`$CYGPATH -u "$windows_path"`
- new_path="$unix_path"
- elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
- unix_path=`$ECHO "$windows_path" | $SED -e 's,^\\(.\\):,/\\1,g' -e 's,\\\\,/,g'`
- new_path="$unix_path"
- fi
-
- # remove trailing .exe if any
- new_path="${new_path/%.exe/}"
-
- # Save the first 10 bytes of this path to the storage, so fixpath can work.
- all_fixpath_prefixes=("${all_fixpath_prefixes[@]}" "${new_path:0:10}")
- fi
-
- else
- # We're on a unix platform. Hooray! :)
- # First separate the path from the arguments. This will split at the first
- # space.
- complete="$MCS"
- path="${complete%% *}"
- tmp="$complete EOL"
- arguments="${tmp#* }"
-
- # Cannot rely on the command "which" here since it doesn't always work.
- is_absolute_path=`$ECHO "$path" | $GREP ^/`
- if test -z "$is_absolute_path"; then
- # Path to executable is not absolute. Find it.
- IFS_save="$IFS"
- IFS=:
- for p in $PATH; do
- if test -f "$p/$path" && test -x "$p/$path"; then
- new_path="$p/$path"
- break
- fi
- done
- IFS="$IFS_save"
- else
- # This is an absolute path, we can use it without further modifications.
- new_path="$path"
- fi
-
- if test "x$new_path" = x; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: The path of MCS, which resolves as \"$complete\", is not found." >&5
-$as_echo "$as_me: The path of MCS, which resolves as \"$complete\", is not found." >&6;}
- has_space=`$ECHO "$complete" | $GREP " "`
- if test "x$has_space" != x; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: This might be caused by spaces in the path, which is not allowed." >&5
-$as_echo "$as_me: This might be caused by spaces in the path, which is not allowed." >&6;}
- fi
- as_fn_error $? "Cannot locate the the path of MCS" "$LINENO" 5
- fi
- fi
-
- # Now join together the path and the arguments once again
- if test "x$arguments" != xEOL; then
- new_complete="$new_path ${arguments% *}"
- else
- new_complete="$new_path"
- fi
-
- if test "x$complete" != "x$new_complete"; then
- MCS="$new_complete"
- { $as_echo "$as_me:${as_lineno-$LINENO}: Rewriting MCS to \"$new_complete\"" >&5
-$as_echo "$as_me: Rewriting MCS to \"$new_complete\"" >&6;}
- fi
- fi
-
elif test "x$OPENJDK_TARGET_OS" != xwindows; then
# FIXME: we should unify this with the solaris case above.
@@ -41632,12 +41024,6 @@
fi
- if test "x$OPENJDK_TARGET_OS" = xsolaris; then
- # FIXME: break out into MCSFLAGS
- POST_MCS_CMD="$MCS -d -a \"JDK $FULL_VERSION\""
- fi
-
-
if test "x$TOOLCHAIN_TYPE" = xmicrosoft; then
CC_OUT_OPTION=-Fo
EXE_OUT_OPTION=-out:
--- a/common/autoconf/spec.gmk.in Thu May 07 16:11:04 2015 +0200
+++ b/common/autoconf/spec.gmk.in Sat May 09 07:32:37 2015 -0400
@@ -391,7 +391,6 @@
NM:=@NM@
GNM:=@GNM@
STRIP:=@STRIP@
-MCS:=@MCS@
LIPO:=@LIPO@
@@ -440,7 +439,6 @@
OBJ_SUFFIX:=@OBJ_SUFFIX@
POST_STRIP_CMD:=@POST_STRIP_CMD@
-POST_MCS_CMD:=@POST_MCS_CMD@
JAVA_FLAGS:=@JAVA_FLAGS@
JAVA_FLAGS_BIG:=@JAVA_FLAGS_BIG@
@@ -455,7 +453,6 @@
JAVAC_CMD:=@JAVAC@
JAVAH_CMD:=@JAVAH@
JAR_CMD:=@JAR@
-NATIVE2ASCII_CMD:=@NATIVE2ASCII@
JARSIGNER_CMD:=@JARSIGNER@
SJAVAC_SERVER_JAVA_CMD:=@SJAVAC_SERVER_JAVA@
# These variables are meant to be used. They are defined with = instead of := to make
@@ -465,7 +462,6 @@
JAVAC=@FIXPATH@ $(JAVAC_CMD)
JAVAH=@FIXPATH@ $(JAVAH_CMD)
JAR=@FIXPATH@ $(JAR_CMD)
-NATIVE2ASCII=@FIXPATH@ $(NATIVE2ASCII_CMD) $(JAVA_TOOL_FLAGS_SMALL)
JARSIGNER=@FIXPATH@ $(JARSIGNER_CMD)
# A specific java binary with specific options can be used to run
# the long running background sjavac servers and other long running tasks.
@@ -692,10 +688,10 @@
SYMBOLS_IMAGE_DIR=$(IMAGES_OUTPUTDIR)/$(SYMBOLS_IMAGE_SUBDIR)
# Macosx bundles directory definitions
-JDK_BUNDLE_SUBDIR=jdk-bundle/jdk$(JDK_VERSION).jdk/Contents
-JRE_BUNDLE_SUBDIR=jre-bundle/jre$(JDK_VERSION).jre/Contents
-JDK_BUNDLE_DIR=$(IMAGES_OUTPUTDIR)/$(JDK_BUNDLE_SUBDIR)
-JRE_BUNDLE_DIR=$(IMAGES_OUTPUTDIR)/$(JRE_BUNDLE_SUBDIR)
+JDK_MACOSX_BUNDLE_SUBDIR=jdk-bundle/jdk$(JDK_VERSION).jdk/Contents
+JRE_MACOSX_BUNDLE_SUBDIR=jre-bundle/jre$(JDK_VERSION).jre/Contents
+JDK_MACOSX_BUNDLE_DIR=$(IMAGES_OUTPUTDIR)/$(JDK_MACOSX_BUNDLE_SUBDIR)
+JRE_MACOSX_BUNDLE_DIR=$(IMAGES_OUTPUTDIR)/$(JRE_MACOSX_BUNDLE_SUBDIR)
# This macro is called to allow inclusion of closed source counterparts.
# Unless overridden in closed sources, it expands to nothing.
--- a/common/autoconf/toolchain.m4 Thu May 07 16:11:04 2015 +0200
+++ b/common/autoconf/toolchain.m4 Sat May 09 07:32:37 2015 -0400
@@ -210,7 +210,7 @@
# For solaris we really need solaris tools, and not the GNU equivalent.
# The build tools on Solaris reside in /usr/ccs (C Compilation System),
# so add that to path before starting to probe.
- # FIXME: This was originally only done for AS,NM,GNM,STRIP,MCS,OBJCOPY,OBJDUMP.
+ # FIXME: This was originally only done for AS,NM,GNM,STRIP,OBJCOPY,OBJDUMP.
if test "x$OPENJDK_BUILD_OS" = xsolaris; then
PATH="/usr/ccs/bin:$PATH"
fi
@@ -569,9 +569,6 @@
BASIC_FIXUP_EXECUTABLE(NM)
BASIC_PATH_PROGS(GNM, gnm)
BASIC_FIXUP_EXECUTABLE(GNM)
-
- BASIC_PATH_PROGS(MCS, mcs)
- BASIC_FIXUP_EXECUTABLE(MCS)
elif test "x$OPENJDK_TARGET_OS" != xwindows; then
# FIXME: we should unify this with the solaris case above.
BASIC_CHECK_TOOLS(STRIP, strip)
--- a/make/CompileJavaModules.gmk Thu May 07 16:11:04 2015 +0200
+++ b/make/CompileJavaModules.gmk Sat May 09 07:32:37 2015 -0400
@@ -53,17 +53,7 @@
java.base_EXCLUDE_FILES += sun/text/resources/BreakIteratorRules.java
ifeq ($(OPENJDK_TARGET_OS), macosx)
- JAVA_BASE_UNIX_DIR := $(JDK_TOPDIR)/src/java.base/unix/classes
- # TODO: make JavaCompilation handle overrides automatically instead of excluding here
- # These files are overridden in macosx
- java.base_EXCLUDE_FILES += \
- $(JAVA_BASE_UNIX_DIR)/sun/util/locale/provider/HostLocaleProviderAdapterImpl.java \
- $(JAVA_BASE_UNIX_DIR)/java/net/DefaultInterface.java \
- $(JAVA_BASE_UNIX_DIR)/java/lang/ClassLoaderHelper.java \
- $(JAVA_BASE_UNIX_DIR)/sun/nio/ch/DefaultSelectorProvider.java \
- #
- # This is just skipped on macosx
- java.base_EXCLUDE_FILES += $(JAVA_BASE_UNIX_DIR)/sun/nio/fs/GnomeFileTypeDetector.java
+ java.base_EXCLUDE_FILES += sun/nio/fs/GnomeFileTypeDetector.java
endif
ifneq ($(OPENJDK_TARGET_OS), solaris)
@@ -247,13 +237,6 @@
javax/swing/plaf/nimbus/TabbedPanePainter.java \
#
-ifeq ($(OPENJDK_TARGET_OS), macosx)
- # These files are duplicated in MACOSX_SRC_DIRS
- java.desktop_EXCLUDE_FILES += \
- $(JDK_TOPDIR)/src/java.desktop/unix/classes/sun/java2d/BackBufferCapsProvider.java \
- #
-endif
-
################################################################################
java.scripting_ADD_JAVAC_FLAGS := -Xdoclint:all/protected '-Xdoclint/package:java.*,javax.*'
@@ -418,7 +401,6 @@
endif
ifeq ($(OPENJDK_TARGET_OS),aix)
- # These files are duplicated in AIX_SRC_DIRS
jdk.sctp_EXCLUDE_FILES += $(SCTP_IMPL_CLASSES)
endif
--- a/make/Images.gmk Thu May 07 16:11:04 2015 +0200
+++ b/make/Images.gmk Sat May 09 07:32:37 2015 -0400
@@ -254,30 +254,13 @@
$(ECHO) $(LOG_INFO) Copying $(patsubst $(OUTPUT_ROOT)/%,%,$@)
$(install-file)
- define install-ja-manpage
- $(MKDIR) -p $(@D)
- $(CAT) $< \
- | $(NATIVE2ASCII) -encoding eucJP \
- | $(SED) 's/@@VERSION@@/$(THIS_JDK_VERSION)/g' \
- | $(NATIVE2ASCII) -reverse -encoding $1 \
- > $@
- endef
-
$(JRE_IMAGE_DIR)/man/ja_JP.UTF-8/man1/%: $(MAN_SRC_DIR)/$(MAN1_SUBDIR)/ja/%
- $(ECHO) $(LOG_INFO) Converting $(patsubst $(OUTPUT_ROOT)/%,%,$@)
- $(call install-ja-manpage, UTF-8)
+ $(ECHO) $(LOG_INFO) Copying $(patsubst $(OUTPUT_ROOT)/%,%,$@)
+ $(install-file)
$(JDK_IMAGE_DIR)/man/ja_JP.UTF-8/man1/%: $(MAN_SRC_DIR)/$(MAN1_SUBDIR)/ja/%
- $(ECHO) $(LOG_INFO) Converting $(patsubst $(OUTPUT_ROOT)/%,%,$@)
- $(call install-ja-manpage, UTF-8)
-
- $(JRE_IMAGE_DIR)/man/ja_JP.PCK/man1/%: $(MAN_SRC_DIR)/$(MAN1_SUBDIR)/ja/%
- $(ECHO) $(LOG_INFO) Converting $(patsubst $(OUTPUT_ROOT)/%,%,$@)
- $(call install-ja-manpage, PCK)
-
- $(JDK_IMAGE_DIR)/man/ja_JP.PCK/man1/%: $(MAN_SRC_DIR)/$(MAN1_SUBDIR)/ja/%
- $(ECHO) $(LOG_INFO) Converting $(patsubst $(OUTPUT_ROOT)/%,%,$@)
- $(call install-ja-manpage, PCK)
+ $(ECHO) $(LOG_INFO) Copying $(patsubst $(OUTPUT_ROOT)/%,%,$@)
+ $(install-file)
ifeq ($(OPENJDK_TARGET_OS), solaris)
$(JRE_IMAGE_DIR)/man/ja/man1/%: $(MAN_SRC_DIR)/$(MAN1_SUBDIR)/ja/%
--- a/make/Jprt.gmk Thu May 07 16:11:04 2015 +0200
+++ b/make/Jprt.gmk Sat May 09 07:32:37 2015 -0400
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2012, 2015, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -91,8 +91,8 @@
SRC_JDK_IMAGE_DIR := $(JDK_IMAGE_DIR)
SRC_JRE_IMAGE_DIR := $(JRE_IMAGE_DIR)
SRC_TEST_IMAGE_DIR := $(TEST_IMAGE_DIR)
-SRC_JDK_BUNDLE_DIR := $(JDK_BUNDLE_DIR)
-SRC_JRE_BUNDLE_DIR := $(JRE_BUNDLE_DIR)
+SRC_JDK_MACOSX_BUNDLE_DIR := $(JDK_MACOSX_BUNDLE_DIR)
+SRC_JRE_MACOSX_BUNDLE_DIR := $(JRE_MACOSX_BUNDLE_DIR)
# Bundle up the images
bundles: all
@@ -123,10 +123,10 @@
$(CP) -R -P $(SRC_JDK_IMAGE_DIR)/* $(BUILD_OUTPUT)/final-images/$(JDK_IMAGE_SUBDIR)/
$(CP) -R -P $(SRC_JRE_IMAGE_DIR)/* $(BUILD_OUTPUT)/final-images/$(JRE_IMAGE_SUBDIR)/
ifeq ($(OPENJDK_TARGET_OS),macosx)
- $(MKDIR) -p $(BUILD_OUTPUT)/final-images/$(JDK_BUNDLE_SUBDIR)
- $(MKDIR) -p $(BUILD_OUTPUT)/final-images/$(JRE_BUNDLE_SUBDIR)
- $(CP) -R -P $(SRC_JDK_BUNDLE_DIR)/* $(BUILD_OUTPUT)/final-images/$(JDK_BUNDLE_SUBDIR)/
- $(CP) -R -P $(SRC_JRE_BUNDLE_DIR)/* $(BUILD_OUTPUT)/final-images/$(JRE_BUNDLE_SUBDIR)/
+ $(MKDIR) -p $(BUILD_OUTPUT)/final-images/$(JDK_MACOSX_BUNDLE_SUBDIR)
+ $(MKDIR) -p $(BUILD_OUTPUT)/final-images/$(JRE_MACOSX_BUNDLE_SUBDIR)
+ $(CP) -R -P $(SRC_JDK_MACOSX_BUNDLE_DIR)/* $(BUILD_OUTPUT)/final-images/$(JDK_MACOSX_BUNDLE_SUBDIR)/
+ $(CP) -R -P $(SRC_JRE_MACOSX_BUNDLE_DIR)/* $(BUILD_OUTPUT)/final-images/$(JRE_MACOSX_BUNDLE_SUBDIR)/
endif
@$(call TargetExit)
--- a/make/MacBundles.gmk Thu May 07 16:11:04 2015 +0200
+++ b/make/MacBundles.gmk Sat May 09 07:32:37 2015 -0400
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -33,32 +33,13 @@
bundles: jre-bundle jdk-bundle
- # JDK_BUNDLE_DIR and JRE_BUNDLE_DIR are defined in SPEC.
+ # JDK_MACOSX_BUNDLE_DIR and JRE_MACOSX_BUNDLE_DIR are defined in SPEC.
MACOSX_PLIST_SRC := $(JDK_TOPDIR)/make/data/bundle
- # All these OPENJDK checks are needed since there is no coherency between
- # these values in open and closed. Should probably be fixed.
- ifndef OPENJDK
- BUNDLE_ID := $(MACOSX_BUNDLE_ID_BASE).$(JDK_MINOR_VERSION)u$(JDK_UPDATE_VERSION)
- else
- BUNDLE_ID := $(MACOSX_BUNDLE_ID_BASE)
- endif
- BUNDLE_ID_JRE := $(BUNDLE_ID).jre
- BUNDLE_ID_JDK := $(BUNDLE_ID).jdk
-
+ BUNDLE_ID := $(MACOSX_BUNDLE_ID_BASE).$(JDK_MINOR_VERSION)u$(JDK_UPDATE_VERSION)
BUNDLE_NAME := $(MACOSX_BUNDLE_NAME_BASE) $(JDK_MINOR_VERSION)
- BUNDLE_NAME_JRE := $(BUNDLE_NAME)
- BUNDLE_NAME_JDK := $(BUNDLE_NAME)
-
- ifndef OPENJDK
- BUNDLE_INFO := $(MACOSX_BUNDLE_NAME_BASE) $(JDK_VERSION)
- else
- BUNDLE_INFO := $(MACOSX_BUNDLE_NAME_BASE) ($(JDK_VERSION))
- endif
- BUNDLE_INFO_JRE := $(BUNDLE_INFO)
- BUNDLE_INFO_JDK := $(BUNDLE_INFO)
-
+ BUNDLE_INFO := $(MACOSX_BUNDLE_NAME_BASE) $(JDK_VERSION)
BUNDLE_PLATFORM_VERSION := $(JDK_MAJOR_VERSION).$(JDK_MINOR_VERSION)
BUNDLE_VERSION := $(JDK_VERSION)
ifeq ($(COMPANY_NAME), N/A)
@@ -67,65 +48,66 @@
BUNDLE_VENDOR := $(COMPANY_NAME)
endif
-
JDK_FILE_LIST := $(shell $(FIND) $(JDK_IMAGE_DIR))
JRE_FILE_LIST := $(shell $(FIND) $(JRE_IMAGE_DIR))
- JDK_TARGET_LIST := $(subst $(JDK_IMAGE_DIR)/,$(JDK_BUNDLE_DIR)/Home/,$(JDK_FILE_LIST))
- JRE_TARGET_LIST := $(subst $(JRE_IMAGE_DIR)/,$(JRE_BUNDLE_DIR)/Home/,$(JRE_FILE_LIST))
+ JDK_TARGET_LIST := $(subst $(JDK_IMAGE_DIR)/,$(JDK_MACOSX_BUNDLE_DIR)/Home/,$(JDK_FILE_LIST))
+ JRE_TARGET_LIST := $(subst $(JRE_IMAGE_DIR)/,$(JRE_MACOSX_BUNDLE_DIR)/Home/,$(JRE_FILE_LIST))
# Copy empty directories (jre/lib/applet).
- $(JDK_BUNDLE_DIR)/Home/%: $(JDK_IMAGE_DIR)/%
+ $(JDK_MACOSX_BUNDLE_DIR)/Home/%: $(JDK_IMAGE_DIR)/%
$(ECHO) Copying $(patsubst $(OUTPUT_ROOT)/%,%,$@)
$(MKDIR) -p $(@D)
if [ -d "$<" ]; then $(MKDIR) -p $@; else $(CP) -f -R -P '$<' '$@'; fi
- $(JRE_BUNDLE_DIR)/Home/%: $(JRE_IMAGE_DIR)/%
+ $(JRE_MACOSX_BUNDLE_DIR)/Home/%: $(JRE_IMAGE_DIR)/%
$(ECHO) Copying $(patsubst $(OUTPUT_ROOT)/%,%,$@)
$(MKDIR) -p $(@D)
if [ -d "$<" ]; then $(MKDIR) -p $@; else $(CP) -f -R -P '$<' '$@'; fi
- $(JDK_BUNDLE_DIR)/MacOS/libjli.dylib:
+ $(JDK_MACOSX_BUNDLE_DIR)/MacOS/libjli.dylib:
$(ECHO) Creating link $(patsubst $(OUTPUT_ROOT)/%,%,$@)
$(MKDIR) -p $(@D)
$(RM) $@
$(LN) -s ../Home/lib/jli/libjli.dylib $@
- $(JRE_BUNDLE_DIR)/MacOS/libjli.dylib:
+ $(JRE_MACOSX_BUNDLE_DIR)/MacOS/libjli.dylib:
$(ECHO) Creating link $(patsubst $(OUTPUT_ROOT)/%,%,$@)
$(MKDIR) -p $(@D)
$(RM) $@
$(LN) -s ../Home/lib/jli/libjli.dylib $@
- $(JDK_BUNDLE_DIR)/Info.plist: $(SPEC)
- $(ECHO) Creating $(patsubst $(OUTPUT_ROOT)/%,%,$@)
- $(MKDIR) -p $(@D)
- $(SED) -e "s/@@ID@@/$(BUNDLE_ID_JDK)/g" \
- -e "s/@@NAME@@/$(BUNDLE_NAME_JDK)/g" \
- -e "s/@@INFO@@/$(BUNDLE_INFO_JDK)/g" \
- -e "s/@@PLATFORM_VERSION@@/$(BUNDLE_PLATFORM_VERSION)/g" \
- -e "s/@@VERSION@@/$(BUNDLE_VERSION)/g" \
- -e "s/@@VENDOR@@/$(BUNDLE_VENDOR)/g" \
- < $(MACOSX_PLIST_SRC)/JDK-Info.plist > $@
+ $(eval $(call SetupTextFileProcessing, BUILD_JDK_PLIST, \
+ SOURCE_FILES := $(MACOSX_PLIST_SRC)/JDK-Info.plist, \
+ OUTPUT_FILE := $(JDK_MACOSX_BUNDLE_DIR)/Info.plist, \
+ REPLACEMENTS := \
+ @@ID@@ => $(BUNDLE_ID).jdk ; \
+ @@NAME@@ => $(BUNDLE_NAME) ; \
+ @@INFO@@ => $(BUNDLE_INFO) ; \
+ @@PLATFORM_VERSION@@ => $(BUNDLE_PLATFORM_VERSION) ; \
+ @@VERSION@@ => $(BUNDLE_VERSION) ; \
+ @@VENDOR@@ => $(BUNDLE_VENDOR) , \
+ ))
- $(JRE_BUNDLE_DIR)/Info.plist: $(SPEC)
- $(ECHO) Creating $(patsubst $(OUTPUT_ROOT)/%,%,$@)
- $(MKDIR) -p $(@D)
- $(SED) -e "s/@@ID@@/$(BUNDLE_ID_JRE)/g" \
- -e "s/@@NAME@@/$(BUNDLE_NAME_JRE)/g" \
- -e "s/@@INFO@@/$(BUNDLE_INFO_JRE)/g" \
- -e "s/@@PLATFORM_VERSION@@/$(BUNDLE_PLATFORM_VERSION)/g" \
- -e "s/@@VERSION@@/$(BUNDLE_VERSION)/g" \
- -e "s/@@VENDOR@@/$(BUNDLE_VENDOR)/g" \
- < $(MACOSX_PLIST_SRC)/JRE-Info.plist > $@
+ $(eval $(call SetupTextFileProcessing, BUILD_JRE_PLIST, \
+ SOURCE_FILES := $(MACOSX_PLIST_SRC)/JRE-Info.plist, \
+ OUTPUT_FILE := $(JRE_MACOSX_BUNDLE_DIR)/Info.plist, \
+ REPLACEMENTS := \
+ @@ID@@ => $(BUNDLE_ID).jre ; \
+ @@NAME@@ => $(BUNDLE_NAME) ; \
+ @@INFO@@ => $(BUNDLE_INFO) ; \
+ @@PLATFORM_VERSION@@ => $(BUNDLE_PLATFORM_VERSION) ; \
+ @@VERSION@@ => $(BUNDLE_VERSION) ; \
+ @@VENDOR@@ => $(BUNDLE_VENDOR) , \
+ ))
- jdk-bundle: $(JDK_TARGET_LIST) $(JDK_BUNDLE_DIR)/MacOS/libjli.dylib \
- $(JDK_BUNDLE_DIR)/Info.plist
- $(SETFILE) -a B $(dir $(JDK_BUNDLE_DIR))
+ jdk-bundle: $(JDK_TARGET_LIST) $(JDK_MACOSX_BUNDLE_DIR)/MacOS/libjli.dylib \
+ $(BUILD_JDK_PLIST)
+ $(SETFILE) -a B $(dir $(JDK_MACOSX_BUNDLE_DIR))
- jre-bundle: $(JRE_TARGET_LIST) $(JRE_BUNDLE_DIR)/MacOS/libjli.dylib \
- $(JRE_BUNDLE_DIR)/Info.plist
- $(SETFILE) -a B $(dir $(JRE_BUNDLE_DIR))
+ jre-bundle: $(JRE_TARGET_LIST) $(JRE_MACOSX_BUNDLE_DIR)/MacOS/libjli.dylib \
+ $(BUILD_JRE_PLIST)
+ $(SETFILE) -a B $(dir $(JRE_MACOSX_BUNDLE_DIR))
else # Not macosx
--- a/make/StripBinaries.gmk Thu May 07 16:11:04 2015 +0200
+++ b/make/StripBinaries.gmk Sat May 09 07:32:37 2015 -0400
@@ -42,7 +42,6 @@
$(CP) $< $@.tmp
$(CHMOD) u+w $@.tmp
$(POST_STRIP_CMD) $@.tmp
- $(if $(POST_MCS_CMD), $(POST_MCS_CMD) $@.tmp)
$(CHMOD) go-w $@.tmp
$(MV) $@.tmp $@
endef
--- a/make/common/JavaCompilation.gmk Thu May 07 16:11:04 2015 +0200
+++ b/make/common/JavaCompilation.gmk Sat May 09 07:32:37 2015 -0400
@@ -276,7 +276,7 @@
$$($1_GREP_EXCLUDE_OUTPUT)
# If the vardeps file is part of the newer prereq list, it means that
# either the jar file does not exist, or we need to recreate it from
- # from scratch anyway since a simple update will not catch all the
+ # from scratch anyway since a simple update will not catch all the
# potential changes.
$$(if $$(filter $$($1_VARDEPS_FILE) $$($1_MANIFEST), $$?), \
$$(if $$($1_MANIFEST), \
@@ -321,8 +321,8 @@
$$(foreach i,$$($1_SRC),$$(eval $$(call remove_string,$$i,$2_TARGET)))
# To allow for automatic overrides, do not create a rule for a target file that
# already has one
- ifeq ($$(findstring $$($2_TARGET), $$($1_COPY_LIST)), )
- $1_COPY_LIST += $$($2_TARGET)
+ ifneq ($$($1_COPY_$$($2_TARGET)), 1)
+ $1_COPY_$$($2_TARGET) := 1
# Now we can setup the depency that will trigger the copying.
$$($1_BIN)$$($2_TARGET) : $2
$(MKDIR) -p $$(@D)
@@ -365,7 +365,11 @@
# Remove the source prefix.
$$(foreach i,$$($1_SRC),$$(eval $$(call remove_string,$$i,$2_TARGET)))
# Now we can setup the depency that will trigger the copying.
- $$($1_BIN)$$($2_TARGET) : $2
+ # To allow for automatic overrides, do not create a rule for a target file that
+ # already has one
+ ifneq ($$($1_CLEAN_$$($2_TARGET)), 1)
+ $1_CLEAN_$$($2_TARGET) := 1
+ $$($1_BIN)$$($1_MODULE_SUBDIR)$$($2_TARGET) : $2
$(MKDIR) -p $$(@D)
export LC_ALL=C ; ( $(CAT) $$< && $(ECHO) "" ) \
| $(SED) -e 's/\([^\\]\):/\1\\:/g' -e 's/\([^\\]\)=/\1\\=/g' \
@@ -378,8 +382,9 @@
| $(SORT) > $$@
$(CHMOD) -f ug+w $$@
- # And do not forget this target
- $1_ALL_COPY_CLEAN_TARGETS += $$($1_BIN)$$($2_TARGET)
+ # And do not forget this target
+ $1_ALL_COPY_CLEAN_TARGETS += $$($1_BIN)$$($2_TARGET)
+ endif
endef
define remove_string
@@ -396,7 +401,8 @@
# SETUP:=must point to a previously setup java compiler, for example: SETUP:=BOOTJAVAC
# JVM:=path to ..bin/java
# ADD_JAVAC_FLAGS:=javac flags to append to the default ones.
-# SRC:=one or more directories to search for sources
+# SRC:=one or more directories to search for sources. The order of the source roots
+# is significant. The first found file of a certain name has priority.
# BIN:=store classes here
# INCLUDES:=myapp.foo means will only compile java files in myapp.foo or any of its sub-packages.
# EXCLUDES:=myapp.foo means will do not compile java files in myapp.foo or any of its sub-packages.
@@ -432,7 +438,7 @@
# Handle addons and overrides.
$1_SRC:=$$(call ADD_SRCS,$$($1_SRC))
# Make sure the dirs exist.
- $$(foreach d,$$($1_SRC), $$(if $$(wildcard $$d),,$$(error SRC specified to SetupJavaCompilation $1 contains missing directory $$d)))
+ $$(foreach d,$$($1_SRC), $$(if $$(wildcard $$d),,$$(error SRC specified to SetupJavaCompilation $1 contains missing directory >$$d<)))
$$(call MakeDir,$$($1_BIN))
# Add all source roots to the find cache since we are likely going to run find
# on these more than once. The cache will only be updated if necessary.
@@ -450,15 +456,6 @@
$1_SRCS := $$(filter $$($1_INCLUDE_FILES), $$($1_SRCS))
endif
- # Now we have a list of all java files to compile: $$($1_SRCS)
-
- # Create the corresponding smart javac wrapper command line.
- $1_SJAVAC_ARGS:=$$(addprefix -x ,$$(addsuffix /*,$$($1_EXCLUDES))) \
- $$(addprefix -i ,$$(addsuffix /*,$$($1_INCLUDES))) \
- $$(addprefix -xf *,$$(strip $$($1_EXCLUDE_FILES))) \
- $$(addprefix -if *,$$(strip $$($1_INCLUDE_FILES))) \
- -src "$$(subst $$(SPACE),$$(PATH_SEP),$$(strip $$($1_SRC)))"
-
# Prepend the source/bin path to the filter expressions.
ifneq ($$($1_INCLUDES),)
$1_SRC_INCLUDES := $$(foreach i,$$($1_SRC),$$(addprefix $$i/,$$(addsuffix /%,$$($1_INCLUDES))))
@@ -469,6 +466,25 @@
$1_SRCS := $$(filter-out $$($1_SRC_EXCLUDES),$$($1_SRCS))
endif
+ # Remove duplicate source files by keeping the first found of each duplicate.
+ # This allows for automatic overrides with custom or platform specific versions
+ # source files.
+ #
+ # For the smart javac wrapper case, add each removed file to an extra exclude
+ # file list to prevent sjavac from finding duplicate sources.
+ $1_SRCS := $$(strip $$(foreach s, $$($1_SRCS), \
+ $$(eval relative_src := $$(call remove-prefixes, $$($1_SRC), $$(s))) \
+ $$(if $$($1_$$(relative_src)), \
+ $$(eval $1_SJAVAC_EXCLUDE_FILES += $$(s)), \
+ $$(eval $1_$$(relative_src) := 1) $$(s))))
+
+ # Create the corresponding smart javac wrapper command line.
+ $1_SJAVAC_ARGS:=$$(addprefix -x ,$$(addsuffix /*,$$($1_EXCLUDES))) \
+ $$(addprefix -i ,$$(addsuffix /*,$$($1_INCLUDES))) \
+ $$(addprefix -xf *,$$(strip $$($1_EXCLUDE_FILES) $$($1_SJAVAC_EXCLUDE_FILES))) \
+ $$(addprefix -if *,$$(strip $$($1_INCLUDE_FILES))) \
+ -src "$$(subst $$(SPACE),$$(PATH_SEP),$$(strip $$($1_SRC)))"
+
# All files below META-INF are always copied.
$1_ALL_COPIES := $$(filter $$(addsuffix /META-INF%,$$($1_SRC)),$$($1_ALL_SRCS))
# Find all files to be copied from source to bin.
--- a/make/common/MakeBase.gmk Thu May 07 16:11:04 2015 +0200
+++ b/make/common/MakeBase.gmk Sat May 09 07:32:37 2015 -0400
@@ -45,6 +45,11 @@
# Functions
##############################
+### Debug functions
+
+# Prints the name and value of a variable
+PrintVar = \
+ $(info $(strip $1) >$($(strip $1))<)
### Functions for timers
@@ -558,6 +563,13 @@
$(and $(findstring $(strip $1),$(strip $2)),\
$(findstring $(strip $2),$(strip $1)))
+# Remove a whole list of prefixes
+# $1 - List of prefixes
+# $2 - List of elements to process
+remove-prefixes = \
+ $(strip $(if $1,$(patsubst $(firstword $1)%,%,\
+ $(call remove-prefixes,$(filter-out $(firstword $1),$1),$2)),$2))
+
################################################################################
ifneq ($(DISABLE_CACHE_FIND), true)
--- a/make/common/Modules.gmk Thu May 07 16:11:04 2015 +0200
+++ b/make/common/Modules.gmk Sat May 09 07:32:37 2015 -0400
@@ -43,7 +43,7 @@
# Find all modules with java sources by looking in the source dirs
define FindJavaModules
- $(filter-out $(JAVA_MODULES_FILTER), $(sort $(notdir \
+ $(filter-out $(MODULES_FILTER), $(sort $(notdir \
$(patsubst %/,%, $(dir $(patsubst %/,%, $(dir $(patsubst %/,%, $(dir \
$(wildcard $(patsubst %,%/*/share/classes/*, $(ALL_TOP_SRC_DIRS)) \
$(patsubst %,%/*/$(OPENJDK_TARGET_OS)/classes/*, $(ALL_TOP_SRC_DIRS)) \
@@ -52,7 +52,8 @@
# Find all modules with source for the target platform.
define FindAllModules
- $(sort $(filter-out closed demo sample, $(notdir $(patsubst %/,%, $(dir \
+ $(sort $(filter-out $(MODULES_FILTER) closed demo sample, \
+ $(notdir $(patsubst %/,%, $(dir \
$(wildcard $(patsubst %, %/*/share, $(ALL_TOP_SRC_DIRS)) \
$(patsubst %, %/*/$(OPENJDK_TARGET_OS), $(ALL_TOP_SRC_DIRS)) \
$(patsubst %, %/*/$(OPENJDK_TARGET_OS_TYPE), $(ALL_TOP_SRC_DIRS))))))))
--- a/make/jprt.properties Thu May 07 16:11:04 2015 +0200
+++ b/make/jprt.properties Sat May 09 07:32:37 2015 -0400
@@ -428,15 +428,6 @@
windows_i586_6.2-*-default-hotspot_basicvmtest, \
windows_x64_6.2-*-default-hotspot_basicvmtest
-my.make.rule.test.targets.hotspot.internalvmtests= \
- solaris_sparcv9_5.11-fastdebug-c2-hotspot_internalvmtests, \
- solaris_x64_5.11-fastdebug-c2-hotspot_internalvmtests, \
- linux_i586_2.6-fastdebug-c2-hotspot_internalvmtests, \
- linux_x64_2.6-fastdebug-c2-hotspot_internalvmtests, \
- macosx_x64_10.9-fastdebug-c2-hotspot_internalvmtests, \
- windows_i586_6.2-fastdebug-c2-hotspot_internalvmtests, \
- windows_x64_6.2-fastdebug-c2-hotspot_internalvmtests
-
my.make.rule.test.targets.hotspot.reg.group= \
solaris_sparcv9_5.11-fastdebug-c2-GROUP, \
solaris_x64_5.11-fastdebug-c2-GROUP, \
@@ -465,7 +456,6 @@
# Other Makefile based Hotspot tests
my.make.rule.test.targets.hotspot.other= \
${my.make.rule.test.targets.hotspot.basicvmtests}, \
- ${my.make.rule.test.targets.hotspot.internalvmtests}, \
${my.additional.make.rule.test.targets.hotspot.other}
# All the makefile based tests to run
--- a/test/make/TestJavaCompilation.gmk Thu May 07 16:11:04 2015 +0200
+++ b/test/make/TestJavaCompilation.gmk Sat May 09 07:32:37 2015 -0400
@@ -231,6 +231,117 @@
.PHONY: clean-jar3 create-jar3 update-jar3
################################################################################
+# Test SetupJavaCompilation overrides of java files
+
+$(eval $(call SetupJavaCompiler,BOOT_JAVAC, \
+ JAVAC := $(JAVAC), \
+))
+
+JAVA_SRC_ROOT1 := $(OUTPUT_DIR)/javaroot1
+JAVA_SRC_ROOT2 := $(OUTPUT_DIR)/javaroot2
+
+# Since this makefile calls itself a number of times, protect this macro from
+# being executed more than once.
+# Param 1 - File name
+# Param 2 - Package name
+# Param 3 - Class name
+# Param 4 - Message
+CreateJavaSrc = \
+ $(if $(wildcard $1),,$(shell \
+ $(MKDIR) -p $(dir $1); \
+ $(ECHO) "package $2;" > $1; \
+ $(ECHO) "public class $3 {" >> $1; \
+ $(ECHO) " public static void main(String[] args) {" >> $1; \
+ $(ECHO) " System.out.print(\"$4\");" >> $1; \
+ $(ECHO) " }" >> $1; \
+ $(ECHO) "}" >> $1; \
+ ))
+
+# Since this makefile calls itself a number of times, protect this macro from
+# being executed more than once.
+# Param 1 - File name
+# Param 2 - Message
+CreateTextFile = \
+ $(if $(wildcard $1),,$(shell \
+ $(MKDIR) -p $(dir $1); \
+ $(PRINTF) '$2' > $1; \
+ ))
+
+$(call CreateJavaSrc,$(JAVA_SRC_ROOT1)/a/A.java,a,A,javaroot1)
+$(call CreateJavaSrc,$(JAVA_SRC_ROOT2)/a/A.java,a,A,javaroot2)
+$(call CreateTextFile,$(JAVA_SRC_ROOT1)/a/b.txt,javaroot1\n)
+$(call CreateTextFile,$(JAVA_SRC_ROOT2)/a/b.txt,javaroot2\n)
+$(call CreateTextFile,$(JAVA_SRC_ROOT1)/a/c.properties,#javaroot1\nname=value1\n)
+$(call CreateTextFile,$(JAVA_SRC_ROOT2)/a/c.properties,#javaroot2\nname=value2\n)
+
+# Due to a bug in gnu make 3.81, need to add the src roots with trailing slash,
+# otherwise $(wildcard ) will not find the directories and the sanity check in
+# SetupJavaCompilation will fail.
+$(eval $(call SetupJavaCompilation, BUILD_ROOT1_FIRST, \
+ SETUP := BOOT_JAVAC, \
+ SRC := $(JAVA_SRC_ROOT1)/ $(JAVA_SRC_ROOT2)/, \
+ COPY := .txt .java, \
+ CLEAN := .properties, \
+ BIN := $(OUTPUT_DIR)/root1first/, \
+))
+
+$(BUILD_ROOT1_FIRST):
+
+verify-root1-first: $(BUILD_ROOT1_FIRST)
+ $(JAVA_SMALL) -cp $(OUTPUT_DIR)/root1first a.A > $(OUTPUT_DIR)/root1first.output
+ if [ "`$(CAT) $(OUTPUT_DIR)/root1first.output`" != "javaroot1" ]; then \
+ $(ECHO) "The wrong class was compiled. Expected >javaroot1<"; \
+ $(ECHO) "Got >`$(CAT) $(OUTPUT_DIR)/root1first.output`<"; \
+ false; \
+ fi
+ if [ "`$(CAT) $(OUTPUT_DIR)/root1first/a/b.txt`" != "javaroot1" ]; then \
+ $(ECHO) "The wrong file was copied. Expected >javaroot1<"; \
+ $(ECHO) "Got >`$(CAT) $(OUTPUT_DIR)/root1first/a/b.txt`<"; \
+ false; \
+ fi
+ if [ ! -e "$(OUTPUT_DIR)/root1first/a/A.java" ]; then \
+ $(ECHO) "Missed copying $(OUTPUT_DIR)/root1first/a/A.java"; \
+ false; \
+ fi
+ if [ "`$(CAT) $(OUTPUT_DIR)/root1first/a/c.properties`" != "name=value1" ]; then \
+ $(ECHO) "The wrong file was cleaned. Expected >name=value1<"; \
+ $(ECHO) "Got >`$(CAT) $(OUTPUT_DIR)/root1first/a/c.properties`<"; \
+ false; \
+ fi
+
+$(eval $(call SetupJavaCompilation, BUILD_ROOT2_FIRST, \
+ SETUP := BOOT_JAVAC, \
+ SRC := $(JAVA_SRC_ROOT2)/ $(JAVA_SRC_ROOT1)/, \
+ COPY := .txt, \
+ CLEAN := .properties, \
+ BIN := $(OUTPUT_DIR)/root2first/, \
+))
+
+$(BUILD_ROOT2_FIRST):
+
+verify-root2-first: $(BUILD_ROOT2_FIRST)
+ $(JAVA_SMALL) -cp $(OUTPUT_DIR)/root2first a.A > $(OUTPUT_DIR)/root2first.output
+ if [ "`$(CAT) $(OUTPUT_DIR)/root2first.output`" != "javaroot2" ]; then \
+ $(ECHO) "The wrong class was compiled. Expected >javaroot2<"; \
+ $(ECHO) "Got >`$(CAT) $(OUTPUT_DIR)/root2first.output`<"; \
+ false; \
+ fi
+ if [ "`$(CAT) $(OUTPUT_DIR)/root2first/a/b.txt`" != "javaroot2" ]; then \
+ $(ECHO) "The wrong file was cleaned. Expected >javaroot2<"; \
+ $(ECHO) "Got >`$(CAT) $(OUTPUT_DIR)/root2first/a/b.txt`<"; \
+ false; \
+ fi
+ if [ "`$(CAT) $(OUTPUT_DIR)/root2first/a/c.properties`" != "name=value2" ]; then \
+ $(ECHO) "The wrong file was cleaned. Expected >name=value2<"; \
+ $(ECHO) "Got >`$(CAT) $(OUTPUT_DIR)/root2first/a/c.properties`<"; \
+ false; \
+ fi
+
+TEST_TARGETS += verify-root1-first verify-root2-first
+
+.PHONY: verify-root1-first verify-root2-first
+
+################################################################################
all: $(TEST_TARGETS)
--- a/test/make/TestMakeBase.gmk Thu May 07 16:11:04 2015 +0200
+++ b/test/make/TestMakeBase.gmk Sat May 09 07:32:37 2015 -0400
@@ -33,6 +33,16 @@
$(SRC_ROOT)/make/common/MakeBase.gmk \
#
+# Assert two strings are equal
+# 1 - Tested value
+# 2 - Exepected value
+# 3 - Error message
+define assert-equals
+ ifneq ($$(strip $1),$$(strip $2))
+ $$(error $3 - Expected >$$(strip $2)< - Got >$$(strip $1)<)
+ endif
+endef
+
# On macosx, file system timestamps only have 1 second resultion so must add
# sleeps to properly test dependencies.
ifeq ($(OPENJDK_BUILD_OS), macosx)
@@ -77,6 +87,17 @@
endif
################################################################################
+# Test remove-prefixes
+
+$(eval $(call assert-equals, \
+ $(call remove-prefixes, pre, prefix postfix), fix postfix, \
+ Prefixes not properly removed))
+
+$(eval $(call assert-equals, \
+ $(call remove-prefixes, pre post, prefix postfix), fix fix, \
+ Prefixes not properly removed))
+
+################################################################################
# Test ShellQuote
SHELL_QUOTE_VALUE := foo '""' "''" bar