This commit is contained in:
J. Duke 2017-07-05 20:28:49 +02:00
commit 39517460b3
22 changed files with 393 additions and 132 deletions

View File

@ -302,3 +302,4 @@ eb7febe45865ba6b81f2ea68082262d0708a0b22 jdk9-b56
f25ee9f62427a9ba27418e5531a89754791a305b jdk9-b57 f25ee9f62427a9ba27418e5531a89754791a305b jdk9-b57
6e78dd9b121037719a065fe8fb25b936babdfecb jdk9-b58 6e78dd9b121037719a065fe8fb25b936babdfecb jdk9-b58
39e8a131289e8386aa4c3e4b184faa812a7c0421 jdk9-b59 39e8a131289e8386aa4c3e4b184faa812a7c0421 jdk9-b59
9fa2185bee17462d1014538bff60af6e6f0b01e7 jdk9-b60

View File

@ -41,7 +41,8 @@
The build is now a "<code>configure &amp;&amp; make</code>" style build The build is now a "<code>configure &amp;&amp; make</code>" style build
</li> </li>
<li> <li>
Any GNU make 3.81 or newer should work Any GNU make 3.81 or newer should work, except on
Windows where 4.0 or newer is recommended.
</li> </li>
<li> <li>
The build should scale, i.e. more processors should The build should scale, i.e. more processors should
@ -358,8 +359,8 @@
For all systems: For all systems:
<ul> <ul>
<li> <li>
Be sure the GNU make utility is version 3.81 or newer, Be sure the GNU make utility is version 3.81 (4.0 on
e.g. run "<code>make -version</code>" windows) or newer, e.g. run "<code>make -version</code>"
</li> </li>
<li> <li>
Install a Install a
@ -1726,10 +1727,10 @@
A few notes about using GNU make: A few notes about using GNU make:
<ul> <ul>
<li> <li>
You need GNU make version 3.81 or newer. You need GNU make version 3.81 or newer. On Windows 4.0 or
If the GNU make utility on your systems is not newer is recommended.
3.81 or newer, If the GNU make utility on your systems is not of a suitable
see <a href="#buildgmake">"Building GNU make"</a>. version see <a href="#buildgmake">"Building GNU make"</a>.
</li> </li>
<li> <li>
Place the location of the GNU make binary in the Place the location of the GNU make binary in the

View File

