/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
/*
 *
 * (C) COPYRIGHT 2016-2021 ARM Limited. All rights reserved.
 *
 * This program is free software and is provided to you under the terms of the
 * GNU General Public License version 2 as published by the Free Software
 * Foundation, and any use by you of this program is subject to the terms
 * of such GNU license.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, you can access it online at
 * http://www.gnu.org/licenses/gpl-2.0.html.
 *
 */

bob_install_group {
    name: "IG_kernel_modules",
    android: {
        install_path: "{{.module_path}}",
    },
    linux: {
        install_path: "{{.install_dir}}/{{.module_path}}",
    },
}

bob_defaults {
    name: "kernel_defaults",
    build_by_default: false,
    enabled: false,
    exclude_srcs: [
        "**/*.mod.c",
    ],
    local_include_dirs: [
        "include",
    ],
    build_kernel_modules: {
        build_by_default: true,
        enabled: true,
        kernel_dir: "{{.kernel_dir}}",
        kernel_cross_compile: "{{.kernel_compiler}}",
        kernel_cc: "{{.kernel_cc}}",
        kernel_hostcc: "{{.kernel_hostcc}}",
        kernel_clang_triple: "{{.kernel_clang_triple}}",
        kernel_ld: "{{.kernel_ld}}",
    },
    install_group: "IG_kernel_modules",
    add_to_alias: ["kernel"],
    owner: "{{.android_module_owner}}",
    cflags: [
        "-Wall",
    ],
    werror: {
        cflags: ["-Werror"],
    },
    allow_android_tags: {
        tags: [
            "eng",
            "optional",
        ],
    },
}

// Alias for all kernel modules. `kernel_defaults` uses `add_to_alias` to
// ensure any modules using that are included in this alias; any
// bob_kernel_modules not using those defaults must explicitly use
// `add_to_alias` or be listed here.
bob_alias {
    name: "kernel",
}
