Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 58ae2342 authored by Steven Moreland's avatar Steven Moreland Committed by android-build-merger
Browse files

Merge changes from topic "vintf_fragment" am: de511491

am: d8c196a4

Change-Id: I2081116dfb623bf513a6de52af3da590e17897b9
parents 548ecf8f d8c196a4
Loading
Loading
Loading
Loading
+55 −11
Original line number Diff line number Diff line
@@ -1495,6 +1495,25 @@ ifneq (,$(SANITIZE_TARGET))
  endif
endif

# -----------------------------------------------------------------
# Final System VINTF manifest including fragments. This is not assembled
# on the device because it depends on everything in a given device
# image which defines a vintf_fragment.

BUILT_ASSEMBLED_SYSTEM_MANIFEST := $(PRODUCT_OUT)/verified_assembled_system_manifest.xml
$(BUILT_ASSEMBLED_SYSTEM_MANIFEST): $(HOST_OUT_EXECUTABLES)/assemble_vintf
$(BUILT_ASSEMBLED_SYSTEM_MANIFEST): $(BUILT_VENDOR_MATRIX)
$(BUILT_ASSEMBLED_SYSTEM_MANIFEST): $(BUILT_SYSTEM_MANIFEST)
$(BUILT_ASSEMBLED_SYSTEM_MANIFEST): $(FULL_SYSTEMIMAGE_DEPS)
	@echo "Verifying system VINTF manifest."
	PRODUCT_ENFORCE_VINTF_MANIFEST=$(PRODUCT_ENFORCE_VINTF_MANIFEST) \
	$(HOST_OUT_EXECUTABLES)/assemble_vintf \
		-c $(BUILT_VENDOR_MATRIX) \
		-i $(BUILT_SYSTEM_MANIFEST) \
		$$([ -d $(TARGET_OUT)/etc/vintf/manifest ] && \
			find $(TARGET_OUT)/etc/vintf/manifest -type f -name "*.xml" | \
			sed "s/^/-i /" | tr '\n' ' ') -o $@

# -----------------------------------------------------------------
# installed file list
# Depending on anything that $(BUILT_SYSTEMIMAGE) depends on.
@@ -1571,6 +1590,7 @@ define build-systemimage-target
           exit 1 )
endef

$(BUILT_SYSTEMIMAGE): $(BUILT_ASSEMBLED_SYSTEM_MANIFEST)
$(BUILT_SYSTEMIMAGE): $(FULL_SYSTEMIMAGE_DEPS) $(INSTALLED_FILES_FILE) $(BUILD_IMAGE_SRCS)
	$(call build-systemimage-target,$@)

@@ -1985,6 +2005,32 @@ INTERNAL_VENDORIMAGE_FILES := \
      $(ALL_PDK_FUSION_FILES)) \
    $(PDK_FUSION_SYMLINK_STAMP)

# Final Vendor VINTF manifest including fragments. This is not assembled
# on the device because it depends on everything in a given device
# image which defines a vintf_fragment.
ifdef BUILT_VENDOR_MANIFEST
BUILT_ASSEMBLED_VENDOR_MANIFEST := $(PRODUCT_OUT)/verified_assembled_vendor_manifest.xml
ifeq (true,$(strip $(PRODUCT_ENFORCE_VINTF_MANIFEST)))
ifdef DEVICE_FRAMEWORK_COMPATIBILITY_MATRIX_FILE
# TODO(b/65028233): turn this on globally
$(BUILT_ASSEMBLED_VENDOR_MANIFEST): PRIVATE_SYSTEM_ASSEMBLE_VINTF_ENV_VARS := VINTF_ENFORCE_NO_UNUSED_HALS=true
endif # DEVICE_FRAMEWORK_COMPATIBILITY_MATRIX_FILE
endif # PRODUCT_ENFORCE_VINTF_MANIFEST
$(BUILT_ASSEMBLED_VENDOR_MANIFEST): $(HOST_OUT_EXECUTABLES)/assemble_vintf
$(BUILT_ASSEMBLED_VENDOR_MANIFEST): $(BUILT_SYSTEM_MATRIX)
$(BUILT_ASSEMBLED_VENDOR_MANIFEST): $(BUILT_VENDOR_MANIFEST)
$(BUILT_ASSEMBLED_VENDOR_MANIFEST): $(INTERNAL_VENDORIMAGE_FILES)
	@echo "Verifying vendor VINTF manifest."
	PRODUCT_ENFORCE_VINTF_MANIFEST=$(PRODUCT_ENFORCE_VINTF_MANIFEST) \
	$(PRIVATE_SYSTEM_ASSEMBLE_VINTF_ENV_VARS) \
	$(HOST_OUT_EXECUTABLES)/assemble_vintf \
		-c $(BUILT_SYSTEM_MATRIX) \
		-i $(BUILT_VENDOR_MANIFEST) \
		$$([ -d $(TARGET_OUT_VENDOR)/etc/vintf/manifest ] && \
			find $(TARGET_OUT_VENDOR)/etc/vintf/manifest -type f -name "*.xml" | \
			sed "s/^/-i /" | tr '\n' ' ') -o $@
