use_relative_paths = True gclient_gn_args_file = 'build/config/gclient_args.gni' gclient_gn_args = [ 'checkout_skia', ] vars = { # By default, we should check out everything needed to run on the main # pdfium waterfalls. This var can be also be set to 'small', in order to skip # things are not strictly needed to build pdfium for development purposes, # by adding the following line to the .gclient file inside a solutions entry: # "custom_vars": { "checkout_configuration": "small" }, # Similarly, this var can be set to 'minimal' to also skip the Skia and V8 # checkouts for the smallest possible checkout, where some features will not # work. 'checkout_configuration': 'default', 'checkout_instrumented_libraries': 'checkout_linux and checkout_configuration != "small" and checkout_configuration != "minimal"', 'checkout_skia': 'checkout_configuration != "minimal"', 'checkout_testing_corpus': 'checkout_configuration != "small" and checkout_configuration != "minimal"', 'checkout_v8': 'checkout_configuration != "minimal"', # By default, download the fuchsia sdk from the public sdk directory. 'fuchsia_sdk_cipd_prefix': 'fuchsia/sdk/core/', # 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(''), # reclient CIPD package 'reclient_package': 'infra/rbe/client/', # reclient CIPD package version 'reclient_version': 're_client_version:0.109.0.927890d-gomaip', 'chromium_git': 'https://chromium.googlesource.com', 'pdfium_git': 'https://pdfium.googlesource.com', 'skia_git': 'https://skia.googlesource.com', # Three lines of non-changing comments so that # the commit queue can handle CLs rolling abseil # and whatever else without interference from each other. 'abseil_revision': '2288062eef9624e8b48070ed2447139d3fd4a1c5', # Three lines of non-changing comments so that # the commit queue can handle CLs rolling android_toolchain # and whatever else without interference from each other. 'android_toolchain_version': 'R_8suM8m0oHbZ1awdxGXvKEFpAOETscbfZxkkMthyk8C', # Three lines of non-changing comments so that # the commit queue can handle CLs rolling build # and whatever else without interference from each other. 'build_revision': '336e34d44c88d1160d150bd6c8d93e203a424b42', # Three lines of non-changing comments so that # the commit queue can handle CLs rolling buildtools # and whatever else without interference from each other. 'buildtools_revision': '16be42a9ff1f7e4a3e53b93b3adc181fa7ff9161', # Three lines of non-changing comments so that # the commit queue can handle CLs rolling catapult # and whatever else without interference from each other. 'catapult_revision': '220cbb13b5a7485be09813e7da4123088419a76a', # Three lines of non-changing comments so that # the commit queue can handle CLs rolling clang format # and whatever else without interference from each other. 'clang_format_revision': 'e5337933f2951cacd3aeacd238ce4578163ca0b9', # Three lines of non-changing comments so that # the commit queue can handle CLs rolling clang # and whatever else without interference from each other. 'clang_revision': '236e66ffd61f3bd710d20d20a67e71a1f1f55cba', # Three lines of non-changing comments so that # the commit queue can handle CLs rolling code_coverage # and whatever else without interference from each other. 'code_coverage_revision': 'bce4cdc2309e9a7f1e0ff1d9310e0d0302aa67e0', # Three lines of non-changing comments so that # the commit queue can handle CLs rolling code_coverage # and whatever else without interference from each other. 'cpu_features_revision': '936b9ab5515dead115606559502e3864958f7f6e', # Three lines of non-changing comments so that # the commit queue can handle CLs rolling depot_tools # and whatever else without interference from each other. 'depot_tools_revision': '59e10115417ac77f47e42c3f13a4f6b58ebe70c2', # Three lines of non-changing comments so that # the commit queue can handle CLs rolling freetype # and whatever else without interference from each other. 'freetype_revision': 'b2584c738f1a92e6369890cff0504cc044315b38', # Three lines of non-changing comments so that # the commit queue can handle CLs rolling freetype # and whatever else without interference from each other. 'fuchsia_gn_sdk_revision': '0d6902558d92fe3d49ba9a8f638ddea829be595b', # 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:14.20230727.2.1', # Three lines of non-changing comments so that # the commit queue can handle CLs rolling GN CIPD package version # and whatever else without interference from each other. 'gn_version': 'git_revision:3fccef9033b950e8935e8debeba9fbd71617bc74', # Three lines of non-changing comments so that # the commit queue can handle CLs rolling gtest # and whatever else without interference from each other. 'gtest_revision': 'af29db7ec28d6df1c7f0f745186884091e602e07', # Three lines of non-changing comments so that # the commit queue can handle CLs rolling icu # and whatever else without interference from each other. 'icu_revision': 'de4ce0071eb47ed54cbda54869001210cf3a8ae5', # Three lines of non-changing comments so that # the commit queue can handle CLs rolling instrumented_lib # and whatever else without interference from each other. 'instrumented_lib_revision': '032e9c850ab975f7c088a625dcf2256917dbdfa6', # Three lines of non-changing comments so that # the commit queue can handle CLs rolling jinja2 # and whatever else without interference from each other. 'jinja2_revision': '515dd10de9bf63040045902a4a310d2ba25213a0', # Three lines of non-changing comments so that # the commit queue can handle CLs rolling jpeg_turbo # and whatever else without interference from each other. 'jpeg_turbo_revision': '30bdb85e302ecfc52593636b2f44af438e05e784', # Three lines of non-changing comments so that # the commit queue can handle CLs rolling libc++ # and whatever else without interference from each other. # If you change this, also update the libc++ revision in # //buildtools/deps_revisions.gni. 'libcxx_revision': '84fb809dd6dae36d556dc0bb702c6cc2ce9d4b80', # Three lines of non-changing comments so that # the commit queue can handle CLs rolling libc++abi # and whatever else without interference from each other. 'libcxxabi_revision': 'd4760c0af99ccc9bce077960d5ddde4d66146c05', # Three lines of non-changing comments so that # the commit queue can handle CLs rolling libpng # and whatever else without interference from each other. 'libpng_revision': '805df541c44099bb20d425ac47c666e29b1f7a80', # Three lines of non-changing comments so that # the commit queue can handle CLs rolling libunwind # and whatever else without interference from each other. 'libunwind_revision': 'e5a9c50e5e0b620a8886df1c4677b12404620fb6', # Three lines of non-changing comments so that # the commit queue can handle CLs rolling markupsafe # and whatever else without interference from each other. 'markupsafe_revision': '006709ba3ed87660a17bd4548c45663628f5ed85', # Three lines of non-changing comments so that # the commit queue can handle CLs rolling nasm_source # and whatever else without interference from each other. 'nasm_source_revision': '7fc833e889d1afda72c06220e5bed8fb43b2e5ce', # Three lines of non-changing comments so that # the commit queue can handle CLs rolling Ninja CIPD package version # and whatever else without interference from each other. 'ninja_version': 'version:2@1.11.1.chromium.6', # Three lines of non-changing comments so that # the commit queue can handle CLs rolling partition_allocator # and whatever else without interference from each other. 'partition_allocator_revision': 'f91d5ba232cbe61b9740b4101a5b5bea3cd631ed', # Three lines of non-changing comments so that # the commit queue can handle CLs rolling pdfium_tests # and whatever else without interference from each other. 'pdfium_tests_revision': 'dc2cd9afdd1bad8666072416c340ad1c6a01e388', # Three lines of non-changing comments so that # the commit queue can handle CLs rolling resultdb # and whatever else without interference from each other. 'resultdb_version': 'git_revision:ebc74d10fa0d64057daa6f128e89f3672eeeec95', # Three lines of non-changing comments so that # the commit queue can handle CLs rolling skia # and whatever else without interference from each other. 'skia_revision': '6119b059f50a1858f882068cc6738571240b4f5d', # Three lines of non-changing comments so that # the commit queue can handle CLs rolling test_fonts # and whatever else without interference from each other. 'test_fonts_revision': '7f51783942943e965cd56facf786544ccfc07713', # Three lines of non-changing comments so that # the commit queue can handle CLs rolling tools_memory # and whatever else without interference from each other. 'tools_memory_revision': '2a4c4ba1f4a94231b01280a0c63d3fe4404cc9c2', # Three lines of non-changing comments so that # the commit queue can handle CLs rolling trace_event # and whatever else without interference from each other. 'trace_event_revision': '147f65333c38ddd1ebf554e89965c243c8ce50b3', # Three lines of non-changing comments so that # the commit queue can handle CLs rolling v8 # and whatever else without interference from each other. 'v8_revision': '41ff48bd620584b425618e7f8b51617c46c4d67f', # Three lines of non-changing comments so that # the commit queue can handle CLs rolling zlib # and whatever else without interference from each other. 'zlib_revision': '526382e41c9c5275dc329db4328b54e4f344a204', } # Only these hosts are allowed for dependencies in this DEPS file. # If you need to add a new host, and the new host is not in Chromium's DEPS # file's allowed_hosts list, contact Chrome infrastructure team. allowed_hosts = [ 'chromium.googlesource.com', 'pdfium.googlesource.com', 'skia.googlesource.com', ] deps = { 'base/allocator/partition_allocator': Var('chromium_git') + '/chromium/src/base/allocator/partition_allocator.git@' + Var('partition_allocator_revision'), 'base/trace_event/common': Var('chromium_git') + '/chromium/src/base/trace_event/common.git@' + Var('trace_event_revision'), 'build': Var('chromium_git') + '/chromium/src/build.git@' + Var('build_revision'), 'buildtools': Var('chromium_git') + '/chromium/src/buildtools.git@' + Var('buildtools_revision'), 'buildtools/clang_format/script': Var('chromium_git') + '/external/github.com/llvm/llvm-project/clang/tools/clang-format.git@' + Var('clang_format_revision'), 'buildtools/linux64': { 'packages': [ { 'package': 'gn/gn/linux-amd64', 'version': Var('gn_version'), } ], 'dep_type': 'cipd', 'condition': 'host_os == "linux"', }, 'buildtools/mac': { 'packages': [ { 'package': 'gn/gn/mac-${{arch}}', 'version': Var('gn_version'), } ], 'dep_type': 'cipd', 'condition': 'host_os == "mac"', }, 'buildtools/reclient': { 'packages': [ { 'package': Var('reclient_package') + '${{platform}}', 'version': Var('reclient_version'), } ], 'dep_type': 'cipd', }, # TODO(chromium:1458042): Remove these paths, when chromium builds files # have moved to third_party/lib*/src paths. 'buildtools/third_party/libc++/trunk': Var('chromium_git') + '/external/github.com/llvm/llvm-project/libcxx.git@' + Var('libcxx_revision'), 'buildtools/third_party/libc++abi/trunk': Var('chromium_git') + '/external/github.com/llvm/llvm-project/libcxxabi.git@' + Var('libcxxabi_revision'), 'buildtools/third_party/libunwind/trunk': Var('chromium_git') + '/external/github.com/llvm/llvm-project/libunwind.git@' + Var('libunwind_revision'), 'buildtools/win': { 'packages': [ { 'package': 'gn/gn/windows-amd64', 'version': Var('gn_version'), } ], 'dep_type': 'cipd', 'condition': 'host_os == "win"', }, 'testing/corpus': { 'url': Var('pdfium_git') + '/pdfium_tests@' + Var('pdfium_tests_revision'), 'condition': 'checkout_testing_corpus', }, 'third_party/abseil-cpp': Var('chromium_git') + '/chromium/src/third_party/abseil-cpp.git@' + Var('abseil_revision'), 'third_party/android_toolchain': { 'packages': [ { 'package': 'chromium/third_party/android_toolchain/android_toolchain', 'version': Var('android_toolchain_version'), }, ], 'condition': 'checkout_android_native_support', 'dep_type': 'cipd', }, 'third_party/catapult': { 'url': Var('chromium_git') + '/catapult.git@' + Var('catapult_revision'), 'condition': 'checkout_android', }, 'third_party/cpu_features/src': { 'url': Var('chromium_git') + '/external/github.com/google/cpu_features.git@' + Var('cpu_features_revision'), 'condition': 'checkout_android', }, 'third_party/depot_tools': Var('chromium_git') + '/chromium/tools/depot_tools.git@' + Var('depot_tools_revision'), 'third_party/freetype/src': Var('chromium_git') + '/chromium/src/third_party/freetype2.git@' + Var('freetype_revision'), 'third_party/fuchsia-gn-sdk': { 'url': Var('chromium_git') + '/chromium/src/third_party/fuchsia-gn-sdk.git@' + Var('fuchsia_gn_sdk_revision'), 'condition': 'checkout_fuchsia', }, 'third_party/googletest/src': Var('chromium_git') + '/external/github.com/google/googletest.git@' + Var('gtest_revision'), 'third_party/icu': Var('chromium_git') + '/chromium/deps/icu.git@' + Var('icu_revision'), 'third_party/instrumented_libraries': Var('chromium_git') + '/chromium/src/third_party/instrumented_libraries.git@' + Var('instrumented_lib_revision'), 'third_party/jinja2': Var('chromium_git') + '/chromium/src/third_party/jinja2.git@' + Var('jinja2_revision'), 'third_party/libc++/src': Var('chromium_git') + '/external/github.com/llvm/llvm-project/libcxx.git@' + Var('libcxx_revision'), 'third_party/libc++abi/src': Var('chromium_git') + '/external/github.com/llvm/llvm-project/libcxxabi.git@' + Var('libcxxabi_revision'), 'third_party/libunwind/src': Var('chromium_git') + '/external/github.com/llvm/llvm-project/libunwind.git@' + Var('libunwind_revision'), 'third_party/libjpeg_turbo': Var('chromium_git') + '/chromium/deps/libjpeg_turbo.git@' + Var('jpeg_turbo_revision'), 'third_party/libpng': Var('chromium_git') + '/chromium/src/third_party/libpng.git@' + Var('libpng_revision'), 'third_party/markupsafe': Var('chromium_git') + '/chromium/src/third_party/markupsafe.git@' + Var('markupsafe_revision'), 'third_party/nasm': Var('chromium_git') + '/chromium/deps/nasm.git@' + Var('nasm_source_revision'), 'third_party/ninja': { 'packages': [ { # https://chrome-infra-packages.appspot.com/p/infra/3pp/tools/ninja 'package': 'infra/3pp/tools/ninja/${{platform}}', 'version': Var('ninja_version'), } ], 'dep_type': 'cipd', }, 'third_party/skia': { 'url': Var('skia_git') + '/skia.git@' + Var('skia_revision'), 'condition': 'checkout_skia', }, 'third_party/test_fonts': Var('chromium_git') + '/chromium/src/third_party/test_fonts.git@' + Var('test_fonts_revision'), 'third_party/zlib': Var('chromium_git') + '/chromium/src/third_party/zlib.git@' + Var('zlib_revision'), 'tools/clang': Var('chromium_git') + '/chromium/src/tools/clang@' + Var('clang_revision'), 'tools/code_coverage': Var('chromium_git') + '/chromium/src/tools/code_coverage.git@' + Var('code_coverage_revision'), 'tools/memory': Var('chromium_git') + '/chromium/src/tools/memory@' + Var('tools_memory_revision'), 'tools/resultdb': { 'packages': [ { 'package': 'infra/tools/result_adapter/${{platform}}', 'version': Var('resultdb_version'), }, ], 'dep_type': 'cipd', }, # TODO(crbug.com/pdfium/1650): Set up autorollers for goldctl. 'tools/skia_goldctl/linux': { 'packages': [ { 'package': 'skia/tools/goldctl/linux-amd64', 'version': 'eZ3k373CYgRxlu4JKph6e-_7xkP02swy_jePFFMiyIQC', } ], 'dep_type': 'cipd', 'condition': 'checkout_linux', }, 'tools/skia_goldctl/mac_amd64': { 'packages': [ { 'package': 'skia/tools/goldctl/mac-amd64', 'version': 'nHUjLIViYsLxRjv-zDdmzqT8p1R3VoyHq5gdGkKeMYwC', } ], 'dep_type': 'cipd', 'condition': 'checkout_mac', }, 'tools/skia_goldctl/mac_arm64': { 'packages': [ { 'package': 'skia/tools/goldctl/mac-arm64', 'version': '-mc865SGfJAqreLZM6fkn8tgCJ7u5QLk5zm7r-ZRJ9gC', } ], 'dep_type': 'cipd', 'condition': 'checkout_mac', }, 'tools/skia_goldctl/win': { 'packages': [ { 'package': 'skia/tools/goldctl/windows-amd64', 'version': 'iEqqRADI7znrc6pG-MVnc5pBZwD25koILREPC6x2AFAC', } ], 'dep_type': 'cipd', 'condition': 'checkout_win', }, 'v8': { 'url': Var('chromium_git') + '/v8/v8.git@' + Var('v8_revision'), 'condition': 'checkout_v8', }, } recursedeps = [] include_rules = [ # Basic stuff that everyone can use. # Note: public is not here because core cannot depend on public. '+build/build_config.h', '+constants', '+testing', '+third_party/base', # Abseil features must be allowlisted explicitly for now. See Chromium's # //styleguide/c++/c++11.html. Allowed features' headers will be listed # explicitly here. '-absl', '-third_party/abseil-cpp', '+third_party/abseil-cpp/absl/types/optional.h', '+third_party/abseil-cpp/absl/types/variant.h', ] specific_include_rules = { # Allow embedder tests to use public APIs. '(.*embeddertest\.cpp)': [ '+public', ] } 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', ], }, { # 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. Must run before 'clang' below. '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'], }, # 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', ], }, # Pull clang-format binaries using checked-in hashes. { 'name': 'clang_format_win', 'pattern': '.', 'condition': 'host_os == "win"', 'action': [ 'python3', 'third_party/depot_tools/download_from_google_storage.py', '--no_resume', '--no_auth', '--bucket', 'chromium-clang-format', '-s', 'buildtools/win/clang-format.exe.sha1', ], }, { 'name': 'clang_format_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-clang-format', '-s', 'buildtools/mac/clang-format.x64.sha1', '-o', 'buildtools/mac/clang-format', ], }, { 'name': 'clang_format_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-clang-format', '-s', 'buildtools/mac/clang-format.arm64.sha1', '-o', 'buildtools/mac/clang-format', ], }, { 'name': 'clang_format_linux', 'pattern': '.', 'condition': 'host_os == "linux"', 'action': [ 'python3', 'third_party/depot_tools/download_from_google_storage.py', '--no_resume', '--no_auth', '--bucket', 'chromium-clang-format', '-s', 'buildtools/linux64/clang-format.sha1', ], }, { # Note: On Win, this should run after win_toolchain, as it may use it. 'name': 'clang', 'pattern': '.', 'action': ['python3', 'tools/clang/scripts/update.py' ], }, { 'name': 'sysroot_arm', 'pattern': '.', 'condition': 'checkout_linux and checkout_arm', 'action': ['python3', 'build/linux/sysroot_scripts/install-sysroot.py', '--arch=arm'], }, { 'name': 'sysroot_arm64', 'pattern': '.', 'condition': 'checkout_linux and checkout_arm64', 'action': ['python3', 'build/linux/sysroot_scripts/install-sysroot.py', '--arch=arm64'], }, { 'name': 'sysroot_x86', 'pattern': '.', 'condition': 'checkout_linux and (checkout_x86 or checkout_x64)', 'action': ['python3', 'build/linux/sysroot_scripts/install-sysroot.py', '--arch=x86'], }, { 'name': 'sysroot_mips', 'pattern': '.', 'condition': 'checkout_linux and checkout_mips', 'action': ['python3', 'build/linux/sysroot_scripts/install-sysroot.py', '--arch=mips'], }, { 'name': 'sysroot_x64', 'pattern': '.', 'condition': 'checkout_linux and checkout_x64', 'action': ['python3', 'build/linux/sysroot_scripts/install-sysroot.py', '--arch=x64'], }, { 'name': 'test_fonts', 'pattern': '.', 'action': [ 'python3', 'third_party/depot_tools/download_from_google_storage.py', '--no_resume', '--extract', '--no_auth', '--bucket', 'chromium-fonts', '-s', 'third_party/test_fonts/test_fonts.tar.gz.sha1', ], }, { 'name': 'msan_chained_origins_focal', 'pattern': '.', 'condition': 'checkout_instrumented_libraries', 'action': [ 'python3', 'third_party/depot_tools/download_from_google_storage.py', '--no_resume', '--no_auth', '--bucket', 'chromium-instrumented-libraries', '-s', 'third_party/instrumented_libraries/binaries/msan-chained-origins-focal.tgz.sha1', ], }, { 'name': 'msan_no_origins_focal', 'pattern': '.', 'condition': 'checkout_instrumented_libraries', 'action': [ 'python3', 'third_party/depot_tools/download_from_google_storage.py', '--no_resume', '--no_auth', '--bucket', 'chromium-instrumented-libraries', '-s', 'third_party/instrumented_libraries/binaries/msan-no-origins-focal.tgz.sha1', ], }, { # 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}', ], }, # Download remote exec cfg files { 'name': 'fetch_reclient_cfgs', 'pattern': '.', 'condition': 'download_remoteexec_cfg', 'action': ['python3', 'buildtools/reclient_cfgs/fetch_reclient_cfgs.py', '--rbe_instance', Var('rbe_instance'), '--reproxy_cfg_template', 'reproxy.cfg.template', '--rewrapper_cfg_project', Var('rewrapper_cfg_project'), '--quiet', '--hook', ], }, ]