diff --git a/core/config.mk b/core/config.mk index c993c1b6f..debe9188c 100644 --- a/core/config.mk +++ b/core/config.mk @@ -665,14 +665,28 @@ ANDROID_MANIFEST_MERGER := $(JAVA) -classpath prebuilts/devtools/tools/lib/manif COLUMN:= column -# Path to tools.jar, or empty if EXPERIMENTAL_USE_OPENJDK9 is set +ifeq ($(EXPERIMENTAL_USE_OPENJDK9),) +USE_OPENJDK9 := +TARGET_OPENJDK9 := +else ifeq ($(EXPERIMENTAL_USE_OPENJDK9),false) +USE_OPENJDK9 := +TARGET_OPENJDK9 := +else ifeq ($(EXPERIMENTAL_USE_OPENJDK9),1.8) +USE_OPENJDK9 := true +TARGET_OPENJDK9 := +else ifeq ($(EXPERIMENTAL_USE_OPENJDK9),true) +USE_OPENJDK9 := true +TARGET_OPENJDK9 := true +endif + +# Path to tools.jar, or empty if USE_OPENJDK9 is unset HOST_JDK_TOOLS_JAR := # TODO: Remove HOST_JDK_TOOLS_JAR and all references to it once OpenJDK 8 -# toolchains are no longer supported (i.e. when what is now -# EXPERIMENTAL_USE_OPENJDK9 becomes the standard). http://b/38418220 -ifeq ($(EXPERIMENTAL_USE_OPENJDK9),) +# toolchains are no longer supported (i.e. when USE_OPENJDK9 is enforced). +# http://b/38418220 +ifndef USE_OPENJDK9 HOST_JDK_TOOLS_JAR := $(ANDROID_JAVA_TOOLCHAIN)/../lib/tools.jar -endif # ifeq ($(EXPERIMENTAL_USE_OPENJDK9),) +endif # ifdef USE_OPENJDK9 # It's called md5 on Mac OS and md5sum on Linux ifeq ($(HOST_OS),darwin) diff --git a/core/definitions.mk b/core/definitions.mk index 8b4051def..13bd47cdc 100644 --- a/core/definitions.mk +++ b/core/definitions.mk @@ -2381,7 +2381,7 @@ $(hide) rm -f $@ $@.tmp @rm -rf $(dir $@)/desugar_dumped_classes @mkdir $(dir $@)/desugar_dumped_classes $(hide) $(JAVA) \ - $(if $(EXPERIMENTAL_USE_OPENJDK9),--add-opens java.base/java.lang.invoke=ALL-UNNAMED,) \ + $(if $(USE_OPENJDK9),--add-opens java.base/java.lang.invoke=ALL-UNNAMED,) \ -Djdk.internal.lambda.dumpProxyClasses=$(abspath $(dir $@))/desugar_dumped_classes \ -jar $(DESUGAR) \ $(addprefix --bootclasspath_entry ,$(PRIVATE_BOOTCLASSPATH)) \ @@ -2774,7 +2774,7 @@ endef ########################################################### ## Commands to call Proguard ########################################################### -ifeq ($(EXPERIMENTAL_USE_OPENJDK9),true) +ifdef TARGET_OPENJDK9 define transform-jar-to-proguard @echo Skipping Proguard: $<$(PRIVATE_PROGUARD_INJAR_FILTERS) $@ $(hide) cp '$<' $@ diff --git a/core/droiddoc.mk b/core/droiddoc.mk index 45b8af092..d66b68872 100644 --- a/core/droiddoc.mk +++ b/core/droiddoc.mk @@ -213,7 +213,7 @@ else ## ## -ifneq ($(EXPERIMENTAL_USE_OPENJDK9),) +ifdef USE_OPENJDK9 # For OpenJDK 9 we use --patch-module to define the core libraries code. # TODO(tobiast): Reorganize this when adding proper support for OpenJDK 9 # modules. Here we treat all code in core libraries as being in java.base diff --git a/core/java.mk b/core/java.mk index 09e5371e9..7fa14476f 100644 --- a/core/java.mk +++ b/core/java.mk @@ -555,7 +555,7 @@ endif $(eval $(call copy-one-file,$(full_classes_jarjar_jar),$(full_classes_jar))) -ifeq ($(EXPERIMENTAL_USE_OPENJDK9),true) +ifdef TARGET_OPENJDK9 LOCAL_DX_FLAGS := $(filter-out --multi-dex,$(LOCAL_DX_FLAGS)) --multi-dex endif diff --git a/core/java_common.mk b/core/java_common.mk index 37de700d4..6ae1415c7 100644 --- a/core/java_common.mk +++ b/core/java_common.mk @@ -23,8 +23,7 @@ ifeq (,$(LOCAL_JAVA_LANGUAGE_VERSION)) # TODO(ccross): allow 1.9 for current and unbundled once we have SDK system modules LOCAL_JAVA_LANGUAGE_VERSION := 1.8 else - # DEFAULT_JAVA_LANGUAGE_VERSION is 1.8 unless EXPERIMENTAL_USE_OPENJDK9=true - # in which case it is 1.9 + # DEFAULT_JAVA_LANGUAGE_VERSION is 1.8, unless TARGET_OPENJDK9 in which case it is 1.9 LOCAL_JAVA_LANGUAGE_VERSION := $(DEFAULT_JAVA_LANGUAGE_VERSION) endif endif