endif # BUILT_VENDOR_MANIFEST

# platform.zip depends on $(INTERNAL_VENDORIMAGE_FILES).
$(INSTALLED_PLATFORM_ZIP) : $(INTERNAL_VENDORIMAGE_FILES)

@@ -2014,6 +2060,9 @@ endef

# We just build this directly to the install location.
INSTALLED_VENDORIMAGE_TARGET := $(BUILT_VENDORIMAGE_TARGET)
ifdef BUILT_VENDOR_MANIFEST
$(INSTALLED_VENDORIMAGE_TARGET): $(BUILT_ASSEMBLED_VENDOR_MANIFEST)
endif
$(INSTALLED_VENDORIMAGE_TARGET): $(INTERNAL_USERIMAGES_DEPS) $(INTERNAL_VENDORIMAGE_FILES) $(INSTALLED_FILES_FILE_VENDOR) $(BUILD_IMAGE_SRCS) $(DEPMOD) $(BOARD_VENDOR_KERNEL_MODULES)
	$(build-vendorimage-target)

@@ -2544,8 +2593,9 @@ $(BUILT_TARGET_FILES_PACKAGE): \
		$(HOST_OUT_EXECUTABLES)/imgdiff \
		$(HOST_OUT_EXECUTABLES)/bsdiff \
		$(BUILD_IMAGE_SRCS) \
		$(HOST_OUT_EXECUTABLES)/assemble_vintf \
		$(BUILT_VENDOR_MANIFEST) \
		$(BUILT_ASSEMBLED_SYSTEM_MANIFEST) \
		$(BUILT_ASSEMBLED_VENDOR_MANIFEST) \
		$(BUILT_SYSTEM_MATRIX) \
		$(BUILT_VENDOR_MATRIX) \
		| $(ACP)
	@echo "Package target files: $@"
@@ -2822,15 +2872,9 @@ ifdef INSTALLED_SYSTEMOTHERIMAGE_TARGET
endif
	@# Metadata for compatibility verification.
	$(hide) cp $(BUILT_SYSTEM_MATRIX) $(zip_root)/META/system_matrix.xml
	$(hide) $(HOST_OUT_EXECUTABLES)/assemble_vintf \
		-i $(BUILT_SYSTEM_MANIFEST) $$(find $(zip_root)/SYSTEM/etc/vintf/manifest -type f -name "*.xml" | \
			sed "s/^/-i /" | tr '\n' ' ') \
		-o $(zip_root)/META/system_manifest.xml
ifdef BUILT_VENDOR_MANIFEST
	$(hide) $(HOST_OUT_EXECUTABLES)/assemble_vintf \
		-i $(BUILT_VENDOR_MANIFEST) $$(find $(zip_root)/VENDOR/etc/vintf/manifest -type f -name "*.xml" | \
			sed "s/^/-i /" | tr '\n' ' ') \
		-o $(zip_root)/META/vendor_manifest.xml
	$(hide) cp $(BUILT_ASSEMBLED_SYSTEM_MANIFEST) $(zip_root)/META/system_manifest.xml
ifdef BUILT_ASSEMBLED_VENDOR_MANIFEST
	$(hide) cp $(BUILT_ASSEMBLED_VENDOR_MANIFEST) $(zip_root)/META/vendor_manifest.xml
endif
ifdef BUILT_VENDOR_MATRIX
	$(hide) cp $(BUILT_VENDOR_MATRIX) $(zip_root)/META/vendor_matrix.xml