Merge
authorduke
Wed, 05 Jul 2017 18:38:46 +0200
changeset 15400 f3a7c69aca52
parent 15399 faf3f7a9a86f (current diff)
parent 15398 6bb57fea1027 (diff)
child 15406 572f78efdc0c
Merge
--- a/.hgtags-top-repo	Thu Jan 31 17:04:28 2013 -0800
+++ b/.hgtags-top-repo	Wed Jul 05 18:38:46 2017 +0200
@@ -196,3 +196,4 @@
 c1be681d80a1f1c848dc671d664fccb19e046a12 jdk8-b72
 93b9664f97eeb6f89397a8842318ebacaac9feb9 jdk8-b73
 b43aa5bd8ca5c8121336495382d35ecfa7a71536 jdk8-b74
+2a713921952cbd77a1e699626976cb6cdfe3e57e jdk8-b75
--- a/common/autoconf/generated-configure.sh	Thu Jan 31 17:04:28 2013 -0800
+++ b/common/autoconf/generated-configure.sh	Wed Jul 05 18:38:46 2017 +0200
@@ -3723,7 +3723,7 @@
 #CUSTOM_AUTOCONF_INCLUDE
 
 # Do not change or remove the following line, it is needed for consistency checks:
-DATE_WHEN_GENERATED=1359376859
+DATE_WHEN_GENERATED=1359971740
 
 ###############################################################################
 #
@@ -10778,7 +10778,8 @@
   as_fn_error $? "Milestone must have a value" "$LINENO" 5
 elif test "x$with_milestone" != x; then
     MILESTONE="$with_milestone"
-else
+fi
+if test "x$MILESTONE" = x; then
   MILESTONE=internal
 fi
 
@@ -29247,6 +29248,12 @@
 fi
 
 
+# AC_PATH_XTRA creates X_LIBS and sometimes adds -R flags. When cross compiling
+# this doesn't make sense so we remove it.
+if test "x$COMPILE_TYPE" = xcross; then
+  X_LIBS=`$ECHO $X_LIBS | $SED 's/-R \{0,1\}[^ ]*//g'`
+fi
+
 if test "x$no_x" = xyes && test "x$X11_NOT_NEEDED" != xyes; then
 
     # Print a helpful message on how to acquire the necessary build dependency.
--- a/common/autoconf/spec.gmk.in	Thu Jan 31 17:04:28 2013 -0800
+++ b/common/autoconf/spec.gmk.in	Wed Jul 05 18:38:46 2017 +0200
@@ -434,6 +434,12 @@
 
 JARSIGNER=@FIXPATH@ $(BOOT_JDK)/bin/jarsigner
 
+# You run the new javac using the boot jdk with $(BOOT_JDK)/bin/java $(NEW_JAVAC) ...
+BOOTSTRAP_JAVAC_JAR:=$(LANGTOOLS_OUTPUTDIR)/dist/bootstrap/lib/javac.jar
+BOOTSTRAP_JAVAC_ARGS:="-Xbootclasspath/p:$(BOOTSTRAP_JAVAC_JAR)" -cp $(BOOTSTRAP_JAVAC_JAR)
+NEW_JAVAC   = $(BOOTSTRAP_JAVAC_ARGS) com.sun.tools.javac.Main
+NEW_JAVADOC = $(BOOTSTRAP_JAVAC_ARGS) com.sun.tools.javadoc.Main
+
 # Base flags for RC
 # Guarding this against resetting value. Legacy make files include spec multiple
 # times.
