diff options
author | Yifan Hong | 2018-03-30 12:26:14 -0500 |
---|---|---|
committer | Gerrit Code Review | 2018-03-30 12:26:14 -0500 |
commit | 61cbaa8dd70658e82afa2402d9e2e8b015c27ef6 (patch) | |
tree | 6d01ef03234d96704a53ea7bdb7980ae42c660a5 | |
parent | 1965ea92826ca6e0adba6a26db0683e4515501fc (diff) | |
parent | 7d61a8d47b100e6c16deb2b910f4014d7d9b6f28 (diff) | |
download | platform-hardware-interfaces-61cbaa8dd70658e82afa2402d9e2e8b015c27ef6.tar.gz platform-hardware-interfaces-61cbaa8dd70658e82afa2402d9e2e8b015c27ef6.tar.xz platform-hardware-interfaces-61cbaa8dd70658e82afa2402d9e2e8b015c27ef6.zip |
Merge changes from topic "check_unused_hals"
* changes:
matrix: ENFORCE_NO_UNUSED_HALS
matrix: generalize case for LOCAL_WARN_REQUIRED_HALS
matrix: IGNORE_TARGET_FCM_VERSION -> VINTF_*
matrix: define LOCAL_MODULE for all modules.
-rw-r--r-- | compatibility_matrices/Android.mk | 24 | ||||
-rw-r--r-- | compatibility_matrices/compatibility_matrix.mk | 42 |
2 files changed, 53 insertions, 13 deletions
diff --git a/compatibility_matrices/Android.mk b/compatibility_matrices/Android.mk index a10d808d..23be7de2 100644 --- a/compatibility_matrices/Android.mk +++ b/compatibility_matrices/Android.mk | |||
@@ -21,8 +21,9 @@ BUILD_FRAMEWORK_COMPATIBILITY_MATRIX := $(LOCAL_PATH)/compatibility_matrix.mk | |||
21 | # Clear potential input variables to BUILD_FRAMEWORK_COMPATIBILITY_MATRIX | 21 | # Clear potential input variables to BUILD_FRAMEWORK_COMPATIBILITY_MATRIX |
22 | LOCAL_ADD_VBMETA_VERSION := | 22 | LOCAL_ADD_VBMETA_VERSION := |
23 | LOCAL_ASSEMBLE_VINTF_ENV_VARS := | 23 | LOCAL_ASSEMBLE_VINTF_ENV_VARS := |
24 | LOCAL_ASSEMBLE_VINTF_ENV_VARS_OVERRIDE := | ||
25 | LOCAL_ASSEMBLE_VINTF_ERROR_MESSAGE := | ||
24 | LOCAL_ASSEMBLE_VINTF_FLAGS := | 26 | LOCAL_ASSEMBLE_VINTF_FLAGS := |
25 | LOCAL_WARN_REQUIRED_HALS := | ||
26 | LOCAL_KERNEL_VERSIONS := | 27 | LOCAL_KERNEL_VERSIONS := |
27 | LOCAL_GEN_FILE_DEPENDENCIES := | 28 | LOCAL_GEN_FILE_DEPENDENCIES := |
28 | 29 | ||
@@ -30,18 +31,21 @@ LOCAL_GEN_FILE_DEPENDENCIES := | |||
30 | 31 | ||
31 | 32 | ||
32 | include $(CLEAR_VARS) | 33 | include $(CLEAR_VARS) |
34 | LOCAL_MODULE := framework_compatibility_matrix.legacy.xml | ||
33 | LOCAL_MODULE_STEM := compatibility_matrix.legacy.xml | 35 | LOCAL_MODULE_STEM := compatibility_matrix.legacy.xml |
34 | LOCAL_SRC_FILES := $(LOCAL_MODULE_STEM) | 36 | LOCAL_SRC_FILES := $(LOCAL_MODULE_STEM) |
35 | LOCAL_KERNEL_VERSIONS := 3.18.0 4.4.0 4.9.0 | 37 | LOCAL_KERNEL_VERSIONS := 3.18.0 4.4.0 4.9.0 |
36 | include $(BUILD_FRAMEWORK_COMPATIBILITY_MATRIX) | 38 | include $(BUILD_FRAMEWORK_COMPATIBILITY_MATRIX) |
37 | 39 | ||
38 | include $(CLEAR_VARS) | 40 | include $(CLEAR_VARS) |
41 | LOCAL_MODULE := framework_compatibility_matrix.1.xml | ||
39 | LOCAL_MODULE_STEM := compatibility_matrix.1.xml | 42 | LOCAL_MODULE_STEM := compatibility_matrix.1.xml |
40 | LOCAL_SRC_FILES := $(LOCAL_MODULE_STEM) | 43 | LOCAL_SRC_FILES := $(LOCAL_MODULE_STEM) |
41 | LOCAL_KERNEL_VERSIONS := 3.18.0 4.4.0 4.9.0 | 44 | LOCAL_KERNEL_VERSIONS := 3.18.0 4.4.0 4.9.0 |
42 | include $(BUILD_FRAMEWORK_COMPATIBILITY_MATRIX) | 45 | include $(BUILD_FRAMEWORK_COMPATIBILITY_MATRIX) |
43 | 46 | ||
44 | include $(CLEAR_VARS) | 47 | include $(CLEAR_VARS) |
48 | LOCAL_MODULE := framework_compatibility_matrix.2.xml | ||
45 | LOCAL_MODULE_STEM := compatibility_matrix.2.xml | 49 | LOCAL_MODULE_STEM := compatibility_matrix.2.xml |
46 | LOCAL_SRC_FILES := $(LOCAL_MODULE_STEM) | 50 | LOCAL_SRC_FILES := $(LOCAL_MODULE_STEM) |
47 | LOCAL_KERNEL_VERSIONS := 3.18.0 4.4.0 4.9.0 | 51 | LOCAL_KERNEL_VERSIONS := 3.18.0 4.4.0 4.9.0 |
@@ -50,6 +54,7 @@ include $(BUILD_FRAMEWORK_COMPATIBILITY_MATRIX) | |||
50 | # TODO(b/72409164): STOPSHIP: update kernel version requirements | 54 | # TODO(b/72409164): STOPSHIP: update kernel version requirements |
51 | 55 | ||
52 | include $(CLEAR_VARS) | 56 | include $(CLEAR_VARS) |
57 | LOCAL_MODULE := framework_compatibility_matrix.current.xml | ||
53 | LOCAL_MODULE_STEM := compatibility_matrix.current.xml | 58 | LOCAL_MODULE_STEM := compatibility_matrix.current.xml |
54 | LOCAL_SRC_FILES := $(LOCAL_MODULE_STEM) | 59 | LOCAL_SRC_FILES := $(LOCAL_MODULE_STEM) |
55 | LOCAL_KERNEL_VERSIONS := 4.4.0 4.9.0 | 60 | LOCAL_KERNEL_VERSIONS := 4.4.0 4.9.0 |
@@ -58,9 +63,9 @@ include $(BUILD_FRAMEWORK_COMPATIBILITY_MATRIX) | |||
58 | # Framework Compatibility Matrix (common to all FCM versions) | 63 | # Framework Compatibility Matrix (common to all FCM versions) |
59 | 64 | ||
60 | include $(CLEAR_VARS) | 65 | include $(CLEAR_VARS) |
61 | LOCAL_MODULE_STEM := compatibility_matrix.device.xml | ||
62 | # define LOCAL_MODULE and LOCAL_MODULE_CLASS for local-generated-sources-dir. | ||
63 | LOCAL_MODULE := framework_compatibility_matrix.device.xml | 66 | LOCAL_MODULE := framework_compatibility_matrix.device.xml |
67 | LOCAL_MODULE_STEM := compatibility_matrix.device.xml | ||
68 | # define LOCAL_MODULE_CLASS for local-generated-sources-dir. | ||
64 | LOCAL_MODULE_CLASS := ETC | 69 | LOCAL_MODULE_CLASS := ETC |
65 | 70 | ||
66 | ifndef DEVICE_FRAMEWORK_COMPATIBILITY_MATRIX_FILE | 71 | ifndef DEVICE_FRAMEWORK_COMPATIBILITY_MATRIX_FILE |
@@ -78,7 +83,7 @@ my_gen_check_manifest := $(local-generated-sources-dir)/manifest.check.xml | |||
78 | $(my_gen_check_manifest): PRIVATE_SRC_FILE := $(my_manifest_src_file) | 83 | $(my_gen_check_manifest): PRIVATE_SRC_FILE := $(my_manifest_src_file) |
79 | $(my_gen_check_manifest): $(my_manifest_src_file) $(HOST_OUT_EXECUTABLES)/assemble_vintf | 84 | $(my_gen_check_manifest): $(my_manifest_src_file) $(HOST_OUT_EXECUTABLES)/assemble_vintf |
80 | BOARD_SEPOLICY_VERS=$(BOARD_SEPOLICY_VERS) \ | 85 | BOARD_SEPOLICY_VERS=$(BOARD_SEPOLICY_VERS) \ |
81 | IGNORE_TARGET_FCM_VERSION=true \ | 86 | VINTF_IGNORE_TARGET_FCM_VERSION=true \ |
82 | $(HOST_OUT_EXECUTABLES)/assemble_vintf -i $(PRIVATE_SRC_FILE) -o $@ | 87 | $(HOST_OUT_EXECUTABLES)/assemble_vintf -i $(PRIVATE_SRC_FILE) -o $@ |
83 | 88 | ||
84 | LOCAL_GEN_FILE_DEPENDENCIES += $(my_gen_check_manifest) | 89 | LOCAL_GEN_FILE_DEPENDENCIES += $(my_gen_check_manifest) |
@@ -95,7 +100,8 @@ LOCAL_ASSEMBLE_VINTF_ENV_VARS := \ | |||
95 | PLATFORM_SEPOLICY_VERSION \ | 100 | PLATFORM_SEPOLICY_VERSION \ |
96 | PLATFORM_SEPOLICY_COMPAT_VERSIONS | 101 | PLATFORM_SEPOLICY_COMPAT_VERSIONS |
97 | 102 | ||
98 | LOCAL_WARN_REQUIRED_HALS := \ | 103 | LOCAL_ASSEMBLE_VINTF_ENV_VARS_OVERRIDE := PRODUCT_ENFORCE_VINTF_MANIFEST=true |
104 | LOCAL_ASSEMBLE_VINTF_ERROR_MESSAGE := \ | ||
99 | "Error: DEVICE_FRAMEWORK_COMPATIBILITY_MATRIX cannot contain required HALs." | 105 | "Error: DEVICE_FRAMEWORK_COMPATIBILITY_MATRIX cannot contain required HALs." |
100 | 106 | ||
101 | include $(BUILD_FRAMEWORK_COMPATIBILITY_MATRIX) | 107 | include $(BUILD_FRAMEWORK_COMPATIBILITY_MATRIX) |
@@ -121,6 +127,14 @@ endif | |||
121 | 127 | ||
122 | LOCAL_ASSEMBLE_VINTF_ENV_VARS := PRODUCT_ENFORCE_VINTF_MANIFEST | 128 | LOCAL_ASSEMBLE_VINTF_ENV_VARS := PRODUCT_ENFORCE_VINTF_MANIFEST |
123 | 129 | ||
130 | # TODO(b/65028233): Enforce no "unused HALs" for devices that does not define | ||
131 | # DEVICE_FRAMEWORK_COMPATIBILITY_MATRIX_FILE as well | ||
132 | ifeq (true,$(strip $(PRODUCT_ENFORCE_VINTF_MANIFEST))) | ||
133 | ifdef DEVICE_FRAMEWORK_COMPATIBILITY_MATRIX_FILE | ||
134 | LOCAL_ASSEMBLE_VINTF_ENV_VARS_OVERRIDE := VINTF_ENFORCE_NO_UNUSED_HALS=true | ||
135 | endif | ||
136 | endif | ||
137 | |||
124 | include $(BUILD_FRAMEWORK_COMPATIBILITY_MATRIX) | 138 | include $(BUILD_FRAMEWORK_COMPATIBILITY_MATRIX) |
125 | BUILT_SYSTEM_COMPATIBILITY_MATRIX := $(LOCAL_BUILT_MODULE) | 139 | BUILT_SYSTEM_COMPATIBILITY_MATRIX := $(LOCAL_BUILT_MODULE) |
126 | 140 | ||
diff --git a/compatibility_matrices/compatibility_matrix.mk b/compatibility_matrices/compatibility_matrix.mk index abc67965..6dc2b4fb 100644 --- a/compatibility_matrices/compatibility_matrix.mk +++ b/compatibility_matrices/compatibility_matrix.mk | |||
@@ -25,12 +25,33 @@ endef | |||
25 | 25 | ||
26 | # $(warning $(call remove-minor-revision,3.18.0)) | 26 | # $(warning $(call remove-minor-revision,3.18.0)) |
27 | 27 | ||
28 | ifndef LOCAL_MODULE_STEM | 28 | ##### Input Variables: |
29 | $(error LOCAL_MODULE_STEM must be defined.) | 29 | # LOCAL_MODULE: required. Module name for the build system. |
30 | endif | 30 | # LOCAL_MODULE_CLASS: optional. Default is ETC. |
31 | # LOCAL_MODULE_PATH: optional. Path of output file. Default is $(TARGET_OUT)/etc/vintf. | ||
32 | # LOCAL_MODULE_STEM: optional. Name of output file. Default is $(LOCAL_MODULE). | ||
33 | # LOCAL_SRC_FILES: required. Local source files provided to assemble_vintf | ||
34 | # (command line argument -i). | ||
35 | # LOCAL_GENERATED_SOURCES: optional. Global source files provided to assemble_vintf | ||
36 | # (command line argument -i). | ||
37 | # | ||
38 | # LOCAL_ADD_VBMETA_VERSION: Use AVBTOOL to add avb version to the output matrix | ||
39 | # (corresponds to <avb><vbmeta-version> tag) | ||
40 | # LOCAL_ASSEMBLE_VINTF_ENV_VARS: Add a list of environment variable names from global variables in | ||
41 | # the build system that is lazily evaluated (e.g. PRODUCT_ENFORCE_VINTF_MANIFEST). | ||
42 | # LOCAL_ASSEMBLE_VINTF_ENV_VARS_OVERRIDE: Add a list of environment variables that is local to | ||
43 | # assemble_vintf invocation. Format is "VINTF_ENFORCE_NO_UNUSED_HALS=true". | ||
44 | # LOCAL_ASSEMBLE_VINTF_FLAGS: Add additional command line arguments to assemble_vintf invocation. | ||
45 | # LOCAL_KERNEL_VERSIONS: Parse kernel configurations and add to the output matrix | ||
46 | # (corresponds to <kernel> tags.) | ||
47 | # LOCAL_GEN_FILE_DEPENDENCIES: A list of additional dependencies for the generated file. | ||
31 | 48 | ||
32 | ifndef LOCAL_MODULE | 49 | ifndef LOCAL_MODULE |
33 | LOCAL_MODULE := framework_$(LOCAL_MODULE_STEM) | 50 | $(error LOCAL_MODULE must be defined.) |
51 | endif | ||
52 | |||
53 | ifndef LOCAL_MODULE_STEM | ||
54 | LOCAL_MODULE_STEM := $(LOCAL_MODULE) | ||
34 | endif | 55 | endif |
35 | 56 | ||
36 | ifndef LOCAL_MODULE_CLASS | 57 | ifndef LOCAL_MODULE_CLASS |
@@ -81,13 +102,17 @@ my_matrix_src_files := \ | |||
81 | $(addprefix $(LOCAL_PATH)/,$(LOCAL_SRC_FILES)) \ | 102 | $(addprefix $(LOCAL_PATH)/,$(LOCAL_SRC_FILES)) \ |
82 | $(LOCAL_GENERATED_SOURCES) | 103 | $(LOCAL_GENERATED_SOURCES) |
83 | 104 | ||
84 | ifneq (,$(strip $(LOCAL_WARN_REQUIRED_HALS))) | 105 | $(GEN): PRIVATE_ADDITIONAL_ENV_VARS := $(LOCAL_ASSEMBLE_VINTF_ENV_VARS_OVERRIDE) |
85 | $(GEN): PRIVATE_ADDITIONAL_ENV_VARS += PRODUCT_ENFORCE_VINTF_MANIFEST=true | 106 | |
86 | $(GEN): PRIVATE_COMMAND_TAIL := || (echo $(strip $(LOCAL_WARN_REQUIRED_HALS)) && false) | 107 | ifneq (,$(strip $(LOCAL_ASSEMBLE_VINTF_ERROR_MESSAGE))) |
108 | $(GEN): PRIVATE_COMMAND_TAIL := || (echo $(strip $(LOCAL_ASSEMBLE_VINTF_ERROR_MESSAGE)) && false) | ||
87 | endif | 109 | endif |
88 | 110 | ||
89 | $(GEN): PRIVATE_SRC_FILES := $(my_matrix_src_files) | 111 | $(GEN): PRIVATE_SRC_FILES := $(my_matrix_src_files) |
90 | $(GEN): $(my_matrix_src_files) $(HOST_OUT_EXECUTABLES)/assemble_vintf | 112 | $(GEN): $(my_matrix_src_files) $(HOST_OUT_EXECUTABLES)/assemble_vintf |
113 | $(foreach varname,$(PRIVATE_ENV_VARS),\ | ||
114 | $(if $(findstring $(varname),$(PRIVATE_ADDITIONAL_ENV_VARS)),\ | ||
115 | $(error $(varname) should not be overridden by LOCAL_ASSEMBLE_VINTF_ENV_VARS_OVERRIDE.))) | ||
91 | $(foreach varname,$(PRIVATE_ENV_VARS),$(varname)="$($(varname))") \ | 116 | $(foreach varname,$(PRIVATE_ENV_VARS),$(varname)="$($(varname))") \ |
92 | $(PRIVATE_ADDITIONAL_ENV_VARS) \ | 117 | $(PRIVATE_ADDITIONAL_ENV_VARS) \ |
93 | $(HOST_OUT_EXECUTABLES)/assemble_vintf \ | 118 | $(HOST_OUT_EXECUTABLES)/assemble_vintf \ |
@@ -101,8 +126,9 @@ LOCAL_GENERATED_SOURCES := | |||
101 | 126 | ||
102 | LOCAL_ADD_VBMETA_VERSION := | 127 | LOCAL_ADD_VBMETA_VERSION := |
103 | LOCAL_ASSEMBLE_VINTF_ENV_VARS := | 128 | LOCAL_ASSEMBLE_VINTF_ENV_VARS := |
129 | LOCAL_ASSEMBLE_VINTF_ENV_VARS_OVERRIDE := | ||
130 | LOCAL_ASSEMBLE_VINTF_ERROR_MESSAGE := | ||
104 | LOCAL_ASSEMBLE_VINTF_FLAGS := | 131 | LOCAL_ASSEMBLE_VINTF_FLAGS := |
105 | LOCAL_WARN_REQUIRED_HALS := | ||
106 | LOCAL_KERNEL_VERSIONS := | 132 | LOCAL_KERNEL_VERSIONS := |
107 | LOCAL_GEN_FILE_DEPENDENCIES := | 133 | LOCAL_GEN_FILE_DEPENDENCIES := |
108 | my_matrix_src_files := | 134 | my_matrix_src_files := |