xref: /aosp_15_r20/hardware/interfaces/compatibility_matrices/Android.bp (revision 4d7e907c777eeecc4c5bd7cf640a754fac206ff7)
1// Copyright (C) 2018 The Android Open Source Project
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7//     http://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14
15package {
16    // See: http://go/android-license-faq
17    // A large-scale-change added 'default_applicable_licenses' to import
18    // all of the 'license_kinds' from "hardware_interfaces_license"
19    // to get the below license kinds:
20    //   SPDX-license-identifier-Apache-2.0
21    default_applicable_licenses: ["hardware_interfaces_license"],
22}
23
24// Device framework compatibility matrix (common to all FCM versions)
25// Reference: https://source.android.com/docs/core/architecture/vintf/comp-matrices
26vintf_compatibility_matrix {
27    name: "framework_compatibility_matrix.device.xml",
28    stem: "compatibility_matrix.device.xml",
29    type: "device_fcm",
30}
31
32// Phony target that installs all system compatibility matrix files
33SYSTEM_MATRIX_DEPS = [
34    "framework_compatibility_matrix.5.xml",
35    "framework_compatibility_matrix.6.xml",
36    "framework_compatibility_matrix.7.xml",
37    "framework_compatibility_matrix.8.xml",
38    "framework_compatibility_matrix.202404.xml",
39    "framework_compatibility_matrix.device.xml",
40]
41
42phony {
43    name: "system_compatibility_matrix.xml",
44    required: SYSTEM_MATRIX_DEPS,
45    product_variables: {
46        release_aidl_use_unfrozen: {
47            required: [
48                "framework_compatibility_matrix.202504.xml",
49            ],
50        },
51    },
52}
53
54// Product Compatibility Matrix
55vintf_compatibility_matrix {
56    name: "product_compatibility_matrix.xml",
57    stem: "compatibility_matrix.xml",
58    product_specific: true,
59    type: "product_fcm",
60}
61
62// Phony target that installs all framework compatibility matrix files (system + product)
63FRAMEWORK_MATRIX_DEPS = SYSTEM_MATRIX_DEPS + ["product_compatibility_matrix.xml"]
64
65phony {
66    name: "framework_compatibility_matrix.xml",
67    required: FRAMEWORK_MATRIX_DEPS,
68    product_variables: {
69        release_aidl_use_unfrozen: {
70            required: [
71                "framework_compatibility_matrix.202504.xml",
72            ],
73        },
74    },
75}
76
77////////////////////////////////////////////
78// AUTO GENERATED MODULES
79// DO NOT ADD MORE MODULES BELOW THIS LINE
80////////////////////////////////////////////
81
82// System compatibility matrices
83vintf_compatibility_matrix {
84    name: "framework_compatibility_matrix.5.xml",
85    stem: "compatibility_matrix.5.xml",
86    srcs: [
87        "compatibility_matrix.5.xml",
88    ],
89    kernel_configs: [
90        "kernel_config_r_4.14",
91        "kernel_config_r_4.19",
92        "kernel_config_r_5.4",
93    ],
94}
95
96vintf_compatibility_matrix {
97    name: "framework_compatibility_matrix.6.xml",
98    stem: "compatibility_matrix.6.xml",
99    srcs: [
100        "compatibility_matrix.6.xml",
101    ],
102    kernel_configs: [
103        "kernel_config_s_4.19",
104        "kernel_config_s_5.4",
105        "kernel_config_s_5.10",
106    ],
107}
108
109vintf_compatibility_matrix {
110    name: "framework_compatibility_matrix.7.xml",
111    stem: "compatibility_matrix.7.xml",
112    srcs: [
113        "compatibility_matrix.7.xml",
114    ],
115    kernel_configs: [
116        "kernel_config_t_5.10",
117        "kernel_config_t_5.15",
118    ],
119}
120
121vintf_compatibility_matrix {
122    name: "framework_compatibility_matrix.8.xml",
123    stem: "compatibility_matrix.8.xml",
124    srcs: [
125        "compatibility_matrix.8.xml",
126    ],
127    kernel_configs: [
128        "kernel_config_u_5.15",
129        "kernel_config_u_6.1",
130    ],
131}
132
133vintf_compatibility_matrix {
134    name: "framework_compatibility_matrix.202404.xml",
135    stem: "compatibility_matrix.202404.xml",
136    srcs: [
137        "compatibility_matrix.202404.xml",
138    ],
139    kernel_configs: [
140        "kernel_config_v_6.1",
141        "kernel_config_v_6.6",
142    ],
143}
144
145vintf_compatibility_matrix {
146    name: "framework_compatibility_matrix.202504.xml",
147    stem: "compatibility_matrix.202504.xml",
148    srcs: ["compatibility_matrix.202504.xml"],
149    kernel_configs: [
150        "kernel_config_w_6.12",
151    ],
152}
153