From 39f5cc4153b40dddae3ca8b0615879e89523c0ef Mon Sep 17 00:00:00 2001 From: Nelson Li Date: Wed, 17 Jul 2024 10:06:43 +0800 Subject: [PATCH] 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 --- core/android_soong_config_vars.mk | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/core/android_soong_config_vars.mk b/core/android_soong_config_vars.mk index f2ff286481..fbd77e26b0 100644 --- a/core/android_soong_config_vars.mk +++ b/core/android_soong_config_vars.mk @@ -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))