blob: 862c554f8e7222540d947c3740a4bd2a4fe9d649 [file] [log] [blame]
John Cater58a8f072017-03-23 16:55:41 +00001# Standard constraint_setting and constraint_values to be used in platforms.
2
3package(
4 default_visibility = ["//visibility:public"],
5)
6
ajmichaela5bda132018-03-19 09:30:22 -07007# These match values in //src/main/java/com/google/devtools/build/lib/util:CPU.java
John Cater58a8f072017-03-23 16:55:41 +00008constraint_setting(name = "cpu")
9
10constraint_value(
11 name = "x86_32",
12 constraint_setting = ":cpu",
13)
14
15constraint_value(
16 name = "x86_64",
17 constraint_setting = ":cpu",
18)
19
20constraint_value(
21 name = "ppc",
22 constraint_setting = ":cpu",
23)
24
25constraint_value(
26 name = "arm",
27 constraint_setting = ":cpu",
28)
29
30constraint_value(
Arielle Albon886d01c2018-06-20 05:51:18 -070031 name = "aarch64",
32 constraint_setting = ":cpu",
33)
34
35constraint_value(
jcater227744a2017-06-05 15:25:09 -040036 name = "s390x",
John Cater58a8f072017-03-23 16:55:41 +000037 constraint_setting = ":cpu",
38)
39
ajmichaela5bda132018-03-19 09:30:22 -070040# These match values in //src/main/java/com/google/devtools/build/lib/util:OS.java
John Cater58a8f072017-03-23 16:55:41 +000041constraint_setting(name = "os")
42
43constraint_value(
44 name = "osx",
45 constraint_setting = ":os",
46)
47
48constraint_value(
jcaterf5c8c0b2018-03-27 07:22:35 -070049 name = "ios",
50 constraint_setting = ":os",
51)
52
53constraint_value(
John Cater58a8f072017-03-23 16:55:41 +000054 name = "freebsd",
55 constraint_setting = ":os",
56)
57
58constraint_value(
jcaterf5c8c0b2018-03-27 07:22:35 -070059 name = "android",
60 constraint_setting = ":os",
61)
62
63constraint_value(
John Cater58a8f072017-03-23 16:55:41 +000064 name = "linux",
65 constraint_setting = ":os",
66)
67
68constraint_value(
69 name = "windows",
70 constraint_setting = ":os",
71)
John Cater0425b2d2017-06-07 12:06:10 -040072
73# A default platform with nothing defined.
74platform(name = "default_platform")
jcaterb6220e62017-06-20 21:22:58 +020075
76# A default platform referring to the host system. This only exists for
77# internal build configurations, and so shouldn't be accessed by other packages.
78platform(
79 name = "host_platform",
jcaterf5c8c0b2018-03-27 07:22:35 -070080 constraint_values = [
jcaterf5c8c0b2018-03-27 07:22:35 -070081 ],
jcaterb6220e62017-06-20 21:22:58 +020082 cpu_constraints = [
83 ":x86_32",
84 ":x86_64",
85 ":ppc",
86 ":arm",
Arielle Albon886d01c2018-06-20 05:51:18 -070087 ":aarch64",
jcaterb6220e62017-06-20 21:22:58 +020088 ":s390x",
89 ],
90 host_platform = True,
91 os_constraints = [
92 ":osx",
93 ":freebsd",
94 ":linux",
95 ":windows",
96 ],
97)
98
99platform(
100 name = "target_platform",
jcaterf5c8c0b2018-03-27 07:22:35 -0700101 constraint_values = [
jcaterf5c8c0b2018-03-27 07:22:35 -0700102 ],
jcaterb6220e62017-06-20 21:22:58 +0200103 cpu_constraints = [
104 ":x86_32",
105 ":x86_64",
106 ":ppc",
107 ":arm",
Arielle Albon886d01c2018-06-20 05:51:18 -0700108 ":aarch64",
jcaterb6220e62017-06-20 21:22:58 +0200109 ":s390x",
110 ],
111 os_constraints = [
112 ":osx",
113 ":freebsd",
114 ":linux",
115 ":windows",
116 ],
117 target_platform = True,
118)