blob: 46a2477c795034bdcd262beab63754800f504d39 [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
48 'reclient_version': 're_client_version:0.108.0.7cdbbe9-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': {
Joanna Wang8cc39602023-08-03 23:27:41 +000062 'url': '{chromium_git}/chromium/src/buildtools@79ab87fa54614258c4c95891e873223371194525',
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': {
Austin Enga0e96b52023-02-18 00:39:01 +0000105 'url': '{chromium_git}/chromium/src/tools/clang@effd9257d456f2d42e9e22fa4f37a24d8cf0b5b5',
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': {
Austin Enga0e96b52023-02-18 00:39:01 +0000119 'url': '{chromium_git}/chromium/src/testing@166db27fd0d53afc0c716b1ae9c15725e380871f',
Corentin Wallez21a23852018-07-31 18:50:03 +0200120 'condition': 'dawn_standalone',
121 },
Corentin Wallez1a0596d2018-09-10 15:16:10 +0200122 'third_party/googletest': {
Austin Enga0e96b52023-02-18 00:39:01 +0000123 'url': '{chromium_git}/external/github.com/google/googletest@7a7231c442484be389fdf01594310349ca0e42a8',
Corentin Wallezd5203662022-01-05 15:54:08 +0000124 'condition': 'dawn_standalone',
125 },
126 # This is a dependency of //testing
127 'third_party/catapult': {
Anne Redulla3bcc93f2023-08-09 15:12:58 +0000128 'url': '{chromium_git}/catapult.git@dd218dfd815774289f8a81015f7a3131f72afbde',
Corentin Wallez649e2fe2018-08-03 15:57:43 +0200129 'condition': 'dawn_standalone',
130 },
Austin Eng6a7bba52023-04-17 18:11:51 +0000131 'third_party/google_benchmark/src': {
132 'url': '{chromium_git}/external/github.com/google/benchmark.git' + '@' + 'efc89f0b524780b1994d5dddd83a92718e5be492',
133 'condition': 'dawn_standalone',
134 },
Corentin Wallez21a23852018-07-31 18:50:03 +0200135
Corentin Wallez3bb0bb92018-08-13 17:47:44 +0200136 # Jinja2 and MarkupSafe for the code generator
Corentin Wallez1a0596d2018-09-10 15:16:10 +0200137 'third_party/jinja2': {
Anne Redulla3bcc93f2023-08-09 15:12:58 +0000138 'url': '{chromium_git}/chromium/src/third_party/jinja2@515dd10de9bf63040045902a4a310d2ba25213a0',
Corentin Wallez3bb0bb92018-08-13 17:47:44 +0200139 'condition': 'dawn_standalone',
140 },
Corentin Wallez1a0596d2018-09-10 15:16:10 +0200141 'third_party/markupsafe': {
Anne Redulla3bcc93f2023-08-09 15:12:58 +0000142 'url': '{chromium_git}/chromium/src/third_party/markupsafe@006709ba3ed87660a17bd4548c45663628f5ed85',
Corentin Wallez3bb0bb92018-08-13 17:47:44 +0200143 'condition': 'dawn_standalone',
144 },
145
Corentin Wallez4d7d1692018-08-13 08:23:27 +0200146 # GLFW for tests and samples
Corentin Wallez1a0596d2018-09-10 15:16:10 +0200147 'third_party/glfw': {
Corentin Wallez6903c462022-05-25 17:46:04 +0000148 'url': '{chromium_git}/external/github.com/glfw/glfw@62e175ef9fae75335575964c845a302447c012c7',
Corentin Wallez4d7d1692018-08-13 08:23:27 +0200149 },
150
Stephen White77fcdf72021-01-11 15:52:12 +0000151 'third_party/vulkan_memory_allocator': {
Shahbaz Youssefieaa4e7e2023-07-14 17:17:20 +0000152 'url': '{chromium_git}/external/github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator@e87036508bb156f9986ea959323de1869e328f58',
Stephen White77fcdf72021-01-11 15:52:12 +0000153 'condition': 'dawn_standalone',
154 },
155
156 'third_party/angle': {
Dawn Autorollerda164382023-08-09 05:25:09 +0000157 'url': '{chromium_git}/angle/angle@3ad8d9127acbe33811806adc47036cc0bfeddd5d',
Stephen White77fcdf72021-01-11 15:52:12 +0000158 'condition': 'dawn_standalone',
159 },
160
Corentin Wallez74cebd62019-11-26 18:21:51 +0000161 'third_party/swiftshader': {
Dawn Autoroller42c64242023-08-09 14:58:40 +0000162 'url': '{swiftshader_git}/SwiftShader@c315c894b9d529b8e7d3753b1217630aa8821d75',
Corentin Wallez74cebd62019-11-26 18:21:51 +0000163 'condition': 'dawn_standalone',
164 },
165
Stephen Whitef1fa60b2021-01-06 17:41:50 +0000166 'third_party/vulkan-deps': {
dawn-autoroll63adfb22023-08-04 09:02:25 +0000167 'url': '{chromium_git}/vulkan-deps@04381109ae471509060a985c908fd53c4b981a31',
Corentin Wallez1fdd0592021-04-02 18:04:27 +0000168 'condition': 'dawn_standalone',
Stephen White77fcdf72021-01-11 15:52:12 +0000169 },
170
171 'third_party/zlib': {
Anne Redulla3bcc93f2023-08-09 15:12:58 +0000172 'url': '{chromium_git}/chromium/src/third_party/zlib@526382e41c9c5275dc329db4328b54e4f344a204',
Stephen Whitef1fa60b2021-01-06 17:41:50 +0000173 'condition': 'dawn_standalone',
174 },
Brandon Jonesa04663c2021-09-23 20:36:03 +0000175
176 'third_party/abseil-cpp': {
Corentin Wallezedf650c2022-07-12 09:55:29 +0000177 'url': '{chromium_git}/chromium/src/third_party/abseil-cpp@bc3ab29356a081d0b5dd4ac55e30f4b45d8794cc',
Brandon Jonesa04663c2021-09-23 20:36:03 +0000178 'condition': 'dawn_standalone',
179 },
Ben Claytondc890d62021-09-27 22:55:39 +0000180
Antonio Maioranoad5e1082023-06-22 20:45:54 +0000181 'third_party/dxc': {
Dawn Autorollerd547c112023-08-09 07:00:05 +0000182 'url': '{chromium_git}/external/github.com/microsoft/DirectXShaderCompiler@b47eec89bcb9c8c1e0b49138b67a5f3e9485a9f1',
Antonio Maioranoad5e1082023-06-22 20:45:54 +0000183 },
184 'third_party/dxheaders': {
185 # The non-Windows build of DXC depends on DirectX-Headers, and at a specific commit (not ToT)
186 'url': '{chromium_git}/external/github.com/microsoft/DirectX-Headers@980971e835876dc0cde415e8f9bc646e64667bf7',
Austin Engc02f1432023-07-05 22:38:39 +0000187 'condition': 'host_os != "win"',
Antonio Maioranoad5e1082023-06-22 20:45:54 +0000188 },
189
Kai Ninomiya5c780d72022-03-17 21:43:17 +0000190 # WebGPU CTS - not used directly by Dawn, only transitively by Chromium.
191 'third_party/webgpu-cts': {
Gregg Tavarese7a01c32023-07-26 17:59:37 +0000192 'url': '{chromium_git}/external/github.com/gpuweb/cts@02f3426192fcb2c84f757d2d1887fd982a974dca',
Kai Ninomiya5c780d72022-03-17 21:43:17 +0000193 'condition': 'build_with_chromium',
194 },
195
Ben Clayton6f8ff742022-03-28 19:55:42 +0000196 # Dependencies required to build / run Dawn NodeJS bindings
Ben Claytondc890d62021-09-27 22:55:39 +0000197 'third_party/node-api-headers': {
198 'url': '{github_git}/nodejs/node-api-headers.git@d68505e4055ecb630e14c26c32e5c2c65e179bba',
199 'condition': 'dawn_node',
200 },
201 'third_party/node-addon-api': {
202 'url': '{github_git}/nodejs/node-addon-api.git@4a3de56c3e4ed0031635a2f642b27efeeed00add',
203 'condition': 'dawn_node',
204 },
205 'third_party/gpuweb': {
Corentin Wallezdbd477f2023-05-31 12:02:12 +0000206 'url': '{github_git}/gpuweb/gpuweb.git@913189072715569b8ad60e5c2e38e501273bd5b0',
Ben Claytondc890d62021-09-27 22:55:39 +0000207 'condition': 'dawn_node',
208 },
Austin Eng4948c812021-10-15 14:28:32 +0000209
210 'tools/golang': {
Austin Eng4948c812021-10-15 14:28:32 +0000211 'packages': [{
212 'package': 'infra/3pp/tools/go/${{platform}}',
213 'version': Var('dawn_go_version'),
214 }],
215 'dep_type': 'cipd',
216 },
217
218 'tools/cmake': {
219 'condition': 'dawn_node and (host_os == "mac" or host_os == "linux")',
220 'packages': [{
221 'package': 'infra/3pp/tools/cmake/${{platform}}',
222 'version': Var('dawn_cmake_version'),
223 }],
224 'dep_type': 'cipd',
225 },
Ryan Harrisone87ac762022-04-06 15:37:27 -0400226
Junji Watanabe4ad7f012022-10-03 02:48:52 +0000227 'third_party/ninja': {
228 'packages': [
229 {
230 'package': 'infra/3pp/tools/ninja/${{platform}}',
231 'version': Var('dawn_ninja_version'),
232 }
233 ],
234 'dep_type': 'cipd',
235 },
236
Ryan Harrison29fc5e92023-07-17 16:12:27 +0000237 # RBE dependencies
238 'buildtools/reclient': {
239 'packages': [
240 {
241 'package': Var('reclient_package') + '${{platform}}',
242 'version': Var('reclient_version'),
243 }
244 ],
245 'dep_type': 'cipd',
246 'condition': 'dawn_standalone',
247 },
Ryan Harrison29fc5e92023-07-17 16:12:27 +0000248
Ryan Harrisone87ac762022-04-06 15:37:27 -0400249 # Misc dependencies inherited from Tint
Ryan Harrison3374f432022-03-28 18:01:02 +0000250 'third_party/protobuf': {
251 'url': '{chromium_git}/external/github.com/protocolbuffers/protobuf.git@fde7cf7358ec7cd69e8db9be4f1fa6a5c431386a',
Ryan Harrisone87ac762022-04-06 15:37:27 -0400252 'condition': 'dawn_standalone',
Ryan Harrison3374f432022-03-28 18:01:02 +0000253 },
Corentin Wallez21a23852018-07-31 18:50:03 +0200254}
255
256hooks = [
Corentin Wallez21a23852018-07-31 18:50:03 +0200257 # Pull the compilers and system libraries for hermetic builds
258 {
259 'name': 'sysroot_x86',
260 'pattern': '.',
Corentin Wallez2015b2f2021-03-04 17:37:55 +0000261 'condition': 'dawn_standalone and checkout_linux and (checkout_x86 or checkout_x64)',
Corentin Wallezd5203662022-01-05 15:54:08 +0000262 'action': ['python3', 'build/linux/sysroot_scripts/install-sysroot.py',
Corentin Wallez21a23852018-07-31 18:50:03 +0200263 '--arch=x86'],
264 },
265 {
266 'name': 'sysroot_x64',
267 'pattern': '.',
Corentin Wallez2015b2f2021-03-04 17:37:55 +0000268 'condition': 'dawn_standalone and checkout_linux and checkout_x64',
Corentin Wallezd5203662022-01-05 15:54:08 +0000269 'action': ['python3', 'build/linux/sysroot_scripts/install-sysroot.py',
Corentin Wallez21a23852018-07-31 18:50:03 +0200270 '--arch=x64'],
271 },
272 {
Corentin Wallezd4e7f082020-11-17 21:16:31 +0000273 # Update the Mac toolchain if possible, this makes builders use "hermetic XCode" which is
274 # is more consistent (only changes when rolling build/) and is cached.
275 'name': 'mac_toolchain',
276 'pattern': '.',
Corentin Wallez2015b2f2021-03-04 17:37:55 +0000277 'condition': 'dawn_standalone and checkout_mac',
Corentin Wallezd5203662022-01-05 15:54:08 +0000278 'action': ['python3', 'build/mac_toolchain.py'],
Corentin Wallezd4e7f082020-11-17 21:16:31 +0000279 },
280 {
Peng Huang78583a12023-02-10 13:53:31 +0000281 # Case-insensitivity for the Win SDK. Must run before win_toolchain below.
282 'name': 'ciopfs_linux',
283 'pattern': '.',
Peng Huang708a0772023-02-13 11:38:38 +0000284 'condition': 'dawn_standalone and checkout_win and host_os == "linux"',
Peng Huang78583a12023-02-10 13:53:31 +0000285 'action': [ 'download_from_google_storage',
286 '--no_resume',
287 '--no_auth',
288 '--bucket', 'chromium-browser-clang/ciopfs',
289 '-s', 'build/ciopfs.sha1',
290 ]
291 },
292 {
Corentin Wallez682c44a2018-08-13 17:48:16 +0200293 # Update the Windows toolchain if necessary. Must run before 'clang' below.
Corentin Wallez21a23852018-07-31 18:50:03 +0200294 'name': 'win_toolchain',
295 'pattern': '.',
Corentin Wallez2015b2f2021-03-04 17:37:55 +0000296 'condition': 'dawn_standalone and checkout_win',
Corentin Wallezd5203662022-01-05 15:54:08 +0000297 'action': ['python3', 'build/vs_toolchain.py', 'update', '--force'],
Corentin Wallez21a23852018-07-31 18:50:03 +0200298 },
299 {
300 # Note: On Win, this should run after win_toolchain, as it may use it.
301 'name': 'clang',
302 'pattern': '.',
Corentin Wallezd5203662022-01-05 15:54:08 +0000303 'action': ['python3', 'tools/clang/scripts/update.py'],
Corentin Wallez21a23852018-07-31 18:50:03 +0200304 'condition': 'dawn_standalone',
305 },
306 {
dan sinclair93cf3462022-05-16 12:58:24 +0000307 # This is also supposed to support the same set of platforms as 'clang'
308 # above. LLVM ToT support isn't provided at the moment.
309 'name': 'clang_tidy',
310 'pattern': '.',
Corentin Wallezc4051b12022-05-17 08:21:02 +0000311 'condition': 'dawn_standalone and checkout_clang_tidy',
dan sinclair93cf3462022-05-16 12:58:24 +0000312 'action': ['python3', 'tools/clang/scripts/update.py',
313 '--package=clang-tidy'],
314 },
315 {
Corentin Wallez21a23852018-07-31 18:50:03 +0200316 # Pull rc binaries using checked-in hashes.
317 'name': 'rc_win',
318 'pattern': '.',
Corentin Wallez2015b2f2021-03-04 17:37:55 +0000319 'condition': 'dawn_standalone and checkout_win and host_os == "win"',
Corentin Wallez21a23852018-07-31 18:50:03 +0200320 'action': [ 'download_from_google_storage',
321 '--no_resume',
322 '--no_auth',
323 '--bucket', 'chromium-browser-clang/rc',
Corentin Wallez1a0596d2018-09-10 15:16:10 +0200324 '-s', 'build/toolchain/win/rc/win/rc.exe.sha1',
Corentin Wallez21a23852018-07-31 18:50:03 +0200325 ],
326 },
Peng Huang78583a12023-02-10 13:53:31 +0000327 {
328 'name': 'rc_linux',
329 'pattern': '.',
Peng Huang708a0772023-02-13 11:38:38 +0000330 'condition': 'dawn_standalone and checkout_win and host_os == "linux"',
Peng Huang78583a12023-02-10 13:53:31 +0000331 'action': [ 'download_from_google_storage',
332 '--no_resume',
333 '--no_auth',
334 '--bucket', 'chromium-browser-clang/rc',
335 '-s', 'build/toolchain/win/rc/linux64/rc.sha1',
336 ]
337 },
Corentin Wallez131e6192020-11-03 18:18:06 +0000338 # Pull clang-format binaries using checked-in hashes.
339 {
Corentin Wallez51723bd2022-04-07 10:40:46 +0000340 'name': 'clang_format_win',
341 'pattern': '.',
342 'condition': 'dawn_standalone and host_os == "win"',
343 'action': [ 'download_from_google_storage',
344 '--no_resume',
345 '--no_auth',
346 '--bucket', 'chromium-clang-format',
347 '-s', 'buildtools/win/clang-format.exe.sha1',
348 ],
349 },
350 {
Ben Clayton088a6002022-04-06 19:57:42 +0000351 'name': 'clang_format_mac_x64',
Corentin Wallez131e6192020-11-03 18:18:06 +0000352 'pattern': '.',
Ben Clayton088a6002022-04-06 19:57:42 +0000353 'condition': 'dawn_standalone and host_os == "mac" and host_cpu == "x64"',
Corentin Wallez131e6192020-11-03 18:18:06 +0000354 'action': [ 'download_from_google_storage',
355 '--no_resume',
356 '--no_auth',
357 '--bucket', 'chromium-clang-format',
Ben Clayton088a6002022-04-06 19:57:42 +0000358 '-s', 'buildtools/mac/clang-format.x64.sha1',
359 '-o', 'buildtools/mac/clang-format',
Corentin Wallez131e6192020-11-03 18:18:06 +0000360 ],
361 },
362 {
Ben Clayton088a6002022-04-06 19:57:42 +0000363 'name': 'clang_format_mac_arm64',
Corentin Wallez131e6192020-11-03 18:18:06 +0000364 'pattern': '.',
Ben Clayton088a6002022-04-06 19:57:42 +0000365 'condition': 'dawn_standalone and host_os == "mac" and host_cpu == "arm64"',
Corentin Wallez131e6192020-11-03 18:18:06 +0000366 'action': [ 'download_from_google_storage',
367 '--no_resume',
368 '--no_auth',
369 '--bucket', 'chromium-clang-format',
Ben Clayton088a6002022-04-06 19:57:42 +0000370 '-s', 'buildtools/mac/clang-format.arm64.sha1',
371 '-o', 'buildtools/mac/clang-format',
Corentin Wallez131e6192020-11-03 18:18:06 +0000372 ],
373 },
374 {
375 'name': 'clang_format_linux',
376 'pattern': '.',
Corentin Wallez2015b2f2021-03-04 17:37:55 +0000377 'condition': 'dawn_standalone and host_os == "linux"',
Corentin Wallez131e6192020-11-03 18:18:06 +0000378 'action': [ 'download_from_google_storage',
379 '--no_resume',
380 '--no_auth',
381 '--bucket', 'chromium-clang-format',
382 '-s', 'buildtools/linux64/clang-format.sha1',
383 ],
384 },
Corentin Wallez15d8cb72018-11-19 10:13:31 +0000385 # Update build/util/LASTCHANGE.
386 {
387 'name': 'lastchange',
388 'pattern': '.',
Jiajie Hu2ffc55a2020-07-01 05:08:36 +0000389 'condition': 'dawn_standalone',
Corentin Wallezd5203662022-01-05 15:54:08 +0000390 'action': ['python3', 'build/util/lastchange.py',
Corentin Wallez15d8cb72018-11-19 10:13:31 +0000391 '-o', 'build/util/LASTCHANGE'],
392 },
Austin Eng4948c812021-10-15 14:28:32 +0000393 # TODO(https://crbug.com/1180257): Use CIPD for CMake on Windows.
394 {
395 'name': 'cmake_win32',
396 'pattern': '.',
397 'condition': 'dawn_node and host_os == "win"',
398 'action': [ 'download_from_google_storage',
399 '--no_resume',
400 '--platform=win32',
401 '--no_auth',
402 '--bucket', 'chromium-tools',
403 Var('dawn_cmake_win32_sha1'),
404 '-o', 'tools/cmake-win32.zip'
405 ],
406 },
407 {
408 'name': 'cmake_win32_extract',
409 'pattern': '.',
410 'condition': 'dawn_node and host_os == "win"',
Corentin Wallezd5203662022-01-05 15:54:08 +0000411 'action': [ 'python3',
Austin Eng4948c812021-10-15 14:28:32 +0000412 'scripts/extract.py',
413 'tools/cmake-win32.zip',
414 'tools/cmake-win32/',
415 ],
416 },
Ben Clayton6f8ff742022-03-28 19:55:42 +0000417
418 # Node binaries, when dawn_node is enabled
419 {
420 'name': 'node_linux64',
421 'pattern': '.',
422 'condition': 'dawn_node and host_os == "linux"',
423 'action': [ 'download_from_google_storage',
424 '--no_resume',
425 '--extract',
426 '--no_auth',
427 '--bucket', 'chromium-nodejs/16.13.0',
428 Var('node_linux_x64_sha'),
429 '-o', 'third_party/node/node-linux-x64.tar.gz',
430 ],
431 },
432 {
433 'name': 'node_mac',
434 'pattern': '.',
435 'condition': 'dawn_node and host_os == "mac"',
436 'action': [ 'download_from_google_storage',
437 '--no_resume',
438 '--extract',
439 '--no_auth',
440 '--bucket', 'chromium-nodejs/16.13.0',
441 Var('node_darwin_x64_sha'),
442 '-o', 'third_party/node/node-darwin-x64.tar.gz',
443 ],
444 },
445 {
446 'name': 'node_mac_arm64',
447 'pattern': '.',
448 'condition': 'dawn_node and host_os == "mac"',
449 'action': [ 'download_from_google_storage',
450 '--no_resume',
451 '--extract',
452 '--no_auth',
453 '--bucket', 'chromium-nodejs/16.13.0',
454 Var('node_darwin_arm64_sha'),
455 '-o', 'third_party/node/node-darwin-arm64.tar.gz',
456 ],
457 },
458 {
459 'name': 'node_win',
460 'pattern': '.',
461 'condition': 'dawn_node and host_os == "win"',
462 'action': [ 'download_from_google_storage',
463 '--no_resume',
464 '--no_auth',
465 '--bucket', 'chromium-nodejs/16.13.0',
466 Var('node_win_x64_sha'),
467 '-o', 'third_party/node/node.exe',
468 ],
469 },
Ryan Harrisonce158be2023-07-20 17:06:56 +0000470 {
471 # Download remote exec cfg files
472 'name': 'fetch_reclient_cfgs',
473 'pattern': '.',
Austin Engd6c4f662023-07-21 01:00:22 +0000474 'condition': 'download_remoteexec_cfg and dawn_standalone',
Ryan Harrisonce158be2023-07-20 17:06:56 +0000475 'action': ['python3',
476 'buildtools/reclient_cfgs/fetch_reclient_cfgs.py',
477 '--rbe_instance',
478 Var('rbe_instance'),
479 '--reproxy_cfg_template',
480 'reproxy.cfg.template',
481 '--rewrapper_cfg_project',
482 Var('rewrapper_cfg_project'),
483 '--quiet',
Ryan Harrisonce158be2023-07-20 17:06:56 +0000484 ],
485 },
Corentin Wallezca81bd32018-09-03 11:55:58 +0200486]
487
488recursedeps = [
Stephen Whitef1fa60b2021-01-06 17:41:50 +0000489 'third_party/vulkan-deps',
Corentin Wallez21a23852018-07-31 18:50:03 +0200490]