diff --git a/core/config.mk b/core/config.mk index 86fc3997b..aaeda70df 100644 --- a/core/config.mk +++ b/core/config.mk @@ -700,6 +700,25 @@ else ifneq ($(call math_gt_or_eq,$(PRODUCT_SHIPPING_API_LEVEL),26),) PRODUCT_FULL_TREBLE := true endif +requirements := \ + PRODUCT_TREBLE_LINKER_NAMESPACES \ + PRODUCT_SEPOLICY_SPLIT \ + PRODUCT_ENFORCE_VINTF_MANIFEST \ + +# If it is overriden, then the requirement override is taken, otherwise it's +# PRODUCT_FULL_TREBLE +$(foreach req,$(requirements),$(eval \ + $(req) := $(if $($(req)_OVERRIDE),$($(req)_OVERRIDE),$(PRODUCT_FULL_TREBLE)))) +# If the requirement is false for any reason, then it's not PRODUCT_FULL_TREBLE +$(foreach req,$(requirements),$(eval \ + PRODUCT_FULL_TREBLE := $(if $(filter false,$($(req))),false,$(PRODUCT_FULL_TREBLE)))) + +.KATI_READONLY := \ + $(requirements) \ + PRODUCT_FULL_TREBLE + +requirements := + # The default key if not set as LOCAL_CERTIFICATE ifdef PRODUCT_DEFAULT_DEV_CERTIFICATE DEFAULT_SYSTEM_DEV_CERTIFICATE := $(PRODUCT_DEFAULT_DEV_CERTIFICATE)