@ -658,8 +658,6 @@ AC_DEFUN_ONCE([BASIC_SETUP_OUTPUT_DIR],
fi fi
OUTPUT_ROOT="$SRC_ROOT/build/${CONF_NAME}" OUTPUT_ROOT="$SRC_ROOT/build/${CONF_NAME}"
$MKDIR -p "$OUTPUT_ROOT" $MKDIR -p "$OUTPUT_ROOT"
CONFIGURESUPPORT_OUTPUTDIR="$OUTPUT_ROOT/configure-support"
$MKDIR -p "$CONFIGURESUPPORT_OUTPUTDIR"
if test ! -d "$OUTPUT_ROOT"; then if test ! -d "$OUTPUT_ROOT"; then
AC_MSG_ERROR([Could not create build directory $OUTPUT_ROOT]) AC_MSG_ERROR([Could not create build directory $OUTPUT_ROOT])
fi fi
@ -702,6 +700,9 @@ AC_DEFUN_ONCE([BASIC_SETUP_OUTPUT_DIR],
BASIC_FIXUP_PATH(OUTPUT_ROOT) BASIC_FIXUP_PATH(OUTPUT_ROOT)
CONFIGURESUPPORT_OUTPUTDIR="$OUTPUT_ROOT/configure-support"
$MKDIR -p "$CONFIGURESUPPORT_OUTPUTDIR"
AC_SUBST(SPEC, $OUTPUT_ROOT/spec.gmk) AC_SUBST(SPEC, $OUTPUT_ROOT/spec.gmk)
AC_SUBST(CONF_NAME, $CONF_NAME) AC_SUBST(CONF_NAME, $CONF_NAME)
AC_SUBST(OUTPUT_ROOT, $OUTPUT_ROOT) AC_SUBST(OUTPUT_ROOT, $OUTPUT_ROOT)
@ -730,6 +731,16 @@ AC_DEFUN([BASIC_CHECK_MAKE_VERSION],
[ [
MAKE_CANDIDATE="$1" MAKE_CANDIDATE="$1"
DESCRIPTION="$2" DESCRIPTION="$2"
# On Cygwin, we require a newer version of make than on other platforms
if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
MAKE_VERSION_EXPR="-e 4\."
MAKE_REQUIRED_VERSION="4.0"
else
MAKE_VERSION_EXPR="-e 3\.8[[12]] -e 4\."
MAKE_REQUIRED_VERSION="3.81"
fi
if test "x$MAKE_CANDIDATE" != x; then if test "x$MAKE_CANDIDATE" != x; then
AC_MSG_NOTICE([Testing potential make at $MAKE_CANDIDATE, found using $DESCRIPTION]) AC_MSG_NOTICE([Testing potential make at $MAKE_CANDIDATE, found using $DESCRIPTION])
MAKE_VERSION_STRING=`$MAKE_CANDIDATE --version | $HEAD -n 1` MAKE_VERSION_STRING=`$MAKE_CANDIDATE --version | $HEAD -n 1`
@ -737,9 +748,9 @@ AC_DEFUN([BASIC_CHECK_MAKE_VERSION],
if test "x$IS_GNU_MAKE" = x; then if test "x$IS_GNU_MAKE" = x; then
AC_MSG_NOTICE([Found potential make at $MAKE_CANDIDATE, however, this is not GNU Make. Ignoring.]) AC_MSG_NOTICE([Found potential make at $MAKE_CANDIDATE, however, this is not GNU Make. Ignoring.])
else else
IS_MODERN_MAKE=`$ECHO $MAKE_VERSION_STRING | $GREP -e '3\.8[[12]]' -e '4\.'` IS_MODERN_MAKE=`$ECHO $MAKE_VERSION_STRING | $GREP $MAKE_VERSION_EXPR`
if test "x$IS_MODERN_MAKE" = x; then if test "x$IS_MODERN_MAKE" = x; then
AC_MSG_NOTICE([Found GNU make at $MAKE_CANDIDATE, however this is not version 3.81 or later. (it is: $MAKE_VERSION_STRING). Ignoring.]) AC_MSG_NOTICE([Found GNU make at $MAKE_CANDIDATE, however this is not version $MAKE_REQUIRED_VERSION or later. (it is: $MAKE_VERSION_STRING). Ignoring.])
else else
if test "x$OPENJDK_BUILD_OS" = "xwindows"; then if test "x$OPENJDK_BUILD_OS" = "xwindows"; then
if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
@ -803,7 +814,7 @@ AC_DEFUN([BASIC_CHECK_GNU_MAKE],
fi fi
BASIC_CHECK_MAKE_VERSION("$MAKE", [user supplied MAKE=$MAKE]) BASIC_CHECK_MAKE_VERSION("$MAKE", [user supplied MAKE=$MAKE])
if test "x$FOUND_MAKE" = x; then if test "x$FOUND_MAKE" = x; then
AC_MSG_ERROR([The specified make (by MAKE=$MAKE) is not GNU make 3.81 or newer.]) AC_MSG_ERROR([The specified make (by MAKE=$MAKE) is not GNU make $MAKE_REQUIRED_VERSION or newer.])
fi fi
else else
# Try our hardest to locate a correct version of GNU make # Try our hardest to locate a correct version of GNU make
@ -831,13 +842,13 @@ AC_DEFUN([BASIC_CHECK_GNU_MAKE],
fi fi
if test "x$FOUND_MAKE" = x; then if test "x$FOUND_MAKE" = x; then
AC_MSG_ERROR([Cannot find GNU make 3.81 or newer! Please put it in the path, or add e.g. MAKE=/opt/gmake3.81/make as argument to configure.]) AC_MSG_ERROR([Cannot find GNU make $MAKE_REQUIRED_VERSION or newer! Please put it in the path, or add e.g. MAKE=/opt/gmake3.81/make as argument to configure.])
fi fi
fi fi
MAKE=$FOUND_MAKE MAKE=$FOUND_MAKE
AC_SUBST(MAKE) AC_SUBST(MAKE)
AC_MSG_NOTICE([Using GNU make 3.81 (or later) at $FOUND_MAKE (version: $MAKE_VERSION_STRING)]) AC_MSG_NOTICE([Using GNU make at $FOUND_MAKE (version: $MAKE_VERSION_STRING)])
BASIC_CHECK_MAKE_OUTPUT_SYNC BASIC_CHECK_MAKE_OUTPUT_SYNC
]) ])

View File

@ -745,8 +745,6 @@ JT_HOME
JTREGEXE JTREGEXE
USING_BROKEN_SUSE_LD USING_BROKEN_SUSE_LD
PACKAGE_PATH PACKAGE_PATH
LDEXECXX
LDEXE
USE_CLANG USE_CLANG
HOTSPOT_LD HOTSPOT_LD
HOTSPOT_CXX HOTSPOT_CXX
@ -4365,7 +4363,7 @@ VS_SDK_PLATFORM_NAME_2013=
#CUSTOM_AUTOCONF_INCLUDE #CUSTOM_AUTOCONF_INCLUDE
# Do not change or remove the following line, it is needed for consistency checks: # Do not change or remove the following line, it is needed for consistency checks:
DATE_WHEN_GENERATED=1428676283 DATE_WHEN_GENERATED=1429271657
############################################################################### ###############################################################################
# #
@ -15266,8 +15264,6 @@ $as_echo "in build directory with custom name" >&6; }
fi fi
OUTPUT_ROOT="$SRC_ROOT/build/${CONF_NAME}" OUTPUT_ROOT="$SRC_ROOT/build/${CONF_NAME}"
$MKDIR -p "$OUTPUT_ROOT" $MKDIR -p "$OUTPUT_ROOT"
CONFIGURESUPPORT_OUTPUTDIR="$OUTPUT_ROOT/configure-support"
$MKDIR -p "$CONFIGURESUPPORT_OUTPUTDIR"
if test ! -d "$OUTPUT_ROOT"; then if test ! -d "$OUTPUT_ROOT"; then
as_fn_error $? "Could not create build directory $OUTPUT_ROOT" "$LINENO" 5 as_fn_error $? "Could not create build directory $OUTPUT_ROOT" "$LINENO" 5
fi fi
@ -15445,6 +15441,9 @@ $as_echo "$as_me: The path of OUTPUT_ROOT, which resolves as \"$path\", is inval
fi fi
CONFIGURESUPPORT_OUTPUTDIR="$OUTPUT_ROOT/configure-support"
$MKDIR -p "$CONFIGURESUPPORT_OUTPUTDIR"
SPEC=$OUTPUT_ROOT/spec.gmk SPEC=$OUTPUT_ROOT/spec.gmk
CONF_NAME=$CONF_NAME CONF_NAME=$CONF_NAME
@ -15530,6 +15529,16 @@ done
MAKE_CANDIDATE=""$MAKE"" MAKE_CANDIDATE=""$MAKE""
DESCRIPTION="user supplied MAKE=$MAKE" DESCRIPTION="user supplied MAKE=$MAKE"
# On Cygwin, we require a newer version of make than on other platforms
if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
MAKE_VERSION_EXPR="-e 4\."
MAKE_REQUIRED_VERSION="4.0"
else
MAKE_VERSION_EXPR="-e 3\.8[12] -e 4\."
MAKE_REQUIRED_VERSION="3.81"
fi
if test "x$MAKE_CANDIDATE" != x; then if test "x$MAKE_CANDIDATE" != x; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: Testing potential make at $MAKE_CANDIDATE, found using $DESCRIPTION" >&5 { $as_echo "$as_me:${as_lineno-$LINENO}: Testing potential make at $MAKE_CANDIDATE, found using $DESCRIPTION" >&5
$as_echo "$as_me: Testing potential make at $MAKE_CANDIDATE, found using $DESCRIPTION" >&6;} $as_echo "$as_me: Testing potential make at $MAKE_CANDIDATE, found using $DESCRIPTION" >&6;}
@ -15539,10 +15548,10 @@ $as_echo "$as_me: Testing potential make at $MAKE_CANDIDATE, found using $DESCRI
{ $as_echo "$as_me:${as_lineno-$LINENO}: Found potential make at $MAKE_CANDIDATE, however, this is not GNU Make. Ignoring." >&5 { $as_echo "$as_me:${as_lineno-$LINENO}: Found potential make at $MAKE_CANDIDATE, however, this is not GNU Make. Ignoring." >&5
$as_echo "$as_me: Found potential make at $MAKE_CANDIDATE, however, this is not GNU Make. Ignoring." >&6;} $as_echo "$as_me: Found potential make at $MAKE_CANDIDATE, however, this is not GNU Make. Ignoring." >&6;}
else else
IS_MODERN_MAKE=`$ECHO $MAKE_VERSION_STRING | $GREP -e '3\.8[12]' -e '4\.'` IS_MODERN_MAKE=`$ECHO $MAKE_VERSION_STRING | $GREP $MAKE_VERSION_EXPR`
if test "x$IS_MODERN_MAKE" = x; then if test "x$IS_MODERN_MAKE" = x; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: Found GNU make at $MAKE_CANDIDATE, however this is not version 3.81 or later. (it is: $MAKE_VERSION_STRING). Ignoring." >&5 { $as_echo "$as_me:${as_lineno-$LINENO}: Found GNU make at $MAKE_CANDIDATE, however this is not version $MAKE_REQUIRED_VERSION or later. (it is: $MAKE_VERSION_STRING). Ignoring." >&5
$as_echo "$as_me: Found GNU make at $MAKE_CANDIDATE, however this is not version 3.81 or later. (it is: $MAKE_VERSION_STRING). Ignoring." >&6;} $as_echo "$as_me: Found GNU make at $MAKE_CANDIDATE, however this is not version $MAKE_REQUIRED_VERSION or later. (it is: $MAKE_VERSION_STRING). Ignoring." >&6;}
else else
if test "x$OPENJDK_BUILD_OS" = "xwindows"; then if test "x$OPENJDK_BUILD_OS" = "xwindows"; then
if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
@ -15855,7 +15864,7 @@ $as_echo "$as_me: Rewriting FOUND_MAKE to \"$new_complete\"" >&6;}
fi fi
if test "x$FOUND_MAKE" = x; then if test "x$FOUND_MAKE" = x; then
as_fn_error $? "The specified make (by MAKE=$MAKE) is not GNU make 3.81 or newer." "$LINENO" 5 as_fn_error $? "The specified make (by MAKE=$MAKE) is not GNU make $MAKE_REQUIRED_VERSION or newer." "$LINENO" 5
fi fi
else else
# Try our hardest to locate a correct version of GNU make # Try our hardest to locate a correct version of GNU make
@ -15907,6 +15916,16 @@ done
MAKE_CANDIDATE=""$CHECK_GMAKE"" MAKE_CANDIDATE=""$CHECK_GMAKE""
DESCRIPTION="gmake in PATH" DESCRIPTION="gmake in PATH"
# On Cygwin, we require a newer version of make than on other platforms
if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
MAKE_VERSION_EXPR="-e 4\."
MAKE_REQUIRED_VERSION="4.0"
else
MAKE_VERSION_EXPR="-e 3\.8[12] -e 4\."
MAKE_REQUIRED_VERSION="3.81"
fi
if test "x$MAKE_CANDIDATE" != x; then if test "x$MAKE_CANDIDATE" != x; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: Testing potential make at $MAKE_CANDIDATE, found using $DESCRIPTION" >&5 { $as_echo "$as_me:${as_lineno-$LINENO}: Testing potential make at $MAKE_CANDIDATE, found using $DESCRIPTION" >&5
$as_echo "$as_me: Testing potential make at $MAKE_CANDIDATE, found using $DESCRIPTION" >&6;} $as_echo "$as_me: Testing potential make at $MAKE_CANDIDATE, found using $DESCRIPTION" >&6;}
@ -15916,10 +15935,10 @@ $as_echo "$as_me: Testing potential make at $MAKE_CANDIDATE, found using $DESCRI
{ $as_echo "$as_me:${as_lineno-$LINENO}: Found potential make at $MAKE_CANDIDATE, however, this is not GNU Make. Ignoring." >&5 { $as_echo "$as_me:${as_lineno-$LINENO}: Found potential make at $MAKE_CANDIDATE, however, this is not GNU Make. Ignoring." >&5
$as_echo "$as_me: Found potential make at $MAKE_CANDIDATE, however, this is not GNU Make. Ignoring." >&6;} $as_echo "$as_me: Found potential make at $MAKE_CANDIDATE, however, this is not GNU Make. Ignoring." >&6;}
else else
IS_MODERN_MAKE=`$ECHO $MAKE_VERSION_STRING | $GREP -e '3\.8[12]' -e '4\.'` IS_MODERN_MAKE=`$ECHO $MAKE_VERSION_STRING | $GREP $MAKE_VERSION_EXPR`
if test "x$IS_MODERN_MAKE" = x; then if test "x$IS_MODERN_MAKE" = x; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: Found GNU make at $MAKE_CANDIDATE, however this is not version 3.81 or later. (it is: $MAKE_VERSION_STRING). Ignoring." >&5 { $as_echo "$as_me:${as_lineno-$LINENO}: Found GNU make at $MAKE_CANDIDATE, however this is not version $MAKE_REQUIRED_VERSION or later. (it is: $MAKE_VERSION_STRING). Ignoring." >&5
$as_echo "$as_me: Found GNU make at $MAKE_CANDIDATE, however this is not version 3.81 or later. (it is: $MAKE_VERSION_STRING). Ignoring." >&6;} $as_echo "$as_me: Found GNU make at $MAKE_CANDIDATE, however this is not version $MAKE_REQUIRED_VERSION or later. (it is: $MAKE_VERSION_STRING). Ignoring." >&6;}
else else
if test "x$OPENJDK_BUILD_OS" = "xwindows"; then if test "x$OPENJDK_BUILD_OS" = "xwindows"; then
if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
@ -16281,6 +16300,16 @@ done
MAKE_CANDIDATE=""$CHECK_MAKE"" MAKE_CANDIDATE=""$CHECK_MAKE""
DESCRIPTION="make in PATH" DESCRIPTION="make in PATH"
# On Cygwin, we require a newer version of make than on other platforms
if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
MAKE_VERSION_EXPR="-e 4\."
MAKE_REQUIRED_VERSION="4.0"
else
MAKE_VERSION_EXPR="-e 3\.8[12] -e 4\."
MAKE_REQUIRED_VERSION="3.81"
fi
if test "x$MAKE_CANDIDATE" != x; then if test "x$MAKE_CANDIDATE" != x; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: Testing potential make at $MAKE_CANDIDATE, found using $DESCRIPTION" >&5 { $as_echo "$as_me:${as_lineno-$LINENO}: Testing potential make at $MAKE_CANDIDATE, found using $DESCRIPTION" >&5
$as_echo "$as_me: Testing potential make at $MAKE_CANDIDATE, found using $DESCRIPTION" >&6;} $as_echo "$as_me: Testing potential make at $MAKE_CANDIDATE, found using $DESCRIPTION" >&6;}
@ -16290,10 +16319,10 @@ $as_echo "$as_me: Testing potential make at $MAKE_CANDIDATE, found using $DESCRI
{ $as_echo "$as_me:${as_lineno-$LINENO}: Found potential make at $MAKE_CANDIDATE, however, this is not GNU Make. Ignoring." >&5 { $as_echo "$as_me:${as_lineno-$LINENO}: Found potential make at $MAKE_CANDIDATE, however, this is not GNU Make. Ignoring." >&5
$as_echo "$as_me: Found potential make at $MAKE_CANDIDATE, however, this is not GNU Make. Ignoring." >&6;} $as_echo "$as_me: Found potential make at $MAKE_CANDIDATE, however, this is not GNU Make. Ignoring." >&6;}
else else
IS_MODERN_MAKE=`$ECHO $MAKE_VERSION_STRING | $GREP -e '3\.8[12]' -e '4\.'` IS_MODERN_MAKE=`$ECHO $MAKE_VERSION_STRING | $GREP $MAKE_VERSION_EXPR`
if test "x$IS_MODERN_MAKE" = x; then if test "x$IS_MODERN_MAKE" = x; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: Found GNU make at $MAKE_CANDIDATE, however this is not version 3.81 or later. (it is: $MAKE_VERSION_STRING). Ignoring." >&5 { $as_echo "$as_me:${as_lineno-$LINENO}: Found GNU make at $MAKE_CANDIDATE, however this is not version $MAKE_REQUIRED_VERSION or later. (it is: $MAKE_VERSION_STRING). Ignoring." >&5
$as_echo "$as_me: Found GNU make at $MAKE_CANDIDATE, however this is not version 3.81 or later. (it is: $MAKE_VERSION_STRING). Ignoring." >&6;} $as_echo "$as_me: Found GNU make at $MAKE_CANDIDATE, however this is not version $MAKE_REQUIRED_VERSION or later. (it is: $MAKE_VERSION_STRING). Ignoring." >&6;}
else else
if test "x$OPENJDK_BUILD_OS" = "xwindows"; then if test "x$OPENJDK_BUILD_OS" = "xwindows"; then
if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
@ -16660,6 +16689,16 @@ done
MAKE_CANDIDATE=""$CHECK_TOOLSDIR_GMAKE"" MAKE_CANDIDATE=""$CHECK_TOOLSDIR_GMAKE""
DESCRIPTION="gmake in tools-dir" DESCRIPTION="gmake in tools-dir"
# On Cygwin, we require a newer version of make than on other platforms
if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
MAKE_VERSION_EXPR="-e 4\."
MAKE_REQUIRED_VERSION="4.0"
else
MAKE_VERSION_EXPR="-e 3\.8[12] -e 4\."
MAKE_REQUIRED_VERSION="3.81"
fi
if test "x$MAKE_CANDIDATE" != x; then if test "x$MAKE_CANDIDATE" != x; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: Testing potential make at $MAKE_CANDIDATE, found using $DESCRIPTION" >&5 { $as_echo "$as_me:${as_lineno-$LINENO}: Testing potential make at $MAKE_CANDIDATE, found using $DESCRIPTION" >&5
$as_echo "$as_me: Testing potential make at $MAKE_CANDIDATE, found using $DESCRIPTION" >&6;} $as_echo "$as_me: Testing potential make at $MAKE_CANDIDATE, found using $DESCRIPTION" >&6;}
@ -16669,10 +16708,10 @@ $as_echo "$as_me: Testing potential make at $MAKE_CANDIDATE, found using $DESCRI
{ $as_echo "$as_me:${as_lineno-$LINENO}: Found potential make at $MAKE_CANDIDATE, however, this is not GNU Make. Ignoring." >&5 { $as_echo "$as_me:${as_lineno-$LINENO}: Found potential make at $MAKE_CANDIDATE, however, this is not GNU Make. Ignoring." >&5
$as_echo "$as_me: Found potential make at $MAKE_CANDIDATE, however, this is not GNU Make. Ignoring." >&6;} $as_echo "$as_me: Found potential make at $MAKE_CANDIDATE, however, this is not GNU Make. Ignoring." >&6;}
else else
IS_MODERN_MAKE=`$ECHO $MAKE_VERSION_STRING | $GREP -e '3\.8[12]' -e '4\.'` IS_MODERN_MAKE=`$ECHO $MAKE_VERSION_STRING | $GREP $MAKE_VERSION_EXPR`
if test "x$IS_MODERN_MAKE" = x; then if test "x$IS_MODERN_MAKE" = x; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: Found GNU make at $MAKE_CANDIDATE, however this is not version 3.81 or later. (it is: $MAKE_VERSION_STRING). Ignoring." >&5 { $as_echo "$as_me:${as_lineno-$LINENO}: Found GNU make at $MAKE_CANDIDATE, however this is not version $MAKE_REQUIRED_VERSION or later. (it is: $MAKE_VERSION_STRING). Ignoring." >&5
$as_echo "$as_me: Found GNU make at $MAKE_CANDIDATE, however this is not version 3.81 or later. (it is: $MAKE_VERSION_STRING). Ignoring." >&6;} $as_echo "$as_me: Found GNU make at $MAKE_CANDIDATE, however this is not version $MAKE_REQUIRED_VERSION or later. (it is: $MAKE_VERSION_STRING). Ignoring." >&6;}
else else
if test "x$OPENJDK_BUILD_OS" = "xwindows"; then if test "x$OPENJDK_BUILD_OS" = "xwindows"; then
if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
@ -17033,6 +17072,16 @@ done
MAKE_CANDIDATE=""$CHECK_TOOLSDIR_MAKE"" MAKE_CANDIDATE=""$CHECK_TOOLSDIR_MAKE""
DESCRIPTION="make in tools-dir" DESCRIPTION="make in tools-dir"
# On Cygwin, we require a newer version of make than on other platforms
if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
MAKE_VERSION_EXPR="-e 4\."
MAKE_REQUIRED_VERSION="4.0"
else
MAKE_VERSION_EXPR="-e 3\.8[12] -e 4\."
MAKE_REQUIRED_VERSION="3.81"
fi
if test "x$MAKE_CANDIDATE" != x; then if test "x$MAKE_CANDIDATE" != x; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: Testing potential make at $MAKE_CANDIDATE, found using $DESCRIPTION" >&5 { $as_echo "$as_me:${as_lineno-$LINENO}: Testing potential make at $MAKE_CANDIDATE, found using $DESCRIPTION" >&5
$as_echo "$as_me: Testing potential make at $MAKE_CANDIDATE, found using $DESCRIPTION" >&6;} $as_echo "$as_me: Testing potential make at $MAKE_CANDIDATE, found using $DESCRIPTION" >&6;}
@ -17042,10 +17091,10 @@ $as_echo "$as_me: Testing potential make at $MAKE_CANDIDATE, found using $DESCRI
{ $as_echo "$as_me:${as_lineno-$LINENO}: Found potential make at $MAKE_CANDIDATE, however, this is not GNU Make. Ignoring." >&5 { $as_echo "$as_me:${as_lineno-$LINENO}: Found potential make at $MAKE_CANDIDATE, however, this is not GNU Make. Ignoring." >&5
$as_echo "$as_me: Found potential make at $MAKE_CANDIDATE, however, this is not GNU Make. Ignoring." >&6;} $as_echo "$as_me: Found potential make at $MAKE_CANDIDATE, however, this is not GNU Make. Ignoring." >&6;}
else else
IS_MODERN_MAKE=`$ECHO $MAKE_VERSION_STRING | $GREP -e '3\.8[12]' -e '4\.'` IS_MODERN_MAKE=`$ECHO $MAKE_VERSION_STRING | $GREP $MAKE_VERSION_EXPR`
if test "x$IS_MODERN_MAKE" = x; then if test "x$IS_MODERN_MAKE" = x; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: Found GNU make at $MAKE_CANDIDATE, however this is not version 3.81 or later. (it is: $MAKE_VERSION_STRING). Ignoring." >&5 { $as_echo "$as_me:${as_lineno-$LINENO}: Found GNU make at $MAKE_CANDIDATE, however this is not version $MAKE_REQUIRED_VERSION or later. (it is: $MAKE_VERSION_STRING). Ignoring." >&5
$as_echo "$as_me: Found GNU make at $MAKE_CANDIDATE, however this is not version 3.81 or later. (it is: $MAKE_VERSION_STRING). Ignoring." >&6;} $as_echo "$as_me: Found GNU make at $MAKE_CANDIDATE, however this is not version $MAKE_REQUIRED_VERSION or later. (it is: $MAKE_VERSION_STRING). Ignoring." >&6;}
else else
if test "x$OPENJDK_BUILD_OS" = "xwindows"; then if test "x$OPENJDK_BUILD_OS" = "xwindows"; then
if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
@ -17363,14 +17412,14 @@ $as_echo "$as_me: Rewriting FOUND_MAKE to \"$new_complete\"" >&6;}
fi fi
if test "x$FOUND_MAKE" = x; then if test "x$FOUND_MAKE" = x; then
as_fn_error $? "Cannot find GNU make 3.81 or newer! Please put it in the path, or add e.g. MAKE=/opt/gmake3.81/make as argument to configure." "$LINENO" 5 as_fn_error $? "Cannot find GNU make $MAKE_REQUIRED_VERSION or newer! Please put it in the path, or add e.g. MAKE=/opt/gmake3.81/make as argument to configure." "$LINENO" 5
fi fi
fi fi
MAKE=$FOUND_MAKE MAKE=$FOUND_MAKE
{ $as_echo "$as_me:${as_lineno-$LINENO}: Using GNU make 3.81 (or later) at $FOUND_MAKE (version: $MAKE_VERSION_STRING)" >&5 { $as_echo "$as_me:${as_lineno-$LINENO}: Using GNU make at $FOUND_MAKE (version: $MAKE_VERSION_STRING)" >&5
$as_echo "$as_me: Using GNU make 3.81 (or later) at $FOUND_MAKE (version: $MAKE_VERSION_STRING)" >&6;} $as_echo "$as_me: Using GNU make at $FOUND_MAKE (version: $MAKE_VERSION_STRING)" >&6;}
# Check if make supports the output sync option and if so, setup using it. # Check if make supports the output sync option and if so, setup using it.
@ -40837,13 +40886,6 @@ $as_echo "$as_me: Rewriting BUILD_LD to \"$new_complete\"" >&6;}
fi fi
# LDEXE is the linker to use, when creating executables. Not really used.
# FIXME: These should just be removed!
LDEXE="$LD"
LDEXECXX="$LDCXX"

