Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 4e23be85 authored by Martin Stjernholm's avatar Martin Stjernholm Committed by Automerger Merge Worker
Browse files

Merge "Clean up the special cases where we wouldn't be able to use the...

Merge "Clean up the special cases where we wouldn't be able to use the prebuilt ART module." am: 22e398c0 am: d3bc6a07

Original change: https://android-review.googlesource.com/c/platform/build/+/2018058

Change-Id: I7947a917eb4fce2a543ce35613619c2999c1e0ae
parents 7fe2fe63 d3bc6a07
Loading
Loading
Loading
Loading
+2 −30
Original line number Diff line number Diff line
@@ -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))