// Copyright (C) 2018 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.

package {
    // See: http://go/android-license-faq
    // A large-scale-change added 'default_applicable_licenses' to import
    // all of the 'license_kinds' from "hardware_interfaces_license"
    // to get the below license kinds:
    //   SPDX-license-identifier-Apache-2.0
    default_applicable_licenses: ["hardware_interfaces_license"],
}

vintf_compatibility_matrix {
    name: "framework_compatibility_matrix.3.xml",
    stem: "compatibility_matrix.3.xml",
    srcs: [
        "compatibility_matrix.3.xml",
    ],
    kernel_configs: [
        "kernel_config_p_4.4",
        "kernel_config_p_4.9",
        "kernel_config_p_4.14",
    ],
}

vintf_compatibility_matrix {
    name: "framework_compatibility_matrix.4.xml",
    stem: "compatibility_matrix.4.xml",
    srcs: [
        "compatibility_matrix.4.xml",
    ],
    kernel_configs: [
        "kernel_config_q_4.9",
        "kernel_config_q_4.14",
        "kernel_config_q_4.19",
    ],
}

vintf_compatibility_matrix {
    name: "framework_compatibility_matrix.5.xml",
    stem: "compatibility_matrix.5.xml",
    srcs: [
        "compatibility_matrix.5.xml",
    ],
    kernel_configs: [
        "kernel_config_r_4.14",
        "kernel_config_r_4.19",
        "kernel_config_r_5.4",
    ],
}

vintf_compatibility_matrix {
    name: "framework_compatibility_matrix.current.xml",
    stem: "compatibility_matrix.current.xml",
    srcs: [
        "compatibility_matrix.current.xml",
    ],
    kernel_configs: [
        "kernel_config_current_4.19",
        "kernel_config_current_5.4",
        "kernel_config_current_5.10",
    ],
}