--- a/common/makefiles/IdlCompilation.gmk	Thu Jan 31 17:04:28 2013 -0800
+++ b/common/makefiles/IdlCompilation.gmk	Wed Jul 05 18:38:46 2017 +0200
@@ -71,7 +71,7 @@
 		$4
 	$(RM) -f $$(addprefix $3/$$($4_TMPDIR)/,$6)
 	$(CP) -rp $3/$$($4_TMPDIR)/* $3
-	($(CD) $3/$$($4_TMPDIR); find . -type f | sed 's!\./!$3/!g' | awk '{ print $$$$1 ": $4" }' > $5)
+	($(CD) $3/$$($4_TMPDIR) && $(FIND) . -type f | $(SED) 's!\./!$3/!g' | $(NAWK) '{ print $$$$1 ": $4" }' > $5)
 	$(RM) -rf $3/$$($4_TMPDIR)
 endef
 
--- a/common/makefiles/JavaCompilation.gmk	Thu Jan 31 17:04:28 2013 -0800
+++ b/common/makefiles/JavaCompilation.gmk	Wed Jul 05 18:38:46 2017 +0200
@@ -42,8 +42,8 @@
 FALSE_FIND_PATTERN:=-name FILE_NAME_THAT_DOESNT_EXIST
 
 define SetupJavaCompiler
-    # param 1 is for example BOOT_JAVAC or NEW_JAVAC
-    # This is the name later used to decide which java compiler to use.
+    # param 1 is for example GENERATE_OLD_BYTECODE or GENERATE_NEW_JDKBYTECODE
+    # This is the name of the compiler setup.
     # param 2-9 are named args.
     #   JVM:=The jvm used to run the javac/javah command
     #   JAVAC:=The javac jar and bootstrap classpath changes, or just bin/javac if JVM is left out
@@ -143,8 +143,8 @@
     ifneq (,$2)
         $1_DEPS:=$2
     else
-        $1_DEPS:=$$(filter $$(addprefix %,$$($1_FIND_PATTERNS)),\
-                    $$(call CacheFind $$($1_SRCS)))
+        $1_DEPS:=$$(filter $$(addprefix %,$$($1_SUFFIXES)),\
+                    $$(call CacheFind,$$($1_SRCS)))
         ifneq (,$$($1_GREP_INCLUDE_PATTERNS))
             $1_DEPS:=$$(filter $$(addsuffix %,$$($1_GREP_INCLUDE_PATTERNS)),$$($1_DEPS))
         endif
@@ -487,10 +487,10 @@
         # Using sjavac to compile. 
         $1 := $$($1_ALL_COPY_TARGETS) $$($1_ALL_COPY_CLEAN_TARGETS) $$($1_BIN)/javac_state
 
-        # Create SJAVAC variable,
-        # expects $1_JAVAC to be "bootclasspathprepend -jar ...javac.jar"
-        # and it is rewritten into "bootclasspathprepend com.sun.tools.sjavac.Main"
-        $1_SJAVAC:=$$(word 1,$$($1_JAVAC)) -cp $$(word 3,$$($1_JAVAC)) com.sun.tools.sjavac.Main
+        # Create SJAVAC variable form JAVAC variable. Expects $1_JAVAC to be 
+        # "bootclasspathprepend -cp .../javac.jar com.sun.tools.javac.Main"
+        # and javac is simply replaced with sjavac.
+        $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))))
--- a/common/makefiles/Jprt.gmk	Thu Jan 31 17:04:28 2013 -0800
+++ b/common/makefiles/Jprt.gmk	Wed Jul 05 18:38:46 2017 +0200
@@ -179,27 +179,52 @@
 $(JPRT_ARCHIVE_BUNDLE): bundles
 	$(MKDIR) -p $(@D)
 	$(RM) $@
-	$(CP) $(BUILD_OUTPUT)/bundles/j2sdk-image.zip $@
+	$(CP) $(BUILD_OUTPUT)/bundles/$(JDK_IMAGE_SUBDIR).zip $@
 
-# This target must be called in the context of a SPEC file
-bundles: all
+ifeq ($(OPENJDK_TARGET_OS)-$(OPENJDK_TARGET_CPU_BITS),solaris-64)
+  SRC_JDK_IMAGE_DIR := $(JDK_OVERLAY_IMAGE_DIR)
+  SRC_JRE_IMAGE_DIR := $(JRE_OVERLAY_IMAGE_DIR)
+else
+  SRC_JDK_IMAGE_DIR := $(JDK_IMAGE_DIR)
+  SRC_JRE_IMAGE_DIR := $(JRE_IMAGE_DIR)
+endif
+SRC_JDK_BUNDLE_DIR := $(JDK_BUNDLE_DIR)
+SRC_JRE_BUNDLE_DIR := $(JRE_BUNDLE_DIR)
+
+# Bundle up the images
+bundles: all bundles-only
+bundles-only: start-make
 	@$(call TargetEnter)
 	$(MKDIR) -p $(BUILD_OUTPUT)/bundles
-ifeq ($(OPENJDK_TARGET_OS)-$(OPENJDK_TARGET_CPU_BITS),solaris-64)
-	$(CD) $(JDK_OVERLAY_IMAGE_DIR) && $(ZIP) -q -r $(BUILD_OUTPUT)/bundles/j2sdk-image.zip .
-	$(CD) $(JRE_OVERLAY_IMAGE_DIR) && $(ZIP) -q -r $(BUILD_OUTPUT)/bundles/j2re-image.zip .
-else
-	$(CD) $(JDK_IMAGE_DIR) && $(ZIP) -q -r $(BUILD_OUTPUT)/bundles/j2sdk-image.zip .
-	$(CD) $(JRE_IMAGE_DIR) && $(ZIP) -q -r $(BUILD_OUTPUT)/bundles/j2re-image.zip .
+	$(CD) $(SRC_JDK_IMAGE_DIR) && $(ZIP) -q -r $(BUILD_OUTPUT)/bundles/$(JDK_IMAGE_SUBDIR).zip .
+	$(CD) $(SRC_JRE_IMAGE_DIR) && $(ZIP) -q -r $(BUILD_OUTPUT)/bundles/$(JRE_IMAGE_SUBDIR).zip .
 	if [ -d  $(BUILD_OUTPUT)/install/bundles ] ; then \
            $(CD) $(BUILD_OUTPUT)/install/bundles && $(ZIP) -q -r $(JPRT_ARCHIVE_INSTALL_BUNDLE) . ; \
         fi
+	@$(call TargetExit)
+
+# Copy images to one unified location regardless of platform etc.
+final-images: all final-images-only
+final-images-only: start-make
+	@$(call TargetEnter)
+	$(RM) -r $(BUILD_OUTPUT)/final-images
+	$(MKDIR) -p $(BUILD_OUTPUT)/final-images/$(JDK_IMAGE_SUBDIR)
+	$(MKDIR) -p $(BUILD_OUTPUT)/final-images/$(JRE_IMAGE_SUBDIR)
+	$(CP) -R -P $(SRC_JDK_IMAGE_DIR)/* $(BUILD_OUTPUT)/final-images/$(JDK_IMAGE_SUBDIR)/
+	$(CP) -R -P $(SRC_JRE_IMAGE_DIR)/* $(BUILD_OUTPUT)/final-images/$(JRE_IMAGE_SUBDIR)/
+ifeq ($(OPENJDK_TARGET_OS),macosx)
+	$(MKDIR) -p $(BUILD_OUTPUT)/final-images/$(JDK_BUNDLE_SUBDIR)
+	$(MKDIR) -p $(BUILD_OUTPUT)/final-images/$(JRE_BUNDLE_SUBDIR)
+	$(CP) -R -P $(SRC_JDK_BUNDLE_DIR)/* $(BUILD_OUTPUT)/final-images/$(JDK_BUNDLE_SUBDIR)/
+	$(CP) -R -P $(SRC_JRE_BUNDLE_DIR)/* $(BUILD_OUTPUT)/final-images/$(JRE_BUNDLE_SUBDIR)/
 endif
 	@$(call TargetExit)
 
+
 # Keep track of phony targets
 PHONY_LIST += jprt_build_product jprt_build_fastdebug jprt_build_debug \
-              jprt_build_generic bundles jprt_bundle
+              jprt_build_generic bundles jprt_bundle \
+              final-images final-images-only
 
 ###########################################################################
 # Phony targets
--- a/common/makefiles/Main.gmk	Thu Jan 31 17:04:28 2013 -0800
+++ b/common/makefiles/Main.gmk	Wed Jul 05 18:38:46 2017 +0200
@@ -75,7 +75,14 @@
   all: overlay-images
 endif
 
-start-make:
+# Setup a rule for SPEC file that fails if executed. This check makes sure the configuration
+# is up to date after changes to configure
+$(SPEC): $(wildcard $(SRC_ROOT)/common/autoconf/*)
+	@$(ECHO) ERROR: $(SPEC) is not up to date
+	@$(ECHO) Please rerun configure!
+	@if test "x$(IGNORE_OLD_CONFIG)" != "xtrue"; then exit 1; fi
+
+start-make: $(SPEC)
 	@$(call AtMakeStart)
 
 langtools: langtools-only
--- a/common/makefiles/javadoc/Javadoc.gmk	Thu Jan 31 17:04:28 2013 -0800
+++ b/common/makefiles/javadoc/Javadoc.gmk	Wed Jul 05 18:38:46 2017 +0200
@@ -46,14 +46,11 @@
 
 BUILD_NUMBER=$(JDK_BUILD_NUMBER)
 
-BOOT_JAVA_CMD=$(JAVA)
-
-JAVADOC_JAR = $(LANGTOOLS_DIST)/bootstrap/lib/javadoc.jar
-JAVADOC_CMD = $(BOOT_JAVA_CMD) \
+JAVADOC_CMD = $(JAVA) \
               -Xmx1024m \
 	      -Djava.awt.headless=true \
-              "-Xbootclasspath/p:$(JAVADOC_JAR)" \
-              -jar $(JAVADOC_JAR) -bootclasspath $(JDK_OUTPUTDIR)/classes
+	      $(NEW_JAVADOC) \
+	      -bootclasspath $(JDK_OUTPUTDIR)/classes
 
 # Copyright year for beginning of Java and some of the apis
 #   (Needed when creating the javadocs)