8129562: JDK 9 build using boot-jdk classes instead of newly compiled classes

Need to specify empty -extdirs and -endorseddirs to javac to avoid loading of boot JDK classes during build.

Reviewed-by: tbell, coffeys, jjg, henryjen
This commit is contained in:
Jan Lahoda 2015-08-10 09:47:35 +02:00
parent ae676b44c4
commit 900dc0a49c

@ -512,8 +512,8 @@ JAVA_MODULES := $(ALL_JAVA_MODULES)
JDK_USER_DEFINED_FILTER := $(strip $(subst $(COMMA),$(SPACE), $(JDK_FILTER)))
# Create an empty directory to set the bootclasspath to.
EMPTY_BOOTCLASSPATH := $(SUPPORT_OUTPUTDIR)/empty-dir
$(call MakeDir, $(EMPTY_BOOTCLASSPATH))
EMPTY_DIR := $(SUPPORT_OUTPUTDIR)/empty-dir
$(call MakeDir, $(EMPTY_DIR))
# This macro sets up compilation of a module and declares dependencies for it.
# Param 1 - module name
@ -534,7 +534,7 @@ define SetupModuleCompilation
$1_CLASSPATH := $$($1_CLASSPATH) $$(addprefix $(JDK_OUTPUTDIR)/modules/,jdk.hotspot.agent)
endif
$1_CLASSPATH := $$(subst $$(SPACE),$$(PATH_SEP),$$($1_CLASSPATH))
$1_JAVAC_FLAGS := -bootclasspath $(EMPTY_BOOTCLASSPATH) -classpath "$$($1_CLASSPATH)" $$($1_ADD_JAVAC_FLAGS)
$1_JAVAC_FLAGS := -bootclasspath $(EMPTY_DIR) -extdirs $(EMPTY_DIR) -endorseddirs $(EMPTY_DIR) -classpath "$$($1_CLASSPATH)" $$($1_ADD_JAVAC_FLAGS)
$$(eval $$(call SetupJavaCompilation,$1, \
SETUP := $$(if $$($1_SETUP), $$($1_SETUP), GENERATE_JDKBYTECODE), \