blob: e7faec256f2473b15e7fc5ce90d5e35c8bfb7c98 [file] [log] [blame]
Corentin Wallez1a0596d2018-09-10 15:16:10 +02001use_relative_paths = True
Corentin Wallez1a0596d2018-09-10 15:16:10 +02002
Corentin Wallez4e2d7cf2020-07-14 15:53:34 +00003gclient_gn_args_file = 'build/config/gclient_args.gni'
Corentin Wallez4e2d7cf2020-07-14 15:53:34 +00004
Corentin Wallezd5203662022-01-05 15:54:08 +00005gclient_gn_args = [
6 'generate_location_tags',
7]
8
Joanna Wang77ce5592023-08-04 22:26:55 +00009git_dependencies = 'SYNC'
10
Corentin Wallez21a23852018-07-31 18:50:03 +020011vars = {
12 'chromium_git': 'https://chromium.googlesource.com',
Corentin Wallez4c351012018-08-27 10:10:28 +020013 'dawn_git': 'https://dawn.googlesource.com',
Corentin Wallez21a23852018-07-31 18:50:03 +020014 'github_git': 'https://github.com',
Corentin Wallez74cebd62019-11-26 18:21:51 +000015 'swiftshader_git': 'https://swiftshader.googlesource.com',
Corentin Wallez21a23852018-07-31 18:50:03 +020016
Corentin Wallez21a23852018-07-31 18:50:03 +020017 'dawn_standalone': True,
Ben Claytondc890d62021-09-27 22:55:39 +000018 'dawn_node': False, # Also fetches dependencies required for building NodeJS bindings.
Corentin Wallezfa1a5472022-08-02 16:07:45 +000019 'dawn_cmake_version': 'version:2@3.23.3',
Austin Eng4948c812021-10-15 14:28:32 +000020 'dawn_cmake_win32_sha1': 'b106d66bcdc8a71ea2cdf5446091327bfdb1bcd7',
Corentin Wallez49b3b112022-03-23 18:45:14 +000021 'dawn_gn_version': 'git_revision:bd99dbf98cbdefe18a4128189665c5761263bcfb',
Junji Watanabe4ad7f012022-10-03 02:48:52 +000022 # ninja CIPD package version.
23 # https://chrome-infra-packages.appspot.com/p/infra/3pp/tools/ninja
Corentin Wallez89b78092023-01-27 15:36:18 +000024 'dawn_ninja_version': 'version:2@1.11.1.chromium.6',
Corentin Wallezfa1a5472022-08-02 16:07:45 +000025 'dawn_go_version': 'version:2@1.18.4',
Corentin Wallezd5203662022-01-05 15:54:08 +000026
Ben Clayton6f8ff742022-03-28 19:55:42 +000027 'node_darwin_arm64_sha': '31859fc1fa0994a95f44f09c367d6ff63607cfde',
28 'node_darwin_x64_sha': '16dfd094763b71988933a31735f9dea966f9abd6',
29 'node_linux_x64_sha': 'ab9544e24e752d3d17f335fb7b2055062e582d11',
30 'node_win_x64_sha': '5ef847033c517c499f56f9d136d159b663bab717',
31
Corentin Wallezd5203662022-01-05 15:54:08 +000032 # GN variable required by //testing that will be output in the gclient_args.gni
33 'generate_location_tags': False,
dan sinclair93cf3462022-05-16 12:58:24 +000034
35 # Fetch clang-tidy into the same bin/ directory as our clang binary.
36 'checkout_clang_tidy': False,
Ryan Harrison29fc5e92023-07-17 16:12:27 +000037
38 # Fetch configuration files required for the 'use_remoteexec' gn arg
39 'download_remoteexec_cfg': False,
40 # RBE instance to use for running remote builds
Corentin Wallez5905d922023-07-27 21:33:21 +000041 'rbe_instance': 'projects/rbe-chrome-untrusted/instances/default_instance',
Ryan Harrison29fc5e92023-07-17 16:12:27 +000042 # RBE project to download rewrapper config files for. Only needed if
43 # different from the project used in 'rbe_instance'
Corentin Wallez5905d922023-07-27 21:33:21 +000044 'rewrapper_cfg_project': '',
Ryan Harrison29fc5e92023-07-17 16:12:27 +000045 # reclient CIPD package
46 'reclient_package': 'infra/rbe/client/',
47 # reclient CIPD package version
Yuly Novikov27324dd2023-09-22 15:10:33 +000048 'reclient_version': 're_client_version:0.114.2.81e819b-gomaip',
Joanna Wang77ce5592023-08-04 22:26:55 +000049
50 # 'magic' text to tell depot_tools that git submodules should be accepted
51 # but parity with DEPS file is expected.
52 'SUBMODULE_MIGRATION': 'True'
Corentin Wallez21a23852018-07-31 18:50:03 +020053}
54
55deps = {
56 # Dependencies required to use GN/Clang in standalone
Corentin Wallez1a0596d2018-09-10 15:16:10 +020057 'build': {
Joanna Wang8cc39602023-08-03 23:27:41 +000058 'url': '{chromium_git}/chromium/src/build@5885d3c24833ad72845a52a1b913a2b8bc651b56',
Corentin Wallez21a23852018-07-31 18:50:03 +020059 'condition': 'dawn_standalone',
60 },
Corentin Wallez1a0596d2018-09-10 15:16:10 +020061 'buildtools': {
dawn-autoroll17fd5562023-09-05 12:37:42 +000062 'url': '{chromium_git}/chromium/src/buildtools@a9a6f0c49d0e8fa0cda37337430b4736ab3dc944',
Corentin Wallez21a23852018-07-31 18:50:03 +020063 'condition': 'dawn_standalone',
64 },
Loko Kung2d988ce2023-05-25 23:28:34 +000065 'third_party/clang-format/script': {
Austin Eng99ad82a2022-07-27 21:57:30 +000066 'url': '{chromium_git}/external/github.com/llvm/llvm-project/clang/tools/clang-format.git@8b525d2747f2584fc35d8c7e612e66f377858df7',
Corentin Wallez60ca94b2021-03-24 16:22:32 +000067 'condition': 'dawn_standalone',
68 },
Corentin Wallez60ca94b2021-03-24 16:22:32 +000069 'buildtools/linux64': {
70 'packages': [{
71 'package': 'gn/gn/linux-amd64',
Corentin Wallez88d5e072021-12-13 15:24:55 +000072 'version': Var('dawn_gn_version'),
Corentin Wallez60ca94b2021-03-24 16:22:32 +000073 }],
74 'dep_type': 'cipd',
75 'condition': 'dawn_standalone and host_os == "linux"',
76 },
77 'buildtools/mac': {
78 'packages': [{
79 'package': 'gn/gn/mac-${{arch}}',
Corentin Wallez88d5e072021-12-13 15:24:55 +000080 'version': Var('dawn_gn_version'),
Corentin Wallez60ca94b2021-03-24 16:22:32 +000081 }],
82 'dep_type': 'cipd',
83 'condition': 'dawn_standalone and host_os == "mac"',
84 },
85 'buildtools/win': {
86 'packages': [{
87 'package': 'gn/gn/windows-amd64',
Corentin Wallez88d5e072021-12-13 15:24:55 +000088 'version': Var('dawn_gn_version'),
Corentin Wallez60ca94b2021-03-24 16:22:32 +000089 }],
90 'dep_type': 'cipd',
91 'condition': 'dawn_standalone and host_os == "win"',
92 },
93
Joanna Wangff5d8b52023-08-02 16:35:08 +000094 'third_party/libc++/src': {
Joanna Wang8cc39602023-08-03 23:27:41 +000095 'url': '{chromium_git}/external/github.com/llvm/llvm-project/libcxx.git@84fb809dd6dae36d556dc0bb702c6cc2ce9d4b80',
Joanna Wange7e54c02023-07-25 17:59:41 +000096 'condition': 'dawn_standalone',
97 },
98
Joanna Wangff5d8b52023-08-02 16:35:08 +000099 'third_party/libc++abi/src': {
Joanna Wang8cc39602023-08-03 23:27:41 +0000100 'url': '{chromium_git}/external/github.com/llvm/llvm-project/libcxxabi.git@d4760c0af99ccc9bce077960d5ddde4d66146c05',
Joanna Wange7e54c02023-07-25 17:59:41 +0000101 'condition': 'dawn_standalone',
102 },
103
Corentin Wallez1a0596d2018-09-10 15:16:10 +0200104 'tools/clang': {
James Pricee5603fb2023-08-18 20:18:33 +0000105 'url': '{chromium_git}/chromium/src/tools/clang@8f75392b4aa947fb55c7c206b36804229595e4da',
Corentin Wallez21a23852018-07-31 18:50:03 +0200106 'condition': 'dawn_standalone',
107 },
Kai Ninomiyaf526d772020-04-06 22:27:02 +0000108 'tools/clang/dsymutil': {
Corentin Wallez60ca94b2021-03-24 16:22:32 +0000109 'packages': [{
110 'package': 'chromium/llvm-build-tools/dsymutil',
111 'version': 'M56jPzDv1620Rnm__jTMYS62Zi8rxHVq7yw0qeBFEgkC',
112 }],
Corentin Wallez2015b2f2021-03-04 17:37:55 +0000113 'condition': 'dawn_standalone and (checkout_mac or checkout_ios)',
Kai Ninomiyaf526d772020-04-06 22:27:02 +0000114 'dep_type': 'cipd',
115 },
Corentin Wallez21a23852018-07-31 18:50:03 +0200116
Corentin Wallez649e2fe2018-08-03 15:57:43 +0200117 # Testing, GTest and GMock
Corentin Wallez1a0596d2018-09-10 15:16:10 +0200118 'testing': {
Ben Claytonb7bd8d82023-09-28 14:10:51 +0000119 'url': '{chromium_git}/chromium/src/testing@48d3bd9693702764fdf9cf8f2d13dfe3fcb5bb3e',
120 'condition': 'dawn_standalone',
121 },
122 'third_party/libFuzzer/src': {
123 'url': '{chromium_git}/external/github.com/llvm/llvm-project/compiler-rt/lib/fuzzer.git' + '@' + '26cc39e59b2bf5cbc20486296248a842c536878d',
Corentin Wallez21a23852018-07-31 18:50:03 +0200124 'condition': 'dawn_standalone',
125 },
Corentin Wallez1a0596d2018-09-10 15:16:10 +0200126 'third_party/googletest': {
Austin Enga0e96b52023-02-18 00:39:01 +0000127 'url': '{chromium_git}/external/github.com/google/googletest@7a7231c442484be389fdf01594310349ca0e42a8',
Corentin Wallezd5203662022-01-05 15:54:08 +0000128 'condition': 'dawn_standalone',
129 },
130 # This is a dependency of //testing
131 'third_party/catapult': {
Anne Redulla3bcc93f2023-08-09 15:12:58 +0000132 'url': '{chromium_git}/catapult.git@dd218dfd815774289f8a81015f7a3131f72afbde',
Corentin Wallez649e2fe2018-08-03 15:57:43 +0200133 'condition': 'dawn_standalone',
134 },
Austin Eng6a7bba52023-04-17 18:11:51 +0000135 'third_party/google_benchmark/src': {
136 'url': '{chromium_git}/external/github.com/google/benchmark.git' + '@' + 'efc89f0b524780b1994d5dddd83a92718e5be492',
137 'condition': 'dawn_standalone',
138 },
Corentin Wallez21a23852018-07-31 18:50:03 +0200139
Corentin Wallez3bb0bb92018-08-13 17:47:44 +0200140 # Jinja2 and MarkupSafe for the code generator
Corentin Wallez1a0596d2018-09-10 15:16:10 +0200141 'third_party/jinja2': {
Anne Redulla3bcc93f2023-08-09 15:12:58 +0000142 'url': '{chromium_git}/chromium/src/third_party/jinja2@515dd10de9bf63040045902a4a310d2ba25213a0',
Corentin Wallez3bb0bb92018-08-13 17:47:44 +0200143 'condition': 'dawn_standalone',
144 },
Corentin Wallez1a0596d2018-09-10 15:16:10 +0200145 'third_party/markupsafe': {
Anne Redulla3bcc93f2023-08-09 15:12:58 +0000146 'url': '{chromium_git}/chromium/src/third_party/markupsafe@006709ba3ed87660a17bd4548c45663628f5ed85',
Corentin Wallez3bb0bb92018-08-13 17:47:44 +0200147 'condition': 'dawn_standalone',
148 },
149
Corentin Wallez4d7d1692018-08-13 08:23:27 +0200150 # GLFW for tests and samples
Corentin Wallez1a0596d2018-09-10 15:16:10 +0200151 'third_party/glfw': {
Corentin Wallez6903c462022-05-25 17:46:04 +0000152 'url': '{chromium_git}/external/github.com/glfw/glfw@62e175ef9fae75335575964c845a302447c012c7',
Corentin Wallez4d7d1692018-08-13 08:23:27 +0200153 },
154
Stephen White77fcdf72021-01-11 15:52:12 +0000155 'third_party/vulkan_memory_allocator': {
Shahbaz Youssefieaa4e7e2023-07-14 17:17:20 +0000156 'url': '{chromium_git}/external/github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator@e87036508bb156f9986ea959323de1869e328f58',
Stephen White77fcdf72021-01-11 15:52:12 +0000157 'condition': 'dawn_standalone',
158 },
159
160 'third_party/angle': {
Dawn Autoroller16a559f2023-09-28 09:50:58 +0000161 'url': '{chromium_git}/angle/angle@929ace8da38618c8fe331e7ef07ff2c87a1221e2',
Stephen White77fcdf72021-01-11 15:52:12 +0000162 'condition': 'dawn_standalone',
163 },
164
Corentin Wallez74cebd62019-11-26 18:21:51 +0000165 'third_party/swiftshader': {
Dawn Autoroller64ee8372023-09-13 01:28:39 +0000166 'url': '{swiftshader_git}/SwiftShader@7f4d495c89c200c1945cce5995d348dd41dadb5a',
Corentin Wallez74cebd62019-11-26 18:21:51 +0000167 'condition': 'dawn_standalone',
168 },
169
Stephen Whitef1fa60b2021-01-06 17:41:50 +0000170 'third_party/vulkan-deps': {
dawn-autoroll9f7e6982023-09-28 10:35:11 +0000171 'url': '{chromium_git}/vulkan-deps@7baa5f7cc56a48ea2783c7370413ed8c7f513719',
Corentin Wallez1fdd0592021-04-02 18:04:27 +0000172 'condition': 'dawn_standalone',
Stephen White77fcdf72021-01-11 15:52:12 +0000173 },
174
175 'third_party/zlib': {
Anne Redulla3bcc93f2023-08-09 15:12:58 +0000176 'url': '{chromium_git}/chromium/src/third_party/zlib@526382e41c9c5275dc329db4328b54e4f344a204',
Stephen Whitef1fa60b2021-01-06 17:41:50 +0000177 'condition': 'dawn_standalone',
178 },
Brandon Jonesa04663c2021-09-23 20:36:03 +0000179
180 'third_party/abseil-cpp': {
James Price39bbc582023-08-22 17:59:02 +0000181 'url': '{chromium_git}/chromium/src/third_party/abseil-cpp@4ef9b33175828ea46d091e7e5ec28259d39a8ba5',
Brandon Jonesa04663c2021-09-23 20:36:03 +0000182 'condition': 'dawn_standalone',
183 },
Ben Claytondc890d62021-09-27 22:55:39 +0000184
Antonio Maioranoad5e1082023-06-22 20:45:54 +0000185 'third_party/dxc': {
Dawn Autoroller1b298672023-09-28 02:26:30 +0000186 'url': '{chromium_git}/external/github.com/microsoft/DirectXShaderCompiler@99a8202a7f540690be0b2761d1ce5d3752d3c050',
Antonio Maioranoad5e1082023-06-22 20:45:54 +0000187 },
Antonio Maiorano83bdc7f2023-08-21 15:29:35 +0000188
Antonio Maioranoad5e1082023-06-22 20:45:54 +0000189 'third_party/dxheaders': {
190 # The non-Windows build of DXC depends on DirectX-Headers, and at a specific commit (not ToT)
191 'url': '{chromium_git}/external/github.com/microsoft/DirectX-Headers@980971e835876dc0cde415e8f9bc646e64667bf7',
Austin Engc02f1432023-07-05 22:38:39 +0000192 'condition': 'host_os != "win"',
Antonio Maioranoad5e1082023-06-22 20:45:54 +0000193 },
194
Antonio Maiorano83bdc7f2023-08-21 15:29:35 +0000195 'third_party/khronos/OpenGL-Registry': {
196 'url': '{chromium_git}/external/github.com/KhronosGroup/OpenGL-Registry@5bae8738b23d06968e7c3a41308568120943ae77',
197 },
198
199 'third_party/khronos/EGL-Registry': {
200 'url': '{chromium_git}/external/github.com/KhronosGroup/EGL-Registry@7dea2ed79187cd13f76183c4b9100159b9e3e071',
201 },
202
Kai Ninomiya5c780d72022-03-17 21:43:17 +0000203 # WebGPU CTS - not used directly by Dawn, only transitively by Chromium.
204 'third_party/webgpu-cts': {
Ben Claytonc370bfb2023-09-25 21:04:13 +0000205 'url': '{chromium_git}/external/github.com/gpuweb/cts@be1210e145e89e7a2943947d983f9592495e0f52',
Kai Ninomiya5c780d72022-03-17 21:43:17 +0000206 'condition': 'build_with_chromium',
207 },
208
Ben Clayton6f8ff742022-03-28 19:55:42 +0000209 # Dependencies required to build / run Dawn NodeJS bindings
Ben Claytondc890d62021-09-27 22:55:39 +0000210 'third_party/node-api-headers': {
211 'url': '{github_git}/nodejs/node-api-headers.git@d68505e4055ecb630e14c26c32e5c2c65e179bba',
212 'condition': 'dawn_node',
213 },
214 'third_party/node-addon-api': {
215 'url': '{github_git}/nodejs/node-addon-api.git@4a3de56c3e4ed0031635a2f642b27efeeed00add',
216 'condition': 'dawn_node',
217 },
218 'third_party/gpuweb': {
Corentin Wallez53a28ef2023-09-12 17:25:34 +0000219 'url': '{github_git}/gpuweb/gpuweb.git@b42b4b8b8d7da145ee8eef120747fbd390283f5f',
Ben Claytondc890d62021-09-27 22:55:39 +0000220 'condition': 'dawn_node',
221 },
Austin Eng4948c812021-10-15 14:28:32 +0000222
223 'tools/golang': {
Austin Eng4948c812021-10-15 14:28:32 +0000224 'packages': [{
225 'package': 'infra/3pp/tools/go/${{platform}}',
226 'version': Var('dawn_go_version'),
227 }],
228 'dep_type': 'cipd',
229 },
230
231 'tools/cmake': {
232 'condition': 'dawn_node and (host_os == "mac" or host_os == "linux")',
233 'packages': [{
234 'package': 'infra/3pp/tools/cmake/${{platform}}',
235 'version': Var('dawn_cmake_version'),
236 }],
237 'dep_type': 'cipd',
238 },
Ryan Harrisone87ac762022-04-06 15:37:27 -0400239
Junji Watanabe4ad7f012022-10-03 02:48:52 +0000240 'third_party/ninja': {
241 'packages': [
242 {
243 'package': 'infra/3pp/tools/ninja/${{platform}}',
244 'version': Var('dawn_ninja_version'),
245 }
246 ],
247 'dep_type': 'cipd',
248 },
249
Ryan Harrison29fc5e92023-07-17 16:12:27 +0000250 # RBE dependencies
251 'buildtools/reclient': {
252 'packages': [
253 {
254 'package': Var('reclient_package') + '${{platform}}',
255 'version': Var('reclient_version'),
256 }
257 ],
258 'dep_type': 'cipd',
259 'condition': 'dawn_standalone',
260 },
Ryan Harrison29fc5e92023-07-17 16:12:27 +0000261
Ryan Harrisone87ac762022-04-06 15:37:27 -0400262 # Misc dependencies inherited from Tint
Ryan Harrison3374f432022-03-28 18:01:02 +0000263 'third_party/protobuf': {
James Price182fb642023-08-22 18:39:48 +0000264 'url': '{chromium_git}/external/github.com/protocolbuffers/protobuf.git@2b673bbb57e34fe1bd4570f726fc86b769a3a3d2',
Ryan Harrisone87ac762022-04-06 15:37:27 -0400265 'condition': 'dawn_standalone',
Ryan Harrison3374f432022-03-28 18:01:02 +0000266 },
Corentin Wallez21a23852018-07-31 18:50:03 +0200267}
268
269hooks = [
Corentin Wallez21a23852018-07-31 18:50:03 +0200270 # Pull the compilers and system libraries for hermetic builds
271 {
272 'name': 'sysroot_x86',
273 'pattern': '.',
Corentin Wallez2015b2f2021-03-04 17:37:55 +0000274 'condition': 'dawn_standalone and checkout_linux and (checkout_x86 or checkout_x64)',
Corentin Wallezd5203662022-01-05 15:54:08 +0000275 'action': ['python3', 'build/linux/sysroot_scripts/install-sysroot.py',
Corentin Wallez21a23852018-07-31 18:50:03 +0200276 '--arch=x86'],
277 },
278 {
279 'name': 'sysroot_x64',
280 'pattern': '.',
Corentin Wallez2015b2f2021-03-04 17:37:55 +0000281 'condition': 'dawn_standalone and checkout_linux and checkout_x64',
Corentin Wallezd5203662022-01-05 15:54:08 +0000282 'action': ['python3', 'build/linux/sysroot_scripts/install-sysroot.py',
Corentin Wallez21a23852018-07-31 18:50:03 +0200283 '--arch=x64'],
284 },
285 {
Corentin Wallezd4e7f082020-11-17 21:16:31 +0000286 # Update the Mac toolchain if possible, this makes builders use "hermetic XCode" which is
287 # is more consistent (only changes when rolling build/) and is cached.
288 'name': 'mac_toolchain',
289 'pattern': '.',
Corentin Wallez2015b2f2021-03-04 17:37:55 +0000290 'condition': 'dawn_standalone and checkout_mac',
Corentin Wallezd5203662022-01-05 15:54:08 +0000291 'action': ['python3', 'build/mac_toolchain.py'],
Corentin Wallezd4e7f082020-11-17 21:16:31 +0000292 },
293 {
Peng Huang78583a12023-02-10 13:53:31 +0000294 # Case-insensitivity for the Win SDK. Must run before win_toolchain below.
295 'name': 'ciopfs_linux',
296 'pattern': '.',
Peng Huang708a0772023-02-13 11:38:38 +0000297 'condition': 'dawn_standalone and checkout_win and host_os == "linux"',
Peng Huang78583a12023-02-10 13:53:31 +0000298 'action': [ 'download_from_google_storage',
299 '--no_resume',
300 '--no_auth',
301 '--bucket', 'chromium-browser-clang/ciopfs',
302 '-s', 'build/ciopfs.sha1',
303 ]
304 },
305 {
Corentin Wallez682c44a2018-08-13 17:48:16 +0200306 # Update the Windows toolchain if necessary. Must run before 'clang' below.
Corentin Wallez21a23852018-07-31 18:50:03 +0200307 'name': 'win_toolchain',
308 'pattern': '.',
Corentin Wallez2015b2f2021-03-04 17:37:55 +0000309 'condition': 'dawn_standalone and checkout_win',
Corentin Wallezd5203662022-01-05 15:54:08 +0000310 'action': ['python3', 'build/vs_toolchain.py', 'update', '--force'],
Corentin Wallez21a23852018-07-31 18:50:03 +0200311 },
312 {
313 # Note: On Win, this should run after win_toolchain, as it may use it.
314 'name': 'clang',
315 'pattern': '.',
Corentin Wallezd5203662022-01-05 15:54:08 +0000316 'action': ['python3', 'tools/clang/scripts/update.py'],
Corentin Wallez21a23852018-07-31 18:50:03 +0200317 'condition': 'dawn_standalone',
318 },
319 {
dan sinclair93cf3462022-05-16 12:58:24 +0000320 # This is also supposed to support the same set of platforms as 'clang'
321 # above. LLVM ToT support isn't provided at the moment.
322 'name': 'clang_tidy',
323 'pattern': '.',
Corentin Wallezc4051b12022-05-17 08:21:02 +0000324 'condition': 'dawn_standalone and checkout_clang_tidy',
dan sinclair93cf3462022-05-16 12:58:24 +0000325 'action': ['python3', 'tools/clang/scripts/update.py',
326 '--package=clang-tidy'],
327 },
328 {
Corentin Wallez21a23852018-07-31 18:50:03 +0200329 # Pull rc binaries using checked-in hashes.
330 'name': 'rc_win',
331 'pattern': '.',
Corentin Wallez2015b2f2021-03-04 17:37:55 +0000332 'condition': 'dawn_standalone and checkout_win and host_os == "win"',
Corentin Wallez21a23852018-07-31 18:50:03 +0200333 'action': [ 'download_from_google_storage',
334 '--no_resume',
335 '--no_auth',
336 '--bucket', 'chromium-browser-clang/rc',
Corentin Wallez1a0596d2018-09-10 15:16:10 +0200337 '-s', 'build/toolchain/win/rc/win/rc.exe.sha1',
Corentin Wallez21a23852018-07-31 18:50:03 +0200338 ],
339 },
Peng Huang78583a12023-02-10 13:53:31 +0000340 {
341 'name': 'rc_linux',
342 'pattern': '.',
Peng Huang708a0772023-02-13 11:38:38 +0000343 'condition': 'dawn_standalone and checkout_win and host_os == "linux"',
Peng Huang78583a12023-02-10 13:53:31 +0000344 'action': [ 'download_from_google_storage',
345 '--no_resume',
346 '--no_auth',
347 '--bucket', 'chromium-browser-clang/rc',
348 '-s', 'build/toolchain/win/rc/linux64/rc.sha1',
Antonio Maioranoef9da422023-09-21 17:53:34 +0000349 ],
350 },
351 {
352 'name': 'rc_mac',
353 'pattern': '.',
354 'condition': 'dawn_standalone and checkout_win and host_os == "mac"',
355 'action': [ 'download_from_google_storage',
356 '--no_resume',
357 '--no_auth',
358 '--bucket', 'chromium-browser-clang/rc',
359 '-s', 'build/toolchain/win/rc/mac/rc.sha1',
360 ],
Peng Huang78583a12023-02-10 13:53:31 +0000361 },
Corentin Wallez131e6192020-11-03 18:18:06 +0000362 # Pull clang-format binaries using checked-in hashes.
363 {
Corentin Wallez51723bd2022-04-07 10:40:46 +0000364 'name': 'clang_format_win',
365 'pattern': '.',
366 'condition': 'dawn_standalone and host_os == "win"',
367 'action': [ 'download_from_google_storage',
368 '--no_resume',
369 '--no_auth',
370 '--bucket', 'chromium-clang-format',
371 '-s', 'buildtools/win/clang-format.exe.sha1',
372 ],
373 },
374 {
Ben Clayton088a6002022-04-06 19:57:42 +0000375 'name': 'clang_format_mac_x64',
Corentin Wallez131e6192020-11-03 18:18:06 +0000376 'pattern': '.',
Ben Clayton088a6002022-04-06 19:57:42 +0000377 'condition': 'dawn_standalone and host_os == "mac" and host_cpu == "x64"',
Corentin Wallez131e6192020-11-03 18:18:06 +0000378 'action': [ 'download_from_google_storage',
379 '--no_resume',
380 '--no_auth',
381 '--bucket', 'chromium-clang-format',
Ben Clayton088a6002022-04-06 19:57:42 +0000382 '-s', 'buildtools/mac/clang-format.x64.sha1',
383 '-o', 'buildtools/mac/clang-format',
Corentin Wallez131e6192020-11-03 18:18:06 +0000384 ],
385 },
386 {
Ben Clayton088a6002022-04-06 19:57:42 +0000387 'name': 'clang_format_mac_arm64',
Corentin Wallez131e6192020-11-03 18:18:06 +0000388 'pattern': '.',
Ben Clayton088a6002022-04-06 19:57:42 +0000389 'condition': 'dawn_standalone and host_os == "mac" and host_cpu == "arm64"',
Corentin Wallez131e6192020-11-03 18:18:06 +0000390 'action': [ 'download_from_google_storage',
391 '--no_resume',
392 '--no_auth',
393 '--bucket', 'chromium-clang-format',
Ben Clayton088a6002022-04-06 19:57:42 +0000394 '-s', 'buildtools/mac/clang-format.arm64.sha1',
395 '-o', 'buildtools/mac/clang-format',
Corentin Wallez131e6192020-11-03 18:18:06 +0000396 ],
397 },
398 {
399 'name': 'clang_format_linux',
400 'pattern': '.',
Corentin Wallez2015b2f2021-03-04 17:37:55 +0000401 'condition': 'dawn_standalone and host_os == "linux"',
Corentin Wallez131e6192020-11-03 18:18:06 +0000402 'action': [ 'download_from_google_storage',
403 '--no_resume',
404 '--no_auth',
405 '--bucket', 'chromium-clang-format',
406 '-s', 'buildtools/linux64/clang-format.sha1',
407 ],
408 },
Corentin Wallez15d8cb72018-11-19 10:13:31 +0000409 # Update build/util/LASTCHANGE.
410 {
411 'name': 'lastchange',
412 'pattern': '.',
Jiajie Hu2ffc55a2020-07-01 05:08:36 +0000413 'condition': 'dawn_standalone',
Corentin Wallezd5203662022-01-05 15:54:08 +0000414 'action': ['python3', 'build/util/lastchange.py',
Corentin Wallez15d8cb72018-11-19 10:13:31 +0000415 '-o', 'build/util/LASTCHANGE'],
416 },
Austin Eng4948c812021-10-15 14:28:32 +0000417 # TODO(https://crbug.com/1180257): Use CIPD for CMake on Windows.
418 {
419 'name': 'cmake_win32',
420 'pattern': '.',
421 'condition': 'dawn_node and host_os == "win"',
422 'action': [ 'download_from_google_storage',
423 '--no_resume',
424 '--platform=win32',
425 '--no_auth',
426 '--bucket', 'chromium-tools',
427 Var('dawn_cmake_win32_sha1'),
428 '-o', 'tools/cmake-win32.zip'
429 ],
430 },
431 {
432 'name': 'cmake_win32_extract',
433 'pattern': '.',
434 'condition': 'dawn_node and host_os == "win"',
Corentin Wallezd5203662022-01-05 15:54:08 +0000435 'action': [ 'python3',
Austin Eng4948c812021-10-15 14:28:32 +0000436 'scripts/extract.py',
437 'tools/cmake-win32.zip',
438 'tools/cmake-win32/',
439 ],
440 },
Ben Clayton6f8ff742022-03-28 19:55:42 +0000441
442 # Node binaries, when dawn_node is enabled
443 {
444 'name': 'node_linux64',
445 'pattern': '.',
446 'condition': 'dawn_node and host_os == "linux"',
447 'action': [ 'download_from_google_storage',
448 '--no_resume',
449 '--extract',
450 '--no_auth',
451 '--bucket', 'chromium-nodejs/16.13.0',
452 Var('node_linux_x64_sha'),
453 '-o', 'third_party/node/node-linux-x64.tar.gz',
454 ],
455 },
456 {
457 'name': 'node_mac',
458 'pattern': '.',
459 'condition': 'dawn_node and host_os == "mac"',
460 'action': [ 'download_from_google_storage',
461 '--no_resume',
462 '--extract',
463 '--no_auth',
464 '--bucket', 'chromium-nodejs/16.13.0',
465 Var('node_darwin_x64_sha'),
466 '-o', 'third_party/node/node-darwin-x64.tar.gz',
467 ],
468 },
469 {
470 'name': 'node_mac_arm64',
471 'pattern': '.',
472 'condition': 'dawn_node and host_os == "mac"',
473 'action': [ 'download_from_google_storage',
474 '--no_resume',
475 '--extract',
476 '--no_auth',
477 '--bucket', 'chromium-nodejs/16.13.0',
478 Var('node_darwin_arm64_sha'),
479 '-o', 'third_party/node/node-darwin-arm64.tar.gz',
480 ],
481 },
482 {
483 'name': 'node_win',
484 'pattern': '.',
485 'condition': 'dawn_node and host_os == "win"',
486 'action': [ 'download_from_google_storage',
487 '--no_resume',
488 '--no_auth',
489 '--bucket', 'chromium-nodejs/16.13.0',
490 Var('node_win_x64_sha'),
491 '-o', 'third_party/node/node.exe',
492 ],
493 },
Ryan Harrisonce158be2023-07-20 17:06:56 +0000494 {
495 # Download remote exec cfg files
496 'name': 'fetch_reclient_cfgs',
497 'pattern': '.',
Austin Engd6c4f662023-07-21 01:00:22 +0000498 'condition': 'download_remoteexec_cfg and dawn_standalone',
Ryan Harrisonce158be2023-07-20 17:06:56 +0000499 'action': ['python3',
500 'buildtools/reclient_cfgs/fetch_reclient_cfgs.py',
501 '--rbe_instance',
502 Var('rbe_instance'),
503 '--reproxy_cfg_template',
504 'reproxy.cfg.template',
505 '--rewrapper_cfg_project',
506 Var('rewrapper_cfg_project'),
507 '--quiet',
Ryan Harrisonce158be2023-07-20 17:06:56 +0000508 ],
509 },
Corentin Wallezca81bd32018-09-03 11:55:58 +0200510]
511
512recursedeps = [
Stephen Whitef1fa60b2021-01-06 17:41:50 +0000513 'third_party/vulkan-deps',
Corentin Wallez21a23852018-07-31 18:50:03 +0200514]