Fix RiscV support - Rendering issue for armv7l
[platform/framework/web/chromium-efl.git] / v8 / DEPS
1 # Note: The buildbots evaluate this file with CWD set to the parent
2 # directory and assume that the root of the checkout is in ./v8/, so
3 # all paths in here must match this assumption.
4
5 use_relative_paths = True
6
7 gclient_gn_args_file = 'build/config/gclient_args.gni'
8 gclient_gn_args = [
9 ]
10
11 vars = {
12   # Fetches only the SDK boot images which match at least one of the whitelist
13   # entries in a comma-separated list.
14   #
15   # Available images:
16   #   Emulation:
17   #   - terminal.qemu-x64
18   #   - terminal.qemu-arm64
19   #   - workstation.qemu-x64-release
20   #   Hardware:
21   #   - minimal.x64
22   #   - core.x64-dfv2
23   #
24   # Since the images are hundreds of MB, default to only downloading the image
25   # most commonly useful for developers. Bots and developers that need to use
26   # other images (e.g., qemu.arm64) can override this with additional images.
27   'checkout_fuchsia_boot_images': "terminal.qemu-x64,terminal.x64",
28   'checkout_fuchsia_product_bundles': '"{checkout_fuchsia_boot_images}" != ""',
29
30   'checkout_instrumented_libraries': False,
31   'checkout_ittapi': False,
32
33   # Fetch the prebuilt binaries for llvm-cov and llvm-profdata. Needed to
34   # process the raw profiles produced by instrumented targets (built with
35   # the gn arg 'use_clang_coverage').
36   'checkout_clang_coverage_tools': False,
37
38   # Fetch clang-tidy into the same bin/ directory as our clang binary.
39   'checkout_clang_tidy': False,
40
41   # Fetch and build V8 builtins with PGO profiles
42   'checkout_v8_builtins_pgo_profiles': False,
43
44   'chromium_url': 'https://chromium.googlesource.com',
45   'android_url': 'https://android.googlesource.com',
46   'download_gcmole': False,
47   'download_jsfunfuzz': False,
48   'download_prebuilt_bazel': False,
49   'check_v8_header_includes': False,
50
51   # By default, download the fuchsia sdk from the public sdk directory.
52   'fuchsia_sdk_cipd_prefix': 'fuchsia/sdk/core/',
53
54   # Used for downloading the Fuchsia SDK without running hooks.
55   'checkout_fuchsia_no_hooks': False,
56
57   # reclient CIPD package version
58   'reclient_version': 're_client_version:0.117.1.21520c6-gomaip',
59
60   # Fetch configuration files required for the 'use_remoteexec' gn arg
61   'download_remoteexec_cfg': False,
62
63   # RBE instance to use for running remote builds
64   'rbe_instance': Str('projects/rbe-chrome-untrusted/instances/default_instance'),
65
66   # RBE project to download rewrapper config files for. Only needed if
67   # different from the project used in 'rbe_instance'
68   'rewrapper_cfg_project': Str(''),
69
70   # This variable is overrided in Chromium's DEPS file.
71   'build_with_chromium': False,
72
73   # GN CIPD package version.
74   'gn_version': 'git_revision:e4702d7409069c4f12d45ea7b7f0890717ca3f4b',
75
76   # ninja CIPD package version
77   # https://chrome-infra-packages.appspot.com/p/infra/3pp/tools/ninja
78   'ninja_version': 'version:2@1.11.1.chromium.6',
79
80   # luci-go CIPD package version.
81   'luci_go': 'git_revision:924cfd2323a9192361b765f81fffc135026c1fee',
82
83   # Three lines of non-changing comments so that
84   # the commit queue can handle CLs rolling Fuchsia sdk
85   # and whatever else without interference from each other.
86   'fuchsia_version': 'version:15.20231022.3.1',
87
88   # Three lines of non-changing comments so that
89   # the commit queue can handle CLs rolling android_sdk_build-tools_version
90   # and whatever else without interference from each other.
91   'android_sdk_build-tools_version': 'YK9Rzw3fDzMHVzatNN6VlyoD_81amLZpN1AbmkdOd6AC',
92   # Three lines of non-changing comments so that
93   # the commit queue can handle CLs rolling android_sdk_emulator_version
94   # and whatever else without interference from each other.
95   'android_sdk_emulator_version': '9lGp8nTUCRRWGMnI_96HcKfzjnxEJKUcfvfwmA3wXNkC',
96   # Three lines of non-changing comments so that
97   # the commit queue can handle CLs rolling android_sdk_extras_version
98   # and whatever else without interference from each other.
99   'android_sdk_extras_version': 'bY55nDqO6FAm6FkGIj09sh2KW9oqAkCGKjYok5nUvBMC',
100   # Three lines of non-changing comments so that
101   # the commit queue can handle CLs rolling android_sdk_patcher_version
102   # and whatever else without interference from each other.
103   'android_sdk_patcher_version': 'I6FNMhrXlpB-E1lOhMlvld7xt9lBVNOO83KIluXDyA0C',
104   # Three lines of non-changing comments so that
105   # the commit queue can handle CLs rolling android_sdk_platform-tools_version
106   # and whatever else without interference from each other.
107   'android_sdk_platform-tools_version': 'HWVsGs2HCKgSVv41FsOcsfJbNcB0UFiNrF6Tc4yRArYC',
108   # Three lines of non-changing comments so that
109   # the commit queue can handle CLs rolling android_sdk_platforms_version
110   # and whatever else without interference from each other.
111   'android_sdk_platforms_version': 'u-bhWbTME6u-DjypTgr3ZikCyeAeU6txkR9ET6Uudc8C',
112   # Three lines of non-changing comments so that
113   # the commit queue can handle CLs rolling android_sdk_sources_version
114   # and whatever else without interference from each other.
115   'android_sdk_sources_version': 'qfTSF99e29-w3eIVPpfcif0Em5etyvxuicTDTntWHQMC',
116   # Three lines of non-changing comments so that
117   # the commit queue can handle CLs rolling android_sdk_tools-lint_version
118   # and whatever else without interference from each other.
119   'android_sdk_cmdline-tools_version': 'Sy00LuyBIUJdRGYKwg0zjWH8eAIUvgnnNiPkI8etaZYC',
120 }
121
122 deps = {
123   'base/trace_event/common':
124     Var('chromium_url') + '/chromium/src/base/trace_event/common.git' + '@' + '29ac73db520575590c3aceb0a6f1f58dda8934f6',
125   'build':
126     Var('chromium_url') + '/chromium/src/build.git' + '@' + 'a21fc6065131d0442e8a54c3ca2638e393b69438',
127   'buildtools':
128     Var('chromium_url') + '/chromium/src/buildtools.git' + '@' + '6f834e2039daedfc68a2749c217922b26d5e8497',
129   'buildtools/linux64': {
130     'packages': [
131       {
132         'package': 'gn/gn/linux-${{arch}}',
133         'version': Var('gn_version'),
134       }
135     ],
136     'dep_type': 'cipd',
137     'condition': 'host_os == "linux" and host_cpu != "s390" and host_cpu != "ppc"',
138   },
139   'buildtools/mac': {
140     'packages': [
141       {
142         'package': 'gn/gn/mac-${{arch}}',
143         'version': Var('gn_version'),
144       }
145     ],
146     'dep_type': 'cipd',
147     'condition': 'host_os == "mac"',
148   },
149   'buildtools/win': {
150     'packages': [
151       {
152         'package': 'gn/gn/windows-amd64',
153         'version': Var('gn_version'),
154       }
155     ],
156     'dep_type': 'cipd',
157     'condition': 'host_os == "win"',
158   },
159   'buildtools/reclient': {
160     'packages': [
161       {
162         'package': 'infra/rbe/client/${{platform}}',
163         'version': Var('reclient_version'),
164       }
165     ],
166     'dep_type': 'cipd',
167     'condition': '(host_os == "linux" or host_os == "mac" or host_os == "win") and host_cpu != "s390" and host_cpu != "ppc" and host_cpu != "arm64"',
168   },
169   'test/benchmarks/data':
170     Var('chromium_url') + '/v8/deps/third_party/benchmarks.git' + '@' + '05d7188267b4560491ff9155c5ee13e207ecd65f',
171   'test/mozilla/data':
172     Var('chromium_url') + '/v8/deps/third_party/mozilla-tests.git' + '@' + 'f6c578a10ea707b1a8ab0b88943fe5115ce2b9be',
173   'test/test262/data':
174     Var('chromium_url') + '/external/github.com/tc39/test262.git' + '@' + '6396ebde0316639292530460d1ef961fd9bbe0d4',
175   'third_party/android_platform': {
176     'url': Var('chromium_url') + '/chromium/src/third_party/android_platform.git' + '@' + 'eeb2d566f963bb66212fdc0d9bbe1dde550b4969',
177     'condition': 'checkout_android',
178   },
179   'third_party/android_sdk/public': {
180       'packages': [
181           {
182               'package': 'chromium/third_party/android_sdk/public/build-tools/34.0.0',
183               'version': Var('android_sdk_build-tools_version'),
184           },
185           {
186               'package': 'chromium/third_party/android_sdk/public/emulator',
187               'version': Var('android_sdk_emulator_version'),
188           },
189           {
190               'package': 'chromium/third_party/android_sdk/public/extras',
191               'version': Var('android_sdk_extras_version'),
192           },
193           {
194               'package': 'chromium/third_party/android_sdk/public/patcher',
195               'version': Var('android_sdk_patcher_version'),
196           },
197           {
198               'package': 'chromium/third_party/android_sdk/public/platform-tools',
199               'version': Var('android_sdk_platform-tools_version'),
200           },
201           {
202               'package': 'chromium/third_party/android_sdk/public/platforms/android-34',
203               'version': Var('android_sdk_platforms_version'),
204           },
205           {
206               'package': 'chromium/third_party/android_sdk/public/sources/android-30',
207               'version': Var('android_sdk_sources_version'),
208           },
209           {
210               'package': 'chromium/third_party/android_sdk/public/cmdline-tools',
211               'version': Var('android_sdk_cmdline-tools_version'),
212           },
213       ],
214       'condition': 'checkout_android',
215       'dep_type': 'cipd',
216   },
217   'third_party/android_toolchain/ndk': {
218     'packages': [
219       {
220         'package': 'chromium/third_party/android_toolchain/android_toolchain',
221         'version': 'NSOM616pOQCfRfDAhC72ltgjyUQp9lAWCMzlmgB18dAC',
222       },
223     ],
224     'condition': 'checkout_android',
225     'dep_type': 'cipd',
226   },
227   'third_party/catapult': {
228     'url': Var('chromium_url') + '/catapult.git' + '@' + '47efdb4b1428e549c58a6d6c2fa79c4a8ceaf9b4',
229     'condition': 'checkout_android',
230   },
231   'third_party/clang-format/script':
232     Var('chromium_url') + '/external/github.com/llvm/llvm-project/clang/tools/clang-format.git' + '@' + 'e5337933f2951cacd3aeacd238ce4578163ca0b9',
233   'third_party/colorama/src': {
234     'url': Var('chromium_url') + '/external/colorama.git' + '@' + '3de9f013df4b470069d03d250224062e8cf15c49',
235     'condition': 'checkout_android',
236   },
237   'third_party/cpu_features/src': {
238     'url': Var('chromium_url') + '/external/github.com/google/cpu_features.git' + '@' + '936b9ab5515dead115606559502e3864958f7f6e',
239     'condition': 'checkout_android',
240   },
241   'third_party/depot_tools':
242     Var('chromium_url') + '/chromium/tools/depot_tools.git' + '@' + '9f3b33a275e7a5b19d8ce4aba7960d2a38858681',
243   'third_party/fuchsia-gn-sdk': {
244     'url': Var('chromium_url') + '/chromium/src/third_party/fuchsia-gn-sdk.git' + '@' + '3f588d789b567e53fa284be308db4dbf3787d8f3',
245     'condition': 'checkout_fuchsia',
246   },
247   # Exists for rolling the Fuchsia SDK. Check out of the SDK should always
248   # rely on the hook running |update_sdk.py| script below.
249   'third_party/fuchsia-sdk/sdk': {
250       'packages': [
251           {
252               'package': Var('fuchsia_sdk_cipd_prefix') + '${{platform}}',
253               'version': Var('fuchsia_version'),
254           },
255       ],
256       'condition': 'checkout_fuchsia_no_hooks',
257       'dep_type': 'cipd',
258   },
259   'third_party/google_benchmark/src': {
260     'url': Var('chromium_url') + '/external/github.com/google/benchmark.git' + '@' + 'b177433f3ee2513b1075140c723d73ab8901790f',
261   },
262   'third_party/googletest/src':
263     Var('chromium_url') + '/external/github.com/google/googletest.git' + '@' + 'af29db7ec28d6df1c7f0f745186884091e602e07',
264   'third_party/icu':
265     Var('chromium_url') + '/chromium/deps/icu.git' + '@' + 'a622de35ac311c5ad390a7af80724634e5dc61ed',
266   'third_party/instrumented_libraries':
267     Var('chromium_url') + '/chromium/src/third_party/instrumented_libraries.git' + '@' + '032e9c850ab975f7c088a625dcf2256917dbdfa6',
268   'third_party/ittapi': {
269     # Force checkout ittapi libraries to pass v8 header includes check on
270     # bots that has check_v8_header_includes enabled.
271     'url': Var('chromium_url') + '/external/github.com/intel/ittapi' + '@' + 'a3911fff01a775023a06af8754f9ec1e5977dd97',
272     'condition': "checkout_ittapi or check_v8_header_includes",
273   },
274   'third_party/jinja2':
275     Var('chromium_url') + '/chromium/src/third_party/jinja2.git' + '@' + '515dd10de9bf63040045902a4a310d2ba25213a0',
276   'third_party/jsoncpp/source':
277     Var('chromium_url') + '/external/github.com/open-source-parsers/jsoncpp.git'+ '@' + '42e892d96e47b1f6e29844cc705e148ec4856448',
278   'third_party/libc++/src':
279     Var('chromium_url') + '/external/github.com/llvm/llvm-project/libcxx.git' + '@' + 'a429c26ae25c26a569ff12390d5f9be70c5e286b',
280   'third_party/libc++abi/src':
281     Var('chromium_url') + '/external/github.com/llvm/llvm-project/libcxxabi.git' + '@' + '2ca9f38714b1465b9f55b5fbd0da5e4342811e2b',
282   'third_party/libunwind/src':
283     Var('chromium_url') + '/external/github.com/llvm/llvm-project/libunwind.git' + '@' + '7686b5d38c69d14932abfb1c1a66ba56c78791ad',
284   'third_party/logdog/logdog':
285     Var('chromium_url') + '/infra/luci/luci-py/client/libs/logdog' + '@' + '0b2078a90f7a638d576b3a7c407d136f2fb62399',
286   'third_party/markupsafe':
287     Var('chromium_url') + '/chromium/src/third_party/markupsafe.git' + '@' + '006709ba3ed87660a17bd4548c45663628f5ed85',
288   'third_party/ninja': {
289     'packages': [
290       {
291         'package': 'infra/3pp/tools/ninja/${{platform}}',
292         'version': Var('ninja_version'),
293       }
294     ],
295     'dep_type': 'cipd',
296     'condition': 'host_cpu != "s390" and host_cpu != "ppc"'
297   },
298   'third_party/perfetto':
299     Var('android_url') + '/platform/external/perfetto.git' + '@' + '446adf5b7bb431d42838cb0302b27311fa4331cd',
300   'third_party/protobuf':
301     Var('chromium_url') + '/external/github.com/google/protobuf'+ '@' + '6a59a2ad1f61d9696092f79b6d74368b4d7970a3',
302   'third_party/requests': {
303       'url': Var('chromium_url') + '/external/github.com/kennethreitz/requests.git' + '@' + 'c7e0fc087ceeadb8b4c84a0953a422c474093d6d',
304       'condition': 'checkout_android',
305   },
306   'third_party/zlib':
307     Var('chromium_url') + '/chromium/src/third_party/zlib.git'+ '@' + 'dfc48fc4de8e80416606e2aab42f430ced2a524e',
308   'tools/clang':
309     Var('chromium_url') + '/chromium/src/tools/clang.git' + '@' + 'd76d091db249cfc4460217aa101fbc19fccf6bf0',
310   'tools/luci-go': {
311       'packages': [
312         {
313           'package': 'infra/tools/luci/isolate/${{platform}}',
314           'version': Var('luci_go'),
315         },
316         {
317           'package': 'infra/tools/luci/swarming/${{platform}}',
318           'version': Var('luci_go'),
319         },
320       ],
321       'condition': 'host_cpu != "s390" and host_os != "aix"',
322       'dep_type': 'cipd',
323   },
324   'third_party/abseil-cpp': {
325     'url': Var('chromium_url') + '/chromium/src/third_party/abseil-cpp.git' + '@' + '16ed8d7d56105c49a0bbc04a428bf00dc7fadaf6',
326     'condition': 'not build_with_chromium',
327   }
328 }
329
330 include_rules = [
331   # Everybody can use some things.
332   '+include',
333   '+unicode',
334   '+third_party/fdlibm',
335   '+third_party/ittapi/include',
336   # Abseil features are allow-listed. Please use your best judgement when adding
337   # to this set -- if in doubt, email v8-dev@. For general guidance, refer to
338   # the Chromium guidelines (though note that some requirements in V8 may be
339   # different to Chromium's):
340   # https://chromium.googlesource.com/chromium/src/+/main/styleguide/c++/c++11.md
341   '+absl/types/optional.h',
342   '+absl/types/variant.h',
343   '+absl/status',
344   # Some abseil features are explicitly banned.
345   '-absl/types/any.h', # Requires RTTI.
346   '-absl/types/flags', # Requires RTTI.
347 ]
348
349 # checkdeps.py shouldn't check for includes in these directories:
350 skip_child_includes = [
351   'build',
352   'third_party',
353 ]
354
355 hooks = [
356   {
357     # Ensure that the DEPS'd "depot_tools" has its self-update capability
358     # disabled.
359     'name': 'disable_depot_tools_selfupdate',
360     'pattern': '.',
361     'action': [
362         'python3',
363         'third_party/depot_tools/update_depot_tools_toggle.py',
364         '--disable',
365     ],
366   },
367   {
368     # This clobbers when necessary (based on get_landmines.py). It must be the
369     # first hook so that other things that get/generate into the output
370     # directory will not subsequently be clobbered.
371     'name': 'landmines',
372     'pattern': '.',
373     'action': [
374         'python3',
375         'build/landmines.py',
376         '--landmine-scripts',
377         'tools/get_landmines.py',
378     ],
379   },
380   {
381     'name': 'bazel',
382     'pattern': '.',
383     'condition': 'download_prebuilt_bazel',
384     'action': [ 'python3',
385                 'third_party/depot_tools/download_from_google_storage.py',
386                 '--bucket', 'chromium-v8-prebuilt-bazel/linux',
387                 '--no_resume',
388                 '-s', 'tools/bazel/bazel.sha1',
389                 '--platform=linux*',
390     ],
391   },
392   # Pull dsymutil binaries using checked-in hashes.
393   {
394     'name': 'dsymutil_mac_arm64',
395     'pattern': '.',
396     'condition': 'host_os == "mac" and host_cpu == "arm64"',
397     'action': [ 'python3',
398                 'third_party/depot_tools/download_from_google_storage.py',
399                 '--no_resume',
400                 '--no_auth',
401                 '--bucket', 'chromium-browser-clang',
402                 '-s', 'tools/clang/dsymutil/bin/dsymutil.arm64.sha1',
403                 '-o', 'tools/clang/dsymutil/bin/dsymutil',
404     ],
405   },
406   {
407     'name': 'dsymutil_mac_x64',
408     'pattern': '.',
409     'condition': 'host_os == "mac" and host_cpu == "x64"',
410     'action': [ 'python3',
411                 'third_party/depot_tools/download_from_google_storage.py',
412                 '--no_resume',
413                 '--no_auth',
414                 '--bucket', 'chromium-browser-clang',
415                 '-s', 'tools/clang/dsymutil/bin/dsymutil.x64.sha1',
416                 '-o', 'tools/clang/dsymutil/bin/dsymutil',
417     ],
418   },
419   # Pull clang-format binaries using checked-in hashes.
420   {
421     'name': 'clang_format_win',
422     'pattern': '.',
423     'condition': 'host_os == "win"',
424     'action': [ 'python3',
425                 'third_party/depot_tools/download_from_google_storage.py',
426                 '--no_resume',
427                 '--no_auth',
428                 '--bucket', 'chromium-clang-format',
429                 '-s', 'buildtools/win/clang-format.exe.sha1',
430     ],
431   },
432   {
433     'name': 'clang_format_mac_x64',
434     'pattern': '.',
435     'condition': 'host_os == "mac" and host_cpu == "x64"',
436     'action': [ 'python3',
437                 'third_party/depot_tools/download_from_google_storage.py',
438                 '--no_resume',
439                 '--no_auth',
440                 '--bucket', 'chromium-clang-format',
441                 '-s', 'buildtools/mac/clang-format.x64.sha1',
442                 '-o', 'buildtools/mac/clang-format',
443     ],
444   },
445   {
446     'name': 'clang_format_mac_arm64',
447     'pattern': '.',
448     'condition': 'host_os == "mac" and host_cpu == "arm64"',
449     'action': [ 'python3',
450                 'third_party/depot_tools/download_from_google_storage.py',
451                 '--no_resume',
452                 '--no_auth',
453                 '--bucket', 'chromium-clang-format',
454                 '-s', 'buildtools/mac/clang-format.arm64.sha1',
455                 '-o', 'buildtools/mac/clang-format',
456     ],
457   },
458   {
459     'name': 'clang_format_linux',
460     'pattern': '.',
461     'condition': 'host_os == "linux"',
462     'action': [ 'python3',
463                 'third_party/depot_tools/download_from_google_storage.py',
464                 '--no_resume',
465                 '--no_auth',
466                 '--bucket', 'chromium-clang-format',
467                 '-s', 'buildtools/linux64/clang-format.sha1',
468     ],
469   },
470   {
471     'name': 'gcmole',
472     'pattern': '.',
473     'condition': 'download_gcmole',
474     'action': [ 'python3',
475                 'third_party/depot_tools/download_from_google_storage.py',
476                 '--bucket', 'chrome-v8-gcmole',
477                 '-u', '--no_resume',
478                 '-s', 'tools/gcmole/gcmole-tools.tar.gz.sha1',
479                 '--platform=linux*',
480     ],
481   },
482   {
483     'name': 'jsfunfuzz',
484     'pattern': '.',
485     'condition': 'download_jsfunfuzz',
486     'action': [ 'python3',
487                 'third_party/depot_tools/download_from_google_storage.py',
488                 '--bucket', 'chrome-v8-jsfunfuzz',
489                 '-u', '--no_resume',
490                 '-s', 'tools/jsfunfuzz/jsfunfuzz.tar.gz.sha1',
491                 '--platform=linux*',
492     ],
493   },
494   {
495     'name': 'wasm_spec_tests',
496     'pattern': '.',
497     'action': [ 'python3',
498                 'third_party/depot_tools/download_from_google_storage.py',
499                 '--no_resume',
500                 '--no_auth',
501                 '-u',
502                 '--bucket', 'v8-wasm-spec-tests',
503                 '-s', 'test/wasm-spec-tests/tests.tar.gz.sha1',
504     ],
505   },
506   {
507     'name': 'wasm_js',
508     'pattern': '.',
509     'action': [ 'python3',
510                 'third_party/depot_tools/download_from_google_storage.py',
511                 '--no_resume',
512                 '--no_auth',
513                 '-u',
514                 '--bucket', 'v8-wasm-spec-tests',
515                 '-s', 'test/wasm-js/tests.tar.gz.sha1',
516     ],
517   },
518   {
519     'name': 'sysroot_arm',
520     'pattern': '.',
521     'condition': '(checkout_linux and checkout_arm)',
522     'action': ['python3', 'build/linux/sysroot_scripts/install-sysroot.py',
523                '--arch=arm'],
524   },
525   {
526     'name': 'sysroot_arm64',
527     'pattern': '.',
528     'condition': '(checkout_linux and checkout_arm64)',
529     'action': ['python3', 'build/linux/sysroot_scripts/install-sysroot.py',
530                '--arch=arm64'],
531   },
532   {
533     'name': 'sysroot_x86',
534     'pattern': '.',
535     'condition': '(checkout_linux and (checkout_x86 or checkout_x64))',
536     'action': ['python3', 'build/linux/sysroot_scripts/install-sysroot.py',
537                '--arch=x86'],
538   },
539   {
540     'name': 'sysroot_x64',
541     'pattern': '.',
542     'condition': 'checkout_linux and checkout_x64',
543     'action': ['python3', 'build/linux/sysroot_scripts/install-sysroot.py',
544                '--arch=x64'],
545   },
546   {
547     'name': 'msan_chained_origins_focal',
548     'pattern': '.',
549     'condition': 'checkout_instrumented_libraries',
550     'action': [ 'python3',
551                 'third_party/depot_tools/download_from_google_storage.py',
552                 '--no_resume',
553                 '--no_auth',
554                 '--bucket', 'chromium-instrumented-libraries',
555                 '-s', 'third_party/instrumented_libraries/binaries/msan-chained-origins-focal.tgz.sha1',
556               ],
557   },
558   {
559     'name': 'msan_no_origins_focal',
560     'pattern': '.',
561     'condition': 'checkout_instrumented_libraries',
562     'action': [ 'python3',
563                 'third_party/depot_tools/download_from_google_storage.py',
564                 '--no_resume',
565                 '--no_auth',
566                 '--bucket', 'chromium-instrumented-libraries',
567                 '-s', 'third_party/instrumented_libraries/binaries/msan-no-origins-focal.tgz.sha1',
568               ],
569   },
570   {
571     # Case-insensitivity for the Win SDK. Must run before win_toolchain below.
572     'name': 'ciopfs_linux',
573     'pattern': '.',
574     'condition': 'checkout_win and host_os == "linux"',
575     'action': [ 'python3',
576                 'third_party/depot_tools/download_from_google_storage.py',
577                 '--no_resume',
578                 '--no_auth',
579                 '--bucket', 'chromium-browser-clang/ciopfs',
580                 '-s', 'build/ciopfs.sha1',
581     ]
582   },
583   {
584     # Update the Windows toolchain if necessary.
585     'name': 'win_toolchain',
586     'pattern': '.',
587     'condition': 'checkout_win',
588     'action': ['python3', 'build/vs_toolchain.py', 'update', '--force'],
589   },
590   {
591     # Update the Mac toolchain if necessary.
592     'name': 'mac_toolchain',
593     'pattern': '.',
594     'condition': 'checkout_mac',
595     'action': ['python3', 'build/mac_toolchain.py'],
596   },
597   {
598     # Note: On Win, this should run after win_toolchain, as it may use it.
599     'name': 'clang',
600     'pattern': '.',
601     # clang not supported on aix
602     'condition': 'host_os != "aix"',
603     'action': ['python3', 'tools/clang/scripts/update.py'],
604   },
605   {
606     # This is supposed to support the same set of platforms as 'clang' above.
607     'name': 'clang_coverage',
608     'pattern': '.',
609     'condition': 'checkout_clang_coverage_tools',
610     'action': ['python3', 'tools/clang/scripts/update.py',
611                '--package=coverage_tools'],
612   },
613   {
614     'name': 'clang_tidy',
615     'pattern': '.',
616     'condition': 'checkout_clang_tidy',
617     'action': ['python3', 'tools/clang/scripts/update.py',
618                '--package=clang-tidy'],
619   },
620   {
621     # Update LASTCHANGE.
622     'name': 'lastchange',
623     'pattern': '.',
624     'action': ['python3', 'build/util/lastchange.py',
625                '-o', 'build/util/LASTCHANGE'],
626   },
627   {
628     'name': 'Download Fuchsia SDK from GCS',
629     'pattern': '.',
630     'condition': 'checkout_fuchsia',
631     'action': [
632       'python3',
633       'build/fuchsia/update_sdk.py',
634       '--cipd-prefix={fuchsia_sdk_cipd_prefix}',
635       '--version={fuchsia_version}',
636     ],
637   },
638   {
639     'name': 'Download Fuchsia system images',
640     'pattern': '.',
641     'condition': 'checkout_fuchsia and checkout_fuchsia_product_bundles',
642     'action': [
643       'python3',
644       'build/fuchsia/update_product_bundles.py',
645       '{checkout_fuchsia_boot_images}',
646     ],
647   },
648   {
649     # Mac does not have llvm-objdump, download it for cross builds in Fuchsia.
650     'name': 'llvm-objdump',
651     'pattern': '.',
652     'condition': 'host_os == "mac" and checkout_fuchsia',
653     'action': ['python3', 'tools/clang/scripts/update.py',
654                '--package=objdump'],
655   },
656   {
657     'name': 'vpython3_common',
658     'pattern': '.',
659     'action': [ 'vpython3',
660                 '-vpython-spec', '.vpython3',
661                 '-vpython-tool', 'install',
662     ],
663   },
664   {
665     'name': 'check_v8_header_includes',
666     'pattern': '.',
667     'condition': 'check_v8_header_includes',
668     'action': [
669       'python3',
670       'tools/generate-header-include-checks.py',
671     ],
672   },
673   {
674     'name': 'checkout_v8_builtins_pgo_profiles',
675     'pattern': '.',
676     'condition': 'checkout_v8_builtins_pgo_profiles',
677     'action': [
678       'python3',
679       'tools/builtins-pgo/download_profiles.py',
680       'download',
681     ],
682   },
683   {
684     # Clean up build dirs for crbug.com/1337238.
685     # After a libc++ roll and revert, .ninja_deps would get into a state
686     # that breaks Ninja on Windows.
687     # TODO(crbug.com/1337238): Remove in a month or so.
688     'name': 'del_ninja_deps_cache',
689     'pattern': '.',
690     'condition': 'host_os == "win"',
691     'action': ['python3', 'build/del_ninja_deps_cache.py'],
692   },
693   # Configure remote exec cfg files
694   {
695     'name': 'configure_reclient_cfgs',
696     'pattern': '.',
697     'condition': 'download_remoteexec_cfg and not build_with_chromium',
698     'action': ['python3',
699                'buildtools/reclient_cfgs/configure_reclient_cfgs.py',
700                '--rbe_instance',
701                Var('rbe_instance'),
702                '--reproxy_cfg_template',
703                'reproxy.cfg.template',
704                '--rewrapper_cfg_project',
705                Var('rewrapper_cfg_project'),
706                '--quiet',
707                ],
708   },
709 ]