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