aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorkatleman <none@none>2013-02-05 18:54:09 -0800
committerkatleman <none@none>2013-02-05 18:54:09 -0800
commit8169bc52cad2541ce5da830be9616efe7f6513fb (patch)
treefb4be00d9d85d41f3aea9f2bb5600079c284bd20
parente2356e8bd644726c7efeb312000fe6a19e1fcee8 (diff)
parent06fac20c6abfc48fe334ec80a8e99e854381cbc9 (diff)
-rw-r--r--common/autoconf/generated-configure.sh11
-rw-r--r--common/autoconf/spec.gmk.in6
-rw-r--r--common/makefiles/IdlCompilation.gmk2
-rw-r--r--common/makefiles/JavaCompilation.gmk16
-rw-r--r--common/makefiles/Jprt.gmk45
-rw-r--r--common/makefiles/Main.gmk9
-rw-r--r--common/makefiles/javadoc/Javadoc.gmk9
7 files changed, 70 insertions, 28 deletions
diff --git a/common/autoconf/generated-configure.sh b/common/autoconf/generated-configure.sh
index 2415b52..d53e56e 100644
--- a/common/autoconf/generated-configure.sh
+++ b/common/autoconf/generated-configure.sh
@@ -3723,7 +3723,7 @@ fi
#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 @@ if test "x$with_milestone" = xyes; then
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
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.
diff --git a/common/autoconf/spec.gmk.in b/common/autoconf/spec.gmk.in
index 5fde9e7..ad88295 100644
--- a/common/autoconf/spec.gmk.in
+++ b/common/autoconf/spec.gmk.in
@@ -434,6 +434,12 @@ NATIVE2ASCII=@FIXPATH@ $(BOOT_JDK)/bin/native2ascii
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.
diff --git a/common/makefiles/IdlCompilation.gmk b/common/makefiles/IdlCompilation.gmk
index 6dc5fee..2eb77dd 100644
--- a/common/makefiles/IdlCompilation.gmk
+++ b/common/makefiles/IdlCompilation.gmk
@@ -71,7 +71,7 @@ define add_idl_package
$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
diff --git a/common/makefiles/JavaCompilation.gmk b/common/makefiles/JavaCompilation.gmk
index 59adc33..2725718 100644
--- a/common/makefiles/JavaCompilation.gmk
+++ b/common/makefiles/JavaCompilation.gmk
@@ -42,8 +42,8 @@ endif
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 @@ define SetupArchive
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 @@ define SetupJavaCompilation
# 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))))
diff --git a/common/makefiles/Jprt.gmk b/common/makefiles/Jprt.gmk
index b8bc418..c70cf88 100644
--- a/common/makefiles/Jprt.gmk
+++ b/common/makefiles/Jprt.gmk
@@ -179,27 +179,52 @@ jprt_bundle: $(JPRT_ARCHIVE_BUNDLE)
$(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
- @$(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 .
+ SRC_JDK_IMAGE_DIR := $(JDK_OVERLAY_IMAGE_DIR)
+ SRC_JRE_IMAGE_DIR := $(JRE_OVERLAY_IMAGE_DIR)
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 .
+ 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
+ $(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
diff --git a/common/makefiles/Main.gmk b/common/makefiles/Main.gmk
index c96747f..ded49ff 100644
--- a/common/makefiles/Main.gmk
+++ b/common/makefiles/Main.gmk
@@ -75,7 +75,14 @@ ifeq ($(OPENJDK_TARGET_OS)-$(OPENJDK_TARGET_CPU_BITS),solaris-64)
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
diff --git a/common/makefiles/javadoc/Javadoc.gmk b/common/makefiles/javadoc/Javadoc.gmk
index 6b88a06..1d79812 100644
--- a/common/makefiles/javadoc/Javadoc.gmk
+++ b/common/makefiles/javadoc/Javadoc.gmk
@@ -46,14 +46,11 @@ HOTSPOT_DOCS_IMPORT_PATH=$(HOTSPOT_OUTPUTDIR)/docs
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)