// 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.

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",
    ],
}
