diff --git a/make/CompileJavaModules.gmk b/make/CompileJavaModules.gmk index 298eb0f6e96..dfe24dfdc45 100644 --- a/make/CompileJavaModules.gmk +++ b/make/CompileJavaModules.gmk @@ -507,6 +507,10 @@ JAVA_MODULES := $(ALL_JAVA_MODULES) # space separated list. 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)) + # This macro sets up compilation of a module and declares dependencies for it. # Param 1 - module name define SetupModuleCompilation @@ -525,7 +529,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 "$$($1_CLASSPATH)" $$($1_ADD_JAVAC_FLAGS) + $1_JAVAC_FLAGS := -bootclasspath $(EMPTY_BOOTCLASSPATH) -classpath "$$($1_CLASSPATH)" $$($1_ADD_JAVAC_FLAGS) $$(eval $$(call SetupJavaCompilation,$1, \ SETUP := $$(if $$($1_SETUP), $$($1_SETUP), GENERATE_JDKBYTECODE), \ diff --git a/make/common/JavaCompilation.gmk b/make/common/JavaCompilation.gmk index 297a3c1b248..d9bf04443f9 100644 --- a/make/common/JavaCompilation.gmk +++ b/make/common/JavaCompilation.gmk @@ -561,10 +561,6 @@ define SetupJavaCompilationBody $$($1_BIN)/_the.$1_batch: $$($1_SRCS) $$($1_DEPENDS) $$($1_VARDEPS_FILE) $(MKDIR) -p $$(@D) $$(dir $$($1_SJAVAC_PORTFILE)) - # As a workaround for sjavac not tracking api changed from the classpath, force full - # recompile if an external dependency, which is something other than a source - # change, triggered this compilation. - $$(if $$(filter-out $$($1_SRCS), $$?), $(FIND) $$(@D) -name "*.class" $(FIND_DELETE)) $$(call ListPathsSafely,$1_SRCS,\n, >> $$($1_BIN)/_the.$1_batch.tmp) $(ECHO) Compiling $1 ($$($1_JVM) $$($1_SJAVAC) \