diff --git a/make/common/internal/Resources.gmk b/make/common/internal/Resources.gmk index 03b90dd740833e5013070b1a7e4cf338fe25625d..63a61188261a806fcd71cd5a556e452f5be00d61 100644 --- a/make/common/internal/Resources.gmk +++ b/make/common/internal/Resources.gmk @@ -251,13 +251,13 @@ compile_all_props: $(COMPILEPROPERTIES_JARFILE) $(COMPILE_PROP_options) # 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) diff --git a/make/common/shared/Defs-javadoc.gmk b/make/common/shared/Defs-javadoc.gmk index 83b3b4aa7066453ebe54c9462e4179611aaa6749..a5ffe8e285ed9bb0ba4cada982bbabed08205cd0 100644 --- a/make/common/shared/Defs-javadoc.gmk +++ b/make/common/shared/Defs-javadoc.gmk @@ -45,7 +45,7 @@ JNLP_FIRST_COPYRIGHT_YEAR = 1998 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
Redwood Shores, CA 94065 USA. diff --git a/make/common/shared/Defs.gmk b/make/common/shared/Defs.gmk index ed32779c8c219c3f93ef1e49032fbab221f412e2..3d4cf62115b64c012076611d48151d7d68b56463 100644 --- a/make/common/shared/Defs.gmk +++ b/make/common/shared/Defs.gmk @@ -341,7 +341,33 @@ dummy:=$(warning "WARNING: Using definitions from $(_PRIVATE_DEFS_FILE)") 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 @@ endif 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 @@ endif # 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 @@ ifeq ($(PLATFORM), windows) 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 diff --git a/make/docs/Makefile b/make/docs/Makefile index a2aaccb130fcf582da1d2617b4a2eb5db4bbb68b..960c99947f3614663af4bb17d8538ef33f54756a 100644 --- a/make/docs/Makefile +++ b/make/docs/Makefile @@ -57,7 +57,7 @@ JLS3_URL = http://java.sun.com/docs/books/jls/ # 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