From 6d91a8fd28c9d5482bf98cb19cf733a3607e2c45 Mon Sep 17 00:00:00 2001 From: Martin Stjernholm Date: Thu, 10 Mar 2022 01:48:53 +0000 Subject: [PATCH] Clean up the special cases where we wouldn't be able to use the prebuilt ART module. They were added with the intention of flipping the last fallback to use prebuilts by default, but that has been descoped. Instead let the ART module variable default to the generic MODULE_BUILD_FROM_SOURCE. Test: env MODULE_BUILD_FROM_SOURCE=true \ build/soong/soong_ui.bash --dumpvars-mode \ --vars="MODULE_BUILD_FROM_SOURCE ART_MODULE_BUILD_FROM_SOURCE" MODULE_BUILD_FROM_SOURCE='true' ART_MODULE_BUILD_FROM_SOURCE='true' Test: env MODULE_BUILD_FROM_SOURCE=false \ build/soong/soong_ui.bash --dumpvars-mode \ --vars="MODULE_BUILD_FROM_SOURCE ART_MODULE_BUILD_FROM_SOURCE" MODULE_BUILD_FROM_SOURCE='false' ART_MODULE_BUILD_FROM_SOURCE='false' Test: env MODULE_BUILD_FROM_SOURCE=false \ ART_MODULE_BUILD_FROM_SOURCE=true \ build/soong/soong_ui.bash --dumpvars-mode \ --vars="MODULE_BUILD_FROM_SOURCE ART_MODULE_BUILD_FROM_SOURCE" MODULE_BUILD_FROM_SOURCE='false' ART_MODULE_BUILD_FROM_SOURCE='true' Bug: 172480615 Bug: 184842499 Change-Id: I433e0236e595422f4d6fe2b4b2411491e3c600cf --- core/android_soong_config_vars.mk | 32 ++----------------------------- 1 file changed, 2 insertions(+), 30 deletions(-) diff --git a/core/android_soong_config_vars.mk b/core/android_soong_config_vars.mk index c6f4cb0323..77260e66d9 100644 --- a/core/android_soong_config_vars.mk +++ b/core/android_soong_config_vars.mk @@ -65,7 +65,6 @@ ifneq (,$(SOONG_CONFIG_art_module_source_build)) ART_MODULE_BUILD_FROM_SOURCE := $(SOONG_CONFIG_art_module_source_build) endif -# TODO(b/172480615): Remove when platform uses ART Module prebuilts by default. ifneq (,$(ART_MODULE_BUILD_FROM_SOURCE)) # Keep an explicit setting. else ifneq (,$(findstring .android.art,$(TARGET_BUILD_APPS))) @@ -75,36 +74,9 @@ else ifeq (,$(filter-out modules_% mainline_modules_%,$(TARGET_PRODUCT))) # Always build from source for the module targets. This ought to be covered by # the TARGET_BUILD_APPS check above, but there are test builds that don't set it. ART_MODULE_BUILD_FROM_SOURCE := true -else ifeq (true,$(MODULE_BUILD_FROM_SOURCE)) - # Build from source if other Mainline modules are. - ART_MODULE_BUILD_FROM_SOURCE := true -else ifneq (,$(filter true,$(NATIVE_COVERAGE) $(CLANG_COVERAGE))) - # Always build ART APEXes from source in coverage builds since the prebuilts - # aren't built with instrumentation. - # TODO(b/172480617): Find another solution for this. - ART_MODULE_BUILD_FROM_SOURCE := true -else ifneq (,$(SANITIZE_TARGET)$(SANITIZE_HOST)) - # Prebuilts aren't built with sanitizers either. - ART_MODULE_BUILD_FROM_SOURCE := true - MODULE_BUILD_FROM_SOURCE := true -else ifeq (,$(filter x86 x86_64,$(HOST_CROSS_ARCH))) - # We currently only provide prebuilts for x86 on host. This skips prebuilts in - # cuttlefish builds for ARM servers. - ART_MODULE_BUILD_FROM_SOURCE := true -else ifneq (,$(filter dex2oatds dex2oats,$(PRODUCT_HOST_PACKAGES))) - # Some products depend on host tools that aren't available as prebuilts. - ART_MODULE_BUILD_FROM_SOURCE := true -else ifeq (,$(findstring com.google.android.art,$(PRODUCT_PACKAGES))) - # TODO(b/192006406): There is currently no good way to control which prebuilt - # APEX (com.google.android.art or com.android.art) gets picked for deapexing - # to provide dex jars for hiddenapi and dexpreopting. Instead the AOSP APEX is - # completely disabled, and we build from source for AOSP products. - ART_MODULE_BUILD_FROM_SOURCE := true else - # This sets the default for building ART APEXes from source rather than - # prebuilts (in packages/modules/ArtPrebuilt and prebuilt/module_sdk/art) in - # all other platform builds. - ART_MODULE_BUILD_FROM_SOURCE := true + # Do the same as other modules by default. + ART_MODULE_BUILD_FROM_SOURCE := $(MODULE_BUILD_FROM_SOURCE) endif $(call soong_config_set,art_module,source_build,$(ART_MODULE_BUILD_FROM_SOURCE))