1*ef3a692cSMatthias Maennich# Standard constraint_setting and constraint_values to be used in platforms. 2*ef3a692cSMatthias Maennichlicenses(["notice"]) 3*ef3a692cSMatthias Maennich 4*ef3a692cSMatthias Maennichpackage( 5*ef3a692cSMatthias Maennich default_visibility = ["//visibility:public"], 6*ef3a692cSMatthias Maennich) 7*ef3a692cSMatthias Maennich 8*ef3a692cSMatthias Maennichfilegroup( 9*ef3a692cSMatthias Maennich name = "srcs", 10*ef3a692cSMatthias Maennich srcs = glob(["**"]), 11*ef3a692cSMatthias Maennich) 12*ef3a692cSMatthias Maennich 13*ef3a692cSMatthias Maennich# To add a new constraint_value see https://github.com/bazelbuild/platforms. 14*ef3a692cSMatthias Maennichconstraint_setting(name = "os") 15*ef3a692cSMatthias Maennich 16*ef3a692cSMatthias Maennichconstraint_value( 17*ef3a692cSMatthias Maennich name = "freebsd", 18*ef3a692cSMatthias Maennich constraint_setting = ":os", 19*ef3a692cSMatthias Maennich) 20*ef3a692cSMatthias Maennich 21*ef3a692cSMatthias Maennichconstraint_value( 22*ef3a692cSMatthias Maennich name = "netbsd", 23*ef3a692cSMatthias Maennich constraint_setting = ":os", 24*ef3a692cSMatthias Maennich) 25*ef3a692cSMatthias Maennich 26*ef3a692cSMatthias Maennichconstraint_value( 27*ef3a692cSMatthias Maennich name = "openbsd", 28*ef3a692cSMatthias Maennich constraint_setting = ":os", 29*ef3a692cSMatthias Maennich) 30*ef3a692cSMatthias Maennich 31*ef3a692cSMatthias Maennichconstraint_value( 32*ef3a692cSMatthias Maennich name = "haiku", 33*ef3a692cSMatthias Maennich constraint_setting = ":os", 34*ef3a692cSMatthias Maennich) 35*ef3a692cSMatthias Maennich 36*ef3a692cSMatthias Maennichconstraint_value( 37*ef3a692cSMatthias Maennich name = "android", 38*ef3a692cSMatthias Maennich constraint_setting = ":os", 39*ef3a692cSMatthias Maennich) 40*ef3a692cSMatthias Maennich 41*ef3a692cSMatthias Maennichconstraint_value( 42*ef3a692cSMatthias Maennich name = "linux", 43*ef3a692cSMatthias Maennich constraint_setting = ":os", 44*ef3a692cSMatthias Maennich) 45*ef3a692cSMatthias Maennich 46*ef3a692cSMatthias Maennichconstraint_value( 47*ef3a692cSMatthias Maennich name = "windows", 48*ef3a692cSMatthias Maennich constraint_setting = ":os", 49*ef3a692cSMatthias Maennich) 50*ef3a692cSMatthias Maennich 51*ef3a692cSMatthias Maennich# For the VXworks OS, usefull for embedded systems 52*ef3a692cSMatthias Maennichconstraint_value( 53*ef3a692cSMatthias Maennich name = "vxworks", 54*ef3a692cSMatthias Maennich constraint_setting = ":os", 55*ef3a692cSMatthias Maennich) 56*ef3a692cSMatthias Maennich 57*ef3a692cSMatthias Maennich# For platforms with no OS, like microcontrollers. 58*ef3a692cSMatthias Maennichconstraint_value( 59*ef3a692cSMatthias Maennich name = "none", 60*ef3a692cSMatthias Maennich constraint_setting = ":os", 61*ef3a692cSMatthias Maennich) 62*ef3a692cSMatthias Maennich 63*ef3a692cSMatthias Maennich### Apple OS Values 64*ef3a692cSMatthias Maennich 65*ef3a692cSMatthias Maennichconstraint_value( 66*ef3a692cSMatthias Maennich name = "ios", 67*ef3a692cSMatthias Maennich constraint_setting = ":os", 68*ef3a692cSMatthias Maennich) 69*ef3a692cSMatthias Maennich 70*ef3a692cSMatthias Maennich# TODO(b/138656886): Rename this to macos instead of osx. 71*ef3a692cSMatthias Maennichconstraint_value( 72*ef3a692cSMatthias Maennich name = "osx", 73*ef3a692cSMatthias Maennich constraint_setting = ":os", 74*ef3a692cSMatthias Maennich) 75*ef3a692cSMatthias Maennich 76*ef3a692cSMatthias Maennichalias( 77*ef3a692cSMatthias Maennich name = "macos", 78*ef3a692cSMatthias Maennich actual = ":osx", 79*ef3a692cSMatthias Maennich) 80*ef3a692cSMatthias Maennich 81*ef3a692cSMatthias Maennichconstraint_value( 82*ef3a692cSMatthias Maennich name = "tvos", 83*ef3a692cSMatthias Maennich constraint_setting = ":os", 84*ef3a692cSMatthias Maennich) 85*ef3a692cSMatthias Maennich 86*ef3a692cSMatthias Maennichconstraint_value( 87*ef3a692cSMatthias Maennich name = "watchos", 88*ef3a692cSMatthias Maennich constraint_setting = ":os", 89*ef3a692cSMatthias Maennich) 90*ef3a692cSMatthias Maennich 91*ef3a692cSMatthias Maennichconstraint_value( 92*ef3a692cSMatthias Maennich name = "visionos", 93*ef3a692cSMatthias Maennich constraint_setting = ":os", 94*ef3a692cSMatthias Maennich) 95*ef3a692cSMatthias Maennich 96*ef3a692cSMatthias Maennichconstraint_value( 97*ef3a692cSMatthias Maennich name = "qnx", 98*ef3a692cSMatthias Maennich constraint_setting = ":os", 99*ef3a692cSMatthias Maennich) 100*ef3a692cSMatthias Maennich 101*ef3a692cSMatthias Maennich# NixOS uses the Linux kernel, but is not ABI-compatible with any 102*ef3a692cSMatthias Maennich# other Linux distribution. This is because the dynamic linker is in 103*ef3a692cSMatthias Maennich# a non-standard (and undefined) location on the filesystem. 104*ef3a692cSMatthias Maennichconstraint_value( 105*ef3a692cSMatthias Maennich name = "nixos", 106*ef3a692cSMatthias Maennich constraint_setting = ":os", 107*ef3a692cSMatthias Maennich) 108*ef3a692cSMatthias Maennich 109*ef3a692cSMatthias Maennichconstraint_value( 110*ef3a692cSMatthias Maennich name = "emscripten", 111*ef3a692cSMatthias Maennich constraint_setting = ":os", 112*ef3a692cSMatthias Maennich) 113*ef3a692cSMatthias Maennich 114*ef3a692cSMatthias Maennich# WASI (WebAssembly System Interface) 115*ef3a692cSMatthias Maennich# https://github.com/bytecodealliance/wasmtime/blob/main/docs/WASI-overview.md 116*ef3a692cSMatthias Maennichconstraint_value( 117*ef3a692cSMatthias Maennich name = "wasi", 118*ef3a692cSMatthias Maennich constraint_setting = ":os", 119*ef3a692cSMatthias Maennich) 120*ef3a692cSMatthias Maennich 121*ef3a692cSMatthias Maennichconstraint_value( 122*ef3a692cSMatthias Maennich name = "fuchsia", 123*ef3a692cSMatthias Maennich constraint_setting = ":os", 124*ef3a692cSMatthias Maennich) 125*ef3a692cSMatthias Maennich 126*ef3a692cSMatthias Maennichconstraint_value( 127*ef3a692cSMatthias Maennich name = "chromiumos", 128*ef3a692cSMatthias Maennich constraint_setting = ":os", 129*ef3a692cSMatthias Maennich) 130