Merge
This commit is contained in:
commit
3f834b3fcc
@ -305,3 +305,4 @@ f25ee9f62427a9ba27418e5531a89754791a305b jdk9-b57
|
||||
9fa2185bee17462d1014538bff60af6e6f0b01e7 jdk9-b60
|
||||
ea38728b4f4bdd8fd0d7a89b18069f521cf05013 jdk9-b61
|
||||
105d045a69174d870b69bfe471b3f2d05a9f8ecc jdk9-b62
|
||||
0b32ed628fa60e4ab99fb0b5866d648e16231f17 jdk9-b63
|
||||
|
@ -320,8 +320,8 @@ AC_DEFUN([BASIC_CHECK_PATHS_WINDOWS],
|
||||
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
|
||||
|
@ -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 @@ AC_DEFUN_ONCE([BOOTJDK_SETUP_BOOT_JDK],
|
||||
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...
|
||||
|
@ -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 @@ JAVA_CMD:=$(BOOT_JDK)/bin/java
|
||||
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)
|
||||
|
@ -65,12 +65,6 @@ AC_DEFUN_ONCE([FLAGS_SETUP_INIT_FLAGS],
|
||||
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:
|
||||
|
@ -737,7 +737,6 @@ AR_OUT_OPTION
|
||||
LD_OUT_OPTION
|
||||
EXE_OUT_OPTION
|
||||
CC_OUT_OPTION
|
||||
POST_MCS_CMD
|
||||
POST_STRIP_CMD
|
||||
ARFLAGS
|
||||
COMPILER_TARGET_BITS_FLAG
|
||||
@ -759,7 +758,6 @@ ac_ct_OBJCOPY
|
||||
OBJCOPY
|
||||
ac_ct_NM
|
||||
ac_ct_STRIP
|
||||
MCS
|
||||
GNM
|
||||
NM
|
||||
STRIP
|
||||
@ -820,7 +818,6 @@ LANGTOOLS_TOPDIR
|
||||
JAVAC_FLAGS
|
||||
BOOT_JDK_SOURCETARGET
|
||||
JARSIGNER
|
||||
NATIVE2ASCII
|
||||
JAR
|
||||
JAVAH
|
||||
JAVAC
|
||||
@ -1189,7 +1186,6 @@ JAVA
|
||||
JAVAC
|
||||
JAVAH
|
||||
JAR
|
||||
NATIVE2ASCII
|
||||
JARSIGNER
|
||||
CC
|
||||
CFLAGS
|
||||
@ -1207,7 +1203,6 @@ LIPO
|
||||
STRIP
|
||||
NM
|
||||
GNM
|
||||
MCS
|
||||
OBJCOPY
|
||||
OBJDUMP
|
||||
BUILD_CC
|
||||
@ -2070,8 +2065,6 @@ Some influential environment variables:
|
||||
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 @@ Some influential environment variables:
|
||||
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 @@ ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var.
|
||||
|
||||
# ... 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 @@ VS_SDK_PLATFORM_NAME_2013=
|
||||
#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 @@ $as_echo "$CYGWIN_VERSION" >&6; }
|
||||
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
|
||||
@ -26054,133 +26046,6 @@ $as_echo "$tool_specified" >&6; }
|
||||
|
||||
|
||||
|
||||
# Use user overridden value if available, otherwise locate tool in the Boot JDK.
|
||||
|
||||
# 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.
|
||||
@ -28232,7 +28097,7 @@ $as_echo "$as_me: or run \"bash.exe -l\" from a VS command prompt and then run c
|
||||
# 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 @@ $as_echo "$as_me: Rewriting GNM to \"$new_complete\"" >&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 @@ $as_echo "$tool_specified" >&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:
|
||||
|
@ -391,7 +391,6 @@ ARFLAGS:=@ARFLAGS@
|
||||
NM:=@NM@
|
||||
GNM:=@GNM@
|
||||
STRIP:=@STRIP@
|
||||
MCS:=@MCS@
|
||||
|
||||
LIPO:=@LIPO@
|
||||
|
||||
@ -440,7 +439,6 @@ EXE_SUFFIX:=@EXE_SUFFIX@
|
||||
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 @@ JAVA_CMD:=@JAVA@
|
||||
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 @@ JAVA_SMALL=@FIXPATH@ $(JAVA_CMD) $(JAVA_FLAGS_SMALL) $(JAVA_FLAGS)
|
||||
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_SUBDIR:=symbols
|
||||
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.
|
||||
|
@ -210,7 +210,7 @@ AC_DEFUN_ONCE([TOOLCHAIN_PRE_DETECTION],
|
||||
# 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 @@ AC_DEFUN_ONCE([TOOLCHAIN_DETECT_TOOLCHAIN_EXTRA],
|
||||
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)
|
||||
|
@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 2014, 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
|
||||
@ -1156,7 +1156,6 @@ jdk/src/java.management/share/classes/com/sun/jmx/defaults : jdk/src/share/class
|
||||
jdk/src/java.management/share/classes/com/sun/jmx/interceptor : jdk/src/share/classes/com/sun/jmx/interceptor
|
||||
jdk/src/java.management/share/classes/com/sun/jmx/mbeanserver : jdk/src/share/classes/com/sun/jmx/mbeanserver
|
||||
jdk/src/java.management/share/classes/com/sun/jmx/remote : jdk/src/share/classes/com/sun/jmx/remote
|
||||
jdk/src/java.management/share/classes/com/sun/management : jdk/src/share/classes/com/sun/management
|
||||
jdk/src/java.management/share/classes/java/lang/management : jdk/src/share/classes/java/lang/management
|
||||
jdk/src/java.management/share/classes/javax/management : jdk/src/share/classes/javax/management
|
||||
jdk/src/java.management/share/classes/mgmt-overview.html : jdk/src/share/classes/com/sun/management/mgmt-overview.html
|
||||
@ -1429,6 +1428,7 @@ jdk/src/jdk.localedata/share/classes/sun/util/resources/tr : jdk/src/share/class
|
||||
jdk/src/jdk.localedata/share/classes/sun/util/resources/uk : jdk/src/share/classes/sun/util/resources/uk
|
||||
jdk/src/jdk.localedata/share/classes/sun/util/resources/vi : jdk/src/share/classes/sun/util/resources/vi
|
||||
jdk/src/jdk.localedata/share/classes/sun/util/resources/zh : jdk/src/share/classes/sun/util/resources/zh
|
||||
jdk/src/jdk.management/share/classes/com/sun/management : jdk/src/share/classes/com/sun/management
|
||||
jdk/src/jdk.naming.dns/share/classes/com/sun/jndi/dns : jdk/src/share/classes/com/sun/jndi/dns
|
||||
jdk/src/jdk.naming.dns/share/classes/com/sun/jndi/url/dns : jdk/src/share/classes/com/sun/jndi/url/dns
|
||||
jdk/src/jdk.naming.dns/share/classes/META-INF/services : jdk/src/share/classes/sun/net/spi/nameservice/dns/META-INF/services
|
||||
|
@ -53,17 +53,7 @@ java.base_EXCLUDES += java/lang/doc-files
|
||||
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 @@ java.desktop_EXCLUDE_FILES += \
|
||||
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 @@ ifeq ($(OPENJDK_TARGET_OS), macosx)
|
||||
endif
|
||||
|
||||
ifeq ($(OPENJDK_TARGET_OS),aix)
|
||||
# These files are duplicated in AIX_SRC_DIRS
|
||||
jdk.sctp_EXCLUDE_FILES += $(SCTP_IMPL_CLASSES)
|
||||
endif
|
||||
|
||||
|
@ -70,7 +70,7 @@ JDK_MODULES := $(JRE_MODULES) $(TOOLS_MODULES)
|
||||
|
||||
# compact3 builds have additional modules
|
||||
JDK_COMPACT3_MODULES := java.compact3 java.smartcardio jdk.httpserver jdk.naming.dns \
|
||||
jdk.naming.rmi jdk.sctp jdk.security.auth
|
||||
jdk.naming.rmi jdk.sctp jdk.security.auth jdk.management
|
||||
|
||||
# Replacing double-comma with a single comma is to workaround the issue
|
||||
# with some version of make on windows that doesn't substitute spaces
|
||||
@ -255,30 +255,13 @@ ifneq ($(OPENJDK_TARGET_OS), windows)
|
||||
$(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/%
|
||||
|
@ -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 @@ $(JPRT_ARCHIVE_SYMBOLS_BUNDLE): bundles
|
||||
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 @@ final-images: all
|
||||
$(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)
|
||||
|
||||
|
@ -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 @@ ifeq ($(OPENJDK_TARGET_OS), macosx)
|
||||
|
||||
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 @@ ifeq ($(OPENJDK_TARGET_OS), macosx)
|
||||
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
|
||||
|
||||
|
@ -42,7 +42,6 @@ ifneq ($(POST_STRIP_CMD), )
|
||||
$(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
|
||||
|
@ -276,7 +276,7 @@ define SetupArchiveBody
|
||||
$$($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 @@ define add_file_to_copy
|
||||
$$(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 @@ define add_file_to_clean
|
||||
# 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 @@ define add_file_to_clean
|
||||
| $(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 @@ endef
|
||||
# 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 @@ define SetupJavaCompilationBody
|
||||
# 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 @@ define SetupJavaCompilationBody
|
||||
$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 @@ define SetupJavaCompilationBody
|
||||
$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.
|
||||
|
@ -45,6 +45,11 @@ endif
|
||||
# Functions
|
||||
##############################
|
||||
|
||||
### Debug functions
|
||||
|
||||
# Prints the name and value of a variable
|
||||
PrintVar = \
|
||||
$(info $(strip $1) >$($(strip $1))<)
|
||||
|
||||
### Functions for timers
|
||||
|
||||
@ -558,6 +563,13 @@ equals = \
|
||||
$(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)
|
||||
|
@ -43,7 +43,7 @@ ALL_TOP_SRC_DIRS := \
|
||||
|
||||
# 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 @@ endef
|
||||
|
||||
# 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))))))))
|
||||
|
@ -28,8 +28,8 @@
|
||||
# Global settings
|
||||
#
|
||||
|
||||
# Regression tests depend on test bundle
|
||||
jprt.use.reg.test.bundle=true
|
||||
# Install test bundle for targets in jprt.test.bundle.targets set
|
||||
jprt.selective.test.bundle.installation=true
|
||||
|
||||
# The current release name
|
||||
jprt.tools.default.release=jdk9
|
||||
@ -48,6 +48,9 @@ jprt.bundle.exclude.src.dirs=build dist webrev
|
||||
# Use configure when building
|
||||
jprt.build.use.configure=true
|
||||
|
||||
# Set up the run flavors (jvm variants)
|
||||
jprt.run.flavors=c1,c2,default,${my.additional.run.flavors}
|
||||
|
||||
# Set make target to use for different build flavors
|
||||
jprt.build.flavor.debugOpen.target=jprt_bundle
|
||||
jprt.build.flavor.fastdebug.target=jprt_bundle
|
||||
@ -73,6 +76,7 @@ jprt.build.targets=${my.is.hotspot.job ? ${my.build.targets.hotspot} : ${my.buil
|
||||
# Select test targets - jprt default for jprt.test.set is "default"
|
||||
jprt.test.targets=${my.test.targets.${jprt.test.set}}
|
||||
jprt.make.rule.test.targets=${my.make.rule.test.targets.${jprt.test.set}}
|
||||
jprt.test.bundle.targets=${my.jprt.test.bundle.targets.${jprt.test.set}}
|
||||
|
||||
# 7155453: Work-around to prevent popups on OSX from blocking test completion
|
||||
# but the work-around is added to all platforms to be consistent
|
||||
@ -415,19 +419,15 @@ my.test.targets.hotspot= \
|
||||
|
||||
# Make file based test targets
|
||||
|
||||
my.make.rule.test.targets.hotspot.clienttests= \
|
||||
linux_i586_2.6-*-c1-hotspot_clienttest, \
|
||||
windows_i586_6.2-*-c1-hotspot_clienttest
|
||||
|
||||
my.make.rule.test.targets.hotspot.servertests= \
|
||||
solaris_sparcv9_5.11-*-c2-hotspot_servertest, \
|
||||
solaris_x64_5.11-*-c2-hotspot_servertest, \
|
||||
linux_i586_2.6-*-c2-hotspot_servertest, \
|
||||
linux_x64_2.6-*-c2-hotspot_servertest, \
|
||||
macosx_x64_10.9-*-c2-hotspot_servertest, \
|
||||
windows_i586_6.2-*-c2-hotspot_servertest, \
|
||||
windows_x64_6.2-*-c2-hotspot_servertest
|
||||
|
||||
my.make.rule.test.targets.hotspot.basicvmtests= \
|
||||
linux_i586_2.6-*-default-hotspot_basicvmtest, \
|
||||
linux_x64_2.6-*-default-hotspot_basicvmtest, \
|
||||
macosx_x64_10.9-*-default-hotspot_basicvmtest, \
|
||||
solaris_sparcv9_5.11-*-default-hotspot_basicvmtest, \
|
||||
solaris_x64_5.11-*-default-hotspot_basicvmtest, \
|
||||
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, \
|
||||
@ -448,10 +448,8 @@ my.make.rule.test.targets.hotspot.reg.group= \
|
||||
linux_i586_2.6-fastdebug-c1-GROUP, \
|
||||
windows_i586_6.2-fastdebug-c1-GROUP
|
||||
|
||||
my.make.rule.test.targets.hotspot= \
|
||||
${my.make.rule.test.targets.hotspot.clienttests}, \
|
||||
${my.make.rule.test.targets.hotspot.servertests}, \
|
||||
${my.make.rule.test.targets.hotspot.internalvmtests}, \
|
||||
# Hotspot jtreg tests
|
||||
my.make.rule.test.targets.hotspot.reg= \
|
||||
${my.make.rule.test.targets.hotspot.reg.group:GROUP=hotspot_wbapitest}, \
|
||||
${my.make.rule.test.targets.hotspot.reg.group:GROUP=hotspot_compiler_1}, \
|
||||
${my.make.rule.test.targets.hotspot.reg.group:GROUP=hotspot_compiler_2}, \
|
||||
@ -461,12 +459,29 @@ my.make.rule.test.targets.hotspot= \
|
||||
${my.make.rule.test.targets.hotspot.reg.group:GROUP=hotspot_gc_closed}, \
|
||||
${my.make.rule.test.targets.hotspot.reg.group:GROUP=hotspot_gc_gcold}, \
|
||||
${my.make.rule.test.targets.hotspot.reg.group:GROUP=hotspot_runtime}, \
|
||||
${my.make.rule.test.targets.hotspot.reg.group:GROUP=hotspot_runtime_closed}, \
|
||||
${my.make.rule.test.targets.hotspot.reg.group:GROUP=hotspot_serviceability}, \
|
||||
${my.make.rule.test.targets.hotspot.reg.group:GROUP=jdk_svc_sanity}, \
|
||||
${my.additional.make.rule.test.targets.hotspot}
|
||||
${my.additional.make.rule.test.targets.hotspot.reg}
|
||||
|
||||
# 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
|
||||
my.make.rule.test.targets.hotspot= \
|
||||
${my.make.rule.test.targets.hotspot.reg} \
|
||||
${my.make.rule.test.targets.hotspot.other}
|
||||
|
||||
# Install the test bundle for the testset hotspot jtreg tests
|
||||
# (but not for the other Makefile based tests)
|
||||
my.jprt.test.bundle.targets.hotspot=${my.make.rule.test.targets.hotspot.reg}
|
||||
|
||||
# Native jdk and hotspot test targets (testset=nativesanity)
|
||||
my.make.rule.test.targets.nativesanity= \
|
||||
${my.test.target.set:TESTNAME=jdk_native_sanity}, \
|
||||
${my.test.target.set:TESTNAME=hotspot_native_sanity}
|
||||
|
||||
# Install the test bundle for the nativesanity jtreg tests
|
||||
my.jprt.test.bundle.targets.nativesanity=${my.make.rule.test.targets.nativesanity}
|
||||
|
24
modules.xml
24
modules.xml
@ -222,11 +222,13 @@
|
||||
<name>jdk.internal.org.objectweb.asm</name>
|
||||
<to>jdk.jfr</to>
|
||||
<to>jdk.scripting.nashorn</to>
|
||||
<to>java.instrument</to>
|
||||
</export>
|
||||
<export>
|
||||
<name>jdk.internal.org.objectweb.asm.commons</name>
|
||||
<to>jdk.jfr</to>
|
||||
<to>jdk.scripting.nashorn</to>
|
||||
<to>java.instrument</to>
|
||||
</export>
|
||||
<export>
|
||||
<name>jdk.internal.org.objectweb.asm.signature</name>
|
||||
@ -235,11 +237,13 @@
|
||||
<export>
|
||||
<name>jdk.internal.org.objectweb.asm.tree</name>
|
||||
<to>jdk.jfr</to>
|
||||
<to>java.instrument</to>
|
||||
</export>
|
||||
<export>
|
||||
<name>jdk.internal.org.objectweb.asm.util</name>
|
||||
<to>jdk.jfr</to>
|
||||
<to>jdk.scripting.nashorn</to>
|
||||
<to>java.instrument</to>
|
||||
</export>
|
||||
<export>
|
||||
<name>sun.misc</name>
|
||||
@ -266,6 +270,7 @@
|
||||
<to>jdk.security.auth</to>
|
||||
<to>jdk.security.jgss</to>
|
||||
<to>jdk.snmp</to>
|
||||
<to>java.instrument</to>
|
||||
</export>
|
||||
<export>
|
||||
<name>sun.net.dns</name>
|
||||
@ -310,6 +315,7 @@
|
||||
<to>java.sql</to>
|
||||
<to>java.sql.rowset</to>
|
||||
<to>jdk.scripting.nashorn</to>
|
||||
<to>java.instrument</to>
|
||||
</export>
|
||||
<export>
|
||||
<name>sun.reflect.annotation</name>
|
||||
@ -766,6 +772,10 @@
|
||||
<export>
|
||||
<name>java.lang.instrument</name>
|
||||
</export>
|
||||
<export>
|
||||
<name>jdk.internal.instrumentation</name>
|
||||
<to>jdk.jfr</to>
|
||||
</export>
|
||||
</module>
|
||||
<module>
|
||||
<name>java.logging</name>
|
||||
@ -780,9 +790,6 @@
|
||||
<depend>java.logging</depend>
|
||||
<depend>java.naming</depend>
|
||||
<depend re-exports="true">java.rmi</depend>
|
||||
<export>
|
||||
<name>com.sun.management</name>
|
||||
</export>
|
||||
<export>
|
||||
<name>java.lang.management</name>
|
||||
</export>
|
||||
@ -816,9 +823,11 @@
|
||||
<export>
|
||||
<name>sun.management</name>
|
||||
<to>jdk.jconsole</to>
|
||||
<to>jdk.management</to>
|
||||
</export>
|
||||
<export>
|
||||
<name>sun.management.spi</name>
|
||||
<to>jdk.management</to>
|
||||
<to>jdk.management.cmm</to>
|
||||
</export>
|
||||
</module>
|
||||
@ -1664,6 +1673,7 @@
|
||||
<depend>java.rmi</depend>
|
||||
<depend>jdk.attach</depend>
|
||||
<depend>jdk.jvmstat</depend>
|
||||
<depend>jdk.management</depend>
|
||||
<export>
|
||||
<name>com.sun.tools.jconsole</name>
|
||||
</export>
|
||||
@ -1715,6 +1725,14 @@
|
||||
<name>jdk.localedata</name>
|
||||
<depend>java.base</depend>
|
||||
</module>
|
||||
<module>
|
||||
<name>jdk.management</name>
|
||||
<depend>java.base</depend>
|
||||
<depend re-exports="true">java.management</depend>
|
||||
<export>
|
||||
<name>com.sun.management</name>
|
||||
</export>
|
||||
</module>
|
||||
<module>
|
||||
<name>jdk.naming.dns</name>
|
||||
<depend>java.base</depend>
|
||||
|
@ -32,6 +32,7 @@ import java.util.function.BiFunction;
|
||||
import java.util.function.Function;
|
||||
import java.util.stream.Stream;
|
||||
import java.security.BasicPermission;
|
||||
import java.util.Objects;
|
||||
|
||||
import sun.hotspot.parser.DiagnosticCommand;
|
||||
|
||||
@ -74,11 +75,27 @@ public class WhiteBox {
|
||||
public native void printHeapSizes();
|
||||
|
||||
// Memory
|
||||
public native long getObjectAddress(Object o);
|
||||
private native long getObjectAddress0(Object o);
|
||||
public long getObjectAddress(Object o) {
|
||||
Objects.requireNonNull(o);
|
||||
return getObjectAddress0(o);
|
||||
}
|
||||
|
||||
public native int getHeapOopSize();
|
||||
public native int getVMPageSize();
|
||||
public native boolean isObjectInOldGen(Object o);
|
||||
public native long getObjectSize(Object o);
|
||||
public native long getVMLargePageSize();
|
||||
|
||||
private native boolean isObjectInOldGen0(Object o);
|
||||
public boolean isObjectInOldGen(Object o) {
|
||||
Objects.requireNonNull(o);
|
||||
return isObjectInOldGen0(o);
|
||||
}
|
||||
|
||||
private native long getObjectSize0(Object o);
|
||||
public long getObjectSize(Object o) {
|
||||
Objects.requireNonNull(o);
|
||||
return getObjectSize0(o);
|
||||
}
|
||||
|
||||
// Runtime
|
||||
// Make sure class name is in the correct format
|
||||
@ -86,21 +103,45 @@ public class WhiteBox {
|
||||
return isClassAlive0(name.replace('.', '/'));
|
||||
}
|
||||
private native boolean isClassAlive0(String name);
|
||||
public native boolean isMonitorInflated(Object obj);
|
||||
|
||||
private native boolean isMonitorInflated0(Object obj);
|
||||
public boolean isMonitorInflated(Object obj) {
|
||||
Objects.requireNonNull(obj);
|
||||
return isMonitorInflated0(obj);
|
||||
}
|
||||
|
||||
public native void forceSafepoint();
|
||||
|
||||
// JVMTI
|
||||
public native void addToBootstrapClassLoaderSearch(String segment);
|
||||
public native void addToSystemClassLoaderSearch(String segment);
|
||||
private native void addToBootstrapClassLoaderSearch0(String segment);
|
||||
public void addToBootstrapClassLoaderSearch(String segment){
|
||||
Objects.requireNonNull(segment);
|
||||
addToBootstrapClassLoaderSearch0(segment);
|
||||
}
|
||||
|
||||
private native void addToSystemClassLoaderSearch0(String segment);
|
||||
public void addToSystemClassLoaderSearch(String segment) {
|
||||
Objects.requireNonNull(segment);
|
||||
addToSystemClassLoaderSearch0(segment);
|
||||
}
|
||||
|
||||
// G1
|
||||
public native boolean g1InConcurrentMark();
|
||||
public native boolean g1IsHumongous(Object o);
|
||||
private native boolean g1IsHumongous0(Object o);
|
||||
public boolean g1IsHumongous(Object o) {
|
||||
Objects.requireNonNull(o);
|
||||
return g1IsHumongous0(o);
|
||||
}
|
||||
|
||||
public native long g1NumMaxRegions();
|
||||
public native long g1NumFreeRegions();
|
||||
public native int g1RegionSize();
|
||||
public native MemoryUsage g1AuxiliaryMemoryUsage();
|
||||
public native Object[] parseCommandLine(String commandline, char delim, DiagnosticCommand[] args);
|
||||
private native Object[] parseCommandLine0(String commandline, char delim, DiagnosticCommand[] args);
|
||||
public Object[] parseCommandLine(String commandline, char delim, DiagnosticCommand[] args) {
|
||||
Objects.requireNonNull(args);
|
||||
return parseCommandLine0(commandline, delim, args);
|
||||
}
|
||||
|
||||
// NMT
|
||||
public native long NMTMalloc(long size);
|
||||
@ -119,45 +160,93 @@ public class WhiteBox {
|
||||
public boolean isMethodCompiled(Executable method) {
|
||||
return isMethodCompiled(method, false /*not osr*/);
|
||||
}
|
||||
public native boolean isMethodCompiled(Executable method, boolean isOsr);
|
||||
private native boolean isMethodCompiled0(Executable method, boolean isOsr);
|
||||
public boolean isMethodCompiled(Executable method, boolean isOsr){
|
||||
Objects.requireNonNull(method);
|
||||
return isMethodCompiled0(method, isOsr);
|
||||
}
|
||||
public boolean isMethodCompilable(Executable method) {
|
||||
return isMethodCompilable(method, -1 /*any*/);
|
||||
}
|
||||
public boolean isMethodCompilable(Executable method, int compLevel) {
|
||||
return isMethodCompilable(method, compLevel, false /*not osr*/);
|
||||
}
|
||||
public native boolean isMethodCompilable(Executable method, int compLevel, boolean isOsr);
|
||||
public native boolean isMethodQueuedForCompilation(Executable method);
|
||||
private native boolean isMethodCompilable0(Executable method, int compLevel, boolean isOsr);
|
||||
public boolean isMethodCompilable(Executable method, int compLevel, boolean isOsr) {
|
||||
Objects.requireNonNull(method);
|
||||
return isMethodCompilable0(method, compLevel, isOsr);
|
||||
}
|
||||
private native boolean isMethodQueuedForCompilation0(Executable method);
|
||||
public boolean isMethodQueuedForCompilation(Executable method) {
|
||||
Objects.requireNonNull(method);
|
||||
return isMethodQueuedForCompilation0(method);
|
||||
}
|
||||
public int deoptimizeMethod(Executable method) {
|
||||
return deoptimizeMethod(method, false /*not osr*/);
|
||||
}
|
||||
public native int deoptimizeMethod(Executable method, boolean isOsr);
|
||||
private native int deoptimizeMethod0(Executable method, boolean isOsr);
|
||||
public int deoptimizeMethod(Executable method, boolean isOsr) {
|
||||
Objects.requireNonNull(method);
|
||||
return deoptimizeMethod0(method, isOsr);
|
||||
}
|
||||
public void makeMethodNotCompilable(Executable method) {
|
||||
makeMethodNotCompilable(method, -1 /*any*/);
|
||||
}
|
||||
public void makeMethodNotCompilable(Executable method, int compLevel) {
|
||||
makeMethodNotCompilable(method, compLevel, false /*not osr*/);
|
||||
}
|
||||
public native void makeMethodNotCompilable(Executable method, int compLevel, boolean isOsr);
|
||||
private native void makeMethodNotCompilable0(Executable method, int compLevel, boolean isOsr);
|
||||
public void makeMethodNotCompilable(Executable method, int compLevel, boolean isOsr) {
|
||||
Objects.requireNonNull(method);
|
||||
makeMethodNotCompilable0(method, compLevel, isOsr);
|
||||
}
|
||||
public int getMethodCompilationLevel(Executable method) {
|
||||
return getMethodCompilationLevel(method, false /*not ost*/);
|
||||
}
|
||||
public native int getMethodCompilationLevel(Executable method, boolean isOsr);
|
||||
public native boolean testSetDontInlineMethod(Executable method, boolean value);
|
||||
private native int getMethodCompilationLevel0(Executable method, boolean isOsr);
|
||||
public int getMethodCompilationLevel(Executable method, boolean isOsr) {
|
||||
Objects.requireNonNull(method);
|
||||
return getMethodCompilationLevel0(method, isOsr);
|
||||
}
|
||||
private native boolean testSetDontInlineMethod0(Executable method, boolean value);
|
||||
public boolean testSetDontInlineMethod(Executable method, boolean value) {
|
||||
Objects.requireNonNull(method);
|
||||
return testSetDontInlineMethod0(method, value);
|
||||
}
|
||||
public int getCompileQueuesSize() {
|
||||
return getCompileQueueSize(-1 /*any*/);
|
||||
}
|
||||
public native int getCompileQueueSize(int compLevel);
|
||||
public native boolean testSetForceInlineMethod(Executable method, boolean value);
|
||||
private native boolean testSetForceInlineMethod0(Executable method, boolean value);
|
||||
public boolean testSetForceInlineMethod(Executable method, boolean value) {
|
||||
Objects.requireNonNull(method);
|
||||
return testSetForceInlineMethod0(method, value);
|
||||
}
|
||||
public boolean enqueueMethodForCompilation(Executable method, int compLevel) {
|
||||
return enqueueMethodForCompilation(method, compLevel, -1 /*InvocationEntryBci*/);
|
||||
}
|
||||
public native boolean enqueueMethodForCompilation(Executable method, int compLevel, int entry_bci);
|
||||
public native void clearMethodState(Executable method);
|
||||
private native boolean enqueueMethodForCompilation0(Executable method, int compLevel, int entry_bci);
|
||||
public boolean enqueueMethodForCompilation(Executable method, int compLevel, int entry_bci) {
|
||||
Objects.requireNonNull(method);
|
||||
return enqueueMethodForCompilation0(method, compLevel, entry_bci);
|
||||
}
|
||||
private native void clearMethodState0(Executable method);
|
||||
public void clearMethodState(Executable method) {
|
||||
Objects.requireNonNull(method);
|
||||
clearMethodState0(method);
|
||||
}
|
||||
public native void lockCompilation();
|
||||
public native void unlockCompilation();
|
||||
public native int getMethodEntryBci(Executable method);
|
||||
public native Object[] getNMethod(Executable method, boolean isOsr);
|
||||
private native int getMethodEntryBci0(Executable method);
|
||||
public int getMethodEntryBci(Executable method) {
|
||||
Objects.requireNonNull(method);
|
||||
return getMethodEntryBci0(method);
|
||||
}
|
||||
private native Object[] getNMethod0(Executable method, boolean isOsr);
|
||||
public Object[] getNMethod(Executable method, boolean isOsr) {
|
||||
Objects.requireNonNull(method);
|
||||
return getNMethod0(method, isOsr);
|
||||
}
|
||||
public native long allocateCodeBlob(int size, int type);
|
||||
public long allocateCodeBlob(long size, int type) {
|
||||
int intSize = (int) size;
|
||||
@ -168,14 +257,7 @@ public class WhiteBox {
|
||||
return allocateCodeBlob( intSize, type);
|
||||
}
|
||||
public native void freeCodeBlob(long addr);
|
||||
public void forceNMethodSweep() {
|
||||
try {
|
||||
forceNMethodSweep0().join();
|
||||
} catch (InterruptedException e) {
|
||||
Thread.currentThread().interrupt();
|
||||
}
|
||||
}
|
||||
public native Thread forceNMethodSweep0();
|
||||
public native void forceNMethodSweep();
|
||||
public native Object[] getCodeHeapEntries(int type);
|
||||
public native int getCompilationActivityMode();
|
||||
public native Object[] getCodeBlob(long addr);
|
||||
@ -213,7 +295,11 @@ public class WhiteBox {
|
||||
// Native extensions
|
||||
public native long getHeapUsageForContext(int context);
|
||||
public native long getHeapRegionCountForContext(int context);
|
||||
public native int getContextForObject(Object obj);
|
||||
private native int getContextForObject0(Object obj);
|
||||
public int getContextForObject(Object obj) {
|
||||
Objects.requireNonNull(obj);
|
||||
return getContextForObject0(obj);
|
||||
}
|
||||
public native void printRegionInfo(int context);
|
||||
|
||||
// VM flags
|
||||
|
@ -230,6 +230,117 @@ TEST_TARGETS += $(OUTPUT_DIR)/_jar3_updated
|
||||
|
||||
.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)
|
||||
|
@ -33,6 +33,16 @@ DEPS := $(THIS_FILE) \
|
||||
$(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)
|
||||
@ -76,6 +86,17 @@ ifeq ($(call equals, $(EQUALS_VALUE1), $(EQUALS_VALUE1)), )
|
||||
$(error The strings >$(EQUALS_VALUE1)< and >$(EQUALS_VALUE1)< are not equal)
|
||||
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
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user