blob: 40c7596ee1a359b7236ee0844da4885fcddb82a9 [file] [log] [blame]
# SPDX-License-Identifier: GPL-2.0-or-later
load("@bazel_skylib//lib:selects.bzl", "selects")
load("@bazel_skylib//rules:common_settings.bzl", "string_flag")
package(
default_visibility = [
"//private/devices/google:__subpackages__",
"//private/google-modules:__subpackages__",
],
)
# Force the user to define the generic gs_* flags
filegroup(
name = "gs_undefined",
srcs = [],
)
label_flag(
name = "gs_kernel_build",
build_setting_default = ":gs_undefined",
)
label_flag(
name = "gs_soc_module",
build_setting_default = ":gs_undefined",
)
config_setting(
name = "gki_aosp",
flag_values = {
":gki_kernel_dir": "aosp",
},
)
config_setting(
name = "gki_aosp_staging",
flag_values = {
":gki_kernel_dir": "aosp-staging",
},
)
string_flag(
name = "gki_kernel_dir",
build_setting_default = "aosp",
)
string_flag(
name = "debug_fragment",
build_setting_default = "",
)
config_setting(
name = "blktest",
flag_values = {
":debug_fragment": "blktest",
},
)
config_setting(
name = "debug_api",
flag_values = {
":debug_fragment": "debug_api",
},
)
config_setting(
name = "debug_kmemleak",
flag_values = {
":debug_fragment": "debug_kmemleak",
},
)
config_setting(
name = "debug_locking",
flag_values = {
":debug_fragment": "debug_locking",
},
)
config_setting(
name = "debug_memory",
flag_values = {
":debug_fragment": "debug_memory",
},
)
config_setting(
name = "debug_memory_accounting",
flag_values = {
":debug_fragment": "debug_memory_accounting",
},
)
config_setting(
name = "function_tracer",
flag_values = {
":debug_fragment": "function_tracer",
},
)
config_setting(
name = "kasan",
flag_values = {
":debug_fragment": "kasan",
},
)
config_setting(
name = "khwasan",
flag_values = {
":debug_fragment": "khwasan",
},
)
config_setting(
name = "cmdline_lto_is_none",
flag_values = {
"//build/kernel/kleaf:lto": "none",
},
)
# These debug fragments sets LTO=none.
selects.config_setting_group(
name = "lto_none",
match_any = [
# keep sorted
":cmdline_lto_is_none",
":function_tracer",
":kasan",
],
)
filegroup(
name = "gs_soc.kconfig",
srcs = glob([
"**/Kconfig",
]) + [
"Kconfig.ext",
"Kconfig.ext_modules",
],
visibility = [
"//private/devices/google:__subpackages__",
],
)
filegroup(
name = "gs.dt-bindings",
srcs = glob([
"include/dt-bindings/**",
"include/dtc/**",
]),
visibility = [
"//private/devices/google:__subpackages__",
"//private/google-modules/soc/gs/arch/arm64/boot/dts:__pkg__",
],
)
filegroup(
name = "gs_soc_sources",
srcs = glob(
["**"],
exclude = [
".*",
".*/**",
"BUILD.bazel",
"**/*.bzl",
"build.config.*",
],
) + [
"//private/google-modules/bms/misc:headers",
"//private/google-modules/trusty:headers",
],
visibility = [
# keep sorted
"//private/devices/google:__subpackages__",
],
)
filegroup(
name = "gs_soc_headers",
srcs = glob([
# Standard pixel headers
"include/**/*.h",
"include/**/uapi/*.h",
] + [
# List of headers needed by external modules
"drivers/dma-buf/heaps/samsung/samsung-dma-heap.h",
"drivers/usb/host/xhci-exynos.h",
"drivers/soc/google/cpif/modem_notifier.h",
# Needed for external modules to include in their makefiles
"Makefile.include",
]),
visibility = [
# keep sorted
"//private/devices/google:__subpackages__",
"//private/google-modules:__subpackages__",
],
)
exports_files([
# keep sorted
"Kconfig.ext",
"Makefile",
"build.config.slider.blktest",
"build.config.slider.debug_api",
"build.config.slider.debug_kmemleak",
"build.config.slider.debug_locking",
"build.config.slider.debug_memory",
"build.config.slider.debug_memory_accounting",
"build.config.slider.kasan",
"build.config.slider.khwasan",
"build.config.zuma",
"system_dlkm.props.zuma",
"vendor_dlkm.blocklist.zuma",
"vendor_dlkm.props.zuma",
"vendor_dlkm_modules.zuma",
"vendor_kernel_boot_modules.zuma",
])