Commit 8e20268
committed
[Bazel] Replace the use of @bazel_tools//src/conditions:host_windows
This has been deprecated and will be removed in Bazel 10.
This implementation of the platform information retrieval is similar to
what is done in Skylib (see https://github.com/bazelbuild/bazel-skylib/blob/56a2abbaf131332835ab2721a258ea3c763a7178/rules/private/copy_file_private.bzl#L117)
however this does not use the experimental platform API.
- We define a provider that gives the script extension for a given platform
and a rule to instantiate it.
- We define a target with the `platform_info` rule that selects the correct
settings based on constraints from `@platform`.
- During toolchain config creation we inject that target **using the `exec` config**.
- We can then retrieve the platform information in the toolchain config
(namely the script extension here).
Note that the platform information could have given a simple `is_windows` flag,
but I chose this implementation because it matches the previous one more closely.
Note also that it was not possible to keep the `script_extension` attribute as
string, because the `cfg` field is not supported on string attributes.1 parent d6b88f4 commit 8e20268
4 files changed
Lines changed: 43 additions & 9 deletions
File tree
- bazel
- emscripten_toolchain
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2 | 2 | | |
3 | 3 | | |
4 | 4 | | |
| 5 | + | |
5 | 6 | | |
6 | 7 | | |
7 | 8 | | |
8 | 9 | | |
9 | 10 | | |
10 | 11 | | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
11 | 21 | | |
12 | 22 | | |
13 | 23 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
16 | 16 | | |
17 | 17 | | |
18 | 18 | | |
| 19 | + | |
19 | 20 | | |
20 | 21 | | |
21 | 22 | | |
| |||
56 | 57 | | |
57 | 58 | | |
58 | 59 | | |
| 60 | + | |
| 61 | + | |
59 | 62 | | |
60 | 63 | | |
61 | 64 | | |
| |||
82 | 85 | | |
83 | 86 | | |
84 | 87 | | |
85 | | - | |
86 | | - | |
87 | | - | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
88 | 91 | | |
89 | 92 | | |
90 | 93 | | |
| |||
1162 | 1165 | | |
1163 | 1166 | | |
1164 | 1167 | | |
1165 | | - | |
| 1168 | + | |
| 1169 | + | |
| 1170 | + | |
| 1171 | + | |
| 1172 | + | |
1166 | 1173 | | |
1167 | 1174 | | |
1168 | 1175 | | |
| |||
1178 | 1185 | | |
1179 | 1186 | | |
1180 | 1187 | | |
1181 | | - | |
1182 | 1188 | | |
1183 | 1189 | | |
1184 | 1190 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
116 | 116 | | |
117 | 117 | | |
118 | 118 | | |
119 | | - | |
120 | | - | |
121 | | - | |
122 | | - | |
123 | 119 | | |
124 | 120 | | |
125 | 121 | | |
| |||
0 commit comments