blob: 199150347c4712d294bf9fd8eb51bfc778413fc0 [file] [log] [blame]
Inseob Kim85b83a92024-05-08 11:13:26 +09001# ADDITIONAL_<partition>_PROPERTIES are properties that are determined by the
2# build system itself. Don't let it be defined from outside of the core build
3# system like Android.mk or <product>.mk files.
4_additional_prop_var_names := \
5 ADDITIONAL_SYSTEM_PROPERTIES \
6 ADDITIONAL_VENDOR_PROPERTIES \
7 ADDITIONAL_ODM_PROPERTIES \
8 ADDITIONAL_PRODUCT_PROPERTIES
9
10$(foreach name, $(_additional_prop_var_names),\
11 $(if $($(name)),\
12 $(error $(name) must not set before here. $($(name)))\
13 ,)\
14 $(eval $(name) :=)\
15)
16_additional_prop_var_names :=
17
Inseob Kimb97c96b2024-07-31 02:00:41 +000018$(KATI_obsolete_var ADDITIONAL_SYSTEM_PROPERTIES,Use build/soong/scripts/gen_build_prop.py instead)
Inseob Kimd05947d2024-08-08 17:48:43 +090019$(KATI_obsolete_var ADDITIONAL_ODM_PROPERTIES,Use build/soong/scripts/gen_build_prop.py instead)
20$(KATI_obsolete_var ADDITIONAL_PRODUCT_PROPERTIES,Use build/soong/scripts/gen_build_prop.py instead)
Pawan Wagha08472f2024-07-08 22:55:33 +000021
Inseob Kim85b83a92024-05-08 11:13:26 +090022# Add cpu properties for bionic and ART.
23ADDITIONAL_VENDOR_PROPERTIES += ro.bionic.arch=$(TARGET_ARCH)
24ADDITIONAL_VENDOR_PROPERTIES += ro.bionic.cpu_variant=$(TARGET_CPU_VARIANT_RUNTIME)
25ADDITIONAL_VENDOR_PROPERTIES += ro.bionic.2nd_arch=$(TARGET_2ND_ARCH)
26ADDITIONAL_VENDOR_PROPERTIES += ro.bionic.2nd_cpu_variant=$(TARGET_2ND_CPU_VARIANT_RUNTIME)
27
28ADDITIONAL_VENDOR_PROPERTIES += persist.sys.dalvik.vm.lib.2=libart.so
29ADDITIONAL_VENDOR_PROPERTIES += dalvik.vm.isa.$(TARGET_ARCH).variant=$(DEX2OAT_TARGET_CPU_VARIANT_RUNTIME)
30ifneq ($(DEX2OAT_TARGET_INSTRUCTION_SET_FEATURES),)
31 ADDITIONAL_VENDOR_PROPERTIES += dalvik.vm.isa.$(TARGET_ARCH).features=$(DEX2OAT_TARGET_INSTRUCTION_SET_FEATURES)
32endif
33
34ifdef TARGET_2ND_ARCH
35 ADDITIONAL_VENDOR_PROPERTIES += dalvik.vm.isa.$(TARGET_2ND_ARCH).variant=$($(TARGET_2ND_ARCH_VAR_PREFIX)DEX2OAT_TARGET_CPU_VARIANT_RUNTIME)
36 ifneq ($($(TARGET_2ND_ARCH_VAR_PREFIX)DEX2OAT_TARGET_INSTRUCTION_SET_FEATURES),)
37 ADDITIONAL_VENDOR_PROPERTIES += dalvik.vm.isa.$(TARGET_2ND_ARCH).features=$($(TARGET_2ND_ARCH_VAR_PREFIX)DEX2OAT_TARGET_INSTRUCTION_SET_FEATURES)
38 endif
39endif
40
41# Although these variables are prefixed with TARGET_RECOVERY_, they are also needed under charger
42# mode (via libminui).
43ifdef TARGET_RECOVERY_DEFAULT_ROTATION
44ADDITIONAL_VENDOR_PROPERTIES += \
45 ro.minui.default_rotation=$(TARGET_RECOVERY_DEFAULT_ROTATION)
46endif
47ifdef TARGET_RECOVERY_OVERSCAN_PERCENT
48ADDITIONAL_VENDOR_PROPERTIES += \
49 ro.minui.overscan_percent=$(TARGET_RECOVERY_OVERSCAN_PERCENT)
50endif
51ifdef TARGET_RECOVERY_PIXEL_FORMAT
52ADDITIONAL_VENDOR_PROPERTIES += \
53 ro.minui.pixel_format=$(TARGET_RECOVERY_PIXEL_FORMAT)
54endif
55
56ifdef PRODUCT_USE_DYNAMIC_PARTITIONS
57ADDITIONAL_VENDOR_PROPERTIES += \
58 ro.boot.dynamic_partitions=$(PRODUCT_USE_DYNAMIC_PARTITIONS)
59endif
60
61ifdef PRODUCT_RETROFIT_DYNAMIC_PARTITIONS
62ADDITIONAL_VENDOR_PROPERTIES += \
63 ro.boot.dynamic_partitions_retrofit=$(PRODUCT_RETROFIT_DYNAMIC_PARTITIONS)
64endif
65
66ifdef PRODUCT_SHIPPING_API_LEVEL
67ADDITIONAL_VENDOR_PROPERTIES += \
68 ro.product.first_api_level=$(PRODUCT_SHIPPING_API_LEVEL)
69endif
70
71ifdef PRODUCT_SHIPPING_VENDOR_API_LEVEL
72ADDITIONAL_VENDOR_PROPERTIES += \
73 ro.vendor.api_level=$(PRODUCT_SHIPPING_VENDOR_API_LEVEL)
74endif
75
76ifneq ($(TARGET_BUILD_VARIANT),user)
77 ifdef PRODUCT_SET_DEBUGFS_RESTRICTIONS
78 ADDITIONAL_VENDOR_PROPERTIES += \
79 ro.product.debugfs_restrictions.enabled=$(PRODUCT_SET_DEBUGFS_RESTRICTIONS)
80 endif
81endif
82
83# Vendors with GRF must define BOARD_SHIPPING_API_LEVEL for the vendor API level.
84# This must not be defined for the non-GRF devices.
85# The values of the GRF properties will be verified by post_process_props.py
86ifdef BOARD_SHIPPING_API_LEVEL
87ADDITIONAL_VENDOR_PROPERTIES += \
88 ro.board.first_api_level=$(BOARD_SHIPPING_API_LEVEL)
89endif
90
91# Build system set BOARD_API_LEVEL to show the api level of the vendor API surface.
92# This must not be altered outside of build system.
93ifdef BOARD_API_LEVEL
Justin Yun0d2730f2024-10-24 09:25:11 +090094 ADDITIONAL_VENDOR_PROPERTIES += \
95 ro.board.api_level?=$(BOARD_API_LEVEL)
96 ifdef BOARD_API_LEVEL_PROP_OVERRIDE
97 ADDITIONAL_VENDOR_PROPERTIES += \
98 ro.board.api_level=$(BOARD_API_LEVEL_PROP_OVERRIDE)
99 endif
Inseob Kim85b83a92024-05-08 11:13:26 +0900100endif
101# RELEASE_BOARD_API_LEVEL_FROZEN is true when the vendor API surface is frozen.
102ifdef RELEASE_BOARD_API_LEVEL_FROZEN
103ADDITIONAL_VENDOR_PROPERTIES += \
104 ro.board.api_frozen=$(RELEASE_BOARD_API_LEVEL_FROZEN)
105endif
106
107# Set build prop. This prop is read by ota_from_target_files when generating OTA,
108# to decide if VABC should be disabled.
109ifeq ($(BOARD_DONT_USE_VABC_OTA),true)
110ADDITIONAL_VENDOR_PROPERTIES += \
111 ro.vendor.build.dont_use_vabc=true
112endif
113
114# Set the flag in vendor. So VTS would know if the new fingerprint format is in use when
115# the system images are replaced by GSI.
116ifeq ($(BOARD_USE_VBMETA_DIGTEST_IN_FINGERPRINT),true)
117ADDITIONAL_VENDOR_PROPERTIES += \
118 ro.vendor.build.fingerprint_has_digest=1
119endif
120
121ADDITIONAL_VENDOR_PROPERTIES += \
122 ro.vendor.build.security_patch=$(VENDOR_SECURITY_PATCH) \
123 ro.product.board=$(TARGET_BOOTLOADER_BOARD_NAME) \
124 ro.board.platform=$(TARGET_BOARD_PLATFORM) \
125 ro.hwui.use_vulkan=$(TARGET_USES_VULKAN)
126
127ifdef TARGET_SCREEN_DENSITY
128ADDITIONAL_VENDOR_PROPERTIES += \
129 ro.sf.lcd_density=$(TARGET_SCREEN_DENSITY)
130endif
131
132ifdef AB_OTA_UPDATER
133ADDITIONAL_VENDOR_PROPERTIES += \
134 ro.build.ab_update=$(AB_OTA_UPDATER)
135endif
136
Inseob Kim85b83a92024-05-08 11:13:26 +0900137ifeq ($(AB_OTA_UPDATER),true)
Inseob Kim85b83a92024-05-08 11:13:26 +0900138ADDITIONAL_VENDOR_PROPERTIES += ro.vendor.build.ab_ota_partitions=$(subst $(space),$(comma),$(sort $(AB_OTA_PARTITIONS)))
139endif
140
Inseob Kim85b83a92024-05-08 11:13:26 +0900141user_variant := $(filter user userdebug,$(TARGET_BUILD_VARIANT))
Inseob Kim85b83a92024-05-08 11:13:26 +0900142
143config_enable_uffd_gc := \
144 $(firstword $(OVERRIDE_ENABLE_UFFD_GC) $(PRODUCT_ENABLE_UFFD_GC) default)
145
Inseob Kim85b83a92024-05-08 11:13:26 +0900146ADDITIONAL_VENDOR_PROPERTIES := $(strip $(ADDITIONAL_VENDOR_PROPERTIES))
147
148.KATI_READONLY += \
Inseob Kim85b83a92024-05-08 11:13:26 +0900149 ADDITIONAL_VENDOR_PROPERTIES