1load("//bazel:flags.bzl", "selects") 2 3package( 4 default_applicable_licenses = ["//:license"], 5) 6 7licenses(["notice"]) 8 9# @platforms is found at https://github.com/bazelbuild/platforms 10 11config_setting( 12 name = "linux_x64", 13 constraint_values = [ 14 "@platforms//cpu:x86_64", 15 "@platforms//os:linux", 16 ], 17) 18 19# Apple devices with intel processors released before the shift to the M1 chip 20# will use this config setting. 21config_setting( 22 name = "mac_x64", 23 constraint_values = [ 24 "@platforms//cpu:x86_64", 25 "@platforms//os:macos", 26 ], 27) 28 29# M1 Macs (and later) will use this setting. 30config_setting( 31 name = "mac_arm64", 32 constraint_values = [ 33 "@platforms//cpu:arm64", 34 "@platforms//os:macos", 35 ], 36) 37 38config_setting( 39 name = "windows_x64", 40 constraint_values = [ 41 "@platforms//cpu:x86_64", 42 "@platforms//os:windows", 43 ], 44) 45 46config_setting( 47 name = "linux_arm64", 48 constraint_values = [ 49 "@platforms//cpu:arm64", 50 "@platforms//os:linux", 51 ], 52) 53 54config_setting( 55 name = "debug_build", 56 values = {"compilation_mode": "dbg"}, 57) 58 59config_setting( 60 name = "fast_build", 61 values = {"compilation_mode": "fastbuild"}, 62) 63 64config_setting( 65 name = "release_build", 66 values = {"compilation_mode": "opt"}, 67) 68 69constraint_value( 70 name = "fuchsia", 71 constraint_setting = "@platforms//os:os", 72) 73 74config_setting( 75 name = "fuchsia_arm64", 76 constraint_values = [ 77 "@platforms//cpu:arm64", 78 ":fuchsia", 79 ], 80) 81 82# We define this here because the emscripten toolchain calls the cpu wasm, whereas the 83# bazelbuild/platforms call it wasm32. https://github.com/emscripten-core/emsdk/issues/919 84config_setting( 85 name = "cpu_wasm", 86 values = { 87 "cpu": "wasm", 88 }, 89) 90 91selects.config_setting_group( 92 name = "release_build_mac", 93 match_all = [ 94 "@platforms//os:macos", 95 ":release_build", 96 ], 97 visibility = ["//:__subpackages__"], 98) 99 100selects.config_setting_group( 101 name = "release_build_linux", 102 match_all = [ 103 "@platforms//os:linux", 104 ":release_build", 105 ], 106 visibility = ["//:__subpackages__"], 107) 108 109selects.config_setting_group( 110 name = "fast_build_mac", 111 match_all = [ 112 "@platforms//os:macos", 113 ":fast_build", 114 ], 115 visibility = ["//:__subpackages__"], 116) 117 118selects.config_setting_group( 119 name = "fast_build_linux", 120 match_all = [ 121 "@platforms//os:linux", 122 ":fast_build", 123 ], 124 visibility = ["//:__subpackages__"], 125) 126