/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
/*
 *
 * (C) COPYRIGHT 2016-2022 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}}",
    // These flags should be synchronised with that defined in
    // kernel/drivers/base/arm/Makefile and
    // kernel/drivers/gpu/arm/midgard/Makefile
    cflags: [
        "-Wall",
        "-Werror",
        "-Wextra -Wunused -Wno-unused-parameter",
        "-Wmissing-declarations",
        "-Wmissing-format-attribute",
        "-Wmissing-prototypes",
        "-Wold-style-definition",
        // The -Wmissing-include-dirs cannot be enabled as the path to some of the
        // included directories change depending on whether it is an in-tree or
        // out-of-tree build.
        "-Wno-sign-compare",
        "-Wno-shift-negative-value",
        "-DKBUILD_EXTRA_WARN1",
        "-Wdisabled-optimization",
        // The -Wshadow flag cannot be enabled unless upstream kernels are
        // patched to fix redefinitions of certain built-in functions and
        // global variables.
        "-Wmissing-field-initializers",
        // -Wtype-limits must be disabled due to build failures on kernel 5.x
        "-Wno-type-limits",
        "-DKBUILD_EXTRA_WARN2",
        // This warning is disabled to avoid build failures in some kernel versions
        "-Wno-ignored-qualifiers",
    ],
    target_toolchain_gnu: {
        cflags: [
            "-Wunused-but-set-variable",
            "-Wunused-const-variable",
            "-Wpacked-not-aligned",
            "-Wstringop-truncation",
            "-Wlogical-op",
            "-Wmaybe-uninitialized",
            "-Wunused-macros",
            // This flag is needed to avoid build errors on older kernels
            "-Wno-cast-function-type",
        ],
    },
    workaround_no_missing_attributes: {
        cflags: [
            "-Wno-missing-attributes",
        ],
    },
    mali_gcov_kernel: {
        cflags: [
            "-fprofile-arcs",
            "-ftest-coverage",
            "-DGCOV_PROFILE=1",
        ],
    },
    mali_kcov: {
        cflags: [
            "-fsanitize-coverage=trace-cmp",
            "-DCONFIG_KCOV=1",
            "-DCONFIG_KCOV_ENABLE_COMPARISONS=1",
        ],
    },
    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",
}
