Merge "Mark files used in release configs as kati dependencies" into main
This commit is contained in:
@@ -13,6 +13,16 @@
|
|||||||
# limitations under the License.
|
# 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
|
# Choose the flag files
|
||||||
# -----------------------------------------------------------------
|
# -----------------------------------------------------------------
|
||||||
@@ -90,7 +100,7 @@ $(foreach map,$(protobuf_map_files), \
|
|||||||
|
|
||||||
ifneq (,$(_must_protobuf))
|
ifneq (,$(_must_protobuf))
|
||||||
ifeq (,$(_can_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)
|
$(error release config is a mixture of .scl and .textproto)
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
@@ -120,11 +130,22 @@ ifneq (,$(_use_protobuf))
|
|||||||
# Disable the build flag in release-config.
|
# Disable the build flag in release-config.
|
||||||
_args += --guard=false
|
_args += --guard=false
|
||||||
endif
|
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))
|
$(if $(filter-out 0,$(.SHELLSTATUS)),$(error release-config failed to run))
|
||||||
# This will also set _all_release_configs for us.
|
ifneq (,$(_final_product_config_pass))
|
||||||
$(eval include $(OUT_DIR)/soong/release-config/release_config-$(TARGET_PRODUCT)-$(TARGET_RELEASE).mk)
|
# Save the final version of the config.
|
||||||
$(KATI_extra_file_deps $(OUT_DIR)/release-config $(config_map_files))
|
$(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))
|
ifeq (,$(_must_protobuf)$(RELEASE_BUILD_FLAGS_IN_PROTOBUF))
|
||||||
_use_protobuf :=
|
_use_protobuf :=
|
||||||
endif
|
endif
|
||||||
@@ -237,7 +258,7 @@ endif
|
|||||||
|
|
||||||
# During pass 1 of product config, using a non-existent release config is not an error.
|
# 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".
|
# 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)),)
|
ifeq ($(filter $(_all_release_configs), $(TARGET_RELEASE)),)
|
||||||
$(error No release config found for TARGET_RELEASE: $(TARGET_RELEASE). Available releases are: $(_all_release_configs))
|
$(error No release config found for TARGET_RELEASE: $(TARGET_RELEASE). Available releases are: $(_all_release_configs))
|
||||||
endif
|
endif
|
||||||
|
Reference in New Issue
Block a user