blob: f0ad569cfcf8a52643bba8bccc9f99db2615238e [file] [log] [blame]
load("//bazel:flags.bzl", "selects")
package(
default_applicable_licenses = ["//:license"],
)
licenses(["notice"])
# @platforms is found at https://github.com/bazelbuild/platforms
config_setting(
name = "linux_x64",
constraint_values = [
"@platforms//cpu:x86_64",
"@platforms//os:linux",
],
)
# Apple devices with intel processors released before the shift to the M1 chip
# will use this config setting.
config_setting(
name = "mac_x64",
constraint_values = [
"@platforms//cpu:x86_64",
"@platforms//os:macos",
],
)
# M1 Macs (and later) will use this setting.
config_setting(
name = "mac_arm64",
constraint_values = [
"@platforms//cpu:arm64",
"@platforms//os:macos",
],
)
config_setting(
name = "windows_x64",
constraint_values = [
"@platforms//cpu:x86_64",
"@platforms//os:windows",
],
)
config_setting(
name = "linux_arm64",
constraint_values = [
"@platforms//cpu:arm64",
"@platforms//os:linux",
],
)
config_setting(
name = "debug_build",
values = {"compilation_mode": "dbg"},
)
config_setting(
name = "fast_build",
values = {"compilation_mode": "fastbuild"},
)
config_setting(
name = "release_build",
values = {"compilation_mode": "opt"},
)
constraint_value(
name = "fuchsia",
constraint_setting = "@platforms//os:os",
)
config_setting(
name = "fuchsia_arm64",
constraint_values = [
"@platforms//cpu:arm64",
":fuchsia",
],
)
# We define this here because the emscripten toolchain calls the cpu wasm, whereas the
# bazelbuild/platforms call it wasm32. https://github.com/emscripten-core/emsdk/issues/919
config_setting(
name = "cpu_wasm",
values = {
"cpu": "wasm",
},
)
selects.config_setting_group(
name = "release_build_mac",
match_all = [
"@platforms//os:macos",
":release_build",
],
visibility = ["//:__subpackages__"],
)
selects.config_setting_group(
name = "release_build_linux",
match_all = [
"@platforms//os:linux",
":release_build",
],
visibility = ["//:__subpackages__"],
)
selects.config_setting_group(
name = "fast_build_mac",
match_all = [
"@platforms//os:macos",
":fast_build",
],
visibility = ["//:__subpackages__"],
)
selects.config_setting_group(
name = "fast_build_linux",
match_all = [
"@platforms//os:linux",
":fast_build",
],
visibility = ["//:__subpackages__"],
)