Add ASAN_ENABLED and SANITIZE_TARGET_SYSTEM_ENABLED to Soong config variables:

`SANITIZE_TARGET` is a variable in Android's build system used to
enable sanitizers. Currently, Soong only supports enabling SANITIZE for
individual modules in Android.bp.
Adding ASAN_ENABLED and SANITIZE_TARGET_SYSTEM_ENABLED as Soong config
variables would allow Soong to also support building with Sanitizers by
directly setting the SANITIZE_TARGET environment variable.

Bug: 353164536
Test: SANITIZE_TARGET_SYSTEM=true SANITIZE_TARGET=address m -j asan_extract
Change-Id: I542239ee25d210d903d2481a2b1426f756656308
This commit is contained in:
Nelson Li
2024-07-17 10:06:43 +08:00
parent 3a2d9d2c50
commit 39f5cc4153

View File

@@ -36,6 +36,10 @@ $(call add_soong_config_var,ANDROID,TARGET_DYNAMIC_64_32_DRMSERVER)
$(call add_soong_config_var,ANDROID,TARGET_ENABLE_MEDIADRM_64)
$(call add_soong_config_var,ANDROID,TARGET_DYNAMIC_64_32_MEDIASERVER)
# For Sanitizers
$(call soong_config_set_bool,ANDROID,ASAN_ENABLED,$(if $(filter address,$(SANITIZE_TARGET)),true,false))
$(call soong_config_set_bool,ANDROID,SANITIZE_TARGET_SYSTEM_ENABLED,$(if $(filter true,$(SANITIZE_TARGET_SYSTEM)),true,false))
# PRODUCT_PRECOMPILED_SEPOLICY defaults to true. Explicitly check if it's "false" or not.
$(call soong_config_set_bool,ANDROID,PRODUCT_PRECOMPILED_SEPOLICY,$(if $(filter false,$(PRODUCT_PRECOMPILED_SEPOLICY)),false,true))