Add PRODUCT_FULL_TREBLE.

PRODUCT_FULL_TREBLE: whether the device has Treble fully enabled (no
passthrough hals, vendor.img, split sepolicy, etc..)

PRODUCT_FULL_TREBLE_OVERRIDE: used if someone wants to consider a device
as full Treble even if it didn't launch with Android O.

Bug: 35809750
Test: PRODUCT_FULL_TREBLE set appropriately with
PRODUCT_FULL_TREBLE_OVERRIDE and PRODUCT_SHIPPING_API_LEVEL = 24/25

Change-Id: I069448beaf26c70acb6c45d4228d8fdfe9476410
This commit is contained in:
Steven Moreland 2017-02-28 16:48:23 -08:00
parent aea79fa207
commit c10f1413d5
2 changed files with 18 additions and 0 deletions

View File

@ -3243,6 +3243,14 @@ endef
#$(warning 42 == $(call math_max,5,42)) #$(warning 42 == $(call math_max,5,42))
#$(warning 42 == $(call math_max,42,5)) #$(warning 42 == $(call math_max,42,5))
define math_gt_or_eq
$(if $(filter $(1),$(call math_max,$(1),$(2))),true)
endef
#$(warning $(call math_gt_or_eq, 2, 1))
#$(warning $(call math_gt_or_eq, 1, 1))
#$(warning $(if $(call math_gt_or_eq, 1, 2),false,true))
# $1 is the variable name to increment # $1 is the variable name to increment
define inc_and_print define inc_and_print
$(strip $(eval $(1) := $($(1)) .)$(words $($(1)))) $(strip $(eval $(1) := $($(1)) .)$(words $($(1))))

View File

@ -343,6 +343,16 @@ ifneq ($(PLATFORM_VERSION_CODENAME),REL)
ADDITIONAL_BUILD_PROPERTIES += ro.bionic.ld.warning=1 ADDITIONAL_BUILD_PROPERTIES += ro.bionic.ld.warning=1
endif endif
# Boolean variable determining if Treble is fully enabled
PRODUCT_FULL_TREBLE := false
ifeq ($(PRODUCT_FULL_TREBLE_OVERRIDE),true)
PRODUCT_FULL_TREBLE := true
else ifeq ($(PRODUCT_SHIPPING_API_LEVEL),)
#$(warning no product shipping level defined)
else ifneq ($(call math_gt_or_eq,$(PRODUCT_SHIPPING_API_LEVEL),26),)
PRODUCT_FULL_TREBLE := true
endif
# ----------------------------------------------------------------- # -----------------------------------------------------------------
### ###
### In this section we set up the things that are different ### In this section we set up the things that are different