--- a/jdk/make/common/internal/Resources.gmk Thu Oct 07 15:12:19 2010 -0700
+++ b/jdk/make/common/internal/Resources.gmk Tue Oct 12 13:34:59 2010 -0400
@@ -251,13 +251,13 @@
# Make sure the build rule creates all the properties
resources:
-ifneq ($(PROPERTIES_FILES),)
+ifneq ($(strip $(PROPERTIES_FILES)),)
resources: strip_prop_options_clean strip_all_props
clobber clean::
$(RM) $(STRIP_PROP_FILES) $(STRIP_PROP_options)
endif
-ifneq ($(COMPILED_PROPERTIES),)
+ifneq ($(strip $(COMPILED_PROPERTIES)),)
resources: compile_prop_options_clean compile_all_props
clobber clean::
$(RM) $(COMPILE_PROP_JAVA_FILES) $(COMPILE_PROP_options)
--- a/jdk/make/common/shared/Defs-javadoc.gmk Thu Oct 07 15:12:19 2010 -0700
+++ b/jdk/make/common/shared/Defs-javadoc.gmk Tue Oct 12 13:34:59 2010 -0400
@@ -45,7 +45,7 @@
PLUGIN2_FIRST_COPYRIGHT_YEAR = 2007
# Oracle name
-COMPANY_NAME = Oracle and/or its affiliates
+FULL_COMPANY_NAME = Oracle and/or its affiliates
# Copyright address
COMPANY_ADDRESS = 500 Oracle Parkway<br>Redwood Shores, CA 94065 USA.
--- a/jdk/make/common/shared/Defs.gmk Thu Oct 07 15:12:19 2010 -0700
+++ b/jdk/make/common/shared/Defs.gmk Tue Oct 12 13:34:59 2010 -0400
@@ -341,7 +341,33 @@
include $(_PRIVATE_DEFS_FILE)
endif
+# OUTPUTDIR: Location of all output for the build
+ifdef ALT_OUTPUTDIR
+ OUTPUTDIR:=$(subst \,/,$(ALT_OUTPUTDIR))
+ # Assumes this is absolute (checks later)
+ ABS_OUTPUTDIR:=$(OUTPUTDIR)
+else
+ ifndef _OUTPUTDIR
+ # Default: Get "build" parent directory, which should always exist
+ ifndef BUILD_PARENT_DIRECTORY
+ BUILD_PARENT_DIRECTORY=$(BUILDDIR)/..
+ endif
+ ifdef OPENJDK
+ _OUTPUTDIRNAME=$(PLATFORM)-$(ARCH)$(OPENJDK_SUFFIX)
+ else
+ _OUTPUTDIRNAME=$(PLATFORM)-$(ARCH)
+ endif
+ _OUTPUTDIR=$(BUILD_PARENT_DIRECTORY)/build/$(_OUTPUTDIRNAME)
+ endif
+ OUTPUTDIR:=$(_OUTPUTDIR)
+endif
+# Check for spaces and null value
+OUTPUTDIR:=$(call AltCheckSpaces,OUTPUTDIR)
+OUTPUTDIR:=$(call AltCheckValue,OUTPUTDIR)
+
# Get platform specific settings
+# NB: OUTPUTDIR must be defined. Otherwise hotspot import detection will not work correctly
+# On other hand this must be included early as it provides platform specific defines such as FullPath
include $(JDK_MAKE_SHARED_DIR)/Defs-$(PLATFORM).gmk
# Components
@@ -478,32 +504,6 @@
CACERTS_FILE:=$(call AltCheckSpaces,CACERTS_FILE)
CACERTS_FILE:=$(call AltCheckValue,CACERTS_FILE)
-# OUTPUTDIR: Location of all output for the build
-ifdef ALT_OUTPUTDIR
- OUTPUTDIR:=$(subst \,/,$(ALT_OUTPUTDIR))
- # Assumes this is absolute (checks later)
- ABS_OUTPUTDIR:=$(OUTPUTDIR)
-else
- ifndef _OUTPUTDIR
- # Default: Get "build" parent directory, which should always exist
- ifndef BUILD_PARENT_DIRECTORY
- BUILD_PARENT_DIRECTORY=$(BUILDDIR)/..
- endif
- ABS_BUILD_PARENT_DIRECTORY:=$(call FullPath,$(BUILD_PARENT_DIRECTORY))
- ifdef OPENJDK
- _OUTPUTDIRNAME=$(PLATFORM)-$(ARCH)$(OPENJDK_SUFFIX)
- else
- _OUTPUTDIRNAME=$(PLATFORM)-$(ARCH)
- endif
- _OUTPUTDIR=$(BUILD_PARENT_DIRECTORY)/build/$(_OUTPUTDIRNAME)
- ABS_OUTPUTDIR:=$(ABS_BUILD_PARENT_DIRECTORY)/build/$(_OUTPUTDIRNAME)
- endif
- OUTPUTDIR:=$(_OUTPUTDIR)
-endif
-# Check for spaces and null value
-OUTPUTDIR:=$(call AltCheckSpaces,OUTPUTDIR)
-OUTPUTDIR:=$(call AltCheckValue,OUTPUTDIR)
-
#
# When signing the JCE framework and provider, we could be using built
# bits on a read-only filesystem. If so, this test will fail and crash
@@ -519,7 +519,13 @@
# Define absolute path if needed and check for spaces and null value
ifndef ABS_OUTPUTDIR
- ABS_OUTPUTDIR:=$(call FullPath,$(OUTPUTDIR))
+ ifdef _OUTPUTDIRNAME
+ #Could not define this at the same time as _OUTPUTDIRNAME as FullPath is not defined at that point
+ ABS_BUILD_PARENT_DIRECTORY:=$(call FullPath,$(BUILD_PARENT_DIRECTORY))
+ ABS_OUTPUTDIR:=$(ABS_BUILD_PARENT_DIRECTORY)/build/$(_OUTPUTDIRNAME)
+ else
+ ABS_OUTPUTDIR:=$(call FullPath,$(OUTPUTDIR))
+ endif
endif
ABS_OUTPUTDIR:=$(call AltCheckSpaces,ABS_OUTPUTDIR)
ABS_OUTPUTDIR:=$(call AltCheckValue,ABS_OUTPUTDIR)
@@ -572,10 +578,23 @@
ANT_HOME := $(call DirExists,$(JDK_DEVTOOLS_DIR)/share/ant/latest,,)
endif
endif
+
+# There are few problems with ant we need to workaround:
+# 1) ant is using temporary directory java.io.tmpdir
+# However, this directory is not unique enough and two separate ant processes
+# can easily end up using the exact same temp directory. This may lead to weird build failures
+# To workaround this we will define tmp dir explicitly
+# 2) ant attempts to detect JDK location based on java.exe location
+# This is fragile as developer may have JRE first on the PATH.
+# To workaround this we will specify JAVA_HOME explicitly
+
+ANT_TMPDIR = $(ABS_OUTPUTDIR)/tmp
+ANT_WORKAROUNDS = ANT_OPTS=-Djava.io.tmpdir='$(ANT_TMPDIR)' JAVA_HOME='$(BOOTDIR)'
+
ifeq ($(ANT_HOME),)
- ANT = ant
+ ANT = $(ANT_WORKAROUNDS) ant
else
- ANT = $(ANT_HOME)/bin/ant
+ ANT = $(ANT_WORKAROUNDS) $(ANT_HOME)/bin/ant
endif
ifdef ALT_COPYRIGHT_YEAR
--- a/jdk/make/docs/Makefile Thu Oct 07 15:12:19 2010 -0700
+++ b/jdk/make/docs/Makefile Tue Oct 12 13:34:59 2010 -0400
@@ -57,7 +57,7 @@
# Common Java trademark line
JAVA_TRADEMARK_LINE = Java is a trademark or registered trademark of \
-$(COMPANY_NAME) in the US and other countries.
+$(FULL_COMPANY_NAME) in the US and other countries.
#
# Definitions for imported components