• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Copyright 2021 The Chromium Authors
2# Use of this source code is governed by a BSD-style license that can be
3# found in the LICENSE file.
4
5# PartitionAlloc is planned to be extracted into a standalone library, and
6# therefore dependencies need to be strictly controlled and minimized.
7
8gclient_gn_args_file = 'partition_allocator/build/config/gclient_args.gni'
9
10# Only these hosts are allowed for dependencies in this DEPS file.
11# This is a subset of chromium/src/DEPS's allowed_hosts.
12allowed_hosts = [
13  'chromium.googlesource.com',
14]
15
16vars = {
17  'chromium_git': 'https://chromium.googlesource.com',
18}
19
20deps = {
21  'partition_allocator/build':
22      Var('chromium_git') + '/chromium/src/build.git',
23  'partition_allocator/buildtools':
24      Var('chromium_git') + '/chromium/src/buildtools.git',
25  'partition_allocator/buildtools/clang_format/script':
26      Var('chromium_git') +
27      '/external/github.com/llvm/llvm-project/clang/tools/clang-format.git',
28  'partition_allocator/buildtools/linux64': {
29    'packages': [
30      {
31        'package': 'gn/gn/linux-${{arch}}',
32        'version': 'latest',
33      }
34    ],
35    'dep_type': 'cipd',
36    'condition': 'host_os == "linux"',
37  },
38  'partition_allocator/buildtools/mac': {
39    'packages': [
40      {
41        'package': 'gn/gn/mac-${{arch}}',
42        'version': 'latest',
43      }
44    ],
45    'dep_type': 'cipd',
46    'condition': 'host_os == "mac"',
47  },
48  'partition_allocator/buildtools/win': {
49    'packages': [
50      {
51        'package': 'gn/gn/windows-amd64',
52        'version': 'latest',
53      }
54    ],
55    'dep_type': 'cipd',
56    'condition': 'host_os == "win"',
57  },
58  'partition_allocator/buildtools/third_party/libc++/trunk':
59      Var('chromium_git') + '/external/github.com/llvm/llvm-project/libcxx.git',
60  'partition_allocator/buildtools/third_party/libc++abi/trunk':
61      Var('chromium_git') +
62      '/external/github.com/llvm/llvm-project/libcxxabi.git',
63  'partition_allocator/tools/clang':
64      Var('chromium_git') + '/chromium/src/tools/clang.git',
65}
66
67hooks = [
68  {
69    'name': 'sysroot_arm',
70    'pattern': '.',
71    'condition': 'checkout_linux and checkout_arm',
72    'action': [
73        'python3',
74        'partition_allocator/build/linux/sysroot_scripts/install-sysroot.py',
75        '--arch=arm'],
76  },
77  {
78    'name': 'sysroot_arm64',
79    'pattern': '.',
80    'condition': 'checkout_linux and checkout_arm64',
81    'action': [
82        'python3',
83        'partition_allocator/build/linux/sysroot_scripts/install-sysroot.py',
84        '--arch=arm64'],
85  },
86  {
87    'name': 'sysroot_x86',
88    'pattern': '.',
89    'condition': 'checkout_linux and (checkout_x86 or checkout_x64)',
90    'action': [
91        'python3',
92        'partition_allocator/build/linux/sysroot_scripts/install-sysroot.py',
93        '--arch=x86'],
94  },
95  {
96    'name': 'sysroot_mips',
97    'pattern': '.',
98    'condition': 'checkout_linux and checkout_mips',
99    'action': [
100        'python3',
101        'partition_allocator/build/linux/sysroot_scripts/install-sysroot.py',
102        '--arch=mips'],
103  },
104  {
105    'name': 'sysroot_mips64',
106    'pattern': '.',
107    'condition': 'checkout_linux and checkout_mips64',
108    'action': [
109        'python3',
110        'partition_allocator/build/linux/sysroot_scripts/install-sysroot.py',
111        '--arch=mips64el'],
112  },
113  {
114    'name': 'sysroot_x64',
115    'pattern': '.',
116    'condition': 'checkout_linux and checkout_x64',
117    'action': [
118        'python3',
119        'partition_allocator/build/linux/sysroot_scripts/install-sysroot.py',
120        '--arch=x64'],
121  },
122  {
123    # Update the prebuilt clang toolchain.
124    # Note: On Win, this should run after win_toolchain, as it may use it.
125    'name': 'clang',
126    'pattern': '.',
127    'action': ['python3', 'partition_allocator/tools/clang/scripts/update.py'],
128  },
129]
130
131noparent = True
132
133include_rules = [
134    "+build/build_config.h",
135    "+build/buildflag.h",
136    "+third_party/lss/linux_syscall_support.h",
137]
138
139specific_include_rules = {
140  ".*_(perf|unit)test\.cc$": [
141    "+base/allocator/allocator_shim_default_dispatch_to_partition_alloc.h",
142    "+base/allocator/dispatcher/dispatcher.h",
143    "+base/debug/allocation_trace.h",
144    "+base/debug/debugging_buildflags.h",
145    "+base/debug/proc_maps_linux.h",
146    "+base/system/sys_info.h",
147    "+base/test/gtest_util.h",
148    "+base/timer/lap_timer.h",
149    "+base/win/windows_version.h",
150    "+testing/gmock/include/gmock/gmock.h",
151    "+testing/gtest/include/gtest/gtest.h",
152    "+testing/perf/perf_result_reporter.h",
153  ],
154  "extended_api\.cc$": [
155    "+base/allocator/allocator_shim_default_dispatch_to_partition_alloc.h",
156  ],
157  "gtest_prod_util\.h$": [
158    "+testing/gtest/include/gtest/gtest_prod.h",
159  ],
160  "raw_(ptr|ref)_unittest\.cc$": [
161    "+base",
162    "+third_party/abseil-cpp/absl/types/optional.h",
163    "+third_party/abseil-cpp/absl/types/variant.h",
164  ],
165  "raw_ptr_test_support\.h$": [
166    "+testing/gmock/include/gmock/gmock.h",
167    "+third_party/abseil-cpp/absl/types/optional.h",
168  ]
169}
170