Disable prebuilts when building with clang coverage
Prebuilts broke the cf_x86_phone-userdebug_coverage_bionic
on tm-release build.
Bug: 230478310
Bug: 223592962
Test: presubmit
Merged-In: I3ed091156c4b39dad6eaf578144ac3d070025988
Merged-In: I9731400acfade95b3eab8f2d99fddb4cf856aa91
Merged-In: I6eca2fcc670dccef4a6cd9dc3f08003eb47e5bca
Change-Id: I40c10e88b824e5f4b783b1dc0a500096fad209b2
diff --git a/core/android_soong_config_vars.mk b/core/android_soong_config_vars.mk
index a6116f2..28181eb 100644
--- a/core/android_soong_config_vars.mk
+++ b/core/android_soong_config_vars.mk
@@ -48,6 +48,18 @@
BRANCH_DEFAULT_MODULE_BUILD_FROM_SOURCE := true
endif
+ifneq ($(CLANG_COVERAGE)$(NATIVE_COVERAGE_PATHS),)
+ # Always use sources when building with clang coverage and native coverage.
+ # It is possible that there are certain situations when building with coverage
+ # would work with prebuilts, e.g. when the coverage is not being applied to
+ # modules for which we provide prebuilts. Unfortunately, determining that
+ # would require embedding knowledge of which coverage paths affect which
+ # modules here. That would duplicate a lot of information, add yet another
+ # location module authors have to update and complicate the logic here.
+ # For nowe we will just always build from sources when doing coverage builds.
+ BRANCH_DEFAULT_MODULE_BUILD_FROM_SOURCE := true
+endif
+
# TODO(b/172063604): Remove once products no longer use dex2oat(d)s.
# If the product uses dex2oats and/or dex2oatds then build from sources as
# ART does not currently provide prebuilts of those tools.