diff --git a/core/packaging/flags.mk b/core/packaging/flags.mk index 697fe24859..ca319ce1ec 100644 --- a/core/packaging/flags.mk +++ b/core/packaging/flags.mk @@ -69,31 +69,45 @@ $(foreach partition, $(_FLAG_PARTITIONS), \ # Aconfig Flags # Create a summary file of build flags for each partition -# $(1): built aconfig flags textprot file (out) -# $(2): installed aconfig flags textprot file (out) +# $(1): built aconfig flags file (out) +# $(2): installed aconfig flags file (out) # $(3): input aconfig files for the partition (in) +# $(4): file format, passed to `aconfig dump` (in) +# $(5): text placed in aconfig file when no flags present (out) define generate-partition-aconfig-flag-file $(eval $(strip $(1)): PRIVATE_OUT := $(strip $(1))) $(eval $(strip $(1)): PRIVATE_IN := $(strip $(3))) $(strip $(1)): $(ACONFIG) $(strip $(3)) mkdir -p $$(dir $$(PRIVATE_OUT)) $$(if $$(PRIVATE_IN), \ - $$(ACONFIG) dump --format textproto --out $$(PRIVATE_OUT) \ + $$(ACONFIG) dump --format $(4) --out $$(PRIVATE_OUT) \ $$(addprefix --cache ,$$(PRIVATE_IN)), \ - echo "# No aconfig flags" > $$(PRIVATE_OUT) \ + echo $(5) > $$(PRIVATE_OUT) \ ) $(call copy-one-file, $(1), $(2)) endef $(foreach partition, $(_FLAG_PARTITIONS), \ - $(eval aconfig_flag_summaries.$(partition) := $(PRODUCT_OUT)/$(partition)/etc/aconfig_flags.textproto) \ + $(eval aconfig_flag_summaries_textproto.$(partition) := $(PRODUCT_OUT)/$(partition)/etc/aconfig_flags.textproto) \ + $(eval aconfig_flag_summaries_protobuf.$(partition) := $(PRODUCT_OUT)/$(partition)/etc/aconfig_flags.pb) \ $(eval $(call generate-partition-aconfig-flag-file, \ $(TARGET_OUT_FLAGS)/$(partition)/aconfig_flags.textproto, \ - $(aconfig_flag_summaries.$(partition)), \ + $(aconfig_flag_summaries_textproto.$(partition)), \ $(sort $(foreach m,$(call register-names-for-partition, $(partition)), \ $(ALL_MODULES.$(m).ACONFIG_FILES) \ - )) \ + )), \ + textproto, \ + "# No aconfig flags" \ + )) \ + $(eval $(call generate-partition-aconfig-flag-file, \ + $(TARGET_OUT_FLAGS)/$(partition)/aconfig_flags.pb, \ + $(aconfig_flag_summaries_protobuf.$(partition)), \ + $(sort $(foreach m,$(call register-names-for-partition, $(partition)), \ + $(ALL_MODULES.$(m).ACONFIG_FILES) \ + )), \ + protobuf, \ + "" \ )) \ ) @@ -103,7 +117,8 @@ $(foreach partition, $(_FLAG_PARTITIONS), \ required_flags_files := \ $(sort $(foreach partition, $(filter $(IMAGES_TO_BUILD), $(_FLAG_PARTITIONS)), \ $(build_flag_summaries.$(partition)) \ - $(aconfig_flag_summaries.$(partition)) \ + $(aconfig_flag_summaries_textproto.$(partition)) \ + $(aconfig_flag_summaries_protobuf.$(partition)) \ )) ALL_DEFAULT_INSTALLED_MODULES += $(required_flags_files) @@ -118,6 +133,7 @@ flag-files: $(required_flags_files) required_flags_files:= $(foreach partition, $(_FLAG_PARTITIONS), \ $(eval build_flag_summaries.$(partition):=) \ - $(eval aconfig_flag_summaries.$(partition):=) \ + $(eval aconfig_flag_summaries_textproto.$(partition):=) \ + $(eval aconfig_flag_summaries_protobuf.$(partition):=) \ )