# Copyright 2021 The Chromium Authors # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. # PartitionAlloc is planned to be extracted into a standalone library, and # therefore dependencies need to be strictly controlled and minimized. gclient_gn_args_file = 'partition_allocator/build/config/gclient_args.gni' # Only these hosts are allowed for dependencies in this DEPS file. # This is a subset of chromium/src/DEPS's allowed_hosts. allowed_hosts = [ 'chromium.googlesource.com', ] vars = { 'chromium_git': 'https://chromium.googlesource.com', } deps = { 'partition_allocator/build': Var('chromium_git') + '/chromium/src/build.git', 'partition_allocator/buildtools': Var('chromium_git') + '/chromium/src/buildtools.git', 'partition_allocator/buildtools/clang_format/script': Var('chromium_git') + '/external/github.com/llvm/llvm-project/clang/tools/clang-format.git', 'partition_allocator/buildtools/linux64': { 'packages': [ { 'package': 'gn/gn/linux-${{arch}}', 'version': 'latest', } ], 'dep_type': 'cipd', 'condition': 'host_os == "linux"', }, 'partition_allocator/buildtools/mac': { 'packages': [ { 'package': 'gn/gn/mac-${{arch}}', 'version': 'latest', } ], 'dep_type': 'cipd', 'condition': 'host_os == "mac"', }, 'partition_allocator/buildtools/win': { 'packages': [ { 'package': 'gn/gn/windows-amd64', 'version': 'latest', } ], 'dep_type': 'cipd', 'condition': 'host_os == "win"', }, 'partition_allocator/buildtools/third_party/libc++/trunk': Var('chromium_git') + '/external/github.com/llvm/llvm-project/libcxx.git', 'partition_allocator/buildtools/third_party/libc++abi/trunk': Var('chromium_git') + '/external/github.com/llvm/llvm-project/libcxxabi.git', 'partition_allocator/tools/clang': Var('chromium_git') + '/chromium/src/tools/clang.git', } hooks = [ { 'name': 'sysroot_arm', 'pattern': '.', 'condition': 'checkout_linux and checkout_arm', 'action': [ 'python3', 'partition_allocator/build/linux/sysroot_scripts/install-sysroot.py', '--arch=arm'], }, { 'name': 'sysroot_arm64', 'pattern': '.', 'condition': 'checkout_linux and checkout_arm64', 'action': [ 'python3', 'partition_allocator/build/linux/sysroot_scripts/install-sysroot.py', '--arch=arm64'], }, { 'name': 'sysroot_x86', 'pattern': '.', 'condition': 'checkout_linux and (checkout_x86 or checkout_x64)', 'action': [ 'python3', 'partition_allocator/build/linux/sysroot_scripts/install-sysroot.py', '--arch=x86'], }, { 'name': 'sysroot_mips', 'pattern': '.', 'condition': 'checkout_linux and checkout_mips', 'action': [ 'python3', 'partition_allocator/build/linux/sysroot_scripts/install-sysroot.py', '--arch=mips'], }, { 'name': 'sysroot_mips64', 'pattern': '.', 'condition': 'checkout_linux and checkout_mips64', 'action': [ 'python3', 'partition_allocator/build/linux/sysroot_scripts/install-sysroot.py', '--arch=mips64el'], }, { 'name': 'sysroot_x64', 'pattern': '.', 'condition': 'checkout_linux and checkout_x64', 'action': [ 'python3', 'partition_allocator/build/linux/sysroot_scripts/install-sysroot.py', '--arch=x64'], }, { # Update the prebuilt clang toolchain. # Note: On Win, this should run after win_toolchain, as it may use it. 'name': 'clang', 'pattern': '.', 'action': ['python3', 'partition_allocator/tools/clang/scripts/update.py'], }, ] noparent = True include_rules = [ "+build/build_config.h", "+build/buildflag.h", "+third_party/lss/linux_syscall_support.h", ] specific_include_rules = { ".*_(perf|unit)test\.cc$": [ "+base/allocator/allocator_shim_default_dispatch_to_partition_alloc.h", "+base/allocator/dispatcher/dispatcher.h", "+base/debug/allocation_trace.h", "+base/debug/debugging_buildflags.h", "+base/debug/proc_maps_linux.h", "+base/system/sys_info.h", "+base/test/gtest_util.h", "+base/timer/lap_timer.h", "+base/win/windows_version.h", "+testing/gmock/include/gmock/gmock.h", "+testing/gtest/include/gtest/gtest.h", "+testing/perf/perf_result_reporter.h", ], "extended_api\.cc$": [ "+base/allocator/allocator_shim_default_dispatch_to_partition_alloc.h", ], "gtest_prod_util\.h$": [ "+testing/gtest/include/gtest/gtest_prod.h", ], "raw_(ptr|ref)_unittest\.cc$": [ "+base", "+third_party/abseil-cpp/absl/types/optional.h", "+third_party/abseil-cpp/absl/types/variant.h", ], "raw_ptr_test_support\.h$": [ "+testing/gmock/include/gmock/gmock.h", "+third_party/abseil-cpp/absl/types/optional.h", ] }