| # Note: The buildbots evaluate this file with CWD set to the parent | 
 | # directory and assume that the root of the checkout is in ./v8/, so | 
 | # all paths in here must match this assumption. | 
 |  | 
 | use_relative_paths = True | 
 |  | 
 | gclient_gn_args_file = 'build/config/gclient_args.gni' | 
 | gclient_gn_args = [ | 
 | ] | 
 |  | 
 | vars = { | 
 |   # Fetches only the SDK boot images which match at least one of the whitelist | 
 |   # entries in a comma-separated list. | 
 |   # | 
 |   # Available images: | 
 |   #   Emulation: | 
 |   #   - terminal.qemu-x64 | 
 |   #   - terminal.qemu-arm64 | 
 |   #   - workstation.qemu-x64-release | 
 |   #   Hardware: | 
 |   #   - minimal.x64 | 
 |   #   - core.x64-dfv2 | 
 |   # | 
 |   # Since the images are hundreds of MB, default to only downloading the image | 
 |   # most commonly useful for developers. Bots and developers that need to use | 
 |   # other images (e.g., qemu.arm64) can override this with additional images. | 
 |   'checkout_fuchsia_boot_images': "terminal.x64", | 
 |   'checkout_fuchsia_product_bundles': '"{checkout_fuchsia_boot_images}" != ""', | 
 |  | 
 |   'checkout_centipede_deps': False, | 
 |   'checkout_instrumented_libraries': False, | 
 |   'checkout_ittapi': False, | 
 |  | 
 |   # Fetch the prebuilt binaries for llvm-cov and llvm-profdata. Needed to | 
 |   # process the raw profiles produced by instrumented targets (built with | 
 |   # the gn arg 'use_clang_coverage'). | 
 |   'checkout_clang_coverage_tools': False, | 
 |  | 
 |   # Fetch clang-tidy into the same bin/ directory as our clang binary. | 
 |   'checkout_clang_tidy': False, | 
 |  | 
 |   # Fetch clangd into the same bin/ directory as our clang binary. | 
 |   'checkout_clangd': False, | 
 |  | 
 |   # Fetch and build V8 builtins with PGO profiles | 
 |   'checkout_v8_builtins_pgo_profiles': False, | 
 |  | 
 |   'android_url': 'https://android.googlesource.com', | 
 |   'boringssl_url': 'https://boringssl.googlesource.com', | 
 |   'chromium_url': 'https://chromium.googlesource.com', | 
 |   'download_gcmole': False, | 
 |   'download_jsfunfuzz': False, | 
 |   'download_prebuilt_bazel': False, | 
 |   'check_v8_header_includes': False, | 
 |  | 
 |   # By default, download the fuchsia sdk from the public sdk directory. | 
 |   'fuchsia_sdk_cipd_prefix': 'fuchsia/sdk/core/', | 
 |  | 
 |   # Used for downloading the Fuchsia SDK without running hooks. | 
 |   'checkout_fuchsia_no_hooks': False, | 
 |  | 
 |   # reclient CIPD package version | 
 |   'reclient_version': 're_client_version:0.172.0.3cf60ba5-gomaip', | 
 |  | 
 |   # Fetch configuration files required for the 'use_remoteexec' gn arg | 
 |   'download_remoteexec_cfg': False, | 
 |  | 
 |   # RBE instance to use for running remote builds | 
 |   'rbe_instance': Str('projects/rbe-chrome-untrusted/instances/default_instance'), | 
 |  | 
 |   # RBE project to download rewrapper config files for. Only needed if | 
 |   # different from the project used in 'rbe_instance' | 
 |   'rewrapper_cfg_project': Str(''), | 
 |  | 
 |   # This variable is overrided in Chromium's DEPS file. | 
 |   'build_with_chromium': False, | 
 |  | 
 |   # GN CIPD package version. | 
 |   'gn_version': 'git_revision:468c6128db7fabe32a29d4753460ef53594406fc', | 
 |  | 
 |   # ninja CIPD package version | 
 |   # https://chrome-infra-packages.appspot.com/p/infra/3pp/tools/ninja | 
 |   'ninja_version': 'version:3@1.12.1.chromium.4', | 
 |  | 
 |   # siso CIPD package version | 
 |   'siso_version': 'git_revision:90146f88d98328d9b83b42d16ee30ff54b48d214', | 
 |  | 
 |   # Three lines of non-changing comments so that | 
 |   # the commit queue can handle CLs rolling Fuchsia sdk | 
 |   # and whatever else without interference from each other. | 
 |   'fuchsia_version': 'version:26.20241203.6.1', | 
 |  | 
 |   # Three lines of non-changing comments so that | 
 |   # the commit queue can handle CLs rolling android_sdk_build-tools_version | 
 |   # and whatever else without interference from each other. | 
 |   'android_sdk_build-tools_version': 'DxwAZ3hD551Neu6ycuW5CPnXFrdleRBd93oX1eB_m9YC', | 
 |   # Three lines of non-changing comments so that | 
 |   # the commit queue can handle CLs rolling android_sdk_emulator_version | 
 |   # and whatever else without interference from each other. | 
 |   'android_sdk_emulator_version': '9lGp8nTUCRRWGMnI_96HcKfzjnxEJKUcfvfwmA3wXNkC', | 
 |   # Three lines of non-changing comments so that | 
 |   # the commit queue can handle CLs rolling android_sdk_extras_version | 
 |   # and whatever else without interference from each other. | 
 |   'android_sdk_extras_version': 'bY55nDqO6FAm6FkGIj09sh2KW9oqAkCGKjYok5nUvBMC', | 
 |   # Three lines of non-changing comments so that | 
 |   # the commit queue can handle CLs rolling android_sdk_patcher_version | 
 |   # and whatever else without interference from each other. | 
 |   'android_sdk_patcher_version': 'I6FNMhrXlpB-E1lOhMlvld7xt9lBVNOO83KIluXDyA0C', | 
 |   # Three lines of non-changing comments so that | 
 |   # the commit queue can handle CLs rolling android_sdk_platform-tools_version | 
 |   # and whatever else without interference from each other. | 
 |   'android_sdk_platform-tools_version': 'WihaseZR6cojZbkzIqwGhpTp92ztaGfqq8njBU8eTXYC', | 
 |   # Three lines of non-changing comments so that | 
 |   # the commit queue can handle CLs rolling android_sdk_platforms_version | 
 |   # and whatever else without interference from each other. | 
 |   'android_sdk_platforms_version': 'kIXA-9XuCfOESodXEdOBkW5f1ytrGWdbp3HFp1I8A_0C', | 
 |   # Three lines of non-changing comments so that | 
 |   # the commit queue can handle CLs rolling android_sdk_sources_version | 
 |   # and whatever else without interference from each other. | 
 |   'android_sdk_sources_version': 'qfTSF99e29-w3eIVPpfcif0Em5etyvxuicTDTntWHQMC', | 
 |   # Three lines of non-changing comments so that | 
 |   # the commit queue can handle CLs rolling android_sdk_tools-lint_version | 
 |   # and whatever else without interference from each other. | 
 |   'android_sdk_cmdline-tools_version': 'B4p95sDPpm34K8Cf4JcfTM-iYSglWko9qjWgbT9dxWQC', | 
 | } | 
 |  | 
 | deps = { | 
 |   'build': | 
 |     Var('chromium_url') + '/chromium/src/build.git' + '@' + '88cd7324ae6583d6d01e0eb2d1aae05db2ef8914', | 
 |   'buildtools': | 
 |     Var('chromium_url') + '/chromium/src/buildtools.git' + '@' + 'a3088d386a2be822f49ddf0bc39cbb9915763370', | 
 |   'buildtools/linux64': { | 
 |     'packages': [ | 
 |       { | 
 |         'package': 'gn/gn/linux-${{arch}}', | 
 |         'version': Var('gn_version'), | 
 |       } | 
 |     ], | 
 |     'dep_type': 'cipd', | 
 |     'condition': 'host_os == "linux" and host_cpu != "s390" and host_os != "zos" and host_cpu != "ppc"', | 
 |   }, | 
 |   'buildtools/mac': { | 
 |     'packages': [ | 
 |       { | 
 |         'package': 'gn/gn/mac-${{arch}}', | 
 |         'version': Var('gn_version'), | 
 |       } | 
 |     ], | 
 |     'dep_type': 'cipd', | 
 |     'condition': 'host_os == "mac"', | 
 |   }, | 
 |   'buildtools/win': { | 
 |     'packages': [ | 
 |       { | 
 |         'package': 'gn/gn/windows-amd64', | 
 |         'version': Var('gn_version'), | 
 |       } | 
 |     ], | 
 |     'dep_type': 'cipd', | 
 |     'condition': 'host_os == "win"', | 
 |   }, | 
 |   'buildtools/reclient': { | 
 |     'packages': [ | 
 |       { | 
 |         'package': 'infra/rbe/client/${{platform}}', | 
 |         'version': Var('reclient_version'), | 
 |       } | 
 |     ], | 
 |     'dep_type': 'cipd', | 
 |     'condition': '(host_os == "linux" or host_os == "mac" or host_os == "win") and host_cpu != "s390" and host_os != "zos" and host_cpu != "ppc" and (host_cpu != "arm64" or host_os == "mac")', | 
 |   }, | 
 |   'test/benchmarks/data': | 
 |     Var('chromium_url') + '/v8/deps/third_party/benchmarks.git' + '@' + '05d7188267b4560491ff9155c5ee13e207ecd65f', | 
 |   'test/mozilla/data': | 
 |     Var('chromium_url') + '/v8/deps/third_party/mozilla-tests.git' + '@' + 'f6c578a10ea707b1a8ab0b88943fe5115ce2b9be', | 
 |   'test/test262/data': | 
 |     Var('chromium_url') + '/external/github.com/tc39/test262.git' + '@' + 'dad2774b2eab2119cc8390ae65db4a5016de2dfe', | 
 |   'third_party/android_platform': { | 
 |     'url': Var('chromium_url') + '/chromium/src/third_party/android_platform.git' + '@' + 'e96dafd97e013cc44ee83d9d3d5d322a1356c6ca', | 
 |     'condition': 'checkout_android', | 
 |   }, | 
 |   'third_party/android_sdk/public': { | 
 |       'packages': [ | 
 |           { | 
 |               'package': 'chromium/third_party/android_sdk/public/build-tools/35.0.0', | 
 |               'version': Var('android_sdk_build-tools_version'), | 
 |           }, | 
 |           { | 
 |               'package': 'chromium/third_party/android_sdk/public/emulator', | 
 |               'version': Var('android_sdk_emulator_version'), | 
 |           }, | 
 |           { | 
 |               'package': 'chromium/third_party/android_sdk/public/extras', | 
 |               'version': Var('android_sdk_extras_version'), | 
 |           }, | 
 |           { | 
 |               'package': 'chromium/third_party/android_sdk/public/patcher', | 
 |               'version': Var('android_sdk_patcher_version'), | 
 |           }, | 
 |           { | 
 |               'package': 'chromium/third_party/android_sdk/public/platform-tools', | 
 |               'version': Var('android_sdk_platform-tools_version'), | 
 |           }, | 
 |           { | 
 |               'package': 'chromium/third_party/android_sdk/public/platforms/android-35', | 
 |               'version': Var('android_sdk_platforms_version'), | 
 |           }, | 
 |           { | 
 |               'package': 'chromium/third_party/android_sdk/public/sources/android-30', | 
 |               'version': Var('android_sdk_sources_version'), | 
 |           }, | 
 |           { | 
 |               'package': 'chromium/third_party/android_sdk/public/cmdline-tools', | 
 |               'version': Var('android_sdk_cmdline-tools_version'), | 
 |           }, | 
 |       ], | 
 |       'condition': 'checkout_android', | 
 |       'dep_type': 'cipd', | 
 |   }, | 
 |   'third_party/android_toolchain/ndk': { | 
 |     'packages': [ | 
 |       { | 
 |         'package': 'chromium/third_party/android_toolchain/android_toolchain', | 
 |         'version': 'Idl-vYnWGnM8K3XJhM3h6zjYVDXlnljVz3FE00V9IM8C', | 
 |       }, | 
 |     ], | 
 |     'condition': 'checkout_android', | 
 |     'dep_type': 'cipd', | 
 |   }, | 
 |   'third_party/boringssl': { | 
 |     'url': Var('chromium_url') + '/chromium/src/third_party/boringssl.git' + '@' + 'ec7942a871259187ad4f1de041487f064f497496', | 
 |     'condition': "checkout_centipede_deps", | 
 |   }, | 
 |   'third_party/boringssl/src': { | 
 |     'url': Var('boringssl_url') + '/boringssl.git' + '@' +  'aefa5d24da34ef77ac797bdbe684734e5bd870f4', | 
 |     'condition': "checkout_centipede_deps", | 
 |   }, | 
 |   'third_party/catapult': { | 
 |     'url': Var('chromium_url') + '/catapult.git' + '@' + '77bb168c2148db0947379fd84587c5838f4171ef', | 
 |     'condition': 'checkout_android', | 
 |   }, | 
 |   'third_party/clang-format/script': | 
 |     Var('chromium_url') + '/external/github.com/llvm/llvm-project/clang/tools/clang-format.git' + '@' + '37f6e68a107df43b7d7e044fd36a13cbae3413f2', | 
 |   'third_party/colorama/src': { | 
 |     'url': Var('chromium_url') + '/external/colorama.git' + '@' + '3de9f013df4b470069d03d250224062e8cf15c49', | 
 |     'condition': 'checkout_android', | 
 |   }, | 
 |   'third_party/cpu_features/src': { | 
 |     'url': Var('chromium_url') + '/external/github.com/google/cpu_features.git' + '@' + '936b9ab5515dead115606559502e3864958f7f6e', | 
 |     'condition': 'checkout_android', | 
 |   }, | 
 |   'third_party/depot_tools': | 
 |     Var('chromium_url') + '/chromium/tools/depot_tools.git' + '@' + '9b4d1e485d37a44e3ebe73a06d21fc79c527ec96', | 
 |   'third_party/fp16/src': | 
 |     Var('chromium_url') + '/external/github.com/Maratyszcza/FP16.git' + '@' + '0a92994d729ff76a58f692d3028ca1b64b145d91', | 
 |   'third_party/fast_float/src': | 
 |     Var('chromium_url') + '/external/github.com/fastfloat/fast_float.git' + '@' + '3e57d8dcfb0a04b5a8a26b486b54490a2e9b310f', | 
 |   'third_party/fuchsia-gn-sdk': { | 
 |     'url': Var('chromium_url') + '/chromium/src/third_party/fuchsia-gn-sdk.git' + '@' + '1e538ac2d0583511f489a9f940a0b8a4f2a2f3ab', | 
 |     'condition': 'checkout_fuchsia', | 
 |   }, | 
 |   # Exists for rolling the Fuchsia SDK. Check out of the SDK should always | 
 |   # rely on the hook running |update_sdk.py| script below. | 
 |   'third_party/fuchsia-sdk/sdk': { | 
 |       'packages': [ | 
 |           { | 
 |               'package': Var('fuchsia_sdk_cipd_prefix') + '${{platform}}', | 
 |               'version': Var('fuchsia_version'), | 
 |           }, | 
 |       ], | 
 |       'condition': 'checkout_fuchsia_no_hooks', | 
 |       'dep_type': 'cipd', | 
 |   }, | 
 |   'third_party/google_benchmark_chrome': { | 
 |     'url': Var('chromium_url') + '/chromium/src/third_party/google_benchmark.git' + '@' + '917e1208b42fdce63511e401067677ffee3a5c7d', | 
 |   }, | 
 |   'third_party/google_benchmark_chrome/src': { | 
 |     'url': Var('chromium_url') + '/external/github.com/google/benchmark.git' + '@' + '761305ec3b33abf30e08d50eb829e19a802581cc', | 
 |   }, | 
 |   'third_party/fuzztest': | 
 |     Var('chromium_url') + '/chromium/src/third_party/fuzztest.git' + '@' + 'fc879db4ce66f020076e9075f4ab178abf3166a0', | 
 |   'third_party/fuzztest/src': | 
 |     Var('chromium_url') + '/external/github.com/google/fuzztest.git' + '@' + '8bd3142058af42d4605da7f2bc8d6dfc2c97e123', | 
 |   'third_party/googletest/src': | 
 |     Var('chromium_url') + '/external/github.com/google/googletest.git' + '@' + '79219e26e0e36b415a5804b6b017ad6c6cd99ad8', | 
 |   'third_party/highway/src': | 
 |     Var('chromium_url') + '/external/github.com/google/highway.git' + '@' + '00fe003dac355b979f36157f9407c7c46448958e', | 
 |   'third_party/icu': | 
 |     Var('chromium_url') + '/chromium/deps/icu.git' + '@' + 'bbccc2f6efc1b825de5f2c903c48be685cd0cf22', | 
 |   'third_party/instrumented_libs': { | 
 |     'url': Var('chromium_url') + '/chromium/third_party/instrumented_libraries.git' + '@' + '3cc43119a29158bcde39d288a8def4b8ec49baf8', | 
 |     'condition': 'checkout_instrumented_libraries', | 
 |   }, | 
 |   'third_party/ittapi': { | 
 |     # Force checkout ittapi libraries to pass v8 header includes check on | 
 |     # bots that has check_v8_header_includes enabled. | 
 |     'url': Var('chromium_url') + '/external/github.com/intel/ittapi' + '@' + 'a3911fff01a775023a06af8754f9ec1e5977dd97', | 
 |     'condition': "checkout_ittapi or check_v8_header_includes", | 
 |   }, | 
 |   'third_party/jinja2': | 
 |     Var('chromium_url') + '/chromium/src/third_party/jinja2.git' + '@' + '5e1ee241ab04b38889f8d517f2da8b3df7cfbd9a', | 
 |   'third_party/jsoncpp/source': | 
 |     Var('chromium_url') + '/external/github.com/open-source-parsers/jsoncpp.git'+ '@' + '42e892d96e47b1f6e29844cc705e148ec4856448', | 
 |   'third_party/libc++/src': | 
 |     Var('chromium_url') + '/external/github.com/llvm/llvm-project/libcxx.git' + '@' + '2d9b9a9eea77b09fe4bc7a41b33140fa7298d39f', | 
 |   'third_party/libc++abi/src': | 
 |     Var('chromium_url') + '/external/github.com/llvm/llvm-project/libcxxabi.git' + '@' + 'a6362b2727ba0eea15d024bfac7e1dc8e79db009', | 
 |   'third_party/libunwind/src': | 
 |     Var('chromium_url') + '/external/github.com/llvm/llvm-project/libunwind.git' + '@' + '19bfdd55df3d106d7611455375445ad47753b0aa', | 
 |   'third_party/llvm-libc/src': | 
 |     Var('chromium_url') + '/external/github.com/llvm/llvm-project/libc.git' + '@' + '5dda25750dd119c2bff8e279dd1c0f13fbd422e5', | 
 |   'third_party/llvm-build/Release+Asserts': { | 
 |     'dep_type': 'gcs', | 
 |     'bucket': 'chromium-browser-clang', | 
 |     'objects': [ | 
 |       { | 
 |         'object_name': 'Linux_x64/clang-llvmorg-20-init-13894-g8cb44859-1.tar.xz', | 
 |         'sha256sum': 'e2cc96aef6e4c90525bb47401e3310ab2012063e7090df609b6e7ee4e0cedcf5', | 
 |         'size_bytes': 54419828, | 
 |         'generation': 1733131121091279, | 
 |         'condition': 'host_os == "linux"', | 
 |       }, | 
 |       { | 
 |         'object_name': 'Linux_x64/clang-tidy-llvmorg-20-init-13894-g8cb44859-1.tar.xz', | 
 |         'sha256sum': '6772829b59e79aae1e6f5d68c2be1d7d9610cbd879a0c02d132eda8bab224f5c', | 
 |         'size_bytes': 13097604, | 
 |         'generation': 1733131121366758, | 
 |         'condition': 'host_os == "linux" and checkout_clang_tidy', | 
 |       }, | 
 |       { | 
 |         'object_name': 'Linux_x64/clangd-llvmorg-20-init-13894-g8cb44859-1.tar.xz', | 
 |         'sha256sum': '63475ffe32d4ae2432d1dd1eeb48bb69794ddc4f78ff15a913f77019d5e5b365', | 
 |         'size_bytes': 27679064, | 
 |         'generation': 1733131121482543, | 
 |         'condition': 'host_os == "linux" and checkout_clangd', | 
 |       }, | 
 |       { | 
 |         'object_name': 'Linux_x64/llvm-code-coverage-llvmorg-20-init-13894-g8cb44859-1.tar.xz', | 
 |         'sha256sum': 'b7128ce662619356de464d1c37a70342707d23ca8549c34e8e487e2d5638deb4', | 
 |         'size_bytes': 2393880, | 
 |         'generation': 1733131121884494, | 
 |         'condition': 'host_os == "linux" and checkout_clang_coverage_tools', | 
 |       }, | 
 |       { | 
 |         'object_name': 'Linux_x64/llvmobjdump-llvmorg-20-init-13894-g8cb44859-1.tar.xz', | 
 |         'sha256sum': '1e13a5c0085db969256e237ea93e57b373589e3342a21f353444c7978ffe5392', | 
 |         'size_bytes': 5541520, | 
 |         'generation': 1733131121622535, | 
 |         'condition': '(checkout_linux or checkout_mac or checkout_android and host_os != "mac")', | 
 |       }, | 
 |       { | 
 |         'object_name': 'Mac/clang-llvmorg-20-init-13894-g8cb44859-1.tar.xz', | 
 |         'sha256sum': '319ece3dde9edc65dea6fd7ef12feb26c78c6c775749f0c66ef8da0c73bf02ea', | 
 |         'size_bytes': 48880736, | 
 |         'generation': 1733131123302515, | 
 |         'condition': 'host_os == "mac" and host_cpu == "x64"', | 
 |       }, | 
 |       { | 
 |         'object_name': 'Mac/clang-mac-runtime-library-llvmorg-20-init-13894-g8cb44859-1.tar.xz', | 
 |         'sha256sum': '3a564112c5d7174c036145052e88fba6b2bcd29f5818fba8a91ce0fce4688be7', | 
 |         'size_bytes': 977584, | 
 |         'generation': 1733131140922386, | 
 |         'condition': 'checkout_mac and not host_os == "mac"', | 
 |       }, | 
 |       { | 
 |         'object_name': 'Mac/clang-tidy-llvmorg-20-init-13894-g8cb44859-1.tar.xz', | 
 |         'sha256sum': '6a53994ba0a1681097218acc01530a021be8332aa7f6779be3fa7fe04f873a62', | 
 |         'size_bytes': 12673340, | 
 |         'generation': 1733131123665839, | 
 |         'condition': 'host_os == "mac" and host_cpu == "x64" and checkout_clang_tidy', | 
 |       }, | 
 |       { | 
 |         'object_name': 'Mac/clangd-llvmorg-20-init-13894-g8cb44859-1.tar.xz', | 
 |         'sha256sum': '4e24ba1dcef6b0b59176167d8ef56d338fa86c97726ab4b9ab52db0950b99653', | 
 |         'size_bytes': 26074940, | 
 |         'generation': 1733131123670297, | 
 |         'condition': 'host_os == "mac" and host_cpu == "x64" and checkout_clangd', | 
 |       }, | 
 |       { | 
 |         'object_name': 'Mac/llvm-code-coverage-llvmorg-20-init-13894-g8cb44859-1.tar.xz', | 
 |         'sha256sum': 'e228350dad97e33bcb9b5490d2b247284374d993bc383606a0dc01e77bf58457', | 
 |         'size_bytes': 2255152, | 
 |         'generation': 1733131124117880, | 
 |         'condition': 'host_os == "mac" and host_cpu == "x64" and checkout_clang_coverage_tools', | 
 |       }, | 
 |       { | 
 |         'object_name': 'Mac_arm64/clang-llvmorg-20-init-13894-g8cb44859-1.tar.xz', | 
 |         'sha256sum': 'de28b9321ac84ebcb122e9c2dd4d743efbb3812d19a45b465c3e86de448b2e26', | 
 |         'size_bytes': 42969444, | 
 |         'generation': 1733131142308815, | 
 |         'condition': 'host_os == "mac" and host_cpu == "arm64"', | 
 |       }, | 
 |       { | 
 |         'object_name': 'Mac_arm64/clang-tidy-llvmorg-20-init-13894-g8cb44859-1.tar.xz', | 
 |         'sha256sum': '8c6fad4b674772df164223546af7e37d64958a5d4ccf4c6a85310b82a2f8ad3b', | 
 |         'size_bytes': 11274400, | 
 |         'generation': 1733131142586873, | 
 |         'condition': 'host_os == "mac" and host_cpu == "arm64" and checkout_clang_tidy', | 
 |       }, | 
 |       { | 
 |         'object_name': 'Mac_arm64/clangd-llvmorg-20-init-13894-g8cb44859-1.tar.xz', | 
 |         'sha256sum': 'fa2bd872d38a92c5b5fb93d5fd2a6820d067096856abf3b0a0c129f81cc0f51b', | 
 |         'size_bytes': 22709972, | 
 |         'generation': 1733131142721437, | 
 |         'condition': 'host_os == "mac" and host_cpu == "arm64" and checkout_clangd', | 
 |       }, | 
 |       { | 
 |         'object_name': 'Mac_arm64/llvm-code-coverage-llvmorg-20-init-13894-g8cb44859-1.tar.xz', | 
 |         'sha256sum': 'a74fc47a3475e24898048155638a28db4c001cf88d1b3c072616b8aa13873ad5', | 
 |         'size_bytes': 1980832, | 
 |         'generation': 1733131143158718, | 
 |         'condition': 'host_os == "mac" and host_cpu == "arm64" and checkout_clang_coverage_tools', | 
 |       }, | 
 |       { | 
 |         'object_name': 'Win/clang-llvmorg-20-init-13894-g8cb44859-1.tar.xz', | 
 |         'sha256sum': '1a651c9c3e64ad8c1e2417c527226ef93ebf15a096b9daba2c92208137a9ef21', | 
 |         'size_bytes': 46202484, | 
 |         'generation': 1733131163286134, | 
 |         'condition': 'host_os == "win"', | 
 |       }, | 
 |       { | 
 |         'object_name': 'Win/clang-tidy-llvmorg-20-init-13894-g8cb44859-1.tar.xz', | 
 |         'sha256sum': '780c66e1c39c2cce937887944d32176483fd08b2f4990d20816293be5d95d37b', | 
 |         'size_bytes': 12901244, | 
 |         'generation': 1733131163613393, | 
 |         'condition': 'host_os == "win" and checkout_clang_tidy', | 
 |       }, | 
 |       { | 
 |         'object_name': 'Win/clang-win-runtime-library-llvmorg-20-init-13894-g8cb44859-1.tar.xz', | 
 |         'sha256sum': '57dab4c3dc4f70b0249643979d40249f76cfe85c56c5773bbf65efd170f5e6b3', | 
 |         'size_bytes': 2477936, | 
 |         'generation': 1733131182887719, | 
 |         'condition': 'checkout_win and not host_os == "win"', | 
 |       }, | 
 |       { | 
 |         'object_name': 'Win/clangd-llvmorg-20-init-13894-g8cb44859-1.tar.xz', | 
 |         'sha256sum': '462df1784a09e1d7fd7c7ff62856c8bc9ab68c4ecb59de375c1cfcaaf88cc80f', | 
 |         'size_bytes': 25482156, | 
 |         'generation': 1733131163767856, | 
 |        'condition': 'host_os == "win" and checkout_clangd', | 
 |       }, | 
 |       { | 
 |         'object_name': 'Win/llvm-code-coverage-llvmorg-20-init-13894-g8cb44859-1.tar.xz', | 
 |         'sha256sum': '10b8ec087f9bc4bd882134a33b71cbd315b5b65e615d1ec05abcf6ddda78f687', | 
 |         'size_bytes': 2402404, | 
 |         'generation': 1733131164203293, | 
 |         'condition': 'host_os == "win" and checkout_clang_coverage_tools', | 
 |       }, | 
 |       { | 
 |         'object_name': 'Win/llvmobjdump-llvmorg-20-init-13894-g8cb44859-1.tar.xz', | 
 |         'sha256sum': '6249c10ff32bdb66d02fe44b08d50ae7e83baaea9981f158c7f3e2cccb112ab0', | 
 |         'size_bytes': 5543640, | 
 |         'generation': 1733131163939384, | 
 |         'condition': 'checkout_linux or checkout_mac or checkout_android and host_os == "win"', | 
 |       }, | 
 |     ], | 
 |   }, | 
 |   'third_party/logdog/logdog': | 
 |     Var('chromium_url') + '/infra/luci/luci-py/client/libs/logdog' + '@' + '0b2078a90f7a638d576b3a7c407d136f2fb62399', | 
 |   'third_party/markupsafe': | 
 |     Var('chromium_url') + '/chromium/src/third_party/markupsafe.git' + '@' + '9f8efc8637f847ab1ba984212598e6fb9cf1b3d4', | 
 |   'third_party/ninja': { | 
 |     'packages': [ | 
 |       { | 
 |         'package': 'infra/3pp/tools/ninja/${{platform}}', | 
 |         'version': Var('ninja_version'), | 
 |       } | 
 |     ], | 
 |     'dep_type': 'cipd', | 
 |     'condition': 'host_cpu != "s390" and host_os != "zos" and host_cpu != "ppc"' | 
 |   }, | 
 |   'third_party/perfetto': | 
 |     Var('android_url') + '/platform/external/perfetto.git' + '@' + '24764a1d9c2fce1e9816ffae691f00353ade330d', | 
 |   'third_party/protobuf': | 
 |     Var('chromium_url') + '/chromium/src/third_party/protobuf.git' + '@' + '7938ad35f63a558bf94755cd33d40e79442a5930', | 
 |   'third_party/re2/src': | 
 |     Var('chromium_url') + '/external/github.com/google/re2.git' + '@' + '6dcd83d60f7944926bfd308cc13979fc53dd69ca', | 
 |   'third_party/requests': { | 
 |       'url': Var('chromium_url') + '/external/github.com/kennethreitz/requests.git' + '@' + 'c7e0fc087ceeadb8b4c84a0953a422c474093d6d', | 
 |       'condition': 'checkout_android', | 
 |   }, | 
 |   'third_party/siso': { | 
 |     'packages': [ | 
 |       { | 
 |         'package': 'infra/build/siso/${{platform}}', | 
 |         'version': Var('siso_version'), | 
 |       } | 
 |     ], | 
 |     'dep_type': 'cipd', | 
 |     'condition': 'not build_with_chromium and host_cpu != "s390" and host_os != "zos" and host_cpu != "ppc"', | 
 |   }, | 
 |   'third_party/zlib': | 
 |     Var('chromium_url') + '/chromium/src/third_party/zlib.git'+ '@' + '82a5fecf8aae8f288267cfdb2d29c9ebf7b37e59', | 
 |   'tools/clang': | 
 |     Var('chromium_url') + '/chromium/src/tools/clang.git' + '@' + 'b7f833f53dd15a1ab5eb7da6f5e150a3fb153c19', | 
 |   'tools/protoc_wrapper': | 
 |     Var('chromium_url') + '/chromium/src/tools/protoc_wrapper.git' + '@' + 'dbcbea90c20ae1ece442d8ef64e61c7b10e2b013', | 
 |   'third_party/abseil-cpp': { | 
 |     'url': Var('chromium_url') + '/chromium/src/third_party/abseil-cpp.git' + '@' + 'b5ecd2133b937456caef1f5258da2e845c037db0', | 
 |     'condition': 'not build_with_chromium', | 
 |   }, | 
 |   'third_party/zoslib': { | 
 |     'url': Var('chromium_url') + '/external/github.com/ibmruntimes/zoslib.git' + '@' + '1e68de6e37efced3738a88536fccb6bbfe2d70b2', | 
 |     'condition': 'host_os == "zos"', | 
 |   } | 
 | } | 
 |  | 
 | include_rules = [ | 
 |   # Everybody can use some things. | 
 |   '+include', | 
 |   '+unicode', | 
 |   '+third_party/fdlibm', | 
 |   '+third_party/ittapi/include', | 
 |   '+third_party/fast_float/src/include', | 
 |   '+third_party/fp16/src/include', | 
 |   '+third_party/v8/codegen', | 
 |   '+third_party/fuzztest', | 
 |   '+hwy/highway.h', | 
 |   # Abseil features are allow-listed. Please use your best judgement when adding | 
 |   # to this set -- if in doubt, email v8-dev@. For general guidance, refer to | 
 |   # the Chromium guidelines (though note that some requirements in V8 may be | 
 |   # different to Chromium's): | 
 |   # https://chromium.googlesource.com/chromium/src/+/main/styleguide/c++/c++11.md | 
 |   '+absl/container/flat_hash_map.h', | 
 |   '+absl/container/flat_hash_set.h', | 
 |   '+absl/container/btree_map.h', | 
 |   '+absl/status', | 
 |   # Some abseil features are explicitly banned. | 
 |   '-absl/types/any.h', # Requires RTTI. | 
 |   '-absl/types/flags', # Requires RTTI. | 
 | ] | 
 |  | 
 | # checkdeps.py shouldn't check for includes in these directories: | 
 | skip_child_includes = [ | 
 |   'build', | 
 |   'third_party', | 
 | ] | 
 |  | 
 | hooks = [ | 
 |   { | 
 |     # Ensure that the DEPS'd "depot_tools" has its self-update capability | 
 |     # disabled. | 
 |     'name': 'disable_depot_tools_selfupdate', | 
 |     'pattern': '.', | 
 |     'action': [ | 
 |         'python3', | 
 |         'third_party/depot_tools/update_depot_tools_toggle.py', | 
 |         '--disable', | 
 |     ], | 
 |   }, | 
 |   { | 
 |     # This clobbers when necessary (based on get_landmines.py). It must be the | 
 |     # first hook so that other things that get/generate into the output | 
 |     # directory will not subsequently be clobbered. | 
 |     'name': 'landmines', | 
 |     'pattern': '.', | 
 |     'action': [ | 
 |         'python3', | 
 |         'build/landmines.py', | 
 |         '--landmine-scripts', | 
 |         'tools/get_landmines.py', | 
 |     ], | 
 |   }, | 
 |   { | 
 |     'name': 'bazel', | 
 |     'pattern': '.', | 
 |     'condition': 'download_prebuilt_bazel', | 
 |     'action': [ 'python3', | 
 |                 'third_party/depot_tools/download_from_google_storage.py', | 
 |                 '--bucket', 'chromium-v8-prebuilt-bazel/linux', | 
 |                 '--no_resume', | 
 |                 '-s', 'tools/bazel/bazel.sha1', | 
 |                 '--platform=linux*', | 
 |     ], | 
 |   }, | 
 |   # Pull dsymutil binaries using checked-in hashes. | 
 |   { | 
 |     'name': 'dsymutil_mac_arm64', | 
 |     'pattern': '.', | 
 |     'condition': 'host_os == "mac" and host_cpu == "arm64"', | 
 |     'action': [ 'python3', | 
 |                 'third_party/depot_tools/download_from_google_storage.py', | 
 |                 '--no_resume', | 
 |                 '--no_auth', | 
 |                 '--bucket', 'chromium-browser-clang', | 
 |                 '-s', 'tools/clang/dsymutil/bin/dsymutil.arm64.sha1', | 
 |                 '-o', 'tools/clang/dsymutil/bin/dsymutil', | 
 |     ], | 
 |   }, | 
 |   { | 
 |     'name': 'dsymutil_mac_x64', | 
 |     'pattern': '.', | 
 |     'condition': 'host_os == "mac" and host_cpu == "x64"', | 
 |     'action': [ 'python3', | 
 |                 'third_party/depot_tools/download_from_google_storage.py', | 
 |                 '--no_resume', | 
 |                 '--no_auth', | 
 |                 '--bucket', 'chromium-browser-clang', | 
 |                 '-s', 'tools/clang/dsymutil/bin/dsymutil.x64.sha1', | 
 |                 '-o', 'tools/clang/dsymutil/bin/dsymutil', | 
 |     ], | 
 |   }, | 
 |   { | 
 |     'name': 'gcmole', | 
 |     'pattern': '.', | 
 |     'condition': 'download_gcmole', | 
 |     'action': [ 'python3', | 
 |                 'third_party/depot_tools/download_from_google_storage.py', | 
 |                 '--bucket', 'chrome-v8-gcmole', | 
 |                 '-u', '--no_resume', | 
 |                 '-s', 'tools/gcmole/gcmole-tools.tar.gz.sha1', | 
 |                 '--platform=linux*', | 
 |     ], | 
 |   }, | 
 |   { | 
 |     'name': 'jsfunfuzz', | 
 |     'pattern': '.', | 
 |     'condition': 'download_jsfunfuzz', | 
 |     'action': [ 'python3', | 
 |                 'third_party/depot_tools/download_from_google_storage.py', | 
 |                 '--bucket', 'chrome-v8-jsfunfuzz', | 
 |                 '-u', '--no_resume', | 
 |                 '-s', 'tools/jsfunfuzz/jsfunfuzz.tar.gz.sha1', | 
 |                 '--platform=linux*', | 
 |     ], | 
 |   }, | 
 |   { | 
 |     'name': 'wasm_spec_tests', | 
 |     'pattern': '.', | 
 |     'action': [ 'python3', | 
 |                 'third_party/depot_tools/download_from_google_storage.py', | 
 |                 '--no_resume', | 
 |                 '--no_auth', | 
 |                 '-u', | 
 |                 '--bucket', 'v8-wasm-spec-tests', | 
 |                 '-s', 'test/wasm-spec-tests/tests.tar.gz.sha1', | 
 |     ], | 
 |   }, | 
 |   { | 
 |     'name': 'wasm_js', | 
 |     'pattern': '.', | 
 |     'action': [ 'python3', | 
 |                 'third_party/depot_tools/download_from_google_storage.py', | 
 |                 '--no_resume', | 
 |                 '--no_auth', | 
 |                 '-u', | 
 |                 '--bucket', 'v8-wasm-spec-tests', | 
 |                 '-s', 'test/wasm-js/tests.tar.gz.sha1', | 
 |     ], | 
 |   }, | 
 |   { | 
 |     # Case-insensitivity for the Win SDK. Must run before win_toolchain below. | 
 |     'name': 'ciopfs_linux', | 
 |     'pattern': '.', | 
 |     'condition': 'checkout_win and host_os == "linux"', | 
 |     'action': [ 'python3', | 
 |                 'third_party/depot_tools/download_from_google_storage.py', | 
 |                 '--no_resume', | 
 |                 '--no_auth', | 
 |                 '--bucket', 'chromium-browser-clang/ciopfs', | 
 |                 '-s', 'build/ciopfs.sha1', | 
 |     ] | 
 |   }, | 
 |   { | 
 |     # Update the Windows toolchain if necessary. | 
 |     'name': 'win_toolchain', | 
 |     'pattern': '.', | 
 |     'condition': 'checkout_win', | 
 |     'action': ['python3', 'build/vs_toolchain.py', 'update', '--force'], | 
 |   }, | 
 |   { | 
 |     # Update the Mac toolchain if necessary. | 
 |     'name': 'mac_toolchain', | 
 |     'pattern': '.', | 
 |     'condition': 'checkout_mac', | 
 |     'action': ['python3', 'build/mac_toolchain.py'], | 
 |   }, | 
 |   { | 
 |     # Update LASTCHANGE. | 
 |     'name': 'lastchange', | 
 |     'pattern': '.', | 
 |     'action': ['python3', 'build/util/lastchange.py', | 
 |                '-o', 'build/util/LASTCHANGE'], | 
 |   }, | 
 |   { | 
 |     'name': 'Download Fuchsia SDK from GCS', | 
 |     'pattern': '.', | 
 |     'condition': 'checkout_fuchsia', | 
 |     'action': [ | 
 |       'python3', | 
 |       'build/fuchsia/update_sdk.py', | 
 |       '--cipd-prefix={fuchsia_sdk_cipd_prefix}', | 
 |       '--version={fuchsia_version}', | 
 |     ], | 
 |   }, | 
 |   { | 
 |     'name': 'Download Fuchsia system images', | 
 |     'pattern': '.', | 
 |     'condition': 'checkout_fuchsia and checkout_fuchsia_product_bundles', | 
 |     'action': [ | 
 |       'python3', | 
 |       'build/fuchsia/update_product_bundles.py', | 
 |       '{checkout_fuchsia_boot_images}', | 
 |     ], | 
 |   }, | 
 |   { | 
 |     # Mac does not have llvm-objdump, download it for cross builds in Fuchsia. | 
 |     'name': 'llvm-objdump', | 
 |     'pattern': '.', | 
 |     'condition': 'host_os == "mac" and checkout_fuchsia', | 
 |     'action': ['python3', 'tools/clang/scripts/update.py', | 
 |                '--package=objdump'], | 
 |   }, | 
 |   { | 
 |     'name': 'vpython3_common', | 
 |     'pattern': '.', | 
 |     'action': [ 'vpython3', | 
 |                 '-vpython-spec', '.vpython3', | 
 |                 '-vpython-tool', 'install', | 
 |     ], | 
 |   }, | 
 |   { | 
 |     'name': 'check_v8_header_includes', | 
 |     'pattern': '.', | 
 |     'condition': 'check_v8_header_includes', | 
 |     'action': [ | 
 |       'python3', | 
 |       'tools/generate-header-include-checks.py', | 
 |     ], | 
 |   }, | 
 |   { | 
 |     'name': 'checkout_v8_builtins_pgo_profiles', | 
 |     'pattern': '.', | 
 |     'condition': 'checkout_v8_builtins_pgo_profiles', | 
 |     'action': [ | 
 |       'python3', | 
 |       'tools/builtins-pgo/download_profiles.py', | 
 |       'download', | 
 |       '--quiet', | 
 |     ], | 
 |   }, | 
 |   # Configure remote exec cfg files | 
 |   { | 
 |     'name': 'download_and_configure_reclient_cfgs', | 
 |     'pattern': '.', | 
 |     'condition': 'download_remoteexec_cfg and not build_with_chromium', | 
 |     'action': ['python3', | 
 |                'buildtools/reclient_cfgs/configure_reclient_cfgs.py', | 
 |                '--rbe_instance', | 
 |                Var('rbe_instance'), | 
 |                '--reproxy_cfg_template', | 
 |                'reproxy.cfg.template', | 
 |                '--rewrapper_cfg_project', | 
 |                Var('rewrapper_cfg_project'), | 
 |                '--quiet', | 
 |                ], | 
 |   }, | 
 |   { | 
 |     'name': 'configure_reclient_cfgs', | 
 |     'pattern': '.', | 
 |     'condition': 'not download_remoteexec_cfg and not build_with_chromium', | 
 |     'action': ['python3', | 
 |                'buildtools/reclient_cfgs/configure_reclient_cfgs.py', | 
 |                '--rbe_instance', | 
 |                Var('rbe_instance'), | 
 |                '--reproxy_cfg_template', | 
 |                'reproxy.cfg.template', | 
 |                '--rewrapper_cfg_project', | 
 |                Var('rewrapper_cfg_project'), | 
 |                '--skip_remoteexec_cfg_fetch', | 
 |                ], | 
 |   }, | 
 |   # Configure Siso for developer builds. | 
 |   { | 
 |     'name': 'configure_siso', | 
 |     'pattern': '.', | 
 |     'condition': 'not build_with_chromium', | 
 |     'action': ['python3', | 
 |                'build/config/siso/configure_siso.py', | 
 |                '--rbe_instance', | 
 |                Var('rbe_instance'), | 
 |                ], | 
 |   }, | 
 | ] | 
 |  | 
 | recursedeps = [ | 
 |   'build', | 
 |   'buildtools', | 
 |   'third_party/instrumented_libs', | 
 | ] |