Loading compatibility_matrices/Android.mk +19 −5 Original line number Diff line number Diff line Loading @@ -21,8 +21,9 @@ BUILD_FRAMEWORK_COMPATIBILITY_MATRIX := $(LOCAL_PATH)/compatibility_matrix.mk # Clear potential input variables to BUILD_FRAMEWORK_COMPATIBILITY_MATRIX LOCAL_ADD_VBMETA_VERSION := LOCAL_ASSEMBLE_VINTF_ENV_VARS := LOCAL_ASSEMBLE_VINTF_ENV_VARS_OVERRIDE := LOCAL_ASSEMBLE_VINTF_ERROR_MESSAGE := LOCAL_ASSEMBLE_VINTF_FLAGS := LOCAL_WARN_REQUIRED_HALS := LOCAL_KERNEL_VERSIONS := LOCAL_GEN_FILE_DEPENDENCIES := Loading @@ -30,18 +31,21 @@ LOCAL_GEN_FILE_DEPENDENCIES := include $(CLEAR_VARS) LOCAL_MODULE := framework_compatibility_matrix.legacy.xml LOCAL_MODULE_STEM := compatibility_matrix.legacy.xml LOCAL_SRC_FILES := $(LOCAL_MODULE_STEM) LOCAL_KERNEL_VERSIONS := 3.18.0 4.4.0 4.9.0 include $(BUILD_FRAMEWORK_COMPATIBILITY_MATRIX) include $(CLEAR_VARS) LOCAL_MODULE := framework_compatibility_matrix.1.xml LOCAL_MODULE_STEM := compatibility_matrix.1.xml LOCAL_SRC_FILES := $(LOCAL_MODULE_STEM) LOCAL_KERNEL_VERSIONS := 3.18.0 4.4.0 4.9.0 include $(BUILD_FRAMEWORK_COMPATIBILITY_MATRIX) include $(CLEAR_VARS) LOCAL_MODULE := framework_compatibility_matrix.2.xml LOCAL_MODULE_STEM := compatibility_matrix.2.xml LOCAL_SRC_FILES := $(LOCAL_MODULE_STEM) LOCAL_KERNEL_VERSIONS := 3.18.0 4.4.0 4.9.0 Loading @@ -50,6 +54,7 @@ include $(BUILD_FRAMEWORK_COMPATIBILITY_MATRIX) # TODO(b/72409164): STOPSHIP: update kernel version requirements include $(CLEAR_VARS) LOCAL_MODULE := framework_compatibility_matrix.current.xml LOCAL_MODULE_STEM := compatibility_matrix.current.xml LOCAL_SRC_FILES := $(LOCAL_MODULE_STEM) LOCAL_KERNEL_VERSIONS := 4.4.0 4.9.0 Loading @@ -58,9 +63,9 @@ include $(BUILD_FRAMEWORK_COMPATIBILITY_MATRIX) # Framework Compatibility Matrix (common to all FCM versions) include $(CLEAR_VARS) LOCAL_MODULE_STEM := compatibility_matrix.device.xml # define LOCAL_MODULE and LOCAL_MODULE_CLASS for local-generated-sources-dir. LOCAL_MODULE := framework_compatibility_matrix.device.xml LOCAL_MODULE_STEM := compatibility_matrix.device.xml # define LOCAL_MODULE_CLASS for local-generated-sources-dir. LOCAL_MODULE_CLASS := ETC ifndef DEVICE_FRAMEWORK_COMPATIBILITY_MATRIX_FILE Loading @@ -78,7 +83,7 @@ my_gen_check_manifest := $(local-generated-sources-dir)/manifest.check.xml $(my_gen_check_manifest): PRIVATE_SRC_FILE := $(my_manifest_src_file) $(my_gen_check_manifest): $(my_manifest_src_file) $(HOST_OUT_EXECUTABLES)/assemble_vintf BOARD_SEPOLICY_VERS=$(BOARD_SEPOLICY_VERS) \ IGNORE_TARGET_FCM_VERSION=true \ VINTF_IGNORE_TARGET_FCM_VERSION=true \ $(HOST_OUT_EXECUTABLES)/assemble_vintf -i $(PRIVATE_SRC_FILE) -o $@ LOCAL_GEN_FILE_DEPENDENCIES += $(my_gen_check_manifest) Loading @@ -95,7 +100,8 @@ LOCAL_ASSEMBLE_VINTF_ENV_VARS := \ PLATFORM_SEPOLICY_VERSION \ PLATFORM_SEPOLICY_COMPAT_VERSIONS LOCAL_WARN_REQUIRED_HALS := \ LOCAL_ASSEMBLE_VINTF_ENV_VARS_OVERRIDE := PRODUCT_ENFORCE_VINTF_MANIFEST=true LOCAL_ASSEMBLE_VINTF_ERROR_MESSAGE := \ "Error: DEVICE_FRAMEWORK_COMPATIBILITY_MATRIX cannot contain required HALs." include $(BUILD_FRAMEWORK_COMPATIBILITY_MATRIX) Loading @@ -121,6 +127,14 @@ endif LOCAL_ASSEMBLE_VINTF_ENV_VARS := PRODUCT_ENFORCE_VINTF_MANIFEST # TODO(b/65028233): Enforce no "unused HALs" for devices that does not define # DEVICE_FRAMEWORK_COMPATIBILITY_MATRIX_FILE as well ifeq (true,$(strip $(PRODUCT_ENFORCE_VINTF_MANIFEST))) ifdef DEVICE_FRAMEWORK_COMPATIBILITY_MATRIX_FILE LOCAL_ASSEMBLE_VINTF_ENV_VARS_OVERRIDE := VINTF_ENFORCE_NO_UNUSED_HALS=true endif endif include $(BUILD_FRAMEWORK_COMPATIBILITY_MATRIX) BUILT_SYSTEM_COMPATIBILITY_MATRIX := $(LOCAL_BUILT_MODULE) Loading compatibility_matrices/compatibility_matrix.mk +34 −8 Original line number Diff line number Diff line Loading @@ -25,12 +25,33 @@ endef # $(warning $(call remove-minor-revision,3.18.0)) ifndef LOCAL_MODULE_STEM $(error LOCAL_MODULE_STEM must be defined.) endif ##### Input Variables: # LOCAL_MODULE: required. Module name for the build system. # LOCAL_MODULE_CLASS: optional. Default is ETC. # LOCAL_MODULE_PATH: optional. Path of output file. Default is $(TARGET_OUT)/etc/vintf. # LOCAL_MODULE_STEM: optional. Name of output file. Default is $(LOCAL_MODULE). # LOCAL_SRC_FILES: required. Local source files provided to assemble_vintf # (command line argument -i). # LOCAL_GENERATED_SOURCES: optional. Global source files provided to assemble_vintf # (command line argument -i). # # LOCAL_ADD_VBMETA_VERSION: Use AVBTOOL to add avb version to the output matrix # (corresponds to <avb><vbmeta-version> tag) # LOCAL_ASSEMBLE_VINTF_ENV_VARS: Add a list of environment variable names from global variables in # the build system that is lazily evaluated (e.g. PRODUCT_ENFORCE_VINTF_MANIFEST). # LOCAL_ASSEMBLE_VINTF_ENV_VARS_OVERRIDE: Add a list of environment variables that is local to # assemble_vintf invocation. Format is "VINTF_ENFORCE_NO_UNUSED_HALS=true". # LOCAL_ASSEMBLE_VINTF_FLAGS: Add additional command line arguments to assemble_vintf invocation. # LOCAL_KERNEL_VERSIONS: Parse kernel configurations and add to the output matrix # (corresponds to <kernel> tags.) # LOCAL_GEN_FILE_DEPENDENCIES: A list of additional dependencies for the generated file. ifndef LOCAL_MODULE LOCAL_MODULE := framework_$(LOCAL_MODULE_STEM) $(error LOCAL_MODULE must be defined.) endif ifndef LOCAL_MODULE_STEM LOCAL_MODULE_STEM := $(LOCAL_MODULE) endif ifndef LOCAL_MODULE_CLASS Loading Loading @@ -81,13 +102,17 @@ my_matrix_src_files := \ $(addprefix $(LOCAL_PATH)/,$(LOCAL_SRC_FILES)) \ $(LOCAL_GENERATED_SOURCES) ifneq (,$(strip $(LOCAL_WARN_REQUIRED_HALS))) $(GEN): PRIVATE_ADDITIONAL_ENV_VARS += PRODUCT_ENFORCE_VINTF_MANIFEST=true $(GEN): PRIVATE_COMMAND_TAIL := || (echo $(strip $(LOCAL_WARN_REQUIRED_HALS)) && false) $(GEN): PRIVATE_ADDITIONAL_ENV_VARS := $(LOCAL_ASSEMBLE_VINTF_ENV_VARS_OVERRIDE) ifneq (,$(strip $(LOCAL_ASSEMBLE_VINTF_ERROR_MESSAGE))) $(GEN): PRIVATE_COMMAND_TAIL := || (echo $(strip $(LOCAL_ASSEMBLE_VINTF_ERROR_MESSAGE)) && false) endif $(GEN): PRIVATE_SRC_FILES := $(my_matrix_src_files) $(GEN): $(my_matrix_src_files) $(HOST_OUT_EXECUTABLES)/assemble_vintf $(foreach varname,$(PRIVATE_ENV_VARS),\ $(if $(findstring $(varname),$(PRIVATE_ADDITIONAL_ENV_VARS)),\ $(error $(varname) should not be overridden by LOCAL_ASSEMBLE_VINTF_ENV_VARS_OVERRIDE.))) $(foreach varname,$(PRIVATE_ENV_VARS),$(varname)="$($(varname))") \ $(PRIVATE_ADDITIONAL_ENV_VARS) \ $(HOST_OUT_EXECUTABLES)/assemble_vintf \ Loading @@ -101,8 +126,9 @@ LOCAL_GENERATED_SOURCES := LOCAL_ADD_VBMETA_VERSION := LOCAL_ASSEMBLE_VINTF_ENV_VARS := LOCAL_ASSEMBLE_VINTF_ENV_VARS_OVERRIDE := LOCAL_ASSEMBLE_VINTF_ERROR_MESSAGE := LOCAL_ASSEMBLE_VINTF_FLAGS := LOCAL_WARN_REQUIRED_HALS := LOCAL_KERNEL_VERSIONS := LOCAL_GEN_FILE_DEPENDENCIES := my_matrix_src_files := Loading Loading
compatibility_matrices/Android.mk +19 −5 Original line number Diff line number Diff line Loading @@ -21,8 +21,9 @@ BUILD_FRAMEWORK_COMPATIBILITY_MATRIX := $(LOCAL_PATH)/compatibility_matrix.mk # Clear potential input variables to BUILD_FRAMEWORK_COMPATIBILITY_MATRIX LOCAL_ADD_VBMETA_VERSION := LOCAL_ASSEMBLE_VINTF_ENV_VARS := LOCAL_ASSEMBLE_VINTF_ENV_VARS_OVERRIDE := LOCAL_ASSEMBLE_VINTF_ERROR_MESSAGE := LOCAL_ASSEMBLE_VINTF_FLAGS := LOCAL_WARN_REQUIRED_HALS := LOCAL_KERNEL_VERSIONS := LOCAL_GEN_FILE_DEPENDENCIES := Loading @@ -30,18 +31,21 @@ LOCAL_GEN_FILE_DEPENDENCIES := include $(CLEAR_VARS) LOCAL_MODULE := framework_compatibility_matrix.legacy.xml LOCAL_MODULE_STEM := compatibility_matrix.legacy.xml LOCAL_SRC_FILES := $(LOCAL_MODULE_STEM) LOCAL_KERNEL_VERSIONS := 3.18.0 4.4.0 4.9.0 include $(BUILD_FRAMEWORK_COMPATIBILITY_MATRIX) include $(CLEAR_VARS) LOCAL_MODULE := framework_compatibility_matrix.1.xml LOCAL_MODULE_STEM := compatibility_matrix.1.xml LOCAL_SRC_FILES := $(LOCAL_MODULE_STEM) LOCAL_KERNEL_VERSIONS := 3.18.0 4.4.0 4.9.0 include $(BUILD_FRAMEWORK_COMPATIBILITY_MATRIX) include $(CLEAR_VARS) LOCAL_MODULE := framework_compatibility_matrix.2.xml LOCAL_MODULE_STEM := compatibility_matrix.2.xml LOCAL_SRC_FILES := $(LOCAL_MODULE_STEM) LOCAL_KERNEL_VERSIONS := 3.18.0 4.4.0 4.9.0 Loading @@ -50,6 +54,7 @@ include $(BUILD_FRAMEWORK_COMPATIBILITY_MATRIX) # TODO(b/72409164): STOPSHIP: update kernel version requirements include $(CLEAR_VARS) LOCAL_MODULE := framework_compatibility_matrix.current.xml LOCAL_MODULE_STEM := compatibility_matrix.current.xml LOCAL_SRC_FILES := $(LOCAL_MODULE_STEM) LOCAL_KERNEL_VERSIONS := 4.4.0 4.9.0 Loading @@ -58,9 +63,9 @@ include $(BUILD_FRAMEWORK_COMPATIBILITY_MATRIX) # Framework Compatibility Matrix (common to all FCM versions) include $(CLEAR_VARS) LOCAL_MODULE_STEM := compatibility_matrix.device.xml # define LOCAL_MODULE and LOCAL_MODULE_CLASS for local-generated-sources-dir. LOCAL_MODULE := framework_compatibility_matrix.device.xml LOCAL_MODULE_STEM := compatibility_matrix.device.xml # define LOCAL_MODULE_CLASS for local-generated-sources-dir. LOCAL_MODULE_CLASS := ETC ifndef DEVICE_FRAMEWORK_COMPATIBILITY_MATRIX_FILE Loading @@ -78,7 +83,7 @@ my_gen_check_manifest := $(local-generated-sources-dir)/manifest.check.xml $(my_gen_check_manifest): PRIVATE_SRC_FILE := $(my_manifest_src_file) $(my_gen_check_manifest): $(my_manifest_src_file) $(HOST_OUT_EXECUTABLES)/assemble_vintf BOARD_SEPOLICY_VERS=$(BOARD_SEPOLICY_VERS) \ IGNORE_TARGET_FCM_VERSION=true \ VINTF_IGNORE_TARGET_FCM_VERSION=true \ $(HOST_OUT_EXECUTABLES)/assemble_vintf -i $(PRIVATE_SRC_FILE) -o $@ LOCAL_GEN_FILE_DEPENDENCIES += $(my_gen_check_manifest) Loading @@ -95,7 +100,8 @@ LOCAL_ASSEMBLE_VINTF_ENV_VARS := \ PLATFORM_SEPOLICY_VERSION \ PLATFORM_SEPOLICY_COMPAT_VERSIONS LOCAL_WARN_REQUIRED_HALS := \ LOCAL_ASSEMBLE_VINTF_ENV_VARS_OVERRIDE := PRODUCT_ENFORCE_VINTF_MANIFEST=true LOCAL_ASSEMBLE_VINTF_ERROR_MESSAGE := \ "Error: DEVICE_FRAMEWORK_COMPATIBILITY_MATRIX cannot contain required HALs." include $(BUILD_FRAMEWORK_COMPATIBILITY_MATRIX) Loading @@ -121,6 +127,14 @@ endif LOCAL_ASSEMBLE_VINTF_ENV_VARS := PRODUCT_ENFORCE_VINTF_MANIFEST # TODO(b/65028233): Enforce no "unused HALs" for devices that does not define # DEVICE_FRAMEWORK_COMPATIBILITY_MATRIX_FILE as well ifeq (true,$(strip $(PRODUCT_ENFORCE_VINTF_MANIFEST))) ifdef DEVICE_FRAMEWORK_COMPATIBILITY_MATRIX_FILE LOCAL_ASSEMBLE_VINTF_ENV_VARS_OVERRIDE := VINTF_ENFORCE_NO_UNUSED_HALS=true endif endif include $(BUILD_FRAMEWORK_COMPATIBILITY_MATRIX) BUILT_SYSTEM_COMPATIBILITY_MATRIX := $(LOCAL_BUILT_MODULE) Loading
compatibility_matrices/compatibility_matrix.mk +34 −8 Original line number Diff line number Diff line Loading @@ -25,12 +25,33 @@ endef # $(warning $(call remove-minor-revision,3.18.0)) ifndef LOCAL_MODULE_STEM $(error LOCAL_MODULE_STEM must be defined.) endif ##### Input Variables: # LOCAL_MODULE: required. Module name for the build system. # LOCAL_MODULE_CLASS: optional. Default is ETC. # LOCAL_MODULE_PATH: optional. Path of output file. Default is $(TARGET_OUT)/etc/vintf. # LOCAL_MODULE_STEM: optional. Name of output file. Default is $(LOCAL_MODULE). # LOCAL_SRC_FILES: required. Local source files provided to assemble_vintf # (command line argument -i). # LOCAL_GENERATED_SOURCES: optional. Global source files provided to assemble_vintf # (command line argument -i). # # LOCAL_ADD_VBMETA_VERSION: Use AVBTOOL to add avb version to the output matrix # (corresponds to <avb><vbmeta-version> tag) # LOCAL_ASSEMBLE_VINTF_ENV_VARS: Add a list of environment variable names from global variables in # the build system that is lazily evaluated (e.g. PRODUCT_ENFORCE_VINTF_MANIFEST). # LOCAL_ASSEMBLE_VINTF_ENV_VARS_OVERRIDE: Add a list of environment variables that is local to # assemble_vintf invocation. Format is "VINTF_ENFORCE_NO_UNUSED_HALS=true". # LOCAL_ASSEMBLE_VINTF_FLAGS: Add additional command line arguments to assemble_vintf invocation. # LOCAL_KERNEL_VERSIONS: Parse kernel configurations and add to the output matrix # (corresponds to <kernel> tags.) # LOCAL_GEN_FILE_DEPENDENCIES: A list of additional dependencies for the generated file. ifndef LOCAL_MODULE LOCAL_MODULE := framework_$(LOCAL_MODULE_STEM) $(error LOCAL_MODULE must be defined.) endif ifndef LOCAL_MODULE_STEM LOCAL_MODULE_STEM := $(LOCAL_MODULE) endif ifndef LOCAL_MODULE_CLASS Loading Loading @@ -81,13 +102,17 @@ my_matrix_src_files := \ $(addprefix $(LOCAL_PATH)/,$(LOCAL_SRC_FILES)) \ $(LOCAL_GENERATED_SOURCES) ifneq (,$(strip $(LOCAL_WARN_REQUIRED_HALS))) $(GEN): PRIVATE_ADDITIONAL_ENV_VARS += PRODUCT_ENFORCE_VINTF_MANIFEST=true $(GEN): PRIVATE_COMMAND_TAIL := || (echo $(strip $(LOCAL_WARN_REQUIRED_HALS)) && false) $(GEN): PRIVATE_ADDITIONAL_ENV_VARS := $(LOCAL_ASSEMBLE_VINTF_ENV_VARS_OVERRIDE) ifneq (,$(strip $(LOCAL_ASSEMBLE_VINTF_ERROR_MESSAGE))) $(GEN): PRIVATE_COMMAND_TAIL := || (echo $(strip $(LOCAL_ASSEMBLE_VINTF_ERROR_MESSAGE)) && false) endif $(GEN): PRIVATE_SRC_FILES := $(my_matrix_src_files) $(GEN): $(my_matrix_src_files) $(HOST_OUT_EXECUTABLES)/assemble_vintf $(foreach varname,$(PRIVATE_ENV_VARS),\ $(if $(findstring $(varname),$(PRIVATE_ADDITIONAL_ENV_VARS)),\ $(error $(varname) should not be overridden by LOCAL_ASSEMBLE_VINTF_ENV_VARS_OVERRIDE.))) $(foreach varname,$(PRIVATE_ENV_VARS),$(varname)="$($(varname))") \ $(PRIVATE_ADDITIONAL_ENV_VARS) \ $(HOST_OUT_EXECUTABLES)/assemble_vintf \ Loading @@ -101,8 +126,9 @@ LOCAL_GENERATED_SOURCES := LOCAL_ADD_VBMETA_VERSION := LOCAL_ASSEMBLE_VINTF_ENV_VARS := LOCAL_ASSEMBLE_VINTF_ENV_VARS_OVERRIDE := LOCAL_ASSEMBLE_VINTF_ERROR_MESSAGE := LOCAL_ASSEMBLE_VINTF_FLAGS := LOCAL_WARN_REQUIRED_HALS := LOCAL_KERNEL_VERSIONS := LOCAL_GEN_FILE_DEPENDENCIES := my_matrix_src_files := Loading