View File

@ -182,6 +182,7 @@ else
FULL_VERSION=$(RELEASE)-$(JDK_BUILD_NUMBER) FULL_VERSION=$(RELEASE)-$(JDK_BUILD_NUMBER)
endif endif
JRE_RELEASE_VERSION:=$(FULL_VERSION) JRE_RELEASE_VERSION:=$(FULL_VERSION)
JDK_VERSION_FOR_MANIFEST := $(JDK_MINOR_VERSION).$(JDK_MICRO_VERSION).$(if $(JDK_UPDATE_VERSION),$(JDK_UPDATE_VERSION),0).$(COOKED_BUILD_NUMBER)
# How to compile the code: release, fastdebug or slowdebug # How to compile the code: release, fastdebug or slowdebug
DEBUG_LEVEL:=@DEBUG_LEVEL@ DEBUG_LEVEL:=@DEBUG_LEVEL@
@ -354,10 +355,6 @@ USING_BROKEN_SUSE_LD:=@USING_BROKEN_SUSE_LD@
LDFLAGS_JDKLIB:=@LDFLAGS_JDKLIB@ LDFLAGS_JDKLIB:=@LDFLAGS_JDKLIB@
LDFLAGS_JDKLIB_SUFFIX:=@LDFLAGS_JDKLIB_SUFFIX@ LDFLAGS_JDKLIB_SUFFIX:=@LDFLAGS_JDKLIB_SUFFIX@
# On some platforms the linker cannot be used to create executables, thus
# the need for a separate LDEXE command.
LDEXE:=@FIXPATH@ @LDEXE@
# LDFLAGS used to link the jdk native launchers (C-code) # LDFLAGS used to link the jdk native launchers (C-code)
LDFLAGS_JDKEXE:=@LDFLAGS_JDKEXE@ LDFLAGS_JDKEXE:=@LDFLAGS_JDKEXE@
LDFLAGS_JDKEXE_SUFFIX:=@LDFLAGS_JDKEXE_SUFFIX@ LDFLAGS_JDKEXE_SUFFIX:=@LDFLAGS_JDKEXE_SUFFIX@
@ -370,9 +367,6 @@ LDCXX:=@FIXPATH@ @LDCXX@
# The flags for linking libstdc++ linker. # The flags for linking libstdc++ linker.
LIBCXX:=@LIBCXX@ LIBCXX:=@LIBCXX@
# Sometimes a different linker is needed for c++ executables
LDEXECXX:=@FIXPATH@ @LDEXECXX@
# Compiler and linker flags used when building native tests # Compiler and linker flags used when building native tests
CFLAGS_TESTLIB:=@CFLAGS_TESTLIB@ CFLAGS_TESTLIB:=@CFLAGS_TESTLIB@
CXXFLAGS_TESTLIB:=@CXXFLAGS_TESTLIB@ CXXFLAGS_TESTLIB:=@CXXFLAGS_TESTLIB@

