mirror of
https://github.com/Evolution-X/hardware_interfaces
synced 2026-02-01 16:50:18 +00:00
Put it in its own FCM so it's easier to manage while HIDL C2 is being depregated with flagging. This interface will not be allowed in the 202404 vendor interface. Test: launch_cvd Bug: 218588089 Change-Id: I24e14db4edd161a574a4404c8b7271c91dc1243a
144 lines
5.1 KiB
Makefile
144 lines
5.1 KiB
Makefile
#
|
|
# Copyright (C) 2017 The Android Open Source Project
|
|
#
|
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
# you may not use this file except in compliance with the License.
|
|
# You may obtain a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
# See the License for the specific language governing permissions and
|
|
# limitations under the License.
|
|
#
|
|
|
|
LOCAL_PATH := $(call my-dir)
|
|
|
|
BUILD_FRAMEWORK_COMPATIBILITY_MATRIX := $(LOCAL_PATH)/compatibility_matrix.mk
|
|
my_empty_manifest := $(LOCAL_PATH)/manifest.empty.xml
|
|
|
|
# System Compatibility Matrix (common to all FCM versions)
|
|
|
|
include $(CLEAR_VARS)
|
|
include $(LOCAL_PATH)/clear_vars.mk
|
|
LOCAL_MODULE := framework_compatibility_matrix.device.xml
|
|
LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
|
|
LOCAL_LICENSE_CONDITIONS := notice
|
|
LOCAL_NOTICE_FILE := $(LOCAL_PATH)/../NOTICE
|
|
LOCAL_MODULE_STEM := compatibility_matrix.device.xml
|
|
# define LOCAL_MODULE_CLASS for local-generated-sources-dir.
|
|
LOCAL_MODULE_CLASS := ETC
|
|
LOCAL_MODULE_RELATIVE_PATH := vintf
|
|
|
|
ifndef DEVICE_FRAMEWORK_COMPATIBILITY_MATRIX_FILE
|
|
LOCAL_SRC_FILES := compatibility_matrix.empty.xml
|
|
else
|
|
|
|
# DEVICE_FRAMEWORK_COMPATIBILITY_MATRIX_FILE specifies absolute paths
|
|
LOCAL_GENERATED_SOURCES := $(DEVICE_FRAMEWORK_COMPATIBILITY_MATRIX_FILE)
|
|
|
|
# Enforce that DEVICE_FRAMEWORK_COMPATIBILITY_MATRIX_FILE does not specify required HALs
|
|
# by checking it against an empty manifest. But the empty manifest needs to contain
|
|
# BOARD_SEPOLICY_VERS to be compatible with DEVICE_FRAMEWORK_COMPATIBILITY_MATRIX_FILE.
|
|
my_gen_check_manifest := $(local-generated-sources-dir)/manifest.check.xml
|
|
$(my_gen_check_manifest): PRIVATE_SRC_FILE := $(my_empty_manifest)
|
|
$(my_gen_check_manifest): $(my_empty_manifest) $(HOST_OUT_EXECUTABLES)/assemble_vintf
|
|
BOARD_SEPOLICY_VERS=$(BOARD_SEPOLICY_VERS) \
|
|
VINTF_IGNORE_TARGET_FCM_VERSION=true \
|
|
$(HOST_OUT_EXECUTABLES)/assemble_vintf -i $(PRIVATE_SRC_FILE) -o $@
|
|
|
|
LOCAL_GEN_FILE_DEPENDENCIES += $(my_gen_check_manifest)
|
|
LOCAL_ASSEMBLE_VINTF_FLAGS += -c "$(my_gen_check_manifest)"
|
|
|
|
my_gen_check_manifest :=
|
|
|
|
endif # DEVICE_FRAMEWORK_COMPATIBILITY_MATRIX_FILE
|
|
|
|
# TODO(b/296875906): use POLICYVERS from Soong
|
|
POLICYVERS ?= 30
|
|
|
|
LOCAL_ADD_VBMETA_VERSION := true
|
|
LOCAL_ASSEMBLE_VINTF_ENV_VARS := \
|
|
POLICYVERS \
|
|
PLATFORM_SEPOLICY_VERSION \
|
|
PLATFORM_SEPOLICY_COMPAT_VERSIONS
|
|
|
|
include $(BUILD_FRAMEWORK_COMPATIBILITY_MATRIX)
|
|
|
|
# Product Compatibility Matrix
|
|
|
|
include $(CLEAR_VARS)
|
|
include $(LOCAL_PATH)/clear_vars.mk
|
|
LOCAL_MODULE := product_compatibility_matrix.xml
|
|
LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
|
|
LOCAL_LICENSE_CONDITIONS := notice
|
|
LOCAL_NOTICE_FILE := $(LOCAL_PATH)/../NOTICE
|
|
|
|
ifndef DEVICE_PRODUCT_COMPATIBILITY_MATRIX_FILE
|
|
my_framework_matrix_deps :=
|
|
include $(BUILD_PHONY_PACKAGE)
|
|
else # DEVICE_PRODUCT_COMPATIBILITY_MATRIX_FILE
|
|
|
|
LOCAL_MODULE_STEM := compatibility_matrix.xml
|
|
LOCAL_PRODUCT_MODULE := true
|
|
LOCAL_MODULE_CLASS := ETC
|
|
LOCAL_MODULE_RELATIVE_PATH := vintf
|
|
|
|
# DEVICE_PRODUCT_COMPATIBILITY_MATRIX_FILE specifies absolute paths
|
|
LOCAL_GENERATED_SOURCES := $(DEVICE_PRODUCT_COMPATIBILITY_MATRIX_FILE)
|
|
|
|
# Enforce that DEVICE_PRODUCT_COMPATIBILITY_MATRIX_FILE does not specify required HALs
|
|
# by checking it against an empty manifest.
|
|
LOCAL_GEN_FILE_DEPENDENCIES += $(my_empty_manifest)
|
|
LOCAL_ASSEMBLE_VINTF_FLAGS += -c "$(my_empty_manifest)"
|
|
|
|
my_framework_matrix_deps := $(LOCAL_MODULE)
|
|
|
|
include $(BUILD_FRAMEWORK_COMPATIBILITY_MATRIX)
|
|
|
|
endif # DEVICE_PRODUCT_COMPATIBILITY_MATRIX_FILE
|
|
|
|
my_system_matrix_deps := \
|
|
framework_compatibility_matrix.4.xml \
|
|
framework_compatibility_matrix.5.xml \
|
|
framework_compatibility_matrix.6.xml \
|
|
framework_compatibility_matrix.7.xml \
|
|
framework_compatibility_matrix.8.xml \
|
|
framework_compatibility_matrix.device.xml \
|
|
|
|
# Only allow the use of the unreleased compatibility matrix when we can use unfrozen
|
|
# interfaces (in the `next` release configuration).
|
|
ifeq ($(RELEASE_AIDL_USE_UNFROZEN),true)
|
|
my_system_matrix_deps += \
|
|
framework_compatibility_matrix.202404.xml \
|
|
framework_compatibility_matrix.tmp.xml
|
|
endif
|
|
|
|
my_framework_matrix_deps += \
|
|
$(my_system_matrix_deps)
|
|
|
|
# Phony target that installs all system compatibility matrix files
|
|
include $(CLEAR_VARS)
|
|
LOCAL_MODULE := system_compatibility_matrix.xml
|
|
LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
|
|
LOCAL_LICENSE_CONDITIONS := notice
|
|
LOCAL_NOTICE_FILE := $(LOCAL_PATH)/../NOTICE
|
|
LOCAL_REQUIRED_MODULES := $(my_system_matrix_deps)
|
|
include $(BUILD_PHONY_PACKAGE)
|
|
|
|
# Phony target that installs all framework compatibility matrix files (system + product)
|
|
include $(CLEAR_VARS)
|
|
LOCAL_MODULE := framework_compatibility_matrix.xml
|
|
LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
|
|
LOCAL_LICENSE_CONDITIONS := notice
|
|
LOCAL_NOTICE_FILE := $(LOCAL_PATH)/../NOTICE
|
|
LOCAL_REQUIRED_MODULES := $(my_framework_matrix_deps)
|
|
include $(BUILD_PHONY_PACKAGE)
|
|
|
|
my_system_matrix_deps :=
|
|
my_framework_matrix_deps :=
|
|
my_empty_manifest :=
|
|
BUILD_FRAMEWORK_COMPATIBILITY_MATRIX :=
|