Merge "Mark files used in release configs as kati dependencies" into main am: 48132d6580
Original change: https://android-review.googlesource.com/c/platform/build/+/3092540 Change-Id: Iedd266dec46342a99fe9d8efe15786086ad7de60 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
commit
3168554810
1 changed files with 27 additions and 6 deletions
|
@ -13,6 +13,16 @@
|
|||
# limitations under the License.
|
||||
|
||||
|
||||
# -----------------------------------------------------------------
|
||||
# Determine which pass this is.
|
||||
# -----------------------------------------------------------------
|
||||
# On the first pass, we are asked for only PRODUCT_RELEASE_CONFIG_MAPS,
|
||||
# on the second pass, we are asked for whatever else is wanted.
|
||||
_final_product_config_pass:=
|
||||
ifneq (PRODUCT_RELEASE_CONFIG_MAPS,$(DUMP_MANY_VARS))
|
||||
_final_product_config_pass:=true
|
||||
endif
|
||||
|
||||
# -----------------------------------------------------------------
|
||||
# Choose the flag files
|
||||
# -----------------------------------------------------------------
|
||||
|
@ -90,7 +100,7 @@ $(foreach map,$(protobuf_map_files), \
|
|||
|
||||
ifneq (,$(_must_protobuf))
|
||||
ifeq (,$(_can_protobuf))
|
||||
# We must use protobuf, but we cannot use protobuf.
|
||||
# We must use protobuf, but we cannot use protobuf.
|
||||
$(error release config is a mixture of .scl and .textproto)
|
||||
endif
|
||||
endif
|
||||
|
@ -120,11 +130,22 @@ ifneq (,$(_use_protobuf))
|
|||
# Disable the build flag in release-config.
|
||||
_args += --guard=false
|
||||
endif
|
||||
$(KATI_shell_no_rerun $(OUT_DIR)/release-config $(_args) >$(OUT_DIR)/release-config.out && touch -t 200001010000 $(OUT_DIR)/release-config.out)
|
||||
_flags_file:=$(OUT_DIR)/soong/release-config/release_config-$(TARGET_PRODUCT)-$(TARGET_RELEASE).vars
|
||||
# release-config generates $(_flags_varmk)
|
||||
_flags_varmk:=$(_flags_file:.vars=.varmk)
|
||||
$(shell $(OUT_DIR)/release-config $(_args) >$(OUT_DIR)/release-config.out 2>&1 && touch -t 200001010000 $(_flags_varmk))
|
||||
$(if $(filter-out 0,$(.SHELLSTATUS)),$(error release-config failed to run))
|
||||
# This will also set _all_release_configs for us.
|
||||
$(eval include $(OUT_DIR)/soong/release-config/release_config-$(TARGET_PRODUCT)-$(TARGET_RELEASE).mk)
|
||||
$(KATI_extra_file_deps $(OUT_DIR)/release-config $(config_map_files))
|
||||
ifneq (,$(_final_product_config_pass))
|
||||
# Save the final version of the config.
|
||||
$(shell if ! cmp --quiet $(_flags_varmk) $(_flags_file); then cp $(_flags_varmk) $(_flags_file); fi)
|
||||
# This will also set _all_release_configs and _used_files for us.
|
||||
$(eval include $(_flags_file))
|
||||
$(KATI_extra_file_deps $(OUT_DIR)/release-config $(protobuf_map_files) $(_flags_file))
|
||||
else
|
||||
# This is the first pass of product config.
|
||||
$(eval include $(_flags_varmk))
|
||||
endif
|
||||
_used_files :=
|
||||
ifeq (,$(_must_protobuf)$(RELEASE_BUILD_FLAGS_IN_PROTOBUF))
|
||||
_use_protobuf :=
|
||||
endif
|
||||
|
@ -237,7 +258,7 @@ endif
|
|||
|
||||
# During pass 1 of product config, using a non-existent release config is not an error.
|
||||
# We can safely assume that we are doing pass 1 if DUMP_MANY_VARS=="PRODUCT_RELEASE_CONFIG_MAPS".
|
||||
ifneq (PRODUCT_RELEASE_CONFIG_MAPS,$(DUMP_MANY_VARS))
|
||||
ifneq (,$(_final_product_config_pass))
|
||||
ifeq ($(filter $(_all_release_configs), $(TARGET_RELEASE)),)
|
||||
$(error No release config found for TARGET_RELEASE: $(TARGET_RELEASE). Available releases are: $(_all_release_configs))
|
||||
endif
|
||||
|
|
Loading…
Reference in a new issue