View File

@ -662,13 +662,6 @@ AC_DEFUN_ONCE([TOOLCHAIN_SETUP_LEGACY],
USE_CLANG=true USE_CLANG=true
fi fi
AC_SUBST(USE_CLANG) AC_SUBST(USE_CLANG)
# LDEXE is the linker to use, when creating executables. Not really used.
# FIXME: These should just be removed!
LDEXE="$LD"
LDEXECXX="$LDCXX"
AC_SUBST(LDEXE)
AC_SUBST(LDEXECXX)
]) ])
# Do some additional checks on the detected tools. # Do some additional checks on the detected tools.

View File

@ -1294,6 +1294,9 @@ jdk/src/jdk.crypto.pkcs11/windows/native/libj2pkcs11/j2secmod_md.h : jdk/src/win
jdk/src/jdk.crypto.pkcs11/windows/native/libj2pkcs11/p11_md.c : jdk/src/windows/native/sun/security/pkcs11/wrapper/p11_md.c jdk/src/jdk.crypto.pkcs11/windows/native/libj2pkcs11/p11_md.c : jdk/src/windows/native/sun/security/pkcs11/wrapper/p11_md.c
jdk/src/jdk.crypto.pkcs11/windows/native/libj2pkcs11/p11_md.h : jdk/src/windows/native/sun/security/pkcs11/wrapper/p11_md.h jdk/src/jdk.crypto.pkcs11/windows/native/libj2pkcs11/p11_md.h : jdk/src/windows/native/sun/security/pkcs11/wrapper/p11_md.h
jdk/src/jdk.deploy.osx/macosx/classes/com/apple/concurrent/package.html : jdk/src/macosx/classes/com/apple/concurrent/package.html jdk/src/jdk.deploy.osx/macosx/classes/com/apple/concurrent/package.html : jdk/src/macosx/classes/com/apple/concurrent/package.html
jdk/src/jdk.deploy.osx/macosx/classes/apple/applescript : jdk/src/macosx/classes/apple/applescript
jdk/src/jdk.deploy.osx/macosx/classes/apple/security : jdk/src/macosx/classes/apple/security
jdk/src/jdk.deploy.osx/macosx/classes/com/apple/concurrent : jdk/src/macosx/classes/com/apple/concurrent
jdk/src/jdk.deploy.osx/macosx/native/libapplescriptengine : jdk/src/macosx/native/apple/applescript jdk/src/jdk.deploy.osx/macosx/native/libapplescriptengine : jdk/src/macosx/native/apple/applescript
jdk/src/jdk.deploy.osx/macosx/native/libosx/CFileManager.m : jdk/src/macosx/native/com/apple/eio/CFileManager.m jdk/src/jdk.deploy.osx/macosx/native/libosx/CFileManager.m : jdk/src/macosx/native/com/apple/eio/CFileManager.m
jdk/src/jdk.deploy.osx/macosx/native/libosx/Dispatch.m : jdk/src/macosx/native/com/apple/concurrent/Dispatch.m jdk/src/jdk.deploy.osx/macosx/native/libosx/Dispatch.m : jdk/src/macosx/native/com/apple/concurrent/Dispatch.m

View File

@ -462,3 +462,4 @@ fd2d5ec7e7b16c7bf4043a7fe7cfd8af96b819e2 jdk9-b56
56a85ffe743d3f9d70ba25d6ce82ddd2ad1bf33c jdk9-b57 56a85ffe743d3f9d70ba25d6ce82ddd2ad1bf33c jdk9-b57
ee878f3d6732856f7725c590312bfbe2ffa52cc7 jdk9-b58 ee878f3d6732856f7725c590312bfbe2ffa52cc7 jdk9-b58
96bcaec07cb165782bae1b9a1f28450b37a10e3a jdk9-b59 96bcaec07cb165782bae1b9a1f28450b37a10e3a jdk9-b59
9c916db4bf3bc164a47b5a9cefe5ffd71e111f6a jdk9-b60

View File

@ -39,6 +39,8 @@ class InterpreterMacroAssembler: public MacroAssembler {
protected: protected:
protected: protected:
using MacroAssembler::call_VM_leaf_base;
// Interpreter specific version of call_VM_base // Interpreter specific version of call_VM_base
virtual void call_VM_leaf_base(address entry_point, virtual void call_VM_leaf_base(address entry_point,
int number_of_arguments); int number_of_arguments);

View File

@ -60,7 +60,10 @@ class RegisterImpl: public AbstractRegisterImpl {
bool has_byte_register() const { return 0 <= (intptr_t)this && (intptr_t)this < number_of_byte_registers; } bool has_byte_register() const { return 0 <= (intptr_t)this && (intptr_t)this < number_of_byte_registers; }
const char* name() const; const char* name() const;
int encoding_nocheck() const { return (intptr_t)this; } int encoding_nocheck() const { return (intptr_t)this; }
unsigned long bit(bool yes = true) const { return yes << encoding(); }
// Return the bit which represents this register. This is intended
// to be ORed into a bitmask: for usage see class RegSet below.
unsigned long bit(bool should_set = true) const { return should_set ? 1 << encoding() : 0; }
}; };
// The integer registers of the aarch64 architecture // The integer registers of the aarch64 architecture

View File

@ -731,10 +731,12 @@ class FindMethodsByErasedSig : public HierarchyVisitor<FindMethodsByErasedSig> {
Method* m = iklass->find_method(_method_name, _method_signature); Method* m = iklass->find_method(_method_name, _method_signature);
// private interface methods are not candidates for default methods // private interface methods are not candidates for default methods
// invokespecial to private interface methods doesn't use default method logic // invokespecial to private interface methods doesn't use default method logic
// private class methods are not candidates for default methods,
// private methods do not override default methods, so need to perform
// default method inheritance without including private methods
// The overpasses are your supertypes' errors, we do not include them // The overpasses are your supertypes' errors, we do not include them
// future: take access controls into account for superclass methods // future: take access controls into account for superclass methods
if (m != NULL && !m->is_static() && !m->is_overpass() && if (m != NULL && !m->is_static() && !m->is_overpass() && !m->is_private()) {
(!iklass->is_interface() || m->is_public())) {
if (_family == NULL) { if (_family == NULL) {
_family = new StatefulMethodFamily(); _family = new StatefulMethodFamily();
} }
@ -745,6 +747,9 @@ class FindMethodsByErasedSig : public HierarchyVisitor<FindMethodsByErasedSig> {
} else { } else {
// This is the rule that methods in classes "win" (bad word) over // This is the rule that methods in classes "win" (bad word) over
// methods in interfaces. This works because of single inheritance // methods in interfaces. This works because of single inheritance
// private methods in classes do not "win", they will be found
// first on searching, but overriding for invokevirtual needs
// to find default method candidates for the same signature
_family->set_target_if_empty(m); _family->set_target_if_empty(m);
} }
} }

View File

@ -250,7 +250,7 @@ ReferenceProcessorStats ReferenceProcessor::process_discovered_references(
// Cleaner references to be temporary, and don't want to deal with // Cleaner references to be temporary, and don't want to deal with
// possible incompatibilities arising from making it more visible. // possible incompatibilities arising from making it more visible.
phantom_count += phantom_count +=
process_discovered_reflist(_discoveredCleanerRefs, NULL, false, process_discovered_reflist(_discoveredCleanerRefs, NULL, true,
is_alive, keep_alive, complete_gc, task_executor); is_alive, keep_alive, complete_gc, task_executor);
} }

View File

