Allow overrides in declare-release-config
A release config declaration may indiciate that one or more other release configs should be applied before this one overrides them, so that we don't have to manually keep common flags in sync. Bug: b/313479515 Test: manual Merged-In: Ib7350500ae44adf4767aa7f9dbb8e71609fdd8c0 Merged-In: Ida444a5dbba578a36bd3607246fa14fc73b3f923 Change-Id: Ida444a5dbba578a36bd3607246fa14fc73b3f923
This commit is contained in:
@@ -63,11 +63,19 @@ $(foreach map,$(PRODUCT_RELEASE_CONFIG_MAPS), \
|
||||
#
|
||||
# $1 config name
|
||||
# $2 release config files
|
||||
# $3 overridden release config. Only applied for $(TARGET_RELEASE), not in depth.
|
||||
define declare-release-config
|
||||
$(if $(strip $(2)),, \
|
||||
$(error declare-release-config: config $(strip $(1)) must have release config files) \
|
||||
)
|
||||
$(eval _all_release_configs := $(sort $(_all_release_configs) $(strip $(1))))
|
||||
$(if $(strip $(3)), \
|
||||
$(if $(filter $(_all_release_configs), $(strip $(3))),
|
||||
$(if $(filter $(_all_release_configs.$(strip $(1)).OVERRIDES),$(strip $(3))),,
|
||||
$(eval _all_release_configs.$(strip $(1)).OVERRIDES := $(_all_release_configs.$(strip $(1)).OVERRIDES) $(strip $(3)))), \
|
||||
$(error No release config $(strip $(3))) \
|
||||
) \
|
||||
)
|
||||
$(eval _all_release_configs.$(strip $(1)).DECLARED_IN := $(_included) $(_all_release_configs.$(strip $(1)).DECLARED_IN))
|
||||
$(eval _all_release_configs.$(strip $(1)).FILES := $(_all_release_configs.$(strip $(1)).FILES) $(strip $(2)))
|
||||
endef
|
||||
@@ -105,8 +113,10 @@ endif
|
||||
# Don't sort this, use it in the order they gave us.
|
||||
# Do allow duplicate entries, retaining only the first usage.
|
||||
flag_value_files :=
|
||||
$(foreach f,$(_all_release_configs.$(TARGET_RELEASE).FILES), \
|
||||
$(if $(filter $(f),$(flag_value_files)),,$(eval flag_value_files += $(f)))\
|
||||
$(foreach r,$(_all_release_configs.$(TARGET_RELEASE).OVERRIDES) $(TARGET_RELEASE), \
|
||||
$(foreach f,$(_all_release_configs.$(r).FILES), \
|
||||
$(if $(filter $(f),$(flag_value_files)),,$(eval flag_value_files += $(f)))\
|
||||
)\
|
||||
)
|
||||
|
||||
# Unset variables so they can't use them
|
||||
|
Reference in New Issue
Block a user