commit java-1_9_0-openjdk for openSUSE:Factory
Hello community, here is the log from the commit of package java-1_9_0-openjdk for openSUSE:Factory checked in at 2015-02-18 11:39:50 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/java-1_9_0-openjdk (Old) and /work/SRC/openSUSE:Factory/.java-1_9_0-openjdk.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Package is "java-1_9_0-openjdk" Changes: -------- --- /work/SRC/openSUSE:Factory/java-1_9_0-openjdk/java-1_9_0-openjdk.changes 2015-01-30 15:07:41.000000000 +0100 +++ /work/SRC/openSUSE:Factory/.java-1_9_0-openjdk.new/java-1_9_0-openjdk.changes 2015-02-18 12:09:08.000000000 +0100 @@ -1,0 +2,11 @@ +Tue Feb 17 15:37:17 UTC 2015 - fstrba@suse.com + +- Upgrade to upstream tag jdk9-b50 +- Update the aarch64 hotspot to the current tip of aarch64-port + stage repository +- Added patch + * fix-system-jpeg-loading.patch + - correct the case mismatch that prevented JPEG decoder from + working correctly (boo#905950) + +------------------------------------------------------------------- Old: ---- 0064e246d83f.tar.bz2 33e7e6998048.tar.bz2 5b102fc29edf.tar.bz2 833051855168.tar.bz2 a13c49c5f289.tar.bz2 cc775a4a24c7.tar.bz2 ebb2eb7f1aec.tar.bz2 f08660f30051.tar.bz2 f624acc711e2.tar.bz2 New: ---- 00f3abb1f174.tar.bz2 1ccb6ef2f40b.tar.bz2 224f593393e5.tar.bz2 32e48a0d59e1.tar.bz2 45a30e7ee623.tar.bz2 74ead7bddde1.tar.bz2 d1f37d39ff24.tar.bz2 e0947f58c9c1.tar.bz2 f6b8edd397ee.tar.bz2 fix-system-jpeg-loading.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ java-1_9_0-openjdk.spec ++++++ --- /var/tmp/diff_new_pack.W7dlaq/_old 2015-02-18 12:09:11.000000000 +0100 +++ /var/tmp/diff_new_pack.W7dlaq/_new 2015-02-18 12:09:11.000000000 +0100 @@ -33,20 +33,20 @@ %global minorver 9 %global microver 0 %global updatever 0 -%global buildver b48 +%global buildver b50 %global root_project jdk9 %global root_repository jdk9 -%global root_revision 0064e246d83f -%global corba_revision a13c49c5f289 -%global hotspot_revision cc775a4a24c7 -%global jaxp_revision 833051855168 -%global jaxws_revision 33e7e6998048 -%global jdk_revision ebb2eb7f1aec -%global langtools_revision 5b102fc29edf -%global nashorn_revision f08660f30051 +%global root_revision d1f37d39ff24 +%global corba_revision 224f593393e5 +%global hotspot_revision e0947f58c9c1 +%global jaxp_revision 74ead7bddde1 +%global jaxws_revision 45a30e7ee623 +%global jdk_revision f6b8edd397ee +%global langtools_revision 1ccb6ef2f40b +%global nashorn_revision 32e48a0d59e1 %global aarch64_project aarch64-port %global aarch64_repository stage -%global aarch64_hotspot_revision f624acc711e2 +%global aarch64_hotspot_revision 00f3abb1f174 %global icedtea_sound_version 1.0.1 # priority must be 6 digits in total %global priority %(echo "10000 * %{majorver} + 1000 * %{minorver} + 100 * %{microver} + %{updatever}" | bc) @@ -224,6 +224,7 @@ # Patch for PPC/PPC64 Patch103: ppc-zero-hotspot.patch # Patches for system libraries +Patch203: fix-system-jpeg-loading.patch Patch204: system-giflib5.patch Patch205: link-with-as-needed.patch BuildRequires: alsa-lib-devel @@ -482,6 +483,7 @@ rm -rvf jdk/src/java.desktop/share/native/liblcms/cms* rm -rvf jdk/src/java.desktop/share/native/liblcms/lcms2* +%patch203 -p1 %patch204 -p1 %patch205 -p1 ++++++ 0064e246d83f.tar.bz2 -> 00f3abb1f174.tar.bz2 ++++++ /work/SRC/openSUSE:Factory/java-1_9_0-openjdk/0064e246d83f.tar.bz2 /work/SRC/openSUSE:Factory/.java-1_9_0-openjdk.new/00f3abb1f174.tar.bz2 differ: char 11, line 1 ++++++ 0064e246d83f.tar.bz2 -> 1ccb6ef2f40b.tar.bz2 ++++++ ++++ 739084 lines of diff (skipped) ++++++ 5b102fc29edf.tar.bz2 -> 224f593393e5.tar.bz2 ++++++ ++++ 836697 lines of diff (skipped) ++++++ 0064e246d83f.tar.bz2 -> 32e48a0d59e1.tar.bz2 ++++++ ++++ 516145 lines of diff (skipped) ++++++ 0064e246d83f.tar.bz2 -> 45a30e7ee623.tar.bz2 ++++++ ++++ 694089 lines of diff (skipped) ++++++ 0064e246d83f.tar.bz2 -> 74ead7bddde1.tar.bz2 ++++++ ++++ 822130 lines of diff (skipped) ++++++ 0064e246d83f.tar.bz2 -> d1f37d39ff24.tar.bz2 ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jdk9-0064e246d83f/.hg_archival.txt new/jdk9-d1f37d39ff24/.hg_archival.txt --- old/jdk9-0064e246d83f/.hg_archival.txt 2015-01-25 08:22:16.000000000 +0100 +++ new/jdk9-d1f37d39ff24/.hg_archival.txt 2015-02-06 00:41:43.000000000 +0100 @@ -1,4 +1,4 @@ repo: cfeea66a3fa8ca3686a7cfa2d0ce8ab0169f168d -node: 0064e246d83f6f9fc245c19b6d05041ecaf4b6d4 +node: d1f37d39ff2421f956a6ddf316cf763807bc3363 branch: default -tag: jdk9-b48 +tag: jdk9-b50 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jdk9-0064e246d83f/.hgtags new/jdk9-d1f37d39ff24/.hgtags --- old/jdk9-0064e246d83f/.hgtags 2015-01-25 08:22:16.000000000 +0100 +++ new/jdk9-d1f37d39ff24/.hgtags 2015-02-06 00:41:43.000000000 +0100 @@ -290,3 +290,5 @@ 3dd628fde2086218d548841022ee8436b6b88185 jdk9-b45 12f1e276447bcc81516e85367d53e4f08897049d jdk9-b46 b6cca3e6175a69f39e5799b7349ddb0176630291 jdk9-b47 +0064e246d83f6f9fc245c19b6d05041ecaf4b6d4 jdk9-b48 +d91ed1951b948210590ce1394bea5515357246ba jdk9-b49 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jdk9-0064e246d83f/common/autoconf/basics.m4 new/jdk9-d1f37d39ff24/common/autoconf/basics.m4 --- old/jdk9-0064e246d83f/common/autoconf/basics.m4 2015-01-25 08:22:16.000000000 +0100 +++ new/jdk9-d1f37d39ff24/common/autoconf/basics.m4 2015-02-06 00:41:43.000000000 +0100 @@ -987,3 +987,26 @@ IS_RECONFIGURE=no fi ]) + +# Check for support for specific options in bash +AC_DEFUN_ONCE([BASIC_CHECK_BASH_OPTIONS], +[ + # Test if bash supports pipefail. + AC_MSG_CHECKING([if bash supports pipefail]) + if ${BASH} -c 'set -o pipefail'; then + BASH_ARGS="$BASH_ARGS -o pipefail" + AC_MSG_RESULT([yes]) + else + AC_MSG_RESULT([no]) + fi + + AC_MSG_CHECKING([if bash supports errexit (-e)]) + if ${BASH} -e -c 'true'; then + BASH_ARGS="$BASH_ARGS -e" + AC_MSG_RESULT([yes]) + else + AC_MSG_RESULT([no]) + fi + + AC_SUBST(BASH_ARGS) +]) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jdk9-0064e246d83f/common/autoconf/bootcycle-spec.gmk.in new/jdk9-d1f37d39ff24/common/autoconf/bootcycle-spec.gmk.in --- old/jdk9-0064e246d83f/common/autoconf/bootcycle-spec.gmk.in 2015-01-25 08:22:16.000000000 +0100 +++ new/jdk9-d1f37d39ff24/common/autoconf/bootcycle-spec.gmk.in 2015-02-06 00:41:43.000000000 +0100 @@ -46,8 +46,12 @@ BOOT_JDK := $(JDK_IMAGE_DIR) # The bootcycle build has a different output directory -BUILD_OUTPUT:=@BUILD_OUTPUT@/bootcycle-build -SJAVAC_SERVER_DIR:=$(subst @BUILD_OUTPUT@,$(BUILD_OUTPUT),$(SJAVAC_SERVER_DIR)) +OLD_BUILD_OUTPUT:=@BUILD_OUTPUT@ +BUILD_OUTPUT:=$(OLD_BUILD_OUTPUT)/bootcycle-build +# The HOTSPOT_DIST dir is not defined relative to BUILD_OUTPUT in spec.gmk. Must not +# use space in this patsubst to avoid leading space in HOTSPOT_DIST. +HOTSPOT_DIST:=$(patsubst $(OLD_BUILD_OUTPUT)%,$(BUILD_OUTPUT)%,$(HOTSPOT_DIST)) +SJAVAC_SERVER_DIR:=$(patsubst $(OLD_BUILD_OUTPUT)%, $(BUILD_OUTPUT)%, $(SJAVAC_SERVER_DIR)) JAVA_CMD:=$(BOOT_JDK)/bin/java JAVAC_CMD:=$(BOOT_JDK)/bin/javac diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jdk9-0064e246d83f/common/autoconf/configure.ac new/jdk9-d1f37d39ff24/common/autoconf/configure.ac --- old/jdk9-0064e246d83f/common/autoconf/configure.ac 2015-01-25 08:22:16.000000000 +0100 +++ new/jdk9-d1f37d39ff24/common/autoconf/configure.ac 2015-02-06 00:41:43.000000000 +0100 @@ -113,6 +113,7 @@ # Setup tools that requires more complex handling, or that is not needed by the configure script. BASIC_SETUP_COMPLEX_TOOLS +BASIC_CHECK_BASH_OPTIONS # Check if pkg-config is available. PKG_PROG_PKG_CONFIG diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jdk9-0064e246d83f/common/autoconf/generated-configure.sh new/jdk9-d1f37d39ff24/common/autoconf/generated-configure.sh --- old/jdk9-0064e246d83f/common/autoconf/generated-configure.sh 2015-01-25 08:22:16.000000000 +0100 +++ new/jdk9-d1f37d39ff24/common/autoconf/generated-configure.sh 2015-02-06 00:41:43.000000000 +0100 @@ -853,6 +853,7 @@ OS_VERSION_MINOR OS_VERSION_MAJOR PKG_CONFIG +BASH_ARGS CODESIGN XATTR DSYMUTIL @@ -3522,6 +3523,9 @@ +# Check for support for specific options in bash + + # # Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved. # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. @@ -4329,7 +4333,7 @@ #CUSTOM_AUTOCONF_INCLUDE # Do not change or remove the following line, it is needed for consistency checks: -DATE_WHEN_GENERATED=1420811523 +DATE_WHEN_GENERATED=1421247827 ############################################################################### # @@ -19609,6 +19613,32 @@ fi + # Test if bash supports pipefail. + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if bash supports pipefail" >&5 +$as_echo_n "checking if bash supports pipefail... " >&6; } + if ${BASH} -c 'set -o pipefail'; then + BASH_ARGS="$BASH_ARGS -o pipefail" + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + fi + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if bash supports errexit (-e)" >&5 +$as_echo_n "checking if bash supports errexit (-e)... " >&6; } + if ${BASH} -e -c 'true'; then + BASH_ARGS="$BASH_ARGS -e" + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + fi + + + + # Check if pkg-config is available. @@ -27408,8 +27438,8 @@ # The trailing space for everyone except PATH is no typo, but is needed due # to trailing \ in the Windows paths. These will be stripped later. $ECHO "$WINPATH_BASH -c 'echo VS_PATH="'\"$PATH\" > set-vs-env.sh' >> $EXTRACT_VC_ENV_BAT_FILE - $ECHO "$WINPATH_BASH -c 'echo VS_INCLUDE="'\"$INCLUDE\;$include \" >> set-vs-env.sh' >> $EXTRACT_VC_ENV_BAT_FILE - $ECHO "$WINPATH_BASH -c 'echo VS_LIB="'\"$LIB\;$lib \" >> set-vs-env.sh' >> $EXTRACT_VC_ENV_BAT_FILE + $ECHO "$WINPATH_BASH -c 'echo VS_INCLUDE="'\"$INCLUDE \" >> set-vs-env.sh' >> $EXTRACT_VC_ENV_BAT_FILE + $ECHO "$WINPATH_BASH -c 'echo VS_LIB="'\"$LIB \" >> set-vs-env.sh' >> $EXTRACT_VC_ENV_BAT_FILE $ECHO "$WINPATH_BASH -c 'echo VCINSTALLDIR="'\"$VCINSTALLDIR \" >> set-vs-env.sh' >> $EXTRACT_VC_ENV_BAT_FILE $ECHO "$WINPATH_BASH -c 'echo WindowsSdkDir="'\"$WindowsSdkDir \" >> set-vs-env.sh' >> $EXTRACT_VC_ENV_BAT_FILE $ECHO "$WINPATH_BASH -c 'echo WINDOWSSDKDIR="'\"$WINDOWSSDKDIR \" >> set-vs-env.sh' >> $EXTRACT_VC_ENV_BAT_FILE diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jdk9-0064e246d83f/common/autoconf/spec.gmk.in new/jdk9-d1f37d39ff24/common/autoconf/spec.gmk.in --- old/jdk9-0064e246d83f/common/autoconf/spec.gmk.in 2015-01-25 08:22:16.000000000 +0100 +++ new/jdk9-d1f37d39ff24/common/autoconf/spec.gmk.in 2015-02-06 00:41:43.000000000 +0100 @@ -78,6 +78,11 @@ OUTPUT_SYNC_SUPPORTED:=@OUTPUT_SYNC_SUPPORTED@ OUTPUT_SYNC:=@OUTPUT_SYNC@ +# Override the shell with bash +BASH:=@BASH@ +BASH_ARGS:=@BASH_ARGS@ +SHELL:=$(BASH) $(BASH_ARGS) + # The "human readable" name of this configuration CONF_NAME:=@CONF_NAME@ @@ -243,7 +248,7 @@ HOTSPOT_OUTPUTDIR=$(BUILD_OUTPUT)/hotspot JDK_OUTPUTDIR=$(BUILD_OUTPUT)/jdk IMAGES_OUTPUTDIR=$(BUILD_OUTPUT)/images -TESTMAKE_OUTPUTDIR=$(BUILD_OUTPUT)/testmake +TESTMAKE_OUTPUTDIR=$(BUILD_OUTPUT)/test-make MAKESUPPORT_OUTPUTDIR=$(BUILD_OUTPUT)/make-support HOTSPOT_DIST=@HOTSPOT_DIST@ @@ -495,7 +500,6 @@ # Tools adhering to a minimal and common standard of posix compliance. AWK:=@AWK@ BASENAME:=@BASENAME@ -BASH:=@BASH@ CAT:=@CAT@ CCACHE:=@CCACHE@ # CD is going away, but remains to cater for legacy makefiles. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jdk9-0064e246d83f/common/bin/unshuffle_list.txt new/jdk9-d1f37d39ff24/common/bin/unshuffle_list.txt --- old/jdk9-0064e246d83f/common/bin/unshuffle_list.txt 2015-01-25 08:22:16.000000000 +0100 +++ new/jdk9-d1f37d39ff24/common/bin/unshuffle_list.txt 2015-02-06 00:41:43.000000000 +0100 @@ -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 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jdk9-0064e246d83f/make/Images.gmk new/jdk9-d1f37d39ff24/make/Images.gmk --- old/jdk9-0064e246d83f/make/Images.gmk 2015-01-25 08:22:16.000000000 +0100 +++ new/jdk9-d1f37d39ff24/make/Images.gmk 2015-02-06 00:41:43.000000000 +0100 @@ -111,14 +111,16 @@ # Use this file inside the image as target for make rule JIMAGE_TARGET_FILE := bin/java$(EXE_SUFFIX) -$(JDK_IMAGE_DIR)/$(JIMAGE_TARGET_FILE): $(DEPENDENCIES) +$(JDK_IMAGE_DIR)/$(JIMAGE_TARGET_FILE): $(DEPENDENCIES) \ + $(call DependOnVariable, JDK_MODULES_LIST) $(ECHO) Creating jdk jimage $(RM) -r $(JDK_IMAGE_DIR) $(JDK_SORTED_MODULES) $(JIMAGE_TOOL) --mods $(JDK_MODULES_LIST) --output $(JDK_IMAGE_DIR) \ $(MODULES_XML) > $(JDK_SORTED_MODULES) $(TOUCH) $@ -$(JRE_IMAGE_DIR)/$(JIMAGE_TARGET_FILE): $(DEPENDENCIES) +$(JRE_IMAGE_DIR)/$(JIMAGE_TARGET_FILE): $(DEPENDENCIES) \ + $(call DependOnVariable, JRE_MODULES_LIST) $(ECHO) Creating jre jimage $(RM) -r $(JRE_IMAGE_DIR) $(JRE_SORTED_MODULES) $(JIMAGE_TOOL) --mods $(JRE_MODULES_LIST) --output $(JRE_IMAGE_DIR) \ @@ -131,7 +133,8 @@ COMPACT_EXTRA_MODULES := jdk.localedata jdk.crypto.pkcs11 jdk.crypto.ec -$(JRE_COMPACT1_IMAGE_DIR)/$(JIMAGE_TARGET_FILE): $(DEPENDENCIES) +$(JRE_COMPACT1_IMAGE_DIR)/$(JIMAGE_TARGET_FILE): $(DEPENDENCIES) \ + $(call DependOnVariable, JRE_COMPACT1_MODULES_LIST) $(ECHO) Creating jre compact1 jimage $(RM) -r $(JRE_COMPACT1_IMAGE_DIR) $(JRE_COMPACT1_SORTED_MODULES) $(JIMAGE_TOOL) \ @@ -140,7 +143,8 @@ $(MODULES_XML) > $(JRE_COMPACT1_SORTED_MODULES) $(TOUCH) $@ -$(JRE_COMPACT2_IMAGE_DIR)/$(JIMAGE_TARGET_FILE): $(DEPENDENCIES) +$(JRE_COMPACT2_IMAGE_DIR)/$(JIMAGE_TARGET_FILE): $(DEPENDENCIES) \ + $(call DependOnVariable, JRE_COMPACT2_MODULES_LIST) $(ECHO) Creating jre compact2 jimage $(RM) -r $(JRE_COMPACT2_IMAGE_DIR) $(JRE_COMPACT2_SORTED_MODULES) $(JIMAGE_TOOL) \ @@ -149,7 +153,8 @@ $(MODULES_XML) > $(JRE_COMPACT2_SORTED_MODULES) $(TOUCH) $@ -$(JRE_COMPACT3_IMAGE_DIR)/$(JIMAGE_TARGET_FILE): $(DEPENDENCIES) +$(JRE_COMPACT3_IMAGE_DIR)/$(JIMAGE_TARGET_FILE): $(DEPENDENCIES) \ + $(call DependOnVariable, JRE_COMPACT3_MODULES_LIST) $(ECHO) Creating jre compact3 jimage $(RM) -r $(JRE_COMPACT3_IMAGE_DIR) $(JRE_COMPACT3_SORTED_MODULES) $(JIMAGE_TOOL) \ @@ -368,45 +373,59 @@ # Common way to emit a line into the release or info file define info-file-item # name value - $(PRINTF) '%s="%s"\n' $1 $2 >> $@ + $(PRINTF) '%s="%s"\n' $1 $2 >> $@ endef # Param 1 - The file containing the MODULES list define create-info-file - $(ECHO) $(LOG_INFO) Generating $(patsubst $(OUTPUT_ROOT)/%,%,$@) - $(MKDIR) -p $(@D) - $(RM) $@ - $(call info-file-item, "JAVA_VERSION", "$(JDK_VERSION)") - $(call info-file-item, "OS_NAME", "$(REQUIRED_OS_NAME)") - $(call info-file-item, "OS_VERSION", "$(REQUIRED_OS_VERSION)") - $(call info-file-item, "OS_ARCH", "$(OPENJDK_TARGET_CPU_LEGACY)") - $(if $(JDK_ARCH_ABI_PROP_NAME), \ - $(call info-file-item, "SUN_ARCH_ABI", "$(JDK_ARCH_ABI_PROP_NAME)")) - $(call info-file-item, "SOURCE", "$(ALL_SOURCE_TIPS)") - $(call info-file-item, "MODULES", "`$(CAT) $1`") + $(call info-file-item, "JAVA_VERSION", "$(JDK_VERSION)") + $(call info-file-item, "OS_NAME", "$(REQUIRED_OS_NAME)") + $(call info-file-item, "OS_VERSION", "$(REQUIRED_OS_VERSION)") + $(call info-file-item, "OS_ARCH", "$(OPENJDK_TARGET_CPU_LEGACY)") + $(if $(JDK_ARCH_ABI_PROP_NAME), \ + $(call info-file-item, "SUN_ARCH_ABI", "$(JDK_ARCH_ABI_PROP_NAME)")) + $(call info-file-item, "SOURCE", "$(ALL_SOURCE_TIPS)") + $(call info-file-item, "MODULES", "`$(CAT) $1`") +endef + +# Param 1 - The file containing the MODULES list +define prepare-info-file + $(ECHO) $(LOG_INFO) Generating $(patsubst $(OUTPUT_ROOT)/%,%,$@) + $(MKDIR) -p $(@D) + $(RM) $@ +endef + +define info-file + $(call prepare-info-file, $1) + $(call create-info-file, $1) endef +# Create a variable dependency file common for all release info files. The +# sorted module list will only change if the image is regenerated, which will +# trigger a rebuild of these files anyway. +INFO_FILE_VARDEPS := $(call DependOnVariable, create-info-file) + ALL_SOURCE_TIPS = $(shell \ if [ -f $(SUPPORT_OUTPUTDIR)/source_tips ] ; then \ $(CAT) $(SUPPORT_OUTPUTDIR)/source_tips ; \ fi) -$(JRE_INFO_FILE): $(OUTPUT_ROOT)/spec.gmk $(SUPPORT_OUTPUTDIR)/source_tips - $(call create-info-file, $(JRE_SORTED_MODULES)) +$(JRE_INFO_FILE): $(INFO_FILE_VARDEPS) $(SUPPORT_OUTPUTDIR)/source_tips + $(call info-file, $(JRE_SORTED_MODULES)) -$(JDK_INFO_FILE): $(OUTPUT_ROOT)/spec.gmk $(SUPPORT_OUTPUTDIR)/source_tips - $(call create-info-file, $(JDK_SORTED_MODULES)) +$(JDK_INFO_FILE): $(INFO_FILE_VARDEPS) $(SUPPORT_OUTPUTDIR)/source_tips + $(call info-file, $(JDK_SORTED_MODULES)) -$(JRE_COMPACT1_INFO_FILE): $(OUTPUT_ROOT)/spec.gmk $(SUPPORT_OUTPUTDIR)/source_tips - $(call create-info-file, $(JRE_COMPACT1_SORTED_MODULES)) +$(JRE_COMPACT1_INFO_FILE): $(INFO_FILE_VARDEPS) $(SUPPORT_OUTPUTDIR)/source_tips + $(call info-file, $(JRE_COMPACT1_SORTED_MODULES)) $(call info-file-item, "JAVA_PROFILE", "compact1") -$(JRE_COMPACT2_INFO_FILE): $(OUTPUT_ROOT)/spec.gmk $(SUPPORT_OUTPUTDIR)/source_tips - $(call create-info-file, $(JRE_COMPACT2_SORTED_MODULES)) +$(JRE_COMPACT2_INFO_FILE): $(INFO_FILE_VARDEPS) $(SUPPORT_OUTPUTDIR)/source_tips + $(call info-file, $(JRE_COMPACT2_SORTED_MODULES)) $(call info-file-item, "JAVA_PROFILE", "compact2") -$(JRE_COMPACT3_INFO_FILE): $(OUTPUT_ROOT)/spec.gmk $(SUPPORT_OUTPUTDIR)/source_tips - $(call create-info-file, $(JRE_COMPACT3_SORTED_MODULES)) +$(JRE_COMPACT3_INFO_FILE): $(INFO_FILE_VARDEPS) $(SUPPORT_OUTPUTDIR)/source_tips + $(call info-file, $(JRE_COMPACT3_SORTED_MODULES)) $(call info-file-item, "JAVA_PROFILE", "compact3") JRE_TARGETS += $(JRE_INFO_FILE) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jdk9-0064e246d83f/make/Main.gmk new/jdk9-d1f37d39ff24/make/Main.gmk --- old/jdk9-0064e246d83f/make/Main.gmk 2015-01-25 08:22:16.000000000 +0100 +++ new/jdk9-d1f37d39ff24/make/Main.gmk 2015-02-06 00:41:43.000000000 +0100 @@ -402,6 +402,8 @@ verify-modules: exploded-image + test-make: clean-test-make + endif ################################################################################ @@ -446,7 +448,7 @@ # alias for ease of use. jdk: exploded-image -images: test-image jimages demos samples zip-security +images: test-image jimages demos samples zip-security verify-modules ifeq ($(OPENJDK_TARGET_OS), macosx) images: mac-bundles @@ -477,7 +479,7 @@ # file. CLEAN_DIRS += hotspot jdk bootcycle-build test buildtools support \ - images make-support + images make-support test-make CLEAN_DIR_TARGETS := $(addprefix clean-, $(CLEAN_DIRS)) CLEAN_PHASES := gensrc java native include CLEAN_PHASE_TARGETS := $(addprefix clean-, $(CLEAN_PHASES)) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jdk9-0064e246d83f/make/ZipSource.gmk new/jdk9-d1f37d39ff24/make/ZipSource.gmk --- old/jdk9-0064e246d83f/make/ZipSource.gmk 2015-01-25 08:22:16.000000000 +0100 +++ new/jdk9-d1f37d39ff24/make/ZipSource.gmk 2015-02-06 00:41:43.000000000 +0100 @@ -71,7 +71,7 @@ $(JDK_TOPDIR)/src/java.base/$(OPENJDK_TARGET_OS_API_DIR)/native/libjli/java_md*))) # This dir needs to exist before macro is evaluated to avoid warning from find. -$(eval $(call MakeDir, $(SUPPORT_OUTPUTDIR)/src)) +$(call MakeDir, $(SUPPORT_OUTPUTDIR)/src) $(eval $(call SetupZipArchive,BUILD_SRC_ZIP, \ SRC := $(SRC_ZIP_SRCS) $(SUPPORT_OUTPUTDIR)/src, \ INCLUDES := $(SRC_ZIP_INCLUDES) launcher, \ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jdk9-0064e246d83f/make/common/IdlCompilation.gmk new/jdk9-d1f37d39ff24/make/common/IdlCompilation.gmk --- old/jdk9-0064e246d83f/make/common/IdlCompilation.gmk 2015-01-25 08:22:16.000000000 +0100 +++ new/jdk9-d1f37d39ff24/make/common/IdlCompilation.gmk 2015-02-06 00:41:43.000000000 +0100 @@ -99,7 +99,7 @@ $(if $(16),$(error Internal makefile error: Too many arguments to SetupIdlCompilation, please update IdlCompilation.gmk)) # Find all existing java files and existing class files. - $$(eval $$(call MakeDir,$$($1_BIN))) + $$(call MakeDir,$$($1_BIN)) $1_SRCS := $$(shell find $$($1_SRC) -name "*.idl") $1_BINS := $$(shell find $$($1_BIN) -name "*.java") # Prepend the source/bin path to the filter expressions. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jdk9-0064e246d83f/make/common/JavaCompilation.gmk new/jdk9-d1f37d39ff24/make/common/JavaCompilation.gmk --- old/jdk9-0064e246d83f/make/common/JavaCompilation.gmk 2015-01-25 08:22:16.000000000 +0100 +++ new/jdk9-d1f37d39ff24/make/common/JavaCompilation.gmk 2015-02-06 00:41:43.000000000 +0100 @@ -126,17 +126,20 @@ $1_FIND_PATTERNS:=$(FALSE_FIND_PATTERN) $$(patsubst %,$(SPACE)-o$(SPACE)-name$(SPACE)$(DQUOTE)*%$(DQUOTE),$$($1_SUFFIXES)) # On windows, a lot of includes/excludes risk making the command line too long, so # writing the grep patterns to files. + # Grep returns 1 if nothing is matched. Do not fail the build for this. ifneq (,$$($1_INCLUDES)) $1_GREP_INCLUDE_PATTERNS:=$$(call EscapeDollar, \ $$(foreach src,$$($1_SRCS), $$(addprefix $$(src)/,$$($1_INCLUDES)))) # If there are a lot of include patterns, output to file to shorten command lines ifeq ($$(word 20,$$($1_GREP_INCLUDE_PATTERNS)),) - $1_GREP_INCLUDES:=| $(GREP) $$(patsubst %,$(SPACE)-e$(SPACE)$(DQUOTE)%$(DQUOTE),$$($1_GREP_INCLUDE_PATTERNS)) + $1_GREP_INCLUDES:=| ( $(GREP) $$(patsubst %,$(SPACE)-e$(SPACE)$(DQUOTE)%$(DQUOTE),$$($1_GREP_INCLUDE_PATTERNS)) \ + || test "$$$$?" = "1" ) else $1_GREP_INCLUDE_OUTPUT:=$(RM) $$($1_BIN)/_the.$$($1_JARNAME)_include $$(NEWLINE) \ $$(call ListPathsSafely,$1_GREP_INCLUDE_PATTERNS,\n, \ >> $$($1_BIN)/_the.$$($1_JARNAME)_include) - $1_GREP_INCLUDES:=| $(GREP) -f $$($1_BIN)/_the.$$($1_JARNAME)_include + $1_GREP_INCLUDES:=| ( $(GREP) -f $$($1_BIN)/_the.$$($1_JARNAME)_include \ + || test "$$$$?" = "1" ) endif endif ifneq (,$$($1_EXCLUDES)$$($1_EXCLUDE_FILES)) @@ -145,12 +148,14 @@ $$($1_EXCLUDES) $$($1_EXCLUDE_FILES)))) # If there are a lot of include patterns, output to file to shorten command lines ifeq ($$(word 20,$$($1_GREP_EXCLUDE_PATTERNS)),) - $1_GREP_EXCLUDES:=| $(GREP) -v $$(patsubst %,$(SPACE)-e$(SPACE)$(DQUOTE)%$(DQUOTE),$$($1_GREP_EXCLUDE_PATTERNS)) + $1_GREP_EXCLUDES:=| ( $(GREP) -v $$(patsubst %,$(SPACE)-e$(SPACE)$(DQUOTE)%$(DQUOTE),$$($1_GREP_EXCLUDE_PATTERNS)) \ + || test "$$$$?" = "1" ) else $1_GREP_EXCLUDE_OUTPUT=$(RM) $$($1_BIN)/_the.$$($1_JARNAME)_exclude $$(NEWLINE) \ $$(call ListPathsSafely,$1_GREP_EXCLUDE_PATTERNS,\n, \ >> $$($1_BIN)/_the.$$($1_JARNAME)_exclude) - $1_GREP_EXCLUDES:=| $(GREP) -v -f $$($1_BIN)/_the.$$($1_JARNAME)_exclude + $1_GREP_EXCLUDES:=| ( $(GREP) -v -f $$($1_BIN)/_the.$$($1_JARNAME)_exclude \ + || test "$$$$?" = "1" ) endif endif @@ -222,9 +227,11 @@ $$($1_CAPTURE_EXTRA_FILES) # The capture metainf macro finds all files below the META-INF directory that are newer than the jar-file. + # Find returns non zero if the META-INF dir does not exist, ignore this. ifeq (,$$($1_SKIP_METAINF)) $1_CAPTURE_METAINF =$$(foreach src,$$($1_SRCS), \ - ( $(FIND) $$(src)/META-INF -type f -a -newer $$@ 2> /dev/null | $(SED) 's|$$(src)/|-C $$(src) |g' >> \ + ( ( $(FIND) $$(src)/META-INF -type f -a -newer $$@ 2> /dev/null || true ) \ + | $(SED) 's|$$(src)/|-C $$(src) |g' >> \ $$($1_BIN)/_the.$$($1_JARNAME)_contents ) $$(NEWLINE) ) endif # The capture deletes macro finds all deleted files and concatenates them. The resulting file @@ -248,9 +255,11 @@ >> $$($1_BIN)/_the.$$($1_JARNAME)_contents $$(NEWLINE)) \ $$($1_CAPTURE_EXTRA_FILES) + # Find returns non zero if the META-INF dir does not exist, ignore this. ifeq (,$$($1_SKIP_METAINF)) $1_SCAPTURE_METAINF=$$(foreach src,$$($1_SRCS), \ - ( $(FIND) $$(src)/META-INF -type f 2> /dev/null | $(SED) 's|$$(src)/|-C $$(src) |g' >> \ + ( ( $(FIND) $$(src)/META-INF -type f 2> /dev/null || true ) \ + | $(SED) 's|$$(src)/|-C $$(src) |g' >> \ $$($1_BIN)/_the.$$($1_JARNAME)_contents) $$(NEWLINE) ) endif $1_SUPDATE_CONTENTS=$(JAR) $$($1_JAR_UPDATE_OPTIONS) $$@ @$$($1_BIN)/_the.$$($1_JARNAME)_contents $$(NEWLINE) @@ -270,19 +279,37 @@ $1_JAR_UPDATE_OPTIONS := uf endif + # Include all variables of significance in the vardeps file + $1_VARDEPS := $(JAR) $$($1_JAR_CREATE_OPTIONS) $$($1_MANIFEST) $(RELEASE) $(COMPANY_NAME) \ + $$($1_JARMAIN) $$($1_EXTRA_MANIFEST_ATTR) + $1_VARDEPS_FILE := $$(call DependOnVariable, $1_VARDEPS, $$(dir $$($1_JAR))_the.$$($1_JARNAME).vardeps) + # Here is the rule that creates/updates the jar file. - $$($1_JAR) : $$($1_DEPS) + $$($1_JAR) : $$($1_DEPS) $$($1_MANIFEST) $$($1_VARDEPS_FILE) $(MKDIR) -p $$($1_BIN) $$($1_GREP_INCLUDE_OUTPUT) $$($1_GREP_EXCLUDE_OUTPUT) - $$(if $$($1_MANIFEST), \ - $(SED) -e "s#@@RELEASE@@#$(RELEASE)#" \ - -e "s#@@COMPANY_NAME@@#$(COMPANY_NAME)#" $$($1_MANIFEST) > $$($1_MANIFEST_FILE) \ + # 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 + # potential changes. + $$(if $$(filter $$($1_VARDEPS_FILE) $$($1_MANIFEST), $$?), \ + $$(if $$($1_MANIFEST), \ + $(SED) -e "s#@@RELEASE@@#$(RELEASE)#" \ + -e "s#@@COMPANY_NAME@@#$(COMPANY_NAME)#" $$($1_MANIFEST) > $$($1_MANIFEST_FILE) $$(NEWLINE) \ + , \ + $(RM) $$($1_MANIFEST_FILE) && $(TOUCH) $$($1_MANIFEST_FILE) $$(NEWLINE)) \ + $$(if $$($1_JARMAIN), \ + $(ECHO) "Main-Class: $$(strip $$($1_JARMAIN))" >> $$($1_MANIFEST_FILE) $$(NEWLINE)) \ + $$(if $$($1_EXTRA_MANIFEST_ATTR), \ + $(PRINTF) "$$($1_EXTRA_MANIFEST_ATTR)\n" >> $$($1_MANIFEST_FILE) $$(NEWLINE)) \ + $(ECHO) Creating $$($1_NAME) $$(NEWLINE) \ + $(JAR) $$($1_JAR_CREATE_OPTIONS) $$@ $$($1_MANIFEST_FILE) $$(NEWLINE) \ + $$($1_SCAPTURE_CONTENTS) \ + $$($1_SCAPTURE_METAINF) \ + $$($1_SUPDATE_CONTENTS) \ + $$($1_JARINDEX) && true \ , \ - $(RM) $$($1_MANIFEST_FILE) && $(TOUCH) $$($1_MANIFEST_FILE)) - $$(if $$($1_JARMAIN),$(ECHO) "Main-Class: $$(strip $$($1_JARMAIN))" >> $$($1_MANIFEST_FILE)) - $$(if $$($1_EXTRA_MANIFEST_ATTR),$(PRINTF) "$$($1_EXTRA_MANIFEST_ATTR)\n" >> $$($1_MANIFEST_FILE)) - $$(if $$(wildcard $$@), \ $(ECHO) Modifying $$($1_NAME) $$(NEWLINE) \ $$($1_CAPTURE_CONTENTS) \ $$($1_CAPTURE_METAINF) \ @@ -294,12 +321,6 @@ $(ZIP) -q -d $$@ `$(CAT) $$($1_DELETESS_FILE)` ; \ fi $$(NEWLINE) \ $$($1_UPDATE_CONTENTS) true $$(NEWLINE) \ - $$($1_JARINDEX) && true \ - , \ - $(ECHO) Creating $$($1_NAME) && $(JAR) $$($1_JAR_CREATE_OPTIONS) $$@ $$($1_MANIFEST_FILE) $$(NEWLINE) \ - $$($1_SCAPTURE_CONTENTS) \ - $$($1_SCAPTURE_METAINF) \ - $$($1_SUPDATE_CONTENTS) \ $$($1_JARINDEX) && true ) # Add jar to target list @@ -431,7 +452,7 @@ $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))) - $$(eval $$(call MakeDir,$$($1_BIN))) + $$(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. $$(eval $$(call FillCacheFind,$$($1_SRC))) @@ -475,23 +496,23 @@ $1_ALL_COPIES += $$(filter $$(addprefix %,$$($1_COPY)),$$($1_ALL_SRCS)) # Copy these explicitly $1_ALL_COPIES += $$($1_COPY_FILES) - # Copy must also respect filters. - ifneq (,$$($1_INCLUDES)) - $1_ALL_COPIES := $$(filter $$($1_SRC_INCLUDES),$$($1_ALL_COPIES)) - endif - ifneq (,$$($1_EXCLUDES)) - $1_ALL_COPIES := $$(filter-out $$($1_SRC_EXCLUDES),$$($1_ALL_COPIES)) - endif - ifneq (,$$($1_EXCLUDE_FILES)) - $1_ALL_COPIES := $$(filter-out $$($1_EXCLUDE_FILES_PATTERN),$$($1_ALL_COPIES)) - endif endif - ifneq (,$$($1_ALL_COPIES)) - # Yep, there are files to be copied! - $1_ALL_COPY_TARGETS:= - $$(foreach i,$$($1_ALL_COPIES),$$(eval $$(call add_file_to_copy,$1,$$i))) - # Now we can depend on $$($1_ALL_COPY_TARGETS) to copy all files! - endif + # Copy must also respect filters. + ifneq (,$$($1_INCLUDES)) + $1_ALL_COPIES := $$(filter $$($1_SRC_INCLUDES),$$($1_ALL_COPIES)) + endif + ifneq (,$$($1_EXCLUDES)) + $1_ALL_COPIES := $$(filter-out $$($1_SRC_EXCLUDES),$$($1_ALL_COPIES)) + endif + ifneq (,$$($1_EXCLUDE_FILES)) + $1_ALL_COPIES := $$(filter-out $$($1_EXCLUDE_FILES_PATTERN),$$($1_ALL_COPIES)) + endif + ifneq (,$$($1_ALL_COPIES)) + # Yep, there are files to be copied! + $1_ALL_COPY_TARGETS:= + $$(foreach i,$$($1_ALL_COPIES),$$(eval $$(call add_file_to_copy,$1,$$i))) + # Now we can depend on $$($1_ALL_COPY_TARGETS) to copy all files! + endif # Find all property files to be copied and cleaned from source to bin. ifneq (,$$($1_CLEAN)$$($1_CLEAN_FILES)) @@ -535,9 +556,14 @@ $1_SJAVAC:=$$(subst com.sun.tools.javac.Main,com.sun.tools.sjavac.Main,$$($1_JAVAC)) # Set the $1_REMOTE to spawn a background javac server. - $1_REMOTE:=--server:portfile=$$($1_SJAVAC_PORTFILE),id=$1,sjavac=$$(subst $$(SPACE),%20,$$(subst $$(COMMA),%2C,$$(strip $$($1_SERVER_JVM) $$($1_SJAVAC)))) + $1_REMOTE:=--server:portfile=$$($1_SJAVAC_PORTFILE),id=$1,sjavac=$$(subst \ + $$(SPACE),%20,$$(subst $$(COMMA),%2C,$$(strip $$($1_SERVER_JVM) $$($1_SJAVAC)))) - $$($1_BIN)/_the.$1_batch: $$($1_SRCS) $$($1_DEPENDS) + $1_VARDEPS := $$($1_JVM) $$($1_SJAVAC) $$($1_SJAVAC_ARGS) $$($1_FLAGS) \ + $$($1_HEADERS_ARG) $$($1_BIN) + $1_VARDEPS_FILE := $$(call DependOnVariable, $1_VARDEPS, $$($1_BIN)/_the.$1.vardeps) + + $$($1_BIN)/_the.$1_batch: $$($1_SRCS) $$($1_DEPENDS) $$($1_VARDEPS_FILE) $(MKDIR) -p $$(@D) $$(dir $$($1_SJAVAC_PORTFILE)) # As a workaround for sjavac not tracking api changed from the classpath, force full # recompile if an external dependency, which is something other than a source @@ -592,8 +618,11 @@ $1_HEADER_TARGETS := $$($1_HEADERS)/_the.$1_headers endif + $1_VARDEPS := $$($1_JVM) $$($1_JAVAC) $$($1_FLAGS) $$($1_BIN) $$($1_HEADERS_ARG) + $1_VARDEPS_FILE := $$(call DependOnVariable, $1_VARDEPS, $$($1_BIN)/_the.$1.vardeps) + # When not using sjavac, pass along all sources to javac using an @file. - $$($1_BIN)/_the.$1_batch: $$($1_SRCS) $$($1_DEPENDS) + $$($1_BIN)/_the.$1_batch: $$($1_SRCS) $$($1_DEPENDS) $$($1_VARDEPS_FILE) $(MKDIR) -p $$(@D) $(RM) $$($1_BIN)/_the.$1_batch $$($1_BIN)/_the.$1_batch.tmp $$(call ListPathsSafely,$1_SRCS,\n, >> $$($1_BIN)/_the.$1_batch.tmp) @@ -659,4 +688,5 @@ $(if $(findstring yes, $(ENABLE_SJAVAC)), $(strip $2)/_the.$(strip $1)_pubapi, \ $(strip $2)/_the.$(strip $1)_batch) endef -endif + +endif # _JAVA_COMPILATION_GMK diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jdk9-0064e246d83f/make/common/MakeBase.gmk new/jdk9-d1f37d39ff24/make/common/MakeBase.gmk --- old/jdk9-0064e246d83f/make/common/MakeBase.gmk 2015-01-25 08:22:16.000000000 +0100 +++ new/jdk9-d1f37d39ff24/make/common/MakeBase.gmk 2015-02-06 00:41:43.000000000 +0100 @@ -349,7 +349,7 @@ # (and causing a crash on Cygwin). # Default shell seems to always be /bin/sh. Must override with bash to get this to work on Solaris. # Only use time if it's GNU time which supports format and output file. - WRAPPER_SHELL:=$$(BASH) $$(SRC_ROOT)/common/bin/shell-tracer.sh $$(if $$(findstring yes,$$(IS_GNU_TIME)),$$(TIME),-) $$(OUTPUT_ROOT)/build-trace-time.log $$(BASH) + WRAPPER_SHELL:=$$(BASH) $$(SRC_ROOT)/common/bin/shell-tracer.sh $$(if $$(findstring yes,$$(IS_GNU_TIME)),$$(TIME),-) $$(OUTPUT_ROOT)/build-trace-time.log $$(SHELL) SHELL=$$(warning $$(if $$@,Building $$@,Running shell command) $$(if $$<, (from $$<))$$(if $$?, ($$(wordlist 1, 20, $$?) $$(if $$(wordlist 21, 22, $$?), ... [in total $$(words $$?) files]) newer)))$$(WRAPPER_SHELL) endif # Never remove warning messages; this is just for completeness @@ -392,11 +392,9 @@ endef # Make directory without forking mkdir if not needed -define MakeDir - ifneq ($$(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) - endif -endef +MakeDir = \ + $(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))) ifeq ($(OPENJDK_TARGET_OS),solaris) # On Solaris, if the target is a symlink and exists, cp won't overwrite. @@ -446,6 +444,11 @@ # Filter out duplicate sub strings while preserving order. Keeps the first occurance. uniq = $(if $1,$(firstword $1) $(call uniq,$(filter-out $(firstword $1),$1))) +# String equals +equals = \ + $(and $(findstring $(strip $1),$(strip $2)),\ + $(findstring $(strip $2),$(strip $1))) + ifneq ($(DISABLE_CACHE_FIND), true) ################################################################################ # In Cygwin, finds are very costly, both because of expensive forks and because @@ -543,6 +546,80 @@ endef ################################################################################ +# ShellQuote +# +# Quotes a string with single quotes and replaces single quotes with '\'' so +# that the contents survives being given to the shell. + +ShellQuote = \ + $(SQUOTE)$(subst $(SQUOTE),$(SQUOTE)\$(SQUOTE)$(SQUOTE),$(strip $1))$(SQUOTE) + +################################################################################ +# Write to and read from file + +# Param 1 - File to read +ReadFile = \ + $(shell $(CAT) $1) + +# Param 1 - Text to write +# Param 2 - File to write to +# Use printf to get consistent behavior on all platforms. +WriteFile = \ + $(shell $(PRINTF) "%s" $(call ShellQuote, $1) > $2) + +################################################################################ +# DependOnVariable +# +# This macro takes a variable name and puts the value in a file only if the +# value has changed since last. The name of the file is returned. This can be +# used to create rule dependencies on make variable values. The following +# example would get rebuilt if the value of SOME_VAR was changed: +# +# path/to/some-file: $(call DependOnVariable, SOME_VAR) +# echo $(SOME_VAR) > $@ +# +# Note that leading and trailing white space in the value is ignored. +# + +# Defines the sub directory structure to store variable value file in +DependOnVariableDirName = \ + $(strip $(subst $(SRC_ROOT)/,,\ + $(if $(filter /%, $(firstword $(MAKEFILE_LIST))), \ + $(firstword $(MAKEFILE_LIST)), \ + $(CURDIR)/$(firstword $(MAKEFILE_LIST))))) + +# Defines the name of the file to store variable value in. Generates a name +# unless parameter 2 is given. +# Param 1 - Name of variable +# Param 2 - (optional) name of file to store value in +DependOnVariableFileName = \ + $(strip $(if $(strip $2), $2, \ + $(MAKESUPPORT_OUTPUTDIR)/vardeps/$(DependOnVariableDirName)/$(strip $1).vardeps)) + +# Does the actual work with parameters stripped. +# If the file exists AND the contents is the same as the variable, do nothing +# else print a new file. +# Always returns the name of the file where the value was printed. +# Param 1 - Name of variable +# Param 2 - (optional) name of file to store value in +DependOnVariableHelper = \ + $(strip $(if $(and $(wildcard $(call DependOnVariableFileName, $1, $2)),\ + $(call equals, $(strip $($1)), \ + $(call ReadFile, $(call DependOnVariableFileName, $1, $2)))),,\ + $(call MakeDir, $(dir $(call DependOnVariableFileName, $1, $2))) \ + $(if $(findstring $(LOG_LEVEL), trace), \ + $(info Variable $1: >$(strip $($1))<) \ + $(info File: >$(call ReadFile, $(call DependOnVariableFileName, $1, $2))<)) \ + $(call WriteFile, $($1), $(call DependOnVariableFileName, $1, $2))) \ + $(call DependOnVariableFileName, $1, $2)) + +# Main macro +# Param 1 - Name of variable +# Param 2 - (optional) name of file to store value in +DependOnVariable = \ + $(call DependOnVariableHelper,$(strip $1),$(strip $2)) + +################################################################################ # Hook to include the corresponding custom file, if present. $(eval $(call IncludeCustomExtension, , common/MakeBase.gmk)) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jdk9-0064e246d83f/make/common/NativeCompilation.gmk new/jdk9-d1f37d39ff24/make/common/NativeCompilation.gmk --- old/jdk9-0064e246d83f/make/common/NativeCompilation.gmk 2015-01-25 08:22:16.000000000 +0100 +++ new/jdk9-d1f37d39ff24/make/common/NativeCompilation.gmk 2015-02-06 00:41:43.000000000 +0100 @@ -114,7 +114,7 @@ endif endif - $$($1_$2_OBJ) : $2 | $$($1_BUILD_INFO) + $$($1_$2_OBJ) : $2 $$($1_COMPILE_VARDEPS_FILE) | $$($1_BUILD_INFO) $(ECHO) $(LOG_INFO) "Compiling $$(notdir $2) (for $$(notdir $$($1_TARGET)))" ifneq ($(TOOLCHAIN_TYPE), microsoft) # The Solaris studio compiler doesn't output the full path to the object file in the @@ -133,7 +133,8 @@ ($$($1_$2_COMP) $$($1_$2_FLAGS) -showIncludes $$($1_$2_DEBUG_OUT_FLAGS) \ $(CC_OUT_OPTION)$$($1_$2_OBJ) $2 ; echo $$$$? > $$($1_$2_DEP).exitvalue) \ | $(TEE) $$($1_$2_DEP).raw | $(GREP) -v -e "^Note: including file:" \ - -e "^$(notdir $2)$$$$" ; exit `cat $$($1_$2_DEP).exitvalue` + -e "^$(notdir $2)$$$$" || test "$$$$?" = "1" ; \ + exit `cat $$($1_$2_DEP).exitvalue` $(RM) $$($1_$2_DEP).exitvalue ($(ECHO) $$@: \\ \ && $(SED) $(WINDOWS_SHOWINCLUDE_SED_PATTERN) $$($1_$2_DEP).raw) > $$($1_$2_DEP) @@ -306,7 +307,7 @@ endif # Make sure the dirs exist. - $$(eval $$(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))) # Find all files in the source trees. Sort to remove duplicates. @@ -426,15 +427,16 @@ $1_BUILD_INFO := $$($1_OBJECT_DIR)/_build-info.marker - # Setup rule for printing progress info when compiling source files. - # This is a rough heuristic and may not always print accurate information. - $$($1_BUILD_INFO): $$($1_SRCS) - ifeq ($$(wildcard $$($1_TARGET)),) - $(ECHO) 'Creating $$($1_BASENAME) from $$(words $$?) file(s)' - else - $(ECHO) 'Updating $$($1_BASENAME) from $$(words $$?) file(s)' - endif - $(TOUCH) $$@ + # 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 + # 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) \ + $$($1_CC) $$($1_CXX) $$($1_OBJC) $$($1_ASFLAGS) \ + $$(foreach s, $$($1_SRCS), \ + $$($1_$$(notdir $$s)_CFLAGS) $$($1_$$(notdir $$s)_CXXFLAGS)) + $1_COMPILE_VARDEPS_FILE := $$(call DependOnVariable, $1_COMPILE_VARDEPS, \ + $$($1_OBJECT_DIR)/$$($1_NOSUFFIX).comp.vardeps) # Now call add_native_source for each source file we are going to compile. $$(foreach p,$$($1_SRCS), \ @@ -444,13 +446,28 @@ $$($1_CXXFLAGS) $$($1_EXTRA_CXXFLAGS) $(SYSROOT_CFLAGS), \ $$($1_CXX),$$($1_OBJC),$$($1_ASFLAGS)))) + # Setup rule for printing progress info when compiling source files. + # This is a rough heuristic and may not always print accurate information. + $$($1_BUILD_INFO): $$($1_SRCS) $$($1_COMPILE_VARDEPS_FILE) + 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)' + endif + $(TOUCH) $$@ + # On windows we need to create a resource file ifeq ($(OPENJDK_TARGET_OS), windows) ifneq (,$$($1_VERSIONINFO_RESOURCE)) $1_RES:=$$($1_OBJECT_DIR)/$$($1_BASENAME).res $1_RES_DEP:=$$($1_RES).d -include $$($1_RES_DEP) - $$($1_RES): $$($1_VERSIONINFO_RESOURCE) + + $1_RES_VARDEPS := $(RC) $$($1_RC_FLAGS) + $1_RES_VARDEPS_FILE := $$(call DependOnVariable, $1_RES_VARDEPS, \ + $$($1_RES).vardeps) + + $$($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) # Windows RC compiler does not support -showIncludes, so we mis-use CL for this. @@ -462,7 +479,9 @@ 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_GEN_MANIFEST): $$($1_MANIFEST) + $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 @@ -575,8 +594,13 @@ $1_EXTRA_LDFLAGS_SUFFIX += $(GLOBAL_LDFLAGS_SUFFIX) + $1_VARDEPS := $$($1_LD) $(SYSROOT_LDFLAGS) $$($1_LDFLAGS) $$($1_EXTRA_LDFLAGS) \ + $$($1_LDFLAGS_SUFFIX) $$($1_EXTRA_LDFLAGS_SUFFIX) + $1_VARDEPS_FILE := $$(call DependOnVariable, $1_VARDEPS, \ + $$($1_OBJECT_DIR)/$$($1_NOSUFFIX).vardeps) + $$($1_TARGET): $$($1_EXPECTED_OBJS) $$($1_RES) $$($1_REAL_MAPFILE) \ - $$($1_DEBUGINFO_EXTRA_DEPS) + $$($1_DEBUGINFO_EXTRA_DEPS) $$($1_VARDEPS_FILE) $(ECHO) $(LOG_INFO) "Linking $$($1_BASENAME)" $$($1_LD) $$($1_LDFLAGS) $$($1_EXTRA_LDFLAGS) $(SYSROOT_LDFLAGS) \ $(LD_OUT_OPTION)$$@ \ @@ -592,8 +616,12 @@ endif ifneq (,$$($1_STATIC_LIBRARY)) + $1_VARDEPS := $(AR) $$($1_ARFLAGS) $$($1_LDFLAGS_SUFFIX) $$($1_EXTRA_LDFLAGS_SUFFIX) + $1_VARDEPS_FILE := $$(call DependOnVariable, $1_VARDEPS, \ + $$($1_OBJECT_DIR)/$$($1_NOSUFFIX).vardeps) + # Generating a static library, ie object file archive. - $$($1_TARGET): $$($1_EXPECTED_OBJS) $$($1_RES) + $$($1_TARGET): $$($1_EXPECTED_OBJS) $$($1_RES) $$($1_VARDEPS_FILE) $(ECHO) $(LOG_INFO) "Archiving $$($1_STATIC_LIBRARY)" $(AR) $$($1_ARFLAGS) $(AR_OUT_OPTION)$$($1_TARGET) $$($1_EXPECTED_OBJS) \ $$($1_RES) $$($1_LDFLAGS_SUFFIX) $$($1_EXTRA_LDFLAGS_SUFFIX) @@ -603,8 +631,13 @@ # A executable binary has been specified, setup the target for it. $1_EXTRA_LDFLAGS_SUFFIX += $(GLOBAL_LDFLAGS_SUFFIX) + $1_VARDEPS := $$($1_LDEXE) $(SYSROOT_LDFLAGS) $$($1_LDFLAGS) $$($1_EXTRA_LDFLAGS) \ + $$($1_LDFLAGS_SUFFIX) $$($1_EXTRA_LDFLAGS_SUFFIX) + $1_VARDEPS_FILE := $$(call DependOnVariable, $1_VARDEPS, \ + $$($1_OBJECT_DIR)/$$($1_NOSUFFIX).vardeps) + $$($1_TARGET): $$($1_EXPECTED_OBJS) $$($1_RES) $$($1_GEN_MANIFEST) \ - $$($1_DEBUGINFO_EXTRA_DEPS) + $$($1_DEBUGINFO_EXTRA_DEPS) $$($1_VARDEPS_FILE) $(ECHO) $(LOG_INFO) "Linking executable $$($1_BASENAME)" $$($1_LDEXE) $$($1_LDFLAGS) $$($1_EXTRA_LDFLAGS) $(SYSROOT_LDFLAGS) \ $(EXE_OUT_OPTION)$$($1_TARGET) \ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jdk9-0064e246d83f/make/common/TextFileProcessing.gmk new/jdk9-d1f37d39ff24/make/common/TextFileProcessing.gmk --- old/jdk9-0064e246d83f/make/common/TextFileProcessing.gmk 2015-01-25 08:22:16.000000000 +0100 +++ new/jdk9-d1f37d39ff24/make/common/TextFileProcessing.gmk 2015-02-06 00:41:43.000000000 +0100 @@ -34,7 +34,7 @@ # param 3 = the target base directory # param 4 = the target file name (possibly with a partial path) define SetupSingleTextFileForProcessing - $(strip $3)/$(strip $4): $2 + $(strip $3)/$(strip $4): $2 $$($1_VARDEPS_FILE) $(ECHO) $(LOG_INFO) "Processing $(strip $4)" $(MKDIR) -p '$$(@D)' $(RM) '$$@' '$$@.includes.tmp' '$$@.replacements.tmp' @@ -193,6 +193,9 @@ $1_INCLUDES_COMMAND_LINE := $(CAT) endif + $1_VARDEPS := $$($1_INCLUDES_COMMAND_LINE) $$($1_REPLACEMENTS_COMMAND_LINE) + $1_VARDEPS_FILE := $$(call DependOnVariable, $1_VARDEPS) + # Reset target list before populating it $1 := diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jdk9-0064e246d83f/modules.xml new/jdk9-d1f37d39ff24/modules.xml --- old/jdk9-0064e246d83f/modules.xml 2015-01-25 08:22:16.000000000 +0100 +++ new/jdk9-d1f37d39ff24/modules.xml 2015-02-06 00:41:43.000000000 +0100 @@ -108,6 +108,9 @@ <name>java.security</name> </export> <export> + <name>java.security.acl</name> + </export> + <export> <name>java.security.cert</name> </export> <export> @@ -446,7 +449,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> @@ -891,13 +893,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> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jdk9-0064e246d83f/test/make/TestJavaCompilation.gmk new/jdk9-d1f37d39ff24/test/make/TestJavaCompilation.gmk --- old/jdk9-0064e246d83f/test/make/TestJavaCompilation.gmk 2015-01-25 08:22:16.000000000 +0100 +++ new/jdk9-d1f37d39ff24/test/make/TestJavaCompilation.gmk 2015-02-06 00:41:43.000000000 +0100 @@ -50,6 +50,9 @@ clean-jar1: $(RM) -r $(OUTPUT_DIR)/_jar1* $(OUTPUT_DIR)/jar1* +$(JAR1_MANIFEST): | $(OUTPUT_DIR)/_jar1_created + $(ECHO) "Test-Attribute: value" > $(JAR1_MANIFEST) + $(OUTPUT_DIR)/_jar1_created: $(DEPS) $(RM) -r $(JAR1_SRC_ROOT) $(RM) $(JAR1_FILE) @@ -61,7 +64,6 @@ $(TOUCH) $(JAR1_SRC_ROOT)/dir1/file1.class $(TOUCH) $(JAR1_SRC_ROOT)/dir2/file2.class $(TOUCH) $(JAR1_SRC_ROOT)/META-INF/metafile - $(ECHO) "Test-Attribute: value" > $(JAR1_MANIFEST) $(TOUCH) $@ $(eval $(call SetupArchive,BUILD_JAR1, \ @@ -77,7 +79,7 @@ $(DIFF) -r $(JAR1_SRC_ROOT)/dir1 $(JAR1_UNZIP)/dir1 $(DIFF) -r $(JAR1_SRC_ROOT)/dir2 $(JAR1_UNZIP)/dir2 $(DIFF) -r $(JAR1_SRC_ROOT)/META-INF/metafile $(JAR1_UNZIP)/META-INF/metafile - if [ "`$(GREP) 'Test-Attribute: value' $(JAR1_MANIFEST)`" = "" ]; then \ + if [ "`$(GREP) 'Test-Attribute: value' $(JAR1_UNZIP)/META-INF/MANIFEST.MF`" = "" ]; then \ $(ECHO) "Could not find Test-Attribute in manifest of $(JAR1_FILE)"; \ exit 1; \ fi @@ -88,7 +90,7 @@ # Change a source file and call this makefile again to force the jar to be # updated. -$(OUTPUT_DIR)_jar1_updated: $(OUTPUT_DIR)/_jar1_verified +$(OUTPUT_DIR)/_jar1_updated: $(OUTPUT_DIR)/_jar1_verified $(ECHO) updated > $(JAR1_SRC_ROOT)/dir1/file1.class $(ECHO) updated > $(JAR1_SRC_ROOT)/META-INF/metafile $(TOUCH) $(OUTPUT_DIR)/_jar1_created @@ -96,9 +98,26 @@ $(TOUCH) $@ update-jar1: $(OUTPUT_DIR)_jar1_updated -TEST_TARGETS += $(OUTPUT_DIR)_jar1_updated -.PHONY: clean-jar1 create-jar1 update-jar1 +# Change the manifest file and call this makefile again to force the jar +# to be updated +$(OUTPUT_DIR)/_jar1_updated_manifest: $(OUTPUT_DIR)/_jar1_updated + $(ECHO) "Test-Attribute: foobar" > $(JAR1_MANIFEST) + +$(MAKE) -f $(THIS_FILE) $(BUILD_JAR1) + $(RM) -r $(JAR1_UNZIP) + $(MKDIR) -p $(JAR1_UNZIP) + $(CD) $(JAR1_UNZIP) && $(UNZIP) $(JAR1_FILE) $(LOG_DEBUG) + if [ "`$(GREP) 'Test-Attribute: foobar' $(JAR1_UNZIP)/META-INF/MANIFEST.MF`" = "" ]; then \ + $(ECHO) "Could not find Test-Attribute in manifest of $(JAR1_FILE)"; \ + exit 1; \ + fi + $(TOUCH) $@ + +update-jar1-manifest: $(OUTPUT_DIR)/_jar1_updated_manifest + +TEST_TARGETS += $(OUTPUT_DIR)/_jar1_updated $(OUTPUT_DIR)/_jar1_updated_manifest + +.PHONY: clean-jar1 create-jar1 update-jar1 update-jar1-manifest ################################################################################ # Test: jar2 @@ -139,14 +158,14 @@ create-jar2: $(OUTPUT_DIR)/_jar2_verified TEST_TARGETS += $(OUTPUT_DIR)/_jar2_verified -$(OUTPUT_DIR)_jar2_updated: $(OUTPUT_DIR)/_jar2_verified +$(OUTPUT_DIR)/_jar2_updated: $(OUTPUT_DIR)/_jar2_verified $(ECHO) updated > $(JAR2_SRC_ROOT1)/dir1/file1.class $(TOUCH) $(OUTPUT_DIR)/_jar2_created +$(MAKE) -f $(THIS_FILE) $(OUTPUT_DIR)/_jar2_verified $(TOUCH) $@ -update-jar2: $(OUTPUT_DIR)_jar2_updated -TEST_TARGETS += $(OUTPUT_DIR)_jar2_updated +update-jar2: $(OUTPUT_DIR)/_jar2_updated +TEST_TARGETS += $(OUTPUT_DIR)/_jar2_updated .PHONY: clean-jar2 create-jar2 update-jar2 @@ -200,14 +219,14 @@ create-jar3: $(OUTPUT_DIR)/_jar3_verified TEST_TARGETS += $(OUTPUT_DIR)/_jar3_verified -$(OUTPUT_DIR)_jar3_updated: $(OUTPUT_DIR)/_jar3_verified +$(OUTPUT_DIR)/_jar3_updated: $(OUTPUT_DIR)/_jar3_verified $(ECHO) updated > $(JAR3_SRC_ROOT2)/extra-file $(TOUCH) $(OUTPUT_DIR)/_jar3_created +$(MAKE) -f $(THIS_FILE) $(OUTPUT_DIR)/_jar3_verified $(TOUCH) $@ -update-jar3: $(OUTPUT_DIR)_jar3_updated -TEST_TARGETS += $(OUTPUT_DIR)_jar3_updated +update-jar3: $(OUTPUT_DIR)/_jar3_updated +TEST_TARGETS += $(OUTPUT_DIR)/_jar3_updated .PHONY: clean-jar3 create-jar3 update-jar3 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jdk9-0064e246d83f/test/make/TestMakeBase.gmk new/jdk9-d1f37d39ff24/test/make/TestMakeBase.gmk --- old/jdk9-0064e246d83f/test/make/TestMakeBase.gmk 2015-01-25 08:22:16.000000000 +0100 +++ new/jdk9-d1f37d39ff24/test/make/TestMakeBase.gmk 2015-02-06 00:41:43.000000000 +0100 @@ -33,7 +33,14 @@ $(SRC_ROOT)/make/common/MakeBase.gmk \ # +# On macosx, file system timestamps only have 1 second resultion so must add +# sleeps to properly test dependencies. +ifeq ($(OPENJDK_BUILD_OS), macosx) + SLEEP_ON_MAC := sleep 1 +endif + OUTPUT_DIR := $(TESTMAKE_OUTPUTDIR)/make-base +$(call MakeDir, $(OUTPUT_DIR)) ################################################################################ # Escape $ @@ -56,5 +63,124 @@ TEST_TARGETS += $(ESCAPE_DOLLAR_DIR)/_escape_dollar ################################################################################ +# Test Equals + +EQUALS_VALUE1 := value1$(SPACE) +EQUALS_VALUE2 := value2 + +ifneq ($(call equals, $(EQUALS_VALUE1), $(EQUALS_VALUE2)), ) + $(error The strings >$(EQUALS_VALUE1)< and >$(EQUALS_VALUE2)< are equal) +endif + +ifeq ($(call equals, $(EQUALS_VALUE1), $(EQUALS_VALUE1)), ) + $(error The strings >$(EQUALS_VALUE1)< and >$(EQUALS_VALUE1)< are not equal) +endif + +################################################################################ +# Test ShellQuote + +SHELL_QUOTE_VALUE := foo '""' "''" bar +SHELL_QUOTE_RESULT := $(shell $(ECHO) $(call ShellQuote, \ + $(SHELL_QUOTE_VALUE))) + +ifneq ($(SHELL_QUOTE_VALUE), $(SHELL_QUOTE_RESULT)) + $(error Expected: >$(SHELL_QUOTE_VALUE)< - Result: >$(SHELL_QUOTE_RESULT)<) +endif + +################################################################################ +# Test read and write to file + +READ_WRITE_FILE := $(OUTPUT_DIR)/read-write +READ_WRITE_VALUE := foo '""' "''" \t\n\\ bar +$(call WriteFile, $(READ_WRITE_VALUE), $(READ_WRITE_FILE)) +READ_WRITE_RESULT := $(call ReadFile, $(READ_WRITE_FILE)) + +ifneq ($(READ_WRITE_VALUE), $(READ_WRITE_RESULT)) + $(error Expected: >$(READ_WRITE_VALUE)< - Result: >$(READ_WRITE_RESULT)<) +endif + +################################################################################ +# Test creating dependencies on make variables + +VARDEP_DIR := $(OUTPUT_DIR)/vardep +VARDEP_SRC_FILE := $(VARDEP_DIR)/src-file +VARDEP_TARGET_FILE := $(VARDEP_DIR)/target-file +VARDEP_FLAG_FILE := $(VARDEP_DIR)/flag-file + +$(VARDEP_DIR)/src-file: + $(MKDIR) -p $(@D) + $(ECHO) "some string XXX" > $@ + +$(VARDEP_TARGET_FILE): $(VARDEP_DIR)/src-file \ + $(call DependOnVariable, VARDEP_TEST_VAR) + $(MKDIR) -p $(@D) + $(SED) -e 's/XXX/$(VARDEP_TEST_VAR)/g' $< > $@ + $(TOUCH) $(VARDEP_FLAG_FILE) + +test-vardep: + $(RM) $(VARDEP_SRC_FILE) $(VARDEP_TARGET_FILE) $(VARDEP_FLAG_FILE) + # + # Simply create the target file and verify that it has the correct value + # + $(MAKE) -f $(THIS_FILE) VARDEP_TEST_VAR=value1 $(VARDEP_TARGET_FILE) + $(PRINTF) "Expecting value1: %s\n" "`$(CAT) $(VARDEP_DIR)/target-file`" + test "some string value1" = "`$(CAT) $(VARDEP_DIR)/target-file`" + test -e $(VARDEP_FLAG_FILE) + # + # Make the target file again and verify that the value is updated with + # the new value + # + $(SLEEP_ON_MAC) + $(MAKE) -f $(THIS_FILE) VARDEP_TEST_VAR=value2 $(VARDEP_TARGET_FILE) + $(PRINTF) "Expecting value2: %s\n" "`$(CAT) $(VARDEP_DIR)/target-file`" + test "some string value2" = "`$(CAT) $(VARDEP_DIR)/target-file`" + test -e $(VARDEP_FLAG_FILE) + # + # Make the target again with the same value and verify that the recipe + # was never run by checking that the flag file was not recreated + # + $(SLEEP_ON_MAC) + $(RM) $(VARDEP_FLAG_FILE) + $(MAKE) -f $(THIS_FILE) VARDEP_TEST_VAR=value2 $(VARDEP_TARGET_FILE) + $(PRINTF) "Expecting value2: %s\n" "`$(CAT) $(VARDEP_DIR)/target-file`" + test "some string value2" = "`$(CAT) $(VARDEP_DIR)/target-file`" + test ! -e $(VARDEP_FLAG_FILE) + # + # Test running with spaces at the end and the middle of the value + # and verify that the file isn't rewritten the second time + # + $(MAKE) -f $(THIS_FILE) VARDEP_TEST_VAR="value3 foo " $(VARDEP_TARGET_FILE) + $(RM) $(VARDEP_FLAG_FILE) + $(MAKE) -f $(THIS_FILE) VARDEP_TEST_VAR="value3 foo" $(VARDEP_TARGET_FILE) + test ! -e $(VARDEP_FLAG_FILE) + $(MAKE) -f $(THIS_FILE) VARDEP_TEST_VAR=" value3 foo" $(VARDEP_TARGET_FILE) + test ! -e $(VARDEP_FLAG_FILE) + +# Test specifying a specific value file to store variable in +VARDEP_VALUE_FILE := $(VARDEP_DIR)/value-file +VARDEP_TEST_VAR2 := value3 + +VARDEP_RETURN_VALUE := $(call DependOnVariable, VARDEP_TEST_VAR2, $(VARDEP_VALUE_FILE)) +ifneq ($(VARDEP_VALUE_FILE), $(VARDEP_RETURN_VALUE)) + $(error Expected: $(VARDEP_VALUE_FILE) - DependOnVariable: $(VARDEP_RETURN_VALUE)) +endif +VARDEP_FILE_CONTENTS := $(shell $(CAT) $(VARDEP_VALUE_FILE)) +ifneq ($(VARDEP_TEST_VAR2), $(VARDEP_FILE_CONTENTS)) + $(error Expected: $(VARDEP_TEST_VAR2) - DependOnVariable file contained: \ + $(VARDEP_FILE_CONTENTS)) +endif + +# Test with a variable value containing some problematic characters +VARDEP_TEST_VAR3 := foo '""' "''" bar +VARDEP_VALUE_FILE := $(call DependOnVariable, VARDEP_TEST_VAR3) +VARDEP_FILE_CONTENTS := $(shell $(CAT) $(VARDEP_VALUE_FILE)) +ifneq ($(VARDEP_TEST_VAR3), $(VARDEP_FILE_CONTENTS)) + $(error Expected: >$(VARDEP_TEST_VAR3)< - DependOnVariable file contained: \ + >$(VARDEP_FILE_CONTENTS)<) +endif + +TEST_TARGETS += test-vardep + +################################################################################ all: $(TEST_TARGETS) ++++++ 0064e246d83f.tar.bz2 -> e0947f58c9c1.tar.bz2 ++++++ /work/SRC/openSUSE:Factory/java-1_9_0-openjdk/0064e246d83f.tar.bz2 /work/SRC/openSUSE:Factory/.java-1_9_0-openjdk.new/e0947f58c9c1.tar.bz2 differ: char 11, line 1 ++++++ 0064e246d83f.tar.bz2 -> f6b8edd397ee.tar.bz2 ++++++ /work/SRC/openSUSE:Factory/java-1_9_0-openjdk/0064e246d83f.tar.bz2 /work/SRC/openSUSE:Factory/.java-1_9_0-openjdk.new/f6b8edd397ee.tar.bz2 differ: char 11, line 1 ++++++ fix-system-jpeg-loading.patch ++++++ --- jdk9/jdk/make/lib/Awt2dLibraries.gmk 2015-02-06 00:43:20.000000000 +0100 +++ jdk9/jdk/make/lib/Awt2dLibraries.gmk 2015-02-17 16:35:03.242205439 +0100 @@ -476,7 +476,7 @@ ifeq ($(USE_EXTERNAL_LIBJPEG), true) LIBJPEG_LIBS := -ljpeg BUILD_LIBJAVAJPEG_INCLUDE_FILES := \ - imageIOJPEG.c \ + imageioJPEG.c \ jpegdecoder.c BUILD_LIBJAVAJPEG_HEADERS := else -- To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-commit+help@opensuse.org
participants (1)
-
root@hilbert.suse.de