@ -404,13 +404,15 @@ bool klassVtable::update_inherited_vtable(InstanceKlass* klass, methodHandle tar
// get super_klass for method_holder for the found method // get super_klass for method_holder for the found method
InstanceKlass* super_klass = super_method->method_holder(); InstanceKlass* super_klass = super_method->method_holder();
if (is_default // private methods are also never overridden
if (!super_method->is_private() &&
(is_default
|| ((super_klass->is_override(super_method, target_loader, target_classname, THREAD)) || ((super_klass->is_override(super_method, target_loader, target_classname, THREAD))
|| ((klass->major_version() >= VTABLE_TRANSITIVE_OVERRIDE_VERSION) || ((klass->major_version() >= VTABLE_TRANSITIVE_OVERRIDE_VERSION)
&& ((super_klass = find_transitive_override(super_klass, && ((super_klass = find_transitive_override(super_klass,
target_method, i, target_loader, target_method, i, target_loader,
target_classname, THREAD)) target_classname, THREAD))
!= (InstanceKlass*)NULL)))) != (InstanceKlass*)NULL)))))
{ {
// Package private methods always need a new entry to root their own // Package private methods always need a new entry to root their own
// overriding. They may also override other methods. // overriding. They may also override other methods.
@ -692,9 +694,15 @@ bool klassVtable::is_miranda_entry_at(int i) {
// check if a method is a miranda method, given a class's methods table, // check if a method is a miranda method, given a class's methods table,
// its default_method table and its super // its default_method table and its super
// Miranda methods are calculated twice: // Miranda methods are calculated twice:
// first: before vtable size calculation: including abstract and default // first: before vtable size calculation: including abstract and superinterface default
// We include potential default methods to give them space in the vtable.
// During the first run, the default_methods list is empty
// This is seen by default method creation // This is seen by default method creation
// Second: recalculated during vtable initialization: only abstract // Second: recalculated during vtable initialization: only include abstract methods.
// During the second run, default_methods is set up, so concrete methods from
// superinterfaces with matching names/signatures to default_methods are already
// in the default_methods list and do not need to be appended to the vtable
// as mirandas
// This is seen by link resolution and selection. // This is seen by link resolution and selection.
// "miranda" means not static, not defined by this class. // "miranda" means not static, not defined by this class.
// private methods in interfaces do not belong in the miranda list. // private methods in interfaces do not belong in the miranda list.
@ -709,8 +717,9 @@ bool klassVtable::is_miranda(Method* m, Array<Method*>* class_methods,
} }
Symbol* name = m->name(); Symbol* name = m->name();
Symbol* signature = m->signature(); Symbol* signature = m->signature();
Method* mo;
if (InstanceKlass::find_instance_method(class_methods, name, signature) == NULL) { if ((mo = InstanceKlass::find_instance_method(class_methods, name, signature)) == NULL) {
// did not find it in the method table of the current class // did not find it in the method table of the current class
if ((default_methods == NULL) || if ((default_methods == NULL) ||
InstanceKlass::find_method(default_methods, name, signature) == NULL) { InstanceKlass::find_method(default_methods, name, signature) == NULL) {
@ -719,7 +728,7 @@ bool klassVtable::is_miranda(Method* m, Array<Method*>* class_methods,
return true; return true;
} }
Method* mo = InstanceKlass::cast(super)->lookup_method(name, signature); mo = InstanceKlass::cast(super)->lookup_method(name, signature);
while (mo != NULL && mo->access_flags().is_static() while (mo != NULL && mo->access_flags().is_static()
&& mo->method_holder() != NULL && mo->method_holder() != NULL
&& mo->method_holder()->super() != NULL) && mo->method_holder()->super() != NULL)
@ -731,6 +740,18 @@ bool klassVtable::is_miranda(Method* m, Array<Method*>* class_methods,
return true; return true;
} }
} }
} else {
// if the local class has a private method, the miranda will not
// override it, so a vtable slot is needed
if (mo->access_flags().is_private()) {
// Second round, weed out any superinterface methods that turned
// into default methods, i.e. were concrete not abstract in the end
if ((default_methods == NULL) ||
InstanceKlass::find_method(default_methods, name, signature) == NULL) {
return true;
}
}
} }
return false; return false;

View File

@ -2320,7 +2320,7 @@ bool Arguments::check_vm_args_consistency() {
"G1ConcMarkStepDurationMillis"); "G1ConcMarkStepDurationMillis");
status = status && verify_interval(G1ConcRSHotCardLimit, 0, max_jubyte, status = status && verify_interval(G1ConcRSHotCardLimit, 0, max_jubyte,
"G1ConcRSHotCardLimit"); "G1ConcRSHotCardLimit");
status = status && verify_interval(G1ConcRSLogCacheSize, 0, 31, status = status && verify_interval(G1ConcRSLogCacheSize, 0, 27,
"G1ConcRSLogCacheSize"); "G1ConcRSLogCacheSize");
status = status && verify_interval(StringDeduplicationAgeThreshold, 1, markOopDesc::max_age, status = status && verify_interval(StringDeduplicationAgeThreshold, 1, markOopDesc::max_age,
"StringDeduplicationAgeThreshold"); "StringDeduplicationAgeThreshold");

View File

@ -262,6 +262,26 @@ java.scripting_CLEAN := .properties
################################################################################ ################################################################################
java.instrument_ADD_JAVAC_FLAGS := -Xdoclint:all/protected '-Xdoclint/package:java.*,javax.*'
################################################################################
java.logging_ADD_JAVAC_FLAGS := -Xdoclint:all/protected,-reference '-Xdoclint/package:java.*,javax.*'
################################################################################
java.management_ADD_JAVAC_FLAGS := -Xdoclint:all/protected,-reference '-Xdoclint/package:java.*,javax.*'
################################################################################
java.prefs_ADD_JAVAC_FLAGS := -Xdoclint:all/protected '-Xdoclint/package:java.*,javax.*'
################################################################################
java.transaction_ADD_JAVAC_FLAGS := -Xdoclint:all/protected '-Xdoclint/package:java.*,javax.*'
################################################################################
java.sql_ADD_JAVAC_FLAGS := -Xdoclint:all/protected '-Xdoclint/package:java.*,javax.*' java.sql_ADD_JAVAC_FLAGS := -Xdoclint:all/protected '-Xdoclint/package:java.*,javax.*'
java.sql_SETUP := GENERATE_JDKBYTECODE_NOWARNINGS java.sql_SETUP := GENERATE_JDKBYTECODE_NOWARNINGS
@ -340,6 +360,14 @@ java.security.saaj_CLEAN := .properties
################################################################################ ################################################################################
java.security.jgss_ADD_JAVAC_FLAGS := -Xdoclint:all/protected '-Xdoclint/package:java.*,javax.*'
################################################################################
java.smartcardio_ADD_JAVAC_FLAGS := -Xdoclint:all/protected '-Xdoclint/package:java.*,javax.*'
################################################################################
java.xml.crypto_ADD_JAVAC_FLAGS := -Xdoclint:all/protected '-Xdoclint/package:java.*,javax.*' java.xml.crypto_ADD_JAVAC_FLAGS := -Xdoclint:all/protected '-Xdoclint/package:java.*,javax.*'
java.xml.crypto_COPY := .dtd .xml java.xml.crypto_COPY := .dtd .xml
java.xml.crypto_CLEAN := .properties java.xml.crypto_CLEAN := .properties

View File

@ -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. # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
# #
# This code is free software; you can redistribute it and/or modify it # This code is free software; you can redistribute it and/or modify it
@ -57,6 +57,10 @@ ifeq ($(OPENJDK_TARGET_OS), solaris)
PROVIDER_MODULES += jdk.crypto.ucrypto PROVIDER_MODULES += jdk.crypto.ucrypto
endif endif
ifeq ($(OPENJDK_TARGET_OS), windows)
MAIN_MODULES += jdk.accessibility
endif
ifeq ($(OPENJDK_TARGET_OS), macosx) ifeq ($(OPENJDK_TARGET_OS), macosx)
MAIN_MODULES += jdk.deploy.osx MAIN_MODULES += jdk.deploy.osx
endif endif

View File

@ -1,4 +1,4 @@
# Copyright (c) 1997, 2014, Oracle and/or its affiliates. All rights reserved. # Copyright (c) 1997, 2015, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
# #
# This code is free software; you can redistribute it and/or modify it # This code is free software; you can redistribute it and/or modify it
@ -81,6 +81,8 @@ NASHORNAPI_FIRST_COPYRIGHT_YEAR = 2014
JNLP_FIRST_COPYRIGHT_YEAR = 1998 JNLP_FIRST_COPYRIGHT_YEAR = 1998
PLUGIN2_FIRST_COPYRIGHT_YEAR = 2007 PLUGIN2_FIRST_COPYRIGHT_YEAR = 2007
JDKNET_FIRST_COPYRIGHT_YEAR = 2014 JDKNET_FIRST_COPYRIGHT_YEAR = 2014
JACCESSAPI_FIRST_COPYRIGHT_YEAR = 2002
# Oracle name # Oracle name
FULL_COMPANY_NAME = Oracle and/or its affiliates FULL_COMPANY_NAME = Oracle and/or its affiliates
@ -1231,6 +1233,58 @@ $(SCTPAPI_PACKAGES_FILE): $(call PackageDependencies,$(SCTPAPI_PKGS))
$(prep-target) $(prep-target)
$(call PackageFilter,$(SCTPAPI_PKGS)) $(call PackageFilter,$(SCTPAPI_PKGS))
#############################################################
#
# jaccessdocs - Java Accessibility Utilities
#
ALL_OTHER_TARGETS += jaccessdocs
JACCESSAPI_DOCDIR := $(JRE_API_DOCSDIR)/accessibility/jaccess/spec
JACCESSAPI2COREAPI := ../../../$(JDKJRE2COREAPI)
JACCESSAPI_DOCTITLE := JACCESS API
JACCESSAPI_WINDOWTITLE := JACCESS API
JACCESSAPI_HEADER := <strong>JACCESS API</strong>
JACCESSAPI_BOTTOM := $(call CommonBottom,$(JACCESSAPI_FIRST_COPYRIGHT_YEAR))
# JACCESSAPI_PKGS is located in NON_CORE_PKGS.gmk
JACCESSAPI_INDEX_HTML = $(JACCESSAPI_DOCDIR)/index.html
JACCESSAPI_OPTIONS_FILE = $(DOCSTMPDIR)/jaccess.options
JACCESSAPI_PACKAGES_FILE = $(DOCSTMPDIR)/jaccess.packages
jaccessdocs: $(JACCESSAPI_INDEX_HTML)
# Set relative location to core api document root
$(JACCESSAPI_INDEX_HTML): GET2DOCSDIR=$(JACCESSAPI2COREAPI)/..
# Run javadoc if the index file is out of date or missing
$(JACCESSAPI_INDEX_HTML): $(JACCESSAPI_OPTIONS_FILE) $(JACCESSAPI_PACKAGES_FILE) $(COREAPI_INDEX_FILE)
$(prep-javadoc)
$(call JavadocSummary,$(JACCESSAPI_OPTIONS_FILE),$(JACCESSAPI_PACKAGES_FILE))
$(JAVADOC_CMD) -d $(@D) \
@$(JACCESSAPI_OPTIONS_FILE) @$(JACCESSAPI_PACKAGES_FILE)
# Create file with javadoc options in it
$(JACCESSAPI_OPTIONS_FILE):
$(prep-target)
@($(call COMMON_JAVADOCFLAGS) ; \
$(call COMMON_JAVADOCTAGS) ; \
$(call OptionOnly,-Xdoclint:all) ; \
$(call OptionPair,-sourcepath,$(RELEASEDOCS_SOURCEPATH)) ; \
$(call OptionPair,-encoding,ascii) ; \
$(call OptionOnly,-nodeprecatedlist) ; \
$(call OptionPair,-doctitle,$(JACCESSAPI_DOCTITLE)) ; \
$(call OptionPair,-windowtitle,$(JACCESSAPI_WINDOWTITLE) $(DRAFT_WINTITLE)); \
$(call OptionPair,-header,$(JACCESSAPI_HEADER)$(DRAFT_HEADER)) ; \
$(call OptionPair,-bottom,$(JACCESSAPI_BOTTOM)$(DRAFT_BOTTOM)) ; \
$(call OptionTrip,-linkoffline,$(JACCESSAPI2COREAPI),$(COREAPI_DOCSDIR)/); \
) >> $@
# Create a file with the package names in it
$(JACCESSAPI_PACKAGES_FILE): $(call PackageDependencies,$(JACCESSAPI_PKGS))
$(prep-target)
$(call PackageFilter,$(JACCESSAPI_PKGS))
############################################################# #############################################################
# #
# jdk.net docs # jdk.net docs

