Mercurial > hg > jdk9-shenandoah
changeset 1333:b3d5aeadac2d
Merge
author | ddehaven |
---|---|
date | Mon, 09 Feb 2015 09:52:45 -0800 |
parents | f3c96aea372d (current diff) de6bd77b936e (diff) |
children | 398d207005fa 381c5a34a4af |
files | common/autoconf/basics.m4 common/autoconf/generated-configure.sh common/autoconf/spec.gmk.in common/autoconf/toolchain_windows.m4 make/common/NativeCompilation.gmk modules.xml |
diffstat | 10 files changed, 375 insertions(+), 40 deletions(-) [+] |
line wrap: on
line diff
--- a/.hgtags Thu Feb 05 14:55:30 2015 +0100 +++ b/.hgtags Mon Feb 09 09:52:45 2015 -0800 @@ -290,3 +290,5 @@ 3dd628fde2086218d548841022ee8436b6b88185 jdk9-b45 12f1e276447bcc81516e85367d53e4f08897049d jdk9-b46 b6cca3e6175a69f39e5799b7349ddb0176630291 jdk9-b47 +0064e246d83f6f9fc245c19b6d05041ecaf4b6d4 jdk9-b48 +d91ed1951b948210590ce1394bea5515357246ba jdk9-b49
--- a/common/autoconf/basics.m4 Thu Feb 05 14:55:30 2015 +0100 +++ b/common/autoconf/basics.m4 Mon Feb 09 09:52:45 2015 -0800 @@ -242,6 +242,9 @@ [ # Save the original command line. This is passed to us by the wrapper configure script. AC_SUBST(CONFIGURE_COMMAND_LINE) + # Save the path variable before it gets changed + ORIGINAL_PATH="$PATH" + AC_SUBST(ORIGINAL_PATH) DATE_WHEN_CONFIGURED=`LANG=C date` AC_SUBST(DATE_WHEN_CONFIGURED) AC_MSG_NOTICE([Configuration created at $DATE_WHEN_CONFIGURED.])
--- a/common/autoconf/generated-configure.sh Thu Feb 05 14:55:30 2015 +0100 +++ b/common/autoconf/generated-configure.sh Mon Feb 09 09:52:45 2015 -0800 @@ -992,6 +992,7 @@ BASH BASENAME DATE_WHEN_CONFIGURED +ORIGINAL_PATH CONFIGURE_COMMAND_LINE target_alias host_alias @@ -4391,7 +4392,7 @@ #CUSTOM_AUTOCONF_INCLUDE # Do not change or remove the following line, it is needed for consistency checks: -DATE_WHEN_GENERATED=1423144508 +DATE_WHEN_GENERATED=1423504354 ############################################################################### # @@ -4424,6 +4425,9 @@ # Save the original command line. This is passed to us by the wrapper configure script. + # Save the path variable before it gets changed + ORIGINAL_PATH="$PATH" + DATE_WHEN_CONFIGURED=`LANG=C date` { $as_echo "$as_me:${as_lineno-$LINENO}: Configuration created at $DATE_WHEN_CONFIGURED." >&5 @@ -27524,9 +27528,9 @@ else { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5 $as_echo "ok" >&6; } - # Remove any trailing "\" and " " from the variables. - VS_INCLUDE=`$ECHO "$VS_INCLUDE" | $SED 's/\\\\* *$//'` - VS_LIB=`$ECHO "$VS_LIB" | $SED 's/\\\\* *$//'` + # Remove any trailing "\" ";" and " " from the variables. + VS_INCLUDE=`$ECHO "$VS_INCLUDE" | $SED -e 's/\\\\*;* *$//'` + VS_LIB=`$ECHO "$VS_LIB" | $SED 's/\\\\*;* *$//'` VCINSTALLDIR=`$ECHO "$VCINSTALLDIR" | $SED 's/\\\\* *$//'` WindowsSDKDir=`$ECHO "$WindowsSDKDir" | $SED 's/\\\\* *$//'` WINDOWSSDKDIR=`$ECHO "$WINDOWSSDKDIR" | $SED 's/\\\\* *$//'` @@ -27537,6 +27541,268 @@ + + # Convert VS_INCLUDE into SYSROOT_CFLAGS + OLDIFS="$IFS" + IFS=";" + for i in $VS_INCLUDE; do + ipath=$i + IFS="$OLDIFS" + + if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then + + # Input might be given as Windows format, start by converting to + # unix format. + path="$ipath" + new_path=`$CYGPATH -u "$path"` + + # 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 precense. + # 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 + { $as_echo "$as_me:${as_lineno-$LINENO}: The path of ipath, which resolves as \"$path\", is invalid." >&5 +$as_echo "$as_me: The path of ipath, which resolves as \"$path\", is invalid." >&6;} + as_fn_error $? "Cannot locate the the path of ipath" "$LINENO" 5 + fi + + # Call helper function which possibly converts this using DOS-style short mode. + # If so, the updated path is stored in $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 \) + 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-stile (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 $new_path | $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 + + + if test "x$path" != "x$new_path"; then + ipath="$new_path" + { $as_echo "$as_me:${as_lineno-$LINENO}: Rewriting ipath to \"$new_path\"" >&5 +$as_echo "$as_me: Rewriting ipath to \"$new_path\"" >&6;} + fi + + elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then + + path="$ipath" + has_colon=`$ECHO $path | $GREP ^.:` + new_path="$path" + if test "x$has_colon" = x; then + # Not in mixed or Windows style, start by that. + new_path=`cmd //c echo $path` + fi + + + 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 + + + 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 + + if test "x$path" != "x$new_path"; then + ipath="$new_path" + { $as_echo "$as_me:${as_lineno-$LINENO}: Rewriting ipath to \"$new_path\"" >&5 +$as_echo "$as_me: Rewriting ipath to \"$new_path\"" >&6;} + fi + + # 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}") + + else + # We're on a unix platform. Hooray! :) + path="$ipath" + has_space=`$ECHO "$path" | $GREP " "` + if test "x$has_space" != x; then + { $as_echo "$as_me:${as_lineno-$LINENO}: The path of ipath, which resolves as \"$path\", is invalid." >&5 +$as_echo "$as_me: The path of ipath, which resolves as \"$path\", is invalid." >&6;} + as_fn_error $? "Spaces are not allowed in this path." "$LINENO" 5 + fi + + # Use eval to expand a potential ~ + eval path="$path" + if test ! -f "$path" && test ! -d "$path"; then + as_fn_error $? "The path of ipath, which resolves as \"$path\", is not found." "$LINENO" 5 + fi + + ipath="`cd "$path"; $THEPWDCMD -L`" + fi + + IFS=";" + SYSROOT_CFLAGS="$SYSROOT_CFLAGS -I$ipath" + done + # Convert VS_LIB into SYSROOT_LDFLAGS + for i in $VS_LIB; do + libpath=$i + IFS="$OLDIFS" + + if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then + + # Input might be given as Windows format, start by converting to + # unix format. + path="$libpath" + new_path=`$CYGPATH -u "$path"` + + # 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 precense. + # 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 + { $as_echo "$as_me:${as_lineno-$LINENO}: The path of libpath, which resolves as \"$path\", is invalid." >&5 +$as_echo "$as_me: The path of libpath, which resolves as \"$path\", is invalid." >&6;} + as_fn_error $? "Cannot locate the the path of libpath" "$LINENO" 5 + fi + + # Call helper function which possibly converts this using DOS-style short mode. + # If so, the updated path is stored in $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 \) + 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-stile (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 $new_path | $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 + + + if test "x$path" != "x$new_path"; then + libpath="$new_path" + { $as_echo "$as_me:${as_lineno-$LINENO}: Rewriting libpath to \"$new_path\"" >&5 +$as_echo "$as_me: Rewriting libpath to \"$new_path\"" >&6;} + fi + + elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then + + path="$libpath" + has_colon=`$ECHO $path | $GREP ^.:` + new_path="$path" + if test "x$has_colon" = x; then + # Not in mixed or Windows style, start by that. + new_path=`cmd //c echo $path` + fi + + + 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 + + + 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 + + if test "x$path" != "x$new_path"; then + libpath="$new_path" + { $as_echo "$as_me:${as_lineno-$LINENO}: Rewriting libpath to \"$new_path\"" >&5 +$as_echo "$as_me: Rewriting libpath to \"$new_path\"" >&6;} + fi + + # 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}") + + else + # We're on a unix platform. Hooray! :) + path="$libpath" + has_space=`$ECHO "$path" | $GREP " "` + if test "x$has_space" != x; then + { $as_echo "$as_me:${as_lineno-$LINENO}: The path of libpath, which resolves as \"$path\", is invalid." >&5 +$as_echo "$as_me: The path of libpath, which resolves as \"$path\", is invalid." >&6;} + as_fn_error $? "Spaces are not allowed in this path." "$LINENO" 5 + fi + + # Use eval to expand a potential ~ + eval path="$path" + if test ! -f "$path" && test ! -d "$path"; then + as_fn_error $? "The path of libpath, which resolves as \"$path\", is not found." "$LINENO" 5 + fi + + libpath="`cd "$path"; $THEPWDCMD -L`" + fi + + IFS=";" + SYSROOT_LDFLAGS="$SYSROOT_LDFLAGS -libpath:$libpath" + done + IFS="$OLDIFS" fi else { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found" >&5
--- a/common/autoconf/hotspot-spec.gmk.in Thu Feb 05 14:55:30 2015 +0100 +++ b/common/autoconf/hotspot-spec.gmk.in Mon Feb 09 09:52:45 2015 -0800 @@ -132,6 +132,13 @@ ZIP_DEBUGINFO_FILES:=0 endif +ifeq ($(OPENJDK_TARGET_OS), windows) + # On Windows, the Visual Studio toolchain needs the LIB and INCLUDE + # environment variables (in Windows path style). + export INCLUDE:=@VS_INCLUDE@ + export LIB:=@VS_LIB@ +endif + # Sneak this in via the spec.gmk file, since we don't want to mess around too much with the Hotspot make files. # This is needed to get the LOG setting to work properly. include $(SRC_ROOT)/make/common/MakeBase.gmk
--- a/common/autoconf/spec.gmk.in Thu Feb 05 14:55:30 2015 +0100 +++ b/common/autoconf/spec.gmk.in Mon Feb 09 09:52:45 2015 -0800 @@ -129,14 +129,12 @@ # colon or semicolon PATH_SEP:=@PATH_SEP@ +# Save the original path before replacing it with the Visual Studio tools +ORIGINAL_PATH:=@ORIGINAL_PATH@ ifeq ($(OPENJDK_TARGET_OS), windows) - # On Windows, the Visual Studio toolchain needs the LIB and INCLUDE - # environment variables (in Windows path style), and the PATH needs to - # be adjusted to include Visual Studio tools (but this needs to be in - # cygwin/msys style). + # On Windows, the Visual Studio toolchain needs the PATH to be adjusted + # to include Visual Studio tools (this needs to be in cygwin/msys style). export PATH:=@VS_PATH@ - export INCLUDE:=@VS_INCLUDE@ - export LIB:=@VS_LIB@ endif SYSROOT_CFLAGS := @SYSROOT_CFLAGS@
--- a/common/autoconf/toolchain_windows.m4 Thu Feb 05 14:55:30 2015 +0100 +++ b/common/autoconf/toolchain_windows.m4 Mon Feb 09 09:52:45 2015 -0800 @@ -332,9 +332,9 @@ AC_MSG_ERROR([Your VC command prompt seems broken, INCLUDE and/or LIB is missing.]) else AC_MSG_RESULT([ok]) - # Remove any trailing "\" and " " from the variables. - VS_INCLUDE=`$ECHO "$VS_INCLUDE" | $SED 's/\\\\* *$//'` - VS_LIB=`$ECHO "$VS_LIB" | $SED 's/\\\\* *$//'` + # Remove any trailing "\" ";" and " " from the variables. + VS_INCLUDE=`$ECHO "$VS_INCLUDE" | $SED -e 's/\\\\*;* *$//'` + VS_LIB=`$ECHO "$VS_LIB" | $SED 's/\\\\*;* *$//'` VCINSTALLDIR=`$ECHO "$VCINSTALLDIR" | $SED 's/\\\\* *$//'` WindowsSDKDir=`$ECHO "$WindowsSDKDir" | $SED 's/\\\\* *$//'` WINDOWSSDKDIR=`$ECHO "$WINDOWSSDKDIR" | $SED 's/\\\\* *$//'` @@ -345,6 +345,26 @@ AC_SUBST(VS_PATH) AC_SUBST(VS_INCLUDE) AC_SUBST(VS_LIB) + + # Convert VS_INCLUDE into SYSROOT_CFLAGS + OLDIFS="$IFS" + IFS=";" + for i in $VS_INCLUDE; do + ipath=$i + IFS="$OLDIFS" + BASIC_FIXUP_PATH([ipath]) + IFS=";" + SYSROOT_CFLAGS="$SYSROOT_CFLAGS -I$ipath" + done + # Convert VS_LIB into SYSROOT_LDFLAGS + for i in $VS_LIB; do + libpath=$i + IFS="$OLDIFS" + BASIC_FIXUP_PATH([libpath]) + IFS=";" + SYSROOT_LDFLAGS="$SYSROOT_LDFLAGS -libpath:$libpath" + done + IFS="$OLDIFS" fi else AC_MSG_RESULT([not found])
--- a/common/bin/unshuffle_list.txt Thu Feb 05 14:55:30 2015 +0100 +++ b/common/bin/unshuffle_list.txt Mon Feb 09 09:52:45 2015 -0800 @@ -123,6 +123,7 @@ jdk/src/java.base/share/classes/java/math : jdk/src/share/classes/java/math jdk/src/java.base/share/classes/java/net : jdk/src/share/classes/java/net jdk/src/java.base/share/classes/java/nio : jdk/src/share/classes/java/nio +jdk/src/java.base/share/classes/java/security/acl : jdk/src/share/classes/java/security/acl jdk/src/java.base/share/classes/java/security/cert : jdk/src/share/classes/java/security/cert jdk/src/java.base/share/classes/java/security/interfaces : jdk/src/share/classes/java/security/interfaces jdk/src/java.base/share/classes/java/security : jdk/src/share/classes/java/security @@ -179,6 +180,7 @@ jdk/src/java.base/share/classes/sun/nio/cs : jdk/src/share/classes/sun/nio/cs jdk/src/java.base/share/classes/sun/nio/fs : jdk/src/share/classes/sun/nio/fs jdk/src/java.base/share/classes/sun/reflect : jdk/src/share/classes/sun/reflect +jdk/src/java.base/share/classes/sun/security/acl : jdk/src/share/classes/sun/security/acl jdk/src/java.base/share/classes/sun/security/action : jdk/src/share/classes/sun/security/action jdk/src/java.base/share/classes/sun/security/internal : jdk/src/share/classes/sun/security/internal jdk/src/java.base/share/classes/sun/security/jca : jdk/src/share/classes/sun/security/jca @@ -1211,8 +1213,6 @@ jdk/src/java.rmi/unix/bin/java-rmi.cgi.sh : jdk/src/solaris/bin/java-rmi.cgi.sh jdk/src/java.scripting/share/classes/javax/script : jdk/src/share/classes/javax/script jdk/src/java.scripting/share/classes/com/sun/tools/script/shell : jdk/src/share/classes/com/sun/tools/script/shell -jdk/src/java.security.acl/share/classes/java/security/acl : jdk/src/share/classes/java/security/acl -jdk/src/java.security.acl/share/classes/sun/security/acl : jdk/src/share/classes/sun/security/acl jdk/src/java.security.jgss/macosx/native/libosxkrb5/nativeccache.c : jdk/src/share/native/sun/security/krb5/nativeccache.c jdk/src/java.security.jgss/macosx/native/libosxkrb5/SCDynamicStoreConfig.m : jdk/src/macosx/native/sun/security/krb5/SCDynamicStoreConfig.m jdk/src/java.security.jgss/share/classes/javax/security/auth/kerberos : jdk/src/share/classes/javax/security/auth/kerberos
--- a/make/Main.gmk Thu Feb 05 14:55:30 2015 +0100 +++ b/make/Main.gmk Mon Feb 09 09:52:45 2015 -0800 @@ -212,7 +212,7 @@ @$(RM) $@ @$(call GetSourceTips) -BOOTCYCLE_TARGET := images +BOOTCYCLE_TARGET := product-images bootcycle-images: @$(ECHO) Boot cycle build step 2: Building a new JDK image using previously built image +$(MAKE) $(MAKE_ARGS) -f Main.gmk SPEC=$(dir $(SPEC))bootcycle-spec.gmk $(BOOTCYCLE_TARGET) @@ -443,31 +443,45 @@ ALL_MODULE_TARGETS := $(sort $(GENSRC_MODULES) $(JAVA_MODULES) \ $(GENDATA_MODULES) $(LIBS_MODULES) $(LAUNCHER_MODULES) $(COPY_MODULES)) +# The "exploded image" is a locally runnable JDK in $(BUILD_OUTPUT)/jdk. exploded-image: $(ALL_MODULE_TARGETS) -# The old 'jdk' target most closely matches the new exploded-image. Keep an -# alias for ease of use. -jdk: exploded-image + +# The $(BUILD_OUTPUT)/images directory contain the resulting deliverables, +# and in line with this, our targets for creating these are named *-image[s]. -images: test-image jimages demos samples zip-security verify-modules +# This target builds the product images, e.g. the JRE and JDK image +# (and possibly other, more specific versions) +product-images: jimages demos samples zip-security verify-modules ifeq ($(OPENJDK_TARGET_OS), macosx) - images: mac-bundles + product-images: mac-bundles endif -docs: docs-javadoc docs-jvmtidoc +# This target builds the documentation image +docs-image: docs-javadoc docs-jvmtidoc +# This target builds the test image test-image: prepare-test-image +# all-images is the top-most target, it builds all our deliverables ("images"). +all-images: product-images test-image docs-image + ALL_TARGETS += buildtools gensrc gendata copy java rmic libs launchers \ - jdk.jdwp.agent-gensrc $(ALL_MODULE_TARGETS) exploded-image jdk images \ - docs test-image + jdk.jdwp.agent-gensrc $(ALL_MODULE_TARGETS) exploded-image \ + product-images docs-image test-image all-images ################################################################################ -all: images +# Traditional targets typically run by users. +# These can be considered aliases for the targets now named by a more +# "modern" naming scheme. default: exploded-image +jdk: exploded-image +images: product-images +docs: docs-image +all: all-images -ALL_TARGETS += default all +ALL_TARGETS += default jdk images docs all ################################################################################ ################################################################################ @@ -553,7 +567,8 @@ else @$(ECHO) "Re-running configure using default settings" endif - @( cd $(OUTPUT_ROOT) && $(BASH) $(TOPDIR)/configure $(CONFIGURE_COMMAND_LINE) ) + @( cd $(OUTPUT_ROOT) && PATH="$(ORIGINAL_PATH)" \ + $(BASH) $(TOPDIR)/configure $(CONFIGURE_COMMAND_LINE) ) ALL_TARGETS += reconfigure
--- a/make/common/NativeCompilation.gmk Thu Feb 05 14:55:30 2015 +0100 +++ b/make/common/NativeCompilation.gmk Mon Feb 09 09:52:45 2015 -0800 @@ -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 @@ -53,6 +53,8 @@ UNIX_PATH_PREFIX := endif +# This pattern is used to transform the output of the microsoft CL compiler +# into a make syntax dependency file (.d) WINDOWS_SHOWINCLUDE_SED_PATTERN := \ -e '/^Note: including file:/!d' \ -e 's|Note: including file: *||' \ @@ -62,6 +64,16 @@ -e 's|$$$$| \\|g' \ # +# This pattern is used to transform a dependency file (.d) to a list +# of make targets for dependent files (.d.targets) +DEPENDENCY_TARGET_SED_PATTERN := \ + -e 's/\#.*//' \ + -e 's/^[^:]*: *//' \ + -e 's/ *\\$$$$//' \ + -e '/^$$$$/ d' \ + -e 's/$$$$/ :/' \ + # + define add_native_source # param 1 = BUILD_MYPACKAGE # parma 2 = the source file name (..../alfa.c or .../beta.cpp) @@ -105,8 +117,13 @@ ifeq (,$$(filter %.s,$2)) # And this is the dependency file for this obj file. $1_$2_DEP:=$$(patsubst %$(OBJ_SUFFIX),%.d,$$($1_$2_OBJ)) + # The dependency target file lists all dependencies as empty targets + # to avoid make error "No rule to make target" for removed files + $1_$2_DEP_TARGETS:=$$(patsubst %$(OBJ_SUFFIX),%.d.targets,$$($1_$2_OBJ)) + # Include previously generated dependency information. (if it exists) -include $$($1_$2_DEP) + -include $$($1_$2_DEP_TARGETS) ifeq ($(TOOLCHAIN_TYPE), microsoft) $1_$2_DEBUG_OUT_FLAGS:=-Fd$$(patsubst %$(OBJ_SUFFIX),%.pdb,$$($1_$2_OBJ)) \ @@ -139,6 +156,11 @@ ($(ECHO) $$@: \\ \ && $(SED) $(WINDOWS_SHOWINCLUDE_SED_PATTERN) $$($1_$2_DEP).raw) > $$($1_$2_DEP) endif + # Create a dependency target file from the dependency file. + # Solution suggested by http://make.mad-scientist.net/papers/advanced-auto-dependency-generation/ + ifneq ($$($1_$2_DEP),) + $(SED) $(DEPENDENCY_TARGET_SED_PATTERN) $$($1_$2_DEP) > $$($1_$2_DEP_TARGETS) + endif endif endef @@ -428,7 +450,7 @@ $1_BUILD_INFO := $$($1_OBJECT_DIR)/_build-info.marker # 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. $1_COMPILE_VARDEPS := $$($1_CFLAGS) $$($1_EXTRA_CFLAGS) $(SYSROOT_CFLAGS) \ $$($1_CXXFLAGS) $$($1_EXTRA_CXXFLAGS) \ @@ -452,7 +474,10 @@ ifeq ($$(wildcard $$($1_TARGET)),) $(ECHO) 'Creating $$($1_BASENAME) from $$(words $$(filter-out %.vardeps, $$?)) file(s)' else - $(ECHO) 'Updating $$($1_BASENAME) from $$(words $$(filter-out %.vardeps, $$?)) file(s)' + $(ECHO) $$(strip 'Updating $$($1_BASENAME)' \ + $$(if $$(filter-out %.vardeps, $$?), \ + 'from $$(words $$(filter-out %.vardeps, $$?)) file(s)') \ + $$(if $$(filter %.vardeps, $$?), 'due to makefile changes')) endif $(TOUCH) $$@ @@ -461,7 +486,9 @@ ifneq (,$$($1_VERSIONINFO_RESOURCE)) $1_RES:=$$($1_OBJECT_DIR)/$$($1_BASENAME).res $1_RES_DEP:=$$($1_RES).d + $1_RES_DEP_TARGETS:=$$($1_RES).d.targets -include $$($1_RES_DEP) + -include $$($1_RES_DEP_TARGETS) $1_RES_VARDEPS := $(RC) $$($1_RC_FLAGS) $1_RES_VARDEPS_FILE := $$(call DependOnVariable, $1_RES_VARDEPS, \ @@ -469,12 +496,14 @@ $$($1_RES): $$($1_VERSIONINFO_RESOURCE) $$($1_RES_VARDEPS_FILE) $(ECHO) $(LOG_INFO) "Compiling resource $$(notdir $$($1_VERSIONINFO_RESOURCE)) (for $$(notdir $$($1_TARGET)))" - $(RC) $$($1_RC_FLAGS) $(CC_OUT_OPTION)$$@ $$($1_VERSIONINFO_RESOURCE) + $(RC) $$($1_RC_FLAGS) $(SYSROOT_CFLAGS) $(CC_OUT_OPTION)$$@ \ + $$($1_VERSIONINFO_RESOURCE) # Windows RC compiler does not support -showIncludes, so we mis-use CL for this. - $(CC) $$($1_RC_FLAGS) -showIncludes -nologo -TC \ + $(CC) $$($1_RC_FLAGS) $(SYSROOT_CFLAGS) -showIncludes -nologo -TC \ $(CC_OUT_OPTION)$$($1_RES_DEP).obj $$($1_VERSIONINFO_RESOURCE) > $$($1_RES_DEP).raw 2>&1 || exit 0 ($(ECHO) $$($1_RES): \\ \ && $(SED) $(WINDOWS_SHOWINCLUDE_SED_PATTERN) $$($1_RES_DEP).raw) > $$($1_RES_DEP) + $(SED) $(DEPENDENCY_TARGET_SED_PATTERN) $$($1_RES_DEP) > $$($1_RES_DEP_TARGETS) endif ifneq (,$$($1_MANIFEST)) $1_GEN_MANIFEST:=$$($1_OBJECT_DIR)/$$($1_PROGRAM).manifest
--- a/modules.xml Thu Feb 05 14:55:30 2015 +0100 +++ b/modules.xml Mon Feb 09 09:52:45 2015 -0800 @@ -109,6 +109,9 @@ <name>java.security</name> </export> <export> + <name>java.security.acl</name> + </export> + <export> <name>java.security.cert</name> </export> <export> @@ -448,7 +451,6 @@ <depend re-exports="true">java.management</depend> <depend re-exports="true">java.naming</depend> <depend re-exports="true">java.prefs</depend> - <depend re-exports="true">java.security.acl</depend> <depend re-exports="true">java.security.jgss</depend> <depend re-exports="true">java.security.sasl</depend> <depend re-exports="true">java.sql.rowset</depend> @@ -903,13 +905,6 @@ <depend re-exports="true">java.xml.ws</depend> </module> <module> - <name>java.security.acl</name> - <depend>java.base</depend> - <export> - <name>java.security.acl</name> - </export> - </module> - <module> <name>java.security.jgss</name> <depend>java.base</depend> <depend>java.naming</depend>