| # 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", |
| ]) |