View File

@ -392,6 +392,9 @@ else
# links against libosxapp. # links against libosxapp.
jdk.deploy.osx-libs: java.desktop-libs jdk.deploy.osx-libs: java.desktop-libs
# jdk.accessibility depends on java.desktop
jdk.accessibility-libs: java.desktop-libs
# This dependency needs to be explicitly declared. jdk.jdi-gensrc generates a # This dependency needs to be explicitly declared. jdk.jdi-gensrc generates a
# header file used by jdk.jdwp.agent-libs. The jdk.jdwp.agent-gensrc is a # header file used by jdk.jdwp.agent-libs. The jdk.jdwp.agent-gensrc is a
# virtual target. # virtual target.

View File

@ -36,6 +36,10 @@ ifeq ($(wildcard $(SPEC)),)
$(error MakeBase.gmk needs SPEC set to a proper spec.gmk) $(error MakeBase.gmk needs SPEC set to a proper spec.gmk)
endif endif
# By defining this pseudo target, make will automatically remove targets
# if their recipe fails so that a rebuild is automatically triggered on the
# next make invocation.
.DELETE_ON_ERROR:
############################## ##############################
# Functions # Functions
@ -483,6 +487,13 @@ MakeDir = \
$(strip $(if $(subst $(wildcard $1 $2 $3 $4 $5 $6 $7 $8 $9),,$(strip $1 $2 $3 $4 $5 $6 $7 $8 $9)),\ $(strip $(if $(subst $(wildcard $1 $2 $3 $4 $5 $6 $7 $8 $9),,$(strip $1 $2 $3 $4 $5 $6 $7 $8 $9)),\
$(shell $(MKDIR) -p $1 $2 $3 $4 $5 $6 $7 $8 $9))) $(shell $(MKDIR) -p $1 $2 $3 $4 $5 $6 $7 $8 $9)))
################################################################################
# Assign a variable only if it is empty
# Param 1 - Variable to assign
# Param 2 - Value to assign
SetIfEmpty = \
$(if $($(strip $1)),,$(eval $(strip $1) := $2))
################################################################################ ################################################################################
ifeq ($(OPENJDK_TARGET_OS),solaris) ifeq ($(OPENJDK_TARGET_OS),solaris)

View File

@ -1,5 +1,5 @@
# #
# Copyright (c) 2002, 2012, Oracle and/or its affiliates. All rights reserved. # Copyright (c) 2002, 2015, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
# #
# This code is free software; you can redistribute it and/or modify it # This code is free software; you can redistribute it and/or modify it
@ -99,6 +99,8 @@ JDK_PKGS = jdk \
jdk.net \ jdk.net \
jdk.management.cmm jdk.management.cmm
JACCESSAPI_PKGS = com.sun.java.accessibility.util
# non-core packages in rt.jar # non-core packages in rt.jar
NON_CORE_PKGS = $(DOMAPI_PKGS) \ NON_CORE_PKGS = $(DOMAPI_PKGS) \
$(MGMT_PKGS) \ $(MGMT_PKGS) \
@ -110,4 +112,5 @@ NON_CORE_PKGS = $(DOMAPI_PKGS) \
$(SMARTCARDIO_PKGS) \ $(SMARTCARDIO_PKGS) \
$(SCTPAPI_PKGS) \ $(SCTPAPI_PKGS) \
$(APPLE_EXT_PKGS) \ $(APPLE_EXT_PKGS) \
$(JDK_PKGS) $(JDK_PKGS) \
$(JACCESSAPI_PKGS)

View File

