xref: /aosp_15_r20/external/bazelbuild-platforms/os/BUILD (revision ef3a692c0746f7dadd4fb3b5728d17696f151f9c)
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