blob: da6f476adb8565a8f1a0d8793d765c8674adc602 [file] [log] [blame]
jcaterf5c8c0b2018-03-27 07:22:35 -07001# Standard constraint_setting and constraint_values to be used in platforms.
2
John Cater58a8f072017-03-23 16:55:41 +00003package(
4 default_visibility = ["//visibility:public"],
5)
6
7filegroup(
8 name = "package-srcs",
9 srcs = [
10 "platforms.BUILD",
John Cater58a8f072017-03-23 16:55:41 +000011 ],
12)
13
14filegroup(
15 name = "srcs",
16 srcs = glob(["**"]),
17)
cpeyserd852e482017-09-07 22:16:06 +020018
ajmichaela5bda132018-03-19 09:30:22 -070019# These match values in //src/main/java/com/google/devtools/build/lib/util:CPU.java
cpeyserd852e482017-09-07 22:16:06 +020020constraint_setting(name = "cpu")
21
22constraint_value(
23 name = "x86_32",
24 constraint_setting = ":cpu",
25)
26
27constraint_value(
28 name = "x86_64",
29 constraint_setting = ":cpu",
30)
31
32constraint_value(
33 name = "ppc",
34 constraint_setting = ":cpu",
35)
36
37constraint_value(
38 name = "arm",
39 constraint_setting = ":cpu",
40)
41
42constraint_value(
Arielle Albon886d01c2018-06-20 05:51:18 -070043 name = "aarch64",
44 constraint_setting = ":cpu",
45)
46
47constraint_value(
cpeyserd852e482017-09-07 22:16:06 +020048 name = "s390x",
49 constraint_setting = ":cpu",
50)
51
ajmichaela5bda132018-03-19 09:30:22 -070052# These match values in //src/main/java/com/google/devtools/build/lib/util:OS.java
cpeyserd852e482017-09-07 22:16:06 +020053constraint_setting(name = "os")
54
55constraint_value(
56 name = "osx",
57 constraint_setting = ":os",
58)
59
60constraint_value(
jcaterf5c8c0b2018-03-27 07:22:35 -070061 name = "ios",
62 constraint_setting = ":os",
63)
64
65constraint_value(
cpeyserd852e482017-09-07 22:16:06 +020066 name = "freebsd",
67 constraint_setting = ":os",
68)
69
70constraint_value(
jcaterf5c8c0b2018-03-27 07:22:35 -070071 name = "android",
72 constraint_setting = ":os",
73)
74
75constraint_value(
cpeyserd852e482017-09-07 22:16:06 +020076 name = "linux",
77 constraint_setting = ":os",
78)
79
80constraint_value(
81 name = "windows",
82 constraint_setting = ":os",
83)
84
85# A default platform with nothing defined.
86platform(name = "default_platform")
87
88# A default platform referring to the host system. This only exists for
89# internal build configurations, and so shouldn't be accessed by other packages.
90platform(
91 name = "host_platform",
jcaterf5c8c0b2018-03-27 07:22:35 -070092 constraint_values = [
jcaterf5c8c0b2018-03-27 07:22:35 -070093 ],
cpeyserd852e482017-09-07 22:16:06 +020094 cpu_constraints = [
95 ":x86_32",
96 ":x86_64",
97 ":ppc",
98 ":arm",
Arielle Albon886d01c2018-06-20 05:51:18 -070099 ":aarch64",
cpeyserd852e482017-09-07 22:16:06 +0200100 ":s390x",
101 ],
102 host_platform = True,
103 os_constraints = [
104 ":osx",
105 ":freebsd",
106 ":linux",
107 ":windows",
108 ],
109)
110
111platform(
112 name = "target_platform",
jcaterf5c8c0b2018-03-27 07:22:35 -0700113 constraint_values = [
jcaterf5c8c0b2018-03-27 07:22:35 -0700114 ],
cpeyserd852e482017-09-07 22:16:06 +0200115 cpu_constraints = [
116 ":x86_32",
117 ":x86_64",
118 ":ppc",
119 ":arm",
Arielle Albon886d01c2018-06-20 05:51:18 -0700120 ":aarch64",
cpeyserd852e482017-09-07 22:16:06 +0200121 ":s390x",
122 ],
123 os_constraints = [
124 ":osx",
125 ":freebsd",
126 ":linux",
127 ":windows",
128 ],
129 target_platform = True,
130)