@ -34,6 +34,73 @@ ifeq (,$(_MAKEBASE_GMK))
$(error You must include MakeBase.gmk prior to including NativeCompilation.gmk) $(error You must include MakeBase.gmk prior to including NativeCompilation.gmk)
endif endif
################################################################################
# Define a native toolchain configuration that can be used by
# SetupNativeCompilation calls
#
# Parameter 1 is the name of the toolchain definition
#
# Remaining parameters are named arguments:
# EXTENDS - Optional parent definition to get defaults from
# CC - The C compiler
# CXX - The C++ compiler
# LD - The Linker
# AR - Static linker
# AS - Assembler
# MT - Windows MT tool
# RC - Windows RC tool
# SYSROOT_CFLAGS - Compiler flags for using the specific sysroot
# SYSROOT_LDFLAGS - Linker flags for using the specific sysroot
DefineNativeToolchain = $(NamedParamsMacroTemplate)
define DefineNativeToolchainBody
# If extending another definition, get default values from that,
# otherwise, nothing more needs to be done as variable assignments
# already happened in NamedParamsMacroTemplate.
ifneq ($$($1_EXTENDS), )
$$(call SetIfEmpty, $1_CC, $$($$($1_EXTENDS)_CC))
$$(call SetIfEmpty, $1_CXX, $$($$($1_EXTENDS)_CXX))
$$(call SetIfEmpty, $1_LD, $$($$($1_EXTENDS)_LD))
$$(call SetIfEmpty, $1_AR, $$($$($1_EXTENDS)_AR))
$$(call SetIfEmpty, $1_AS, $$($$($1_EXTENDS)_AS))
$$(call SetIfEmpty, $1_MT, $$($$($1_EXTENDS)_MT))
$$(call SetIfEmpty, $1_RC, $$($$($1_EXTENDS)_RC))
$$(call SetIfEmpty, $1_SYSROOT_CFLAGS, $$($$($1_EXTENDS)_SYSROOT_CFLAGS))
$$(call SetIfEmpty, $1_SYSROOT_LDFLAGS, $$($$($1_EXTENDS)_SYSROOT_LDFLAGS))
endif
endef
# Create a default toolchain with the main compiler and linker
$(eval $(call DefineNativeToolchain, TOOLCHAIN_DEFAULT, \
CC := $(CC), \
CXX := $(CXX), \
LD := $(LD), \
AR := $(AR), \
AS := $(AS), \
MT := $(MT), \
RC := $(RC), \
SYSROOT_CFLAGS := $(SYSROOT_CFLAGS), \
SYSROOT_LDFLAGS := $(SYSROOT_LDFLAGS), \
))
# Create a toolchain where linking is done with the C++ linker
$(eval $(call DefineNativeToolchain, TOOLCHAIN_LINK_CXX, \
EXTENDS := TOOLCHAIN_DEFAULT, \
LD := $(LDCXX), \
))
# Create a toolchain with the BUILD compiler, used for build tools that
# are to be run during the build.
# The BUILD_SYSROOT_*FLAGS variables are empty for now.
$(eval $(call DefineNativeToolchain, TOOLCHAIN_BUILD, \
EXTENDS := TOOLCHAIN_DEFAULT, \
CC := $(BUILD_CC), \
LD := $(BUILD_LD), \
SYSROOT_CFLAGS := $(BUILD_SYSROOT_CFLAGS), \
SYSROOT_LDFLAGS := $(BUILD_SYSROOT_LDFLAGS), \
))
################################################################################
# Extensions of files handled by this macro. # Extensions of files handled by this macro.
NATIVE_SOURCE_EXTENSIONS := %.s %.c %.cpp %.m %.mm NATIVE_SOURCE_EXTENSIONS := %.s %.c %.cpp %.m %.mm
@ -70,6 +137,7 @@ DEPENDENCY_TARGET_SED_PATTERN := \
-e 's/\#.*//' \ -e 's/\#.*//' \
-e 's/^[^:]*: *//' \ -e 's/^[^:]*: *//' \
-e 's/ *\\$$$$//' \ -e 's/ *\\$$$$//' \
-e 's/^[ ]*//' \
-e '/^$$$$/ d' \ -e '/^$$$$/ d' \
-e 's/$$$$/ :/' \ -e 's/$$$$/ :/' \
# #
@ -170,8 +238,8 @@ endef
# and the targets generated are listed in a variable by that name. # and the targets generated are listed in a variable by that name.
# #
# Remaining parameters are named arguments. These include: # Remaining parameters are named arguments. These include:
# TOOLCHAIN Name of toolchain setup to use. Defaults to TOOLCHAIN_DEFAULT.
# SRC one or more directory roots to scan for C/C++ files. # SRC one or more directory roots to scan for C/C++ files.
# LANG C or C++
# CFLAGS the compiler flags to be used, used both for C and C++. # CFLAGS the compiler flags to be used, used both for C and C++.
# CXXFLAGS the compiler flags to be used for c++, if set overrides CFLAGS. # CXXFLAGS the compiler flags to be used for c++, if set overrides CFLAGS.
# LDFLAGS the linker flags to be used, used both for C and C++. # LDFLAGS the linker flags to be used, used both for C and C++.
@ -192,7 +260,7 @@ endef
# REORDER reorder file # REORDER reorder file
# DEBUG_SYMBOLS add debug symbols (if configured on) # DEBUG_SYMBOLS add debug symbols (if configured on)
# CC the compiler to use, default is $(CC) # CC the compiler to use, default is $(CC)
# LDEXE the linker to use for linking executables, default is $(LDEXE) # LD the linker to use, default is $(LD)
# OPTIMIZATION sets optimization level to NONE, LOW, HIGH, HIGHEST # OPTIMIZATION sets optimization level to NONE, LOW, HIGH, HIGHEST
# DISABLED_WARNINGS_<toolchain> Disable the given warnings for the specified toolchain # DISABLED_WARNINGS_<toolchain> Disable the given warnings for the specified toolchain
SetupNativeCompilation = $(NamedParamsMacroTemplate) SetupNativeCompilation = $(NamedParamsMacroTemplate)
@ -288,39 +356,28 @@ define SetupNativeCompilationBody
$$(error Neither PROGRAM, LIBRARY nor STATIC_LIBRARY has been specified for SetupNativeCompilation) $$(error Neither PROGRAM, LIBRARY nor STATIC_LIBRARY has been specified for SetupNativeCompilation)
endif endif
ifeq (,$$($1_LANG)) # Setup the toolchain to be used
$$(error You have to specify LANG for native compilation $1) $$(call SetIfEmpty, $1_TOOLCHAIN, TOOLCHAIN_DEFAULT)
endif $$(call SetIfEmpty, $1_CC, $$($$($1_TOOLCHAIN)_CC))
ifeq (C,$$($1_LANG)) $$(call SetIfEmpty, $1_CXX, $$($$($1_TOOLCHAIN)_CXX))
ifeq ($$($1_LDEXE),) $$(call SetIfEmpty, $1_LD, $$($$($1_TOOLCHAIN)_LD))
$1_LDEXE:=$(LDEXE) $$(call SetIfEmpty, $1_AR, $$($$($1_TOOLCHAIN)_AR))
endif $$(call SetIfEmpty, $1_AS, $$($$($1_TOOLCHAIN)_AS))
ifeq ($$($1_LD),) $$(call SetIfEmpty, $1_MT, $$($$($1_TOOLCHAIN)_MT))
$1_LD:=$(LD) $$(call SetIfEmpty, $1_RC, $$($$($1_TOOLCHAIN)_RC))
endif $$(call SetIfEmpty, $1_SYSROOT_CFLAGS, $$($$($1_TOOLCHAIN)_SYSROOT_CFLAGS))
else $$(call SetIfEmpty, $1_SYSROOT_LDFLAGS, $$($$($1_TOOLCHAIN)_SYSROOT_LDFLAGS))
ifeq (C++,$$($1_LANG))
ifeq ($$($1_LD),)
$1_LD:=$(LDCXX)
endif
ifeq ($$($1_LDEXE),)
$1_LDEXE:=$(LDEXECXX)
endif
else
$$(error Unknown native language $$($1_LANG) for $1)
endif
endif
ifeq ($$($1_CC),) ifneq ($$($1_MANIFEST), )
$1_CC:=$(CC) ifeq ($$($1_MANIFEST_VERSION), )
endif $$(error If MANIFEST is provided, then MANIFEST_VERSION is required in $1)
ifeq ($$($1_CXX),) endif
$1_CXX:=$(CXX)
endif endif
# Make sure the dirs exist. # Make sure the dirs exist.
$$(call MakeDir,$$($1_OBJECT_DIR) $$($1_OUTPUT_DIR)) $$(call MakeDir,$$($1_OBJECT_DIR) $$($1_OUTPUT_DIR))
$$(foreach d,$$($1_SRC), $$(if $$(wildcard $$d),,$$(error SRC specified to SetupNativeCompilation $1 contains missing directory $$d))) $$(foreach d,$$($1_SRC), $$(if $$(wildcard $$d),, \
$$(error SRC specified to SetupNativeCompilation $1 contains missing directory $$d)))
# Find all files in the source trees. Sort to remove duplicates. # Find all files in the source trees. Sort to remove duplicates.
$1_ALL_SRCS := $$(sort $$(call CacheFind,$$($1_SRC))) $1_ALL_SRCS := $$(sort $$(call CacheFind,$$($1_SRC)))
@ -451,9 +508,9 @@ define SetupNativeCompilationBody
# Track variable changes for all variables that affect the compilation command # Track variable changes for all variables that affect the compilation command
# lines for all object files in this setup. This includes at least all the # lines for all object files in this setup. This includes at least all the
# variables used in the call to add_native_source below. # variables used in the call to add_native_source below.
$1_COMPILE_VARDEPS := $$($1_CFLAGS) $$($1_EXTRA_CFLAGS) $(SYSROOT_CFLAGS) \ $1_COMPILE_VARDEPS := $$($1_CFLAGS) $$($1_EXTRA_CFLAGS) $$($1_SYSROOT_CFLAGS) \
$$($1_CXXFLAGS) $$($1_EXTRA_CXXFLAGS) \ $$($1_CXXFLAGS) $$($1_EXTRA_CXXFLAGS) \
$$($1_CC) $$($1_CXX) $$($1_ASFLAGS) \ $$($1_CC) $$($1_CXX) $$($1_AS) $$($1_ASFLAGS) \
$$(foreach s, $$($1_SRCS), \ $$(foreach s, $$($1_SRCS), \
$$($1_$$(notdir $$s)_CFLAGS) $$($1_$$(notdir $$s)_CXXFLAGS)) $$($1_$$(notdir $$s)_CFLAGS) $$($1_$$(notdir $$s)_CXXFLAGS))
$1_COMPILE_VARDEPS_FILE := $$(call DependOnVariable, $1_COMPILE_VARDEPS, \ $1_COMPILE_VARDEPS_FILE := $$(call DependOnVariable, $1_COMPILE_VARDEPS, \
@ -462,9 +519,9 @@ define SetupNativeCompilationBody
# Now call add_native_source for each source file we are going to compile. # Now call add_native_source for each source file we are going to compile.
$$(foreach p,$$($1_SRCS), \ $$(foreach p,$$($1_SRCS), \
$$(eval $$(call add_native_source,$1,$$p,$$($1_OBJECT_DIR), \ $$(eval $$(call add_native_source,$1,$$p,$$($1_OBJECT_DIR), \
$$($1_CFLAGS) $$($1_EXTRA_CFLAGS) $(SYSROOT_CFLAGS), \ $$($1_CFLAGS) $$($1_EXTRA_CFLAGS) $$($1_SYSROOT_CFLAGS), \
$$($1_CC), \ $$($1_CC), \
$$($1_CXXFLAGS) $$($1_EXTRA_CXXFLAGS) $(SYSROOT_CFLAGS), \ $$($1_CXXFLAGS) $$($1_EXTRA_CXXFLAGS) $$($1_SYSROOT_CFLAGS), \
$$($1_CXX), $$($1_ASFLAGS)))) $$($1_CXX), $$($1_ASFLAGS))))
# Setup rule for printing progress info when compiling source files. # Setup rule for printing progress info when compiling source files.
@ -489,29 +546,21 @@ define SetupNativeCompilationBody
-include $$($1_RES_DEP) -include $$($1_RES_DEP)
-include $$($1_RES_DEP_TARGETS) -include $$($1_RES_DEP_TARGETS)
$1_RES_VARDEPS := $(RC) $$($1_RC_FLAGS) $1_RES_VARDEPS := $$($1_RC) $$($1_RC_FLAGS)
$1_RES_VARDEPS_FILE := $$(call DependOnVariable, $1_RES_VARDEPS, \ $1_RES_VARDEPS_FILE := $$(call DependOnVariable, $1_RES_VARDEPS, \
$$($1_RES).vardeps) $$($1_RES).vardeps)
$$($1_RES): $$($1_VERSIONINFO_RESOURCE) $$($1_RES_VARDEPS_FILE) $$($1_RES): $$($1_VERSIONINFO_RESOURCE) $$($1_RES_VARDEPS_FILE)
$(ECHO) $(LOG_INFO) "Compiling resource $$(notdir $$($1_VERSIONINFO_RESOURCE)) (for $$(notdir $$($1_TARGET)))" $(ECHO) $(LOG_INFO) "Compiling resource $$(notdir $$($1_VERSIONINFO_RESOURCE)) (for $$(notdir $$($1_TARGET)))"
$(RC) $$($1_RC_FLAGS) $(SYSROOT_CFLAGS) $(CC_OUT_OPTION)$$@ \ $$($1_RC) $$($1_RC_FLAGS) $$($1_SYSROOT_CFLAGS) $(CC_OUT_OPTION)$$@ \
$$($1_VERSIONINFO_RESOURCE) $$($1_VERSIONINFO_RESOURCE)
# Windows RC compiler does not support -showIncludes, so we mis-use CL for this. # Windows RC compiler does not support -showIncludes, so we mis-use CL for this.
$(CC) $$($1_RC_FLAGS) $(SYSROOT_CFLAGS) -showIncludes -nologo -TC \ $$($1_CC) $$($1_RC_FLAGS) $$($1_SYSROOT_CFLAGS) -showIncludes -nologo -TC \
$(CC_OUT_OPTION)$$($1_RES_DEP).obj $$($1_VERSIONINFO_RESOURCE) > $$($1_RES_DEP).raw 2>&1 || exit 0 $(CC_OUT_OPTION)$$($1_RES_DEP).obj $$($1_VERSIONINFO_RESOURCE) > $$($1_RES_DEP).raw 2>&1 || exit 0
($(ECHO) $$($1_RES): \\ \ ($(ECHO) $$($1_RES): \\ \
&& $(SED) $(WINDOWS_SHOWINCLUDE_SED_PATTERN) $$($1_RES_DEP).raw) > $$($1_RES_DEP) && $(SED) $(WINDOWS_SHOWINCLUDE_SED_PATTERN) $$($1_RES_DEP).raw) > $$($1_RES_DEP)
$(SED) $(DEPENDENCY_TARGET_SED_PATTERN) $$($1_RES_DEP) > $$($1_RES_DEP_TARGETS) $(SED) $(DEPENDENCY_TARGET_SED_PATTERN) $$($1_RES_DEP) > $$($1_RES_DEP_TARGETS)
endif endif
ifneq (,$$($1_MANIFEST))
$1_GEN_MANIFEST:=$$($1_OBJECT_DIR)/$$($1_PROGRAM).manifest
IMVERSIONVALUE:=$(JDK_MINOR_VERSION).$(JDK_MICRO_VERSION).$(JDK_UPDATE_VERSION).$(COOKED_BUILD_NUMBER)
$1_MANIFEST_VARDEPS_FILE := $$(call DependOnVariable, IMVERSIONVALUE, \
$$($1_GEN_MANIFEST).vardeps)
$$($1_GEN_MANIFEST): $$($1_MANIFEST) $$($1_MANIFEST_VARDEPS_FILE)
$(SED) 's%IMVERSION%$$(IMVERSIONVALUE)%g;s%PROGRAM%$$($1_PROGRAM)%g' $$< > $$@
endif
endif endif
# mapfile doesnt seem to be implemented on macosx (yet??) # mapfile doesnt seem to be implemented on macosx (yet??)
@ -622,15 +671,15 @@ define SetupNativeCompilationBody
$1_EXTRA_LDFLAGS_SUFFIX += $(GLOBAL_LDFLAGS_SUFFIX) $1_EXTRA_LDFLAGS_SUFFIX += $(GLOBAL_LDFLAGS_SUFFIX)
$1_VARDEPS := $$($1_LD) $(SYSROOT_LDFLAGS) $$($1_LDFLAGS) $$($1_EXTRA_LDFLAGS) \ $1_VARDEPS := $$($1_LD) $$($1_SYSROOT_LDFLAGS) $$($1_LDFLAGS) $$($1_EXTRA_LDFLAGS) \
$$($1_LDFLAGS_SUFFIX) $$($1_EXTRA_LDFLAGS_SUFFIX) $$($1_LDFLAGS_SUFFIX) $$($1_EXTRA_LDFLAGS_SUFFIX) $$($1_CREATE_DEBUGINFO_CMDS)
$1_VARDEPS_FILE := $$(call DependOnVariable, $1_VARDEPS, \ $1_VARDEPS_FILE := $$(call DependOnVariable, $1_VARDEPS, \
$$($1_OBJECT_DIR)/$$($1_NOSUFFIX).vardeps) $$($1_OBJECT_DIR)/$$($1_NOSUFFIX).vardeps)
$$($1_TARGET): $$($1_EXPECTED_OBJS) $$($1_RES) $$($1_REAL_MAPFILE) \ $$($1_TARGET): $$($1_EXPECTED_OBJS) $$($1_RES) $$($1_REAL_MAPFILE) \
$$($1_DEBUGINFO_EXTRA_DEPS) $$($1_VARDEPS_FILE) $$($1_DEBUGINFO_EXTRA_DEPS) $$($1_VARDEPS_FILE)
$(ECHO) $(LOG_INFO) "Linking $$($1_BASENAME)" $(ECHO) $(LOG_INFO) "Linking $$($1_BASENAME)"
$$($1_LD) $$($1_LDFLAGS) $$($1_EXTRA_LDFLAGS) $(SYSROOT_LDFLAGS) \ $$($1_LD) $$($1_LDFLAGS) $$($1_EXTRA_LDFLAGS) $$($1_SYSROOT_LDFLAGS) \
$(LD_OUT_OPTION)$$@ \ $(LD_OUT_OPTION)$$@ \
$$($1_EXPECTED_OBJS) $$($1_RES) \ $$($1_EXPECTED_OBJS) $$($1_RES) \
$$($1_LDFLAGS_SUFFIX) $$($1_EXTRA_LDFLAGS_SUFFIX) $$($1_LDFLAGS_SUFFIX) $$($1_EXTRA_LDFLAGS_SUFFIX)
@ -644,14 +693,15 @@ define SetupNativeCompilationBody
endif endif
ifneq (,$$($1_STATIC_LIBRARY)) ifneq (,$$($1_STATIC_LIBRARY))
$1_VARDEPS := $(AR) $$($1_ARFLAGS) $$($1_LDFLAGS_SUFFIX) $$($1_EXTRA_LDFLAGS_SUFFIX) $1_VARDEPS := $$($1_AR) $$($1_ARFLAGS) $$($1_LDFLAGS_SUFFIX) \
$$($1_EXTRA_LDFLAGS_SUFFIX)
$1_VARDEPS_FILE := $$(call DependOnVariable, $1_VARDEPS, \ $1_VARDEPS_FILE := $$(call DependOnVariable, $1_VARDEPS, \
$$($1_OBJECT_DIR)/$$($1_NOSUFFIX).vardeps) $$($1_OBJECT_DIR)/$$($1_NOSUFFIX).vardeps)
# Generating a static library, ie object file archive. # Generating a static library, ie object file archive.
$$($1_TARGET): $$($1_EXPECTED_OBJS) $$($1_RES) $$($1_VARDEPS_FILE) $$($1_TARGET): $$($1_EXPECTED_OBJS) $$($1_RES) $$($1_VARDEPS_FILE)
$(ECHO) $(LOG_INFO) "Archiving $$($1_STATIC_LIBRARY)" $(ECHO) $(LOG_INFO) "Archiving $$($1_STATIC_LIBRARY)"
$(AR) $$($1_ARFLAGS) $(AR_OUT_OPTION)$$($1_TARGET) $$($1_EXPECTED_OBJS) \ $$($1_AR) $$($1_ARFLAGS) $(AR_OUT_OPTION)$$($1_TARGET) $$($1_EXPECTED_OBJS) \
$$($1_RES) $$($1_LDFLAGS_SUFFIX) $$($1_EXTRA_LDFLAGS_SUFFIX) $$($1_RES) $$($1_LDFLAGS_SUFFIX) $$($1_EXTRA_LDFLAGS_SUFFIX)
endif endif
@ -659,20 +709,23 @@ define SetupNativeCompilationBody
# A executable binary has been specified, setup the target for it. # A executable binary has been specified, setup the target for it.
$1_EXTRA_LDFLAGS_SUFFIX += $(GLOBAL_LDFLAGS_SUFFIX) $1_EXTRA_LDFLAGS_SUFFIX += $(GLOBAL_LDFLAGS_SUFFIX)
$1_VARDEPS := $$($1_LDEXE) $(SYSROOT_LDFLAGS) $$($1_LDFLAGS) $$($1_EXTRA_LDFLAGS) \ $1_VARDEPS := $$($1_LD) $$($1_SYSROOT_LDFLAGS) $$($1_LDFLAGS) $$($1_EXTRA_LDFLAGS) \
$$($1_LDFLAGS_SUFFIX) $$($1_EXTRA_LDFLAGS_SUFFIX) $$($1_LDFLAGS_SUFFIX) $$($1_EXTRA_LDFLAGS_SUFFIX) $$($1_MT) \
$$($1_CODESIGN) $$($1_CREATE_DEBUGINFO_CMDS) $$($1_MANIFEST_VERSION)
$1_VARDEPS_FILE := $$(call DependOnVariable, $1_VARDEPS, \ $1_VARDEPS_FILE := $$(call DependOnVariable, $1_VARDEPS, \
$$($1_OBJECT_DIR)/$$($1_NOSUFFIX).vardeps) $$($1_OBJECT_DIR)/$$($1_NOSUFFIX).vardeps)
$$($1_TARGET): $$($1_EXPECTED_OBJS) $$($1_RES) $$($1_GEN_MANIFEST) \ $$($1_TARGET): $$($1_EXPECTED_OBJS) $$($1_RES) $$($1_MANIFEST) \
$$($1_DEBUGINFO_EXTRA_DEPS) $$($1_VARDEPS_FILE) $$($1_DEBUGINFO_EXTRA_DEPS) $$($1_VARDEPS_FILE)
$(ECHO) $(LOG_INFO) "Linking executable $$($1_BASENAME)" $(ECHO) $(LOG_INFO) "Linking executable $$($1_BASENAME)"
$$($1_LDEXE) $$($1_LDFLAGS) $$($1_EXTRA_LDFLAGS) $(SYSROOT_LDFLAGS) \ $$($1_LD) $$($1_LDFLAGS) $$($1_EXTRA_LDFLAGS) $$($1_SYSROOT_LDFLAGS) \
$(EXE_OUT_OPTION)$$($1_TARGET) \ $(EXE_OUT_OPTION)$$($1_TARGET) \
$$($1_EXPECTED_OBJS) $$($1_RES) \ $$($1_EXPECTED_OBJS) $$($1_RES) \
$$($1_LDFLAGS_SUFFIX) $$($1_EXTRA_LDFLAGS_SUFFIX) $$($1_LDFLAGS_SUFFIX) $$($1_EXTRA_LDFLAGS_SUFFIX)
ifneq (,$$($1_GEN_MANIFEST)) ifeq ($(OPENJDK_TARGET_OS), windows)
$(MT) -nologo -manifest $$($1_GEN_MANIFEST) -outputresource:$$@;#1 ifneq ($$($1_MANIFEST), )
$$($1_MT) -nologo -manifest $$($1_MANIFEST) -identity:"$$($1_PROGRAM).exe, version=$$($1_MANIFEST_VERSION)" -outputresource:$$@;#1
endif
endif endif
# This only works if the openjdk_codesign identity is present on the system. Let # This only works if the openjdk_codesign identity is present on the system. Let
# silently fail otherwise. # silently fail otherwise.

View File

@ -2,7 +2,7 @@
<!-- <!--
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. DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
This code is free software; you can redistribute it and/or modify it This code is free software; you can redistribute it and/or modify it
@ -248,18 +248,24 @@
<to>java.logging</to> <to>java.logging</to>
<to>java.management</to> <to>java.management</to>
<to>java.naming</to> <to>java.naming</to>
<to>java.prefs</to>
<to>java.rmi</to> <to>java.rmi</to>
<to>java.security.jgss</to> <to>java.security.jgss</to>
<to>java.security.sasl</to> <to>java.security.sasl</to>
<to>java.sql</to> <to>java.sql</to>
<to>java.xml</to>
<to>java.xml.ws</to>
<to>jdk.charsets</to> <to>jdk.charsets</to>
<to>jdk.crypto.pkcs11</to>
<to>jdk.deploy.osx</to> <to>jdk.deploy.osx</to>
<to>jdk.httpserver</to>
<to>jdk.jartool</to> <to>jdk.jartool</to>
<to>jdk.jconsole</to> <to>jdk.jconsole</to>
<to>jdk.jvmstat</to> <to>jdk.jvmstat</to>
<to>jdk.pack200</to> <to>jdk.pack200</to>
<to>jdk.security.auth</to> <to>jdk.security.auth</to>
<to>jdk.security.jgss</to> <to>jdk.security.jgss</to>
<to>jdk.snmp</to>
</export> </export>
<export> <export>
<name>sun.net.dns</name> <name>sun.net.dns</name>
@ -751,7 +757,7 @@
</export> </export>
<export> <export>
<name>sun.awt</name> <name>sun.awt</name>
<to>jdk.accessbridge</to> <to>jdk.accessibility</to>
</export> </export>
</module> </module>
<module> <module>
@ -1837,6 +1843,23 @@
<to>jdk.xml.ws</to> <to>jdk.xml.ws</to>
</export> </export>
</module> </module>
<module>
<name>jdk.xml.dom</name>
<depend>java.base</depend>
<depend re-exports="true">java.xml</depend>
<export>
<name>org.w3c.dom.css</name>
</export>
<export>
<name>org.w3c.dom.html</name>
</export>
<export>
<name>org.w3c.dom.stylesheets</name>
</export>
<export>
<name>org.w3c.dom.xpath</name>
</export>
</module>
<module> <module>
<name>jdk.xml.ws</name> <name>jdk.xml.ws</name>
<depend>java.base</depend> <depend>java.base</depend>
@ -1852,4 +1875,9 @@
<name>jdk.zipfs</name> <name>jdk.zipfs</name>
<depend>java.base</depend> <depend>java.base</depend>
</module> </module>
<module>
<name>jdk.accessibility</name>
<depend>java.base</depend>
<depend>java.desktop</depend>
</module>
</modules> </modules>