blob: 55f27cc16a8962d4b9c49819e9d1895da6167de6 [file] [log] [blame]
Dan Sinclair6e581892020-03-02 15:47:43 -05001use_relative_paths = True
2
Ryan Harrison7b819aa2020-07-07 19:11:07 +00003gclient_gn_args_file = 'build/config/gclient_args.gni'
Ryan Harrison7b819aa2020-07-07 19:11:07 +00004
Ben Clayton7b0686a2022-01-06 09:23:11 +00005gclient_gn_args = [
6 'generate_location_tags',
7]
8
Dan Sinclair6e581892020-03-02 15:47:43 -05009vars = {
Ryan Harrison3374f432022-03-28 18:01:02 +000010 'chromium_git': 'https://chromium.googlesource.com',
Dan Sinclair6e581892020-03-02 15:47:43 -050011
Tint team00e07882023-02-16 17:19:19 +000012 'tint_gn_revision': 'git_revision:bd99dbf98cbdefe18a4128189665c5761263bcfb',
Ben Clayton7b0686a2022-01-06 09:23:11 +000013
14 # We don't use location metadata in our test isolates.
15 'generate_location_tags': False,
Takuto Ikuta3629d3d2023-08-21 10:10:16 +000016
17 # Fetch configuration files required for the 'use_remoteexec' gn arg
18 'download_remoteexec_cfg': False,
19 # RBE instance to use for running remote builds
20 'rbe_instance': Str('projects/rbe-chrome-untrusted/instances/default_instance'),
21 # RBE project to download rewrapper config files for. Only needed if
22 # different from the project used in 'rbe_instance'
23 'rewrapper_cfg_project': Str(''),
24 # reclient CIPD package
25 'reclient_package': 'infra/rbe/client/',
26 # reclient CIPD package version
27 'reclient_version': 're_client_version:0.108.0.7cdbbe9-gomaip',
Dan Sinclair6e581892020-03-02 15:47:43 -050028}
29
30deps = {
Ryan Harrison3374f432022-03-28 18:01:02 +000031 'third_party/gpuweb-cts': {
32 'url': '{chromium_git}/external/github.com/gpuweb/cts@b0291fd966b55a5efc496772555b94842bde1085',
33 },
dan sinclair429aa812020-07-23 15:01:37 +000034
Ryan Harrison3374f432022-03-28 18:01:02 +000035 'third_party/vulkan-deps': {
Ben Claytona24353f2023-09-07 14:44:28 +000036 'url': '{chromium_git}/vulkan-deps@62a84300c2fee0c5957675b0c1e5a0fe9ea7ac40',
Ryan Harrison3374f432022-03-28 18:01:02 +000037 },
Stephen White7cf3b282021-10-14 14:39:36 +000038
Ryan Harrison29628882020-04-08 20:40:25 +000039 # Dependencies required to use GN/Clang in standalone
Ryan Harrison3374f432022-03-28 18:01:02 +000040 'build': {
Tint teamcdcb6982023-10-12 19:15:55 +000041 'url': '{chromium_git}/chromium/src/build@5885d3c24833ad72845a52a1b913a2b8bc651b56',
Ryan Harrison3374f432022-03-28 18:01:02 +000042 },
Ryan Harrison29628882020-04-08 20:40:25 +000043
Ryan Harrison3374f432022-03-28 18:01:02 +000044 'buildtools': {
Tint teamcdcb6982023-10-12 19:15:55 +000045 'url': '{chromium_git}/chromium/src/buildtools@a9a6f0c49d0e8fa0cda37337430b4736ab3dc944',
Ryan Harrison3374f432022-03-28 18:01:02 +000046 },
Ryan Harrison29628882020-04-08 20:40:25 +000047
Ryan Harrison3374f432022-03-28 18:01:02 +000048 'tools/clang': {
Tint teamcdcb6982023-10-12 19:15:55 +000049 'url': '{chromium_git}/chromium/src/tools/clang@8f75392b4aa947fb55c7c206b36804229595e4da',
Ryan Harrison3374f432022-03-28 18:01:02 +000050 },
Ryan Harrison29628882020-04-08 20:40:25 +000051
Ben Clayton7b0686a2022-01-06 09:23:11 +000052 'buildtools/clang_format/script': {
Ben Clayton2d498982022-11-23 20:44:33 +000053 'url': '{chromium_git}/external/github.com/llvm/llvm-project/clang/tools/clang-format.git@8b525d2747f2584fc35d8c7e612e66f377858df7',
Ben Clayton7b0686a2022-01-06 09:23:11 +000054 },
55
56 'buildtools/linux64': {
57 'packages': [{
58 'package': 'gn/gn/linux-amd64',
59 'version': Var('tint_gn_revision'),
60 }],
61 'dep_type': 'cipd',
62 'condition': 'host_os == "linux"',
63 },
64 'buildtools/mac': {
65 'packages': [{
66 'package': 'gn/gn/mac-${{arch}}',
67 'version': Var('tint_gn_revision'),
68 }],
69 'dep_type': 'cipd',
70 'condition': 'host_os == "mac"',
71 },
72 'buildtools/win': {
73 'packages': [{
74 'package': 'gn/gn/windows-amd64',
75 'version': Var('tint_gn_revision'),
76 }],
77 'dep_type': 'cipd',
78 'condition': 'host_os == "win"',
79 },
80
Tint teamcdcb6982023-10-12 19:15:55 +000081 'buildtools/reclient': {
Takuto Ikuta3629d3d2023-08-21 10:10:16 +000082 'packages': [
83 {
84 'package': Var('reclient_package') + '${{platform}}',
85 'version': Var('reclient_version'),
86 }
87 ],
88 'dep_type': 'cipd',
89 },
90
Tint teamcdcb6982023-10-12 19:15:55 +000091 'third_party/libc++/src': {
92 'url': '{chromium_git}/external/github.com/llvm/llvm-project/libcxx.git@84fb809dd6dae36d556dc0bb702c6cc2ce9d4b80',
Ryan Harrison3374f432022-03-28 18:01:02 +000093 },
Ben Clayton7b0686a2022-01-06 09:23:11 +000094
Tint teamcdcb6982023-10-12 19:15:55 +000095 'third_party/libc++abi/src': {
96 'url': '{chromium_git}/external/github.com/llvm/llvm-project/libcxxabi.git@d4760c0af99ccc9bce077960d5ddde4d66146c05',
Ryan Harrison3374f432022-03-28 18:01:02 +000097 },
Ben Clayton7b0686a2022-01-06 09:23:11 +000098
Junji Watanabe5600d612022-11-14 09:56:30 +000099 'third_party/ninja': {
100 'packages': [
101 # https://chrome-infra-packages.appspot.com/p/infra/3pp/tools/ninja
102 {
103 'package': 'infra/3pp/tools/ninja/${{platform}}',
Tint team00e07882023-02-16 17:19:19 +0000104 'version': 'version:2@1.11.1.chromium.6',
Junji Watanabe5600d612022-11-14 09:56:30 +0000105 }
106 ],
107 'dep_type': 'cipd',
108 },
109
dan sinclair59e9b5b2023-03-15 21:40:16 +0000110 'third_party/abseil-cpp': {
Ben Claytone283e312023-09-04 16:09:27 +0000111 'url': '{chromium_git}/chromium/src/third_party/abseil-cpp@4ef9b33175828ea46d091e7e5ec28259d39a8ba5',
dan sinclair59e9b5b2023-03-15 21:40:16 +0000112 },
113
Ryan Harrison0a196c12020-04-17 13:18:20 +0000114 # Dependencies required for testing
Ryan Harrison3374f432022-03-28 18:01:02 +0000115 'testing': {
Tint teamcdcb6982023-10-12 19:15:55 +0000116 'url': '{chromium_git}/chromium/src/testing@035a9b18047370df7403758b006e6c9696d6b84d',
Ryan Harrison3374f432022-03-28 18:01:02 +0000117 },
Ryan Harrison0a196c12020-04-17 13:18:20 +0000118
Ryan Harrison3374f432022-03-28 18:01:02 +0000119 'third_party/catapult': {
Tint team00e07882023-02-16 17:19:19 +0000120 'url': '{chromium_git}/catapult.git@37e879a7d13cbaa4925e09fc02b0f9276e060f0a',
Ryan Harrison3374f432022-03-28 18:01:02 +0000121 },
Ben Clayton7b0686a2022-01-06 09:23:11 +0000122
Tint teamcdcb6982023-10-12 19:15:55 +0000123 'third_party/google_benchmark/src': {
Tint team1dba1a92023-08-21 12:38:00 +0000124 'url': '{chromium_git}/external/github.com/google/benchmark.git@efc89f0b524780b1994d5dddd83a92718e5be492',
Ryan Harrison3374f432022-03-28 18:01:02 +0000125 },
Ben Claytonbe2362b2022-01-18 18:58:16 +0000126
Ryan Harrison3374f432022-03-28 18:01:02 +0000127 'third_party/googletest': {
Tint team00e07882023-02-16 17:19:19 +0000128 'url': '{chromium_git}/external/github.com/google/googletest.git@b73f27fd164456fea9aba56163f5511355a03272',
Ryan Harrison3374f432022-03-28 18:01:02 +0000129 },
Vasyl Teliman0b3611b2021-06-24 18:10:46 +0000130
Ryan Harrison3374f432022-03-28 18:01:02 +0000131 'third_party/protobuf': {
Tint teamfbe5f2c2023-12-10 13:52:30 +0000132 'url': '{chromium_git}/chromium/src/third_party/protobuf@41759e11ec427e29e1a72b9401d2af3f6e02d839',
Ryan Harrison3374f432022-03-28 18:01:02 +0000133 },
Dan Sinclair6e581892020-03-02 15:47:43 -0500134}
Ryan Harrison29628882020-04-08 20:40:25 +0000135
136hooks = [
137 # Pull clang-format binaries using checked-in hashes.
138 {
139 'name': 'clang_format_win',
140 'pattern': '.',
141 'condition': 'host_os == "win"',
142 'action': [ 'download_from_google_storage',
143 '--no_resume',
Ryan Harrison29628882020-04-08 20:40:25 +0000144 '--no_auth',
145 '--bucket', 'chromium-clang-format',
146 '-s', 'buildtools/win/clang-format.exe.sha1',
147 ],
148 },
149 {
Ben Clayton2d498982022-11-23 20:44:33 +0000150 'name': 'clang_format_mac_x64',
Ryan Harrison29628882020-04-08 20:40:25 +0000151 'pattern': '.',
Ben Clayton2d498982022-11-23 20:44:33 +0000152 'condition': 'host_os == "mac" and host_cpu == "x64"',
Ryan Harrison29628882020-04-08 20:40:25 +0000153 'action': [ 'download_from_google_storage',
154 '--no_resume',
Ryan Harrison29628882020-04-08 20:40:25 +0000155 '--no_auth',
156 '--bucket', 'chromium-clang-format',
Ben Clayton2d498982022-11-23 20:44:33 +0000157 '-s', 'buildtools/mac/clang-format.x64.sha1',
158 '-o', 'buildtools/mac/clang-format',
159 ],
160 },
161 {
162 'name': 'clang_format_mac_arm64',
163 'pattern': '.',
164 'condition': 'host_os == "mac" and host_cpu == "arm64"',
165 'action': [ 'download_from_google_storage',
166 '--no_resume',
167 '--no_auth',
168 '--bucket', 'chromium-clang-format',
169 '-s', 'buildtools/mac/clang-format.arm64.sha1',
170 '-o', 'buildtools/mac/clang-format',
Ryan Harrison29628882020-04-08 20:40:25 +0000171 ],
172 },
173 {
174 'name': 'clang_format_linux',
175 'pattern': '.',
176 'condition': 'host_os == "linux"',
177 'action': [ 'download_from_google_storage',
178 '--no_resume',
Ryan Harrison29628882020-04-08 20:40:25 +0000179 '--no_auth',
180 '--bucket', 'chromium-clang-format',
181 '-s', 'buildtools/linux64/clang-format.sha1',
182 ],
183 },
184
185 # Pull the compilers and system libraries for hermetic builds
186 {
187 'name': 'sysroot_x86',
188 'pattern': '.',
189 'condition': 'checkout_linux and ((checkout_x86 or checkout_x64))',
Ben Clayton7b0686a2022-01-06 09:23:11 +0000190 'action': ['python3', 'build/linux/sysroot_scripts/install-sysroot.py',
Ryan Harrison29628882020-04-08 20:40:25 +0000191 '--arch=x86'],
192 },
193 {
194 'name': 'sysroot_x64',
195 'pattern': '.',
196 'condition': 'checkout_linux and (checkout_x64)',
Ben Clayton7b0686a2022-01-06 09:23:11 +0000197 'action': ['python3', 'build/linux/sysroot_scripts/install-sysroot.py',
Ryan Harrison29628882020-04-08 20:40:25 +0000198 '--arch=x64'],
199 },
200 {
Ryan Harrison2733c262020-11-16 21:11:19 +0000201 # Update the Mac toolchain if necessary.
202 'name': 'mac_toolchain',
203 'pattern': '.',
204 'condition': 'checkout_mac',
Ben Clayton7b0686a2022-01-06 09:23:11 +0000205 'action': ['python3', 'build/mac_toolchain.py'],
Ryan Harrison2733c262020-11-16 21:11:19 +0000206 },
207 {
Ryan Harrison29628882020-04-08 20:40:25 +0000208 # Update the Windows toolchain if necessary. Must run before 'clang' below.
209 'name': 'win_toolchain',
210 'pattern': '.',
211 'condition': 'checkout_win',
Ben Clayton7b0686a2022-01-06 09:23:11 +0000212 'action': ['python3', 'build/vs_toolchain.py', 'update', '--force'],
Ryan Harrison29628882020-04-08 20:40:25 +0000213 },
214 {
215 # Note: On Win, this should run after win_toolchain, as it may use it.
216 'name': 'clang',
217 'pattern': '.',
Ben Clayton7b0686a2022-01-06 09:23:11 +0000218 'action': ['python3', 'tools/clang/scripts/update.py'],
Ryan Harrison29628882020-04-08 20:40:25 +0000219 },
220 {
221 # Pull rc binaries using checked-in hashes.
222 'name': 'rc_win',
223 'pattern': '.',
224 'condition': 'checkout_win and (host_os == "win")',
225 'action': [ 'download_from_google_storage',
226 '--no_resume',
227 '--no_auth',
228 '--bucket', 'chromium-browser-clang/rc',
229 '-s', 'build/toolchain/win/rc/win/rc.exe.sha1',
230 ],
231 },
Ryan Harrison29628882020-04-08 20:40:25 +0000232 # Update build/util/LASTCHANGE.
233 {
234 'name': 'lastchange',
235 'pattern': '.',
Ben Clayton7b0686a2022-01-06 09:23:11 +0000236 'action': ['python3', 'build/util/lastchange.py',
Ryan Harrison29628882020-04-08 20:40:25 +0000237 '-o', 'build/util/LASTCHANGE'],
238 },
Takuto Ikuta3629d3d2023-08-21 10:10:16 +0000239 {
240 # Download remote exec cfg files
241 'name': 'fetch_reclient_cfgs',
242 'pattern': '.',
243 'condition': 'download_remoteexec_cfg',
244 'action': ['python3',
245 'buildtools/reclient_cfgs/fetch_reclient_cfgs.py',
246 '--rbe_instance',
247 Var('rbe_instance'),
248 '--reproxy_cfg_template',
249 'reproxy.cfg.template',
250 '--rewrapper_cfg_project',
251 Var('rewrapper_cfg_project'),
252 '--quiet',
253 ],
254 },
Ryan Harrison29628882020-04-08 20:40:25 +0000255]
256
257recursedeps = [
258 # buildtools provides clang_format, libc++, and libc++abi
259 'buildtools',
Ryan Harrison3374f432022-03-28 18:01:02 +0000260 # vulkan-deps provides spirv-headers, spirv-tools & gslang
261 # It also provides other Vulkan tools that Tint doesn't use
262 'third_party/vulkan-deps',
Ryan Harrison29628882020-04-08 20:40:25 +0000263]