Add logic to ensure the ART APEXes are built from source in coverage

builds.

This CL is a nop since the default is still true, but it gives us a way
to toggle it without affecting coverage builds.

Test: env NATIVE_COVERAGE=true build/soong/soong_ui.bash \
        --dumpvar-mode SOONG_CONFIG_art_module_source_build
      env CLANG_COVERAGE=true build/soong/soong_ui.bash \
        --dumpvar-mode SOONG_CONFIG_art_module_source_build
      env NATIVE_COVERAGE=true CLANG_COVERAGE=true \
        build/soong/soong_ui.bash \
        --dumpvar-mode SOONG_CONFIG_art_module_source_build
  check that all these print "true" when the default in the "else"
  clause is "false".
Bug: 172480615
Change-Id: I648ed911773c59a5b2a117dbf3ddcb2ef338830d
This commit is contained in:
Martin Stjernholm 2021-02-02 17:28:12 +00:00
parent e9d4ddb1e0
commit 7704497315

View file

@ -33,7 +33,17 @@ ifeq (,$(filter art_module,$(SOONG_CONFIG_NAMESPACES)))
$(call add_soong_config_namespace,art_module)
SOONG_CONFIG_art_module += source_build
endif
SOONG_CONFIG_art_module_source_build ?= true
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.
SOONG_CONFIG_art_module_source_build := 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.
SOONG_CONFIG_art_module_source_build ?= true
endif
# Apex build mode variables
ifdef APEX_BUILD_FOR_PRE_S_DEVICES