blob: 397d33f0ecb62e257d4326ae4de0090f243ee511 [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': {
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': {
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 Autoroller4817c522023-08-26 05:01:41 +0000157 'url': '{chromium_git}/angle/angle@57388ab2e24d28c19c552574bf3f5806ef997dc6',
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 Autoroller4ab00082023-08-25 19:27:49 +0000162 'url': '{swiftshader_git}/SwiftShader@32f9332d1d7aacbdba7c1aa5df894bb1890bb2cc',
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-autorollf3923172023-08-26 22:33:23 +0000167 'url': '{chromium_git}/vulkan-deps@da4fc1e938a84efb4744eea8c3e09398759ad446',
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': {
James Price39bbc582023-08-22 17:59:02 +0000177 'url': '{chromium_git}/chromium/src/third_party/abseil-cpp@4ef9b33175828ea46d091e7e5ec28259d39a8ba5',
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 Autoroller90a557b2023-08-26 06:31:45 +0000182 'url': '{chromium_git}/external/github.com/microsoft/DirectXShaderCompiler@a88709aa3cec39c55cf391b50c4233edfa1b9080',
Antonio Maioranoad5e1082023-06-22 20:45:54 +0000183 },
Antonio Maiorano83bdc7f2023-08-21 15:29:35 +0000184
Antonio Maioranoad5e1082023-06-22 20:45:54 +0000185 'third_party/dxheaders': {
186 # The non-Windows build of DXC depends on DirectX-Headers, and at a specific commit (not ToT)
187 'url': '{chromium_git}/external/github.com/microsoft/DirectX-Headers@980971e835876dc0cde415e8f9bc646e64667bf7',
Austin Engc02f1432023-07-05 22:38:39 +0000188 'condition': 'host_os != "win"',
Antonio Maioranoad5e1082023-06-22 20:45:54 +0000189 },
190
Antonio Maiorano83bdc7f2023-08-21 15:29:35 +0000191 'third_party/khronos/OpenGL-Registry': {
192 'url': '{chromium_git}/external/github.com/KhronosGroup/OpenGL-Registry@5bae8738b23d06968e7c3a41308568120943ae77',
193 },
194
195 'third_party/khronos/EGL-Registry': {
196 'url': '{chromium_git}/external/github.com/KhronosGroup/EGL-Registry@7dea2ed79187cd13f76183c4b9100159b9e3e071',
197 },
198
Kai Ninomiya5c780d72022-03-17 21:43:17 +0000199 # WebGPU CTS - not used directly by Dawn, only transitively by Chromium.
200 'third_party/webgpu-cts': {
Brandon Jonesfafeb722023-08-25 00:44:47 +0000201 'url': '{chromium_git}/external/github.com/gpuweb/cts@5dfa3b88f0863c3949f713804e0461c9cc34a030',
Kai Ninomiya5c780d72022-03-17 21:43:17 +0000202 'condition': 'build_with_chromium',
203 },
204
Ben Clayton6f8ff742022-03-28 19:55:42 +0000205 # Dependencies required to build / run Dawn NodeJS bindings
Ben Claytondc890d62021-09-27 22:55:39 +0000206 'third_party/node-api-headers': {
207 'url': '{github_git}/nodejs/node-api-headers.git@d68505e4055ecb630e14c26c32e5c2c65e179bba',
208 'condition': 'dawn_node',
209 },
210 'third_party/node-addon-api': {
211 'url': '{github_git}/nodejs/node-addon-api.git@4a3de56c3e4ed0031635a2f642b27efeeed00add',
212 'condition': 'dawn_node',
213 },
214 'third_party/gpuweb': {
Corentin Wallezdbd477f2023-05-31 12:02:12 +0000215 'url': '{github_git}/gpuweb/gpuweb.git@913189072715569b8ad60e5c2e38e501273bd5b0',
Ben Claytondc890d62021-09-27 22:55:39 +0000216 'condition': 'dawn_node',
217 },
Austin Eng4948c812021-10-15 14:28:32 +0000218
219 'tools/golang': {
Austin Eng4948c812021-10-15 14:28:32 +0000220 'packages': [{
221 'package': 'infra/3pp/tools/go/${{platform}}',
222 'version': Var('dawn_go_version'),
223 }],
224 'dep_type': 'cipd',
225 },
226
227 'tools/cmake': {
228 'condition': 'dawn_node and (host_os == "mac" or host_os == "linux")',
229 'packages': [{
230 'package': 'infra/3pp/tools/cmake/${{platform}}',
231 'version': Var('dawn_cmake_version'),
232 }],
233 'dep_type': 'cipd',
234 },
Ryan Harrisone87ac762022-04-06 15:37:27 -0400235
Junji Watanabe4ad7f012022-10-03 02:48:52 +0000236 'third_party/ninja': {
237 'packages': [
238 {
239 'package': 'infra/3pp/tools/ninja/${{platform}}',
240 'version': Var('dawn_ninja_version'),
241 }
242 ],
243 'dep_type': 'cipd',
244 },
245
Ryan Harrison29fc5e92023-07-17 16:12:27 +0000246 # RBE dependencies
247 'buildtools/reclient': {
248 'packages': [
249 {
250 'package': Var('reclient_package') + '${{platform}}',
251 'version': Var('reclient_version'),
252 }
253 ],
254 'dep_type': 'cipd',
255 'condition': 'dawn_standalone',
256 },
Ryan Harrison29fc5e92023-07-17 16:12:27 +0000257
Ryan Harrisone87ac762022-04-06 15:37:27 -0400258 # Misc dependencies inherited from Tint
Ryan Harrison3374f432022-03-28 18:01:02 +0000259 'third_party/protobuf': {
James Price182fb642023-08-22 18:39:48 +0000260 'url': '{chromium_git}/external/github.com/protocolbuffers/protobuf.git@2b673bbb57e34fe1bd4570f726fc86b769a3a3d2',
Ryan Harrisone87ac762022-04-06 15:37:27 -0400261 'condition': 'dawn_standalone',
Ryan Harrison3374f432022-03-28 18:01:02 +0000262 },
Corentin Wallez21a23852018-07-31 18:50:03 +0200263}
264
265hooks = [
Corentin Wallez21a23852018-07-31 18:50:03 +0200266 # Pull the compilers and system libraries for hermetic builds
267 {
268 'name': 'sysroot_x86',
269 'pattern': '.',
Corentin Wallez2015b2f2021-03-04 17:37:55 +0000270 'condition': 'dawn_standalone and checkout_linux and (checkout_x86 or checkout_x64)',
Corentin Wallezd5203662022-01-05 15:54:08 +0000271 'action': ['python3', 'build/linux/sysroot_scripts/install-sysroot.py',
Corentin Wallez21a23852018-07-31 18:50:03 +0200272 '--arch=x86'],
273 },
274 {
275 'name': 'sysroot_x64',
276 'pattern': '.',
Corentin Wallez2015b2f2021-03-04 17:37:55 +0000277 'condition': 'dawn_standalone and checkout_linux and checkout_x64',
Corentin Wallezd5203662022-01-05 15:54:08 +0000278 'action': ['python3', 'build/linux/sysroot_scripts/install-sysroot.py',
Corentin Wallez21a23852018-07-31 18:50:03 +0200279 '--arch=x64'],
280 },
281 {
Corentin Wallezd4e7f082020-11-17 21:16:31 +0000282 # Update the Mac toolchain if possible, this makes builders use "hermetic XCode" which is
283 # is more consistent (only changes when rolling build/) and is cached.
284 'name': 'mac_toolchain',
285 'pattern': '.',
Corentin Wallez2015b2f2021-03-04 17:37:55 +0000286 'condition': 'dawn_standalone and checkout_mac',
Corentin Wallezd5203662022-01-05 15:54:08 +0000287 'action': ['python3', 'build/mac_toolchain.py'],
Corentin Wallezd4e7f082020-11-17 21:16:31 +0000288 },
289 {
Peng Huang78583a12023-02-10 13:53:31 +0000290 # Case-insensitivity for the Win SDK. Must run before win_toolchain below.
291 'name': 'ciopfs_linux',
292 'pattern': '.',
Peng Huang708a0772023-02-13 11:38:38 +0000293 'condition': 'dawn_standalone and checkout_win and host_os == "linux"',
Peng Huang78583a12023-02-10 13:53:31 +0000294 'action': [ 'download_from_google_storage',
295 '--no_resume',
296 '--no_auth',
297 '--bucket', 'chromium-browser-clang/ciopfs',
298 '-s', 'build/ciopfs.sha1',
299 ]
300 },
301 {
Corentin Wallez682c44a2018-08-13 17:48:16 +0200302 # Update the Windows toolchain if necessary. Must run before 'clang' below.
Corentin Wallez21a23852018-07-31 18:50:03 +0200303 'name': 'win_toolchain',
304 'pattern': '.',
Corentin Wallez2015b2f2021-03-04 17:37:55 +0000305 'condition': 'dawn_standalone and checkout_win',
Corentin Wallezd5203662022-01-05 15:54:08 +0000306 'action': ['python3', 'build/vs_toolchain.py', 'update', '--force'],
Corentin Wallez21a23852018-07-31 18:50:03 +0200307 },
308 {
309 # Note: On Win, this should run after win_toolchain, as it may use it.
310 'name': 'clang',
311 'pattern': '.',
Corentin Wallezd5203662022-01-05 15:54:08 +0000312 'action': ['python3', 'tools/clang/scripts/update.py'],
Corentin Wallez21a23852018-07-31 18:50:03 +0200313 'condition': 'dawn_standalone',
314 },
315 {
dan sinclair93cf3462022-05-16 12:58:24 +0000316 # This is also supposed to support the same set of platforms as 'clang'
317 # above. LLVM ToT support isn't provided at the moment.
318 'name': 'clang_tidy',
319 'pattern': '.',
Corentin Wallezc4051b12022-05-17 08:21:02 +0000320 'condition': 'dawn_standalone and checkout_clang_tidy',
dan sinclair93cf3462022-05-16 12:58:24 +0000321 'action': ['python3', 'tools/clang/scripts/update.py',
322 '--package=clang-tidy'],
323 },
324 {
Corentin Wallez21a23852018-07-31 18:50:03 +0200325 # Pull rc binaries using checked-in hashes.
326 'name': 'rc_win',
327 'pattern': '.',
Corentin Wallez2015b2f2021-03-04 17:37:55 +0000328 'condition': 'dawn_standalone and checkout_win and host_os == "win"',
Corentin Wallez21a23852018-07-31 18:50:03 +0200329 'action': [ 'download_from_google_storage',
330 '--no_resume',
331 '--no_auth',
332 '--bucket', 'chromium-browser-clang/rc',
Corentin Wallez1a0596d2018-09-10 15:16:10 +0200333 '-s', 'build/toolchain/win/rc/win/rc.exe.sha1',
Corentin Wallez21a23852018-07-31 18:50:03 +0200334 ],
335 },
Peng Huang78583a12023-02-10 13:53:31 +0000336 {
337 'name': 'rc_linux',
338 'pattern': '.',
Peng Huang708a0772023-02-13 11:38:38 +0000339 'condition': 'dawn_standalone and checkout_win and host_os == "linux"',
Peng Huang78583a12023-02-10 13:53:31 +0000340 'action': [ 'download_from_google_storage',
341 '--no_resume',
342 '--no_auth',
343 '--bucket', 'chromium-browser-clang/rc',
344 '-s', 'build/toolchain/win/rc/linux64/rc.sha1',
345 ]
346 },
Corentin Wallez131e6192020-11-03 18:18:06 +0000347 # Pull clang-format binaries using checked-in hashes.
348 {
Corentin Wallez51723bd2022-04-07 10:40:46 +0000349 'name': 'clang_format_win',
350 'pattern': '.',
351 'condition': 'dawn_standalone and host_os == "win"',
352 'action': [ 'download_from_google_storage',
353 '--no_resume',
354 '--no_auth',
355 '--bucket', 'chromium-clang-format',
356 '-s', 'buildtools/win/clang-format.exe.sha1',
357 ],
358 },
359 {
Ben Clayton088a6002022-04-06 19:57:42 +0000360 'name': 'clang_format_mac_x64',
Corentin Wallez131e6192020-11-03 18:18:06 +0000361 'pattern': '.',
Ben Clayton088a6002022-04-06 19:57:42 +0000362 'condition': 'dawn_standalone and host_os == "mac" and host_cpu == "x64"',
Corentin Wallez131e6192020-11-03 18:18:06 +0000363 'action': [ 'download_from_google_storage',
364 '--no_resume',
365 '--no_auth',
366 '--bucket', 'chromium-clang-format',
Ben Clayton088a6002022-04-06 19:57:42 +0000367 '-s', 'buildtools/mac/clang-format.x64.sha1',
368 '-o', 'buildtools/mac/clang-format',
Corentin Wallez131e6192020-11-03 18:18:06 +0000369 ],
370 },
371 {
Ben Clayton088a6002022-04-06 19:57:42 +0000372 'name': 'clang_format_mac_arm64',
Corentin Wallez131e6192020-11-03 18:18:06 +0000373 'pattern': '.',
Ben Clayton088a6002022-04-06 19:57:42 +0000374 'condition': 'dawn_standalone and host_os == "mac" and host_cpu == "arm64"',
Corentin Wallez131e6192020-11-03 18:18:06 +0000375 'action': [ 'download_from_google_storage',
376 '--no_resume',
377 '--no_auth',
378 '--bucket', 'chromium-clang-format',
Ben Clayton088a6002022-04-06 19:57:42 +0000379 '-s', 'buildtools/mac/clang-format.arm64.sha1',
380 '-o', 'buildtools/mac/clang-format',
Corentin Wallez131e6192020-11-03 18:18:06 +0000381 ],
382 },
383 {
384 'name': 'clang_format_linux',
385 'pattern': '.',
Corentin Wallez2015b2f2021-03-04 17:37:55 +0000386 'condition': 'dawn_standalone and host_os == "linux"',
Corentin Wallez131e6192020-11-03 18:18:06 +0000387 'action': [ 'download_from_google_storage',
388 '--no_resume',
389 '--no_auth',
390 '--bucket', 'chromium-clang-format',
391 '-s', 'buildtools/linux64/clang-format.sha1',
392 ],
393 },
Corentin Wallez15d8cb72018-11-19 10:13:31 +0000394 # Update build/util/LASTCHANGE.
395 {
396 'name': 'lastchange',
397 'pattern': '.',
Jiajie Hu2ffc55a2020-07-01 05:08:36 +0000398 'condition': 'dawn_standalone',
Corentin Wallezd5203662022-01-05 15:54:08 +0000399 'action': ['python3', 'build/util/lastchange.py',
Corentin Wallez15d8cb72018-11-19 10:13:31 +0000400 '-o', 'build/util/LASTCHANGE'],
401 },
Austin Eng4948c812021-10-15 14:28:32 +0000402 # TODO(https://crbug.com/1180257): Use CIPD for CMake on Windows.
403 {
404 'name': 'cmake_win32',
405 'pattern': '.',
406 'condition': 'dawn_node and host_os == "win"',
407 'action': [ 'download_from_google_storage',
408 '--no_resume',
409 '--platform=win32',
410 '--no_auth',
411 '--bucket', 'chromium-tools',
412 Var('dawn_cmake_win32_sha1'),
413 '-o', 'tools/cmake-win32.zip'
414 ],
415 },
416 {
417 'name': 'cmake_win32_extract',
418 'pattern': '.',
419 'condition': 'dawn_node and host_os == "win"',
Corentin Wallezd5203662022-01-05 15:54:08 +0000420 'action': [ 'python3',
Austin Eng4948c812021-10-15 14:28:32 +0000421 'scripts/extract.py',
422 'tools/cmake-win32.zip',
423 'tools/cmake-win32/',
424 ],
425 },
Ben Clayton6f8ff742022-03-28 19:55:42 +0000426
427 # Node binaries, when dawn_node is enabled
428 {
429 'name': 'node_linux64',
430 'pattern': '.',
431 'condition': 'dawn_node and host_os == "linux"',
432 'action': [ 'download_from_google_storage',
433 '--no_resume',
434 '--extract',
435 '--no_auth',
436 '--bucket', 'chromium-nodejs/16.13.0',
437 Var('node_linux_x64_sha'),
438 '-o', 'third_party/node/node-linux-x64.tar.gz',
439 ],
440 },
441 {
442 'name': 'node_mac',
443 'pattern': '.',
444 'condition': 'dawn_node and host_os == "mac"',
445 'action': [ 'download_from_google_storage',
446 '--no_resume',
447 '--extract',
448 '--no_auth',
449 '--bucket', 'chromium-nodejs/16.13.0',
450 Var('node_darwin_x64_sha'),
451 '-o', 'third_party/node/node-darwin-x64.tar.gz',
452 ],
453 },
454 {
455 'name': 'node_mac_arm64',
456 'pattern': '.',
457 'condition': 'dawn_node and host_os == "mac"',
458 'action': [ 'download_from_google_storage',
459 '--no_resume',
460 '--extract',
461 '--no_auth',
462 '--bucket', 'chromium-nodejs/16.13.0',
463 Var('node_darwin_arm64_sha'),
464 '-o', 'third_party/node/node-darwin-arm64.tar.gz',
465 ],
466 },
467 {
468 'name': 'node_win',
469 'pattern': '.',
470 'condition': 'dawn_node and host_os == "win"',
471 'action': [ 'download_from_google_storage',
472 '--no_resume',
473 '--no_auth',
474 '--bucket', 'chromium-nodejs/16.13.0',
475 Var('node_win_x64_sha'),
476 '-o', 'third_party/node/node.exe',
477 ],
478 },
Ryan Harrisonce158be2023-07-20 17:06:56 +0000479 {
480 # Download remote exec cfg files
481 'name': 'fetch_reclient_cfgs',
482 'pattern': '.',
Austin Engd6c4f662023-07-21 01:00:22 +0000483 'condition': 'download_remoteexec_cfg and dawn_standalone',
Ryan Harrisonce158be2023-07-20 17:06:56 +0000484 'action': ['python3',
485 'buildtools/reclient_cfgs/fetch_reclient_cfgs.py',
486 '--rbe_instance',
487 Var('rbe_instance'),
488 '--reproxy_cfg_template',
489 'reproxy.cfg.template',
490 '--rewrapper_cfg_project',
491 Var('rewrapper_cfg_project'),
492 '--quiet',
Ryan Harrisonce158be2023-07-20 17:06:56 +0000493 ],
494 },
Corentin Wallezca81bd32018-09-03 11:55:58 +0200495]
496
497recursedeps = [
Stephen Whitef1fa60b2021-01-06 17:41:50 +0000498 'third_party/vulkan-deps',
Corentin Wallez21a23852018-07-31 18:50:03 +0200499]