blob: 42e7a40baa5980c18504bc3064233e15e1e7cd96 [file] [log] [blame]
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001# Note: The buildbots evaluate this file with CWD set to the parent
2# directory and assume that the root of the checkout is in ./v8/, so
3# all paths in here must match this assumption.
4
5vars = {
Rubin Xu2894c6a2019-02-07 16:01:35 +00006 'checkout_instrumented_libraries': False,
7 'chromium_url': 'https://chromium.googlesource.com',
8 'download_gcmole': False,
9 'download_jsfunfuzz': False,
10 'download_mips_toolchain': False,
11 'check_v8_header_includes': False,
Ben Murdochb8a8cc12014-11-26 15:28:44 +000012}
13
14deps = {
Rubin Xu2894c6a2019-02-07 16:01:35 +000015 'v8/build':
16 Var('chromium_url') + '/chromium/src/build.git' + '@' + 'dd6b994b32b498e9e766ce60c44da0aec3a2a188',
17 'v8/tools/gyp':
18 Var('chromium_url') + '/external/gyp.git' + '@' + 'd61a9397e668fa9843c4aa7da9e79460fe590bfb',
19 'v8/third_party/depot_tools':
20 Var('chromium_url') + '/chromium/tools/depot_tools.git' + '@' + 'aaf2cc09c6874e394c6c1e4692360cc400d6b388',
21 'v8/third_party/icu':
22 Var('chromium_url') + '/chromium/deps/icu.git' + '@' + 'a191af9d025859e8368b8b469120d78006e9f5f6',
23 'v8/third_party/instrumented_libraries':
24 Var('chromium_url') + '/chromium/src/third_party/instrumented_libraries.git' + '@' + 'd8cf40c4592dcec7fb01fcbdf1f6d4958b3fbf11',
25 'v8/buildtools':
26 Var('chromium_url') + '/chromium/buildtools.git' + '@' + '2dff9c9c74e9d732e6fe57c84ef7fd044cc45d96',
27 'v8/base/trace_event/common':
28 Var('chromium_url') + '/chromium/src/base/trace_event/common.git' + '@' + '211b3ed9d0481b4caddbee1322321b86a483ca1f',
29 'v8/third_party/android_ndk': {
30 'url': Var('chromium_url') + '/android_ndk.git' + '@' + '4e2cea441bfd43f0863d14f57b1e1844260b9884',
31 'condition': 'checkout_android',
Ben Murdochb8a8cc12014-11-26 15:28:44 +000032 },
Rubin Xu2894c6a2019-02-07 16:01:35 +000033 'v8/third_party/android_tools': {
34 'url': Var('chromium_url') + '/android_tools.git' + '@' + '130499e25286f4d56acafa252fee09f3cc595c49',
35 'condition': 'checkout_android',
36 },
37 'v8/third_party/catapult': {
38 'url': Var('chromium_url') + '/catapult.git' + '@' + 'bc2c0a9307285fa36e03e7cdb6bf8623390ff855',
39 'condition': 'checkout_android',
40 },
41 'v8/third_party/colorama/src': {
42 'url': Var('chromium_url') + '/external/colorama.git' + '@' + '799604a1041e9b3bc5d2789ecbd7e8db2e18e6b8',
43 'condition': 'checkout_android',
44 },
45 'v8/third_party/fuchsia-sdk': {
46 'url': Var('chromium_url') + '/chromium/src/third_party/fuchsia-sdk.git' + '@' + '3ec92c896bcbddc46e2a073ebfdd25aa1194656e',
47 'condition': 'checkout_fuchsia',
48 },
49 'v8/third_party/googletest/src':
50 Var('chromium_url') + '/external/github.com/google/googletest.git' + '@' + 'd5266326752f0a1dadbd310932d8f4fd8c3c5e7d',
51 'v8/third_party/jinja2':
52 Var('chromium_url') + '/chromium/src/third_party/jinja2.git' + '@' + 'b41863e42637544c2941b574c7877d3e1f663e25',
53 'v8/third_party/markupsafe':
54 Var('chromium_url') + '/chromium/src/third_party/markupsafe.git' + '@' + '8f45f5cfa0009d2a70589bcda0349b8cb2b72783',
55 'v8/third_party/proguard':
56 Var('chromium_url') + '/chromium/src/third_party/proguard.git' + '@' + 'a3729bea473bb5ffc5eaf289f5733bc5e2861c07',
57 'v8/tools/swarming_client':
58 Var('chromium_url') + '/infra/luci/client-py.git' + '@' + '486c9b53c4d54dd4b95bb6ce0e31160e600dfc11',
59 'v8/test/benchmarks/data':
60 Var('chromium_url') + '/v8/deps/third_party/benchmarks.git' + '@' + '05d7188267b4560491ff9155c5ee13e207ecd65f',
61 'v8/test/mozilla/data':
62 Var('chromium_url') + '/v8/deps/third_party/mozilla-tests.git' + '@' + 'f6c578a10ea707b1a8ab0b88943fe5115ce2b9be',
63 'v8/test/test262/data':
64 Var('chromium_url') + '/external/github.com/tc39/test262.git' + '@' + 'a6c1d05ac4fed084fa047e4c52ab2a8c9c2a8aef',
65 'v8/test/test262/harness':
66 Var('chromium_url') + '/external/github.com/test262-utils/test262-harness-py.git' + '@' + '0f2acdd882c84cff43b9d60df7574a1901e2cdcd',
67 'v8/third_party/qemu': {
68 'packages': [
69 {
70 'package': 'fuchsia/qemu/linux-amd64',
71 'version': '9cc486c5b18a0be515c39a280ca9a309c54cf994'
72 },
73 ],
74 'condition': 'checkout_fuchsia',
75 'dep_type': 'cipd',
76 },
77 'v8/tools/clang':
78 Var('chromium_url') + '/chromium/src/tools/clang.git' + '@' + 'bb4146fb8a9dde405b71914657bb461dc93912ab',
79 'v8/tools/luci-go':
80 Var('chromium_url') + '/chromium/src/tools/luci-go.git' + '@' + '445d7c4b6a4f10e188edb395b132e3996b127691',
81 'v8/test/wasm-js':
82 Var('chromium_url') + '/external/github.com/WebAssembly/spec.git' + '@' + '240ea673de6e75d78ae472f66127301ecab22a99',
Ben Murdochb8a8cc12014-11-26 15:28:44 +000083}
84
Ben Murdochf3b273f2017-01-17 12:11:28 +000085recursedeps = [
Rubin Xu2894c6a2019-02-07 16:01:35 +000086 'v8/buildtools',
87 'v8/third_party/android_tools',
Ben Murdochf3b273f2017-01-17 12:11:28 +000088]
Ben Murdoch13e2dad2016-09-16 13:49:30 +010089
Ben Murdochb8a8cc12014-11-26 15:28:44 +000090include_rules = [
91 # Everybody can use some things.
Rubin Xu2894c6a2019-02-07 16:01:35 +000092 '+include',
93 '+unicode',
94 '+third_party/fdlibm',
Ben Murdochb8a8cc12014-11-26 15:28:44 +000095]
96
97# checkdeps.py shouldn't check for includes in these directories:
98skip_child_includes = [
Rubin Xu2894c6a2019-02-07 16:01:35 +000099 'build',
100 'third_party',
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000101]
102
103hooks = [
Ben Murdoch014dc512016-03-22 12:00:34 +0000104 {
Rubin Xu2894c6a2019-02-07 16:01:35 +0000105 # Ensure that the DEPS'd "depot_tools" has its self-update capability
106 # disabled.
107 'name': 'disable_depot_tools_selfupdate',
108 'pattern': '.',
109 'action': [
110 'python',
111 'v8/third_party/depot_tools/update_depot_tools_toggle.py',
112 '--disable',
113 ],
114 },
115 {
Ben Murdoch014dc512016-03-22 12:00:34 +0000116 # This clobbers when necessary (based on get_landmines.py). It must be the
117 # first hook so that other things that get/generate into the output
118 # directory will not subsequently be clobbered.
119 'name': 'landmines',
120 'pattern': '.',
121 'action': [
122 'python',
Rubin Xu2894c6a2019-02-07 16:01:35 +0000123 'v8/build/landmines.py',
124 '--landmine-scripts',
125 'v8/tools/get_landmines.py',
Ben Murdoch014dc512016-03-22 12:00:34 +0000126 ],
127 },
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000128 # Pull clang-format binaries using checked-in hashes.
129 {
Rubin Xu2894c6a2019-02-07 16:01:35 +0000130 'name': 'clang_format_win',
131 'pattern': '.',
132 'condition': 'host_os == "win"',
133 'action': [ 'download_from_google_storage',
134 '--no_resume',
135 '--platform=win32',
136 '--no_auth',
137 '--bucket', 'chromium-clang-format',
138 '-s', 'v8/buildtools/win/clang-format.exe.sha1',
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000139 ],
140 },
141 {
Rubin Xu2894c6a2019-02-07 16:01:35 +0000142 'name': 'clang_format_mac',
143 'pattern': '.',
144 'condition': 'host_os == "mac"',
145 'action': [ 'download_from_google_storage',
146 '--no_resume',
147 '--platform=darwin',
148 '--no_auth',
149 '--bucket', 'chromium-clang-format',
150 '-s', 'v8/buildtools/mac/clang-format.sha1',
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000151 ],
152 },
153 {
Rubin Xu2894c6a2019-02-07 16:01:35 +0000154 'name': 'clang_format_linux',
155 'pattern': '.',
156 'condition': 'host_os == "linux"',
157 'action': [ 'download_from_google_storage',
158 '--no_resume',
159 '--platform=linux*',
160 '--no_auth',
161 '--bucket', 'chromium-clang-format',
162 '-s', 'v8/buildtools/linux64/clang-format.sha1',
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000163 ],
164 },
Ben Murdoch109988c2016-05-18 11:27:45 +0100165 {
166 'name': 'gcmole',
167 'pattern': '.',
Rubin Xu2894c6a2019-02-07 16:01:35 +0000168 'condition': 'download_gcmole',
169 'action': [ 'download_from_google_storage',
170 '--bucket', 'chrome-v8-gcmole',
171 '-u', '--no_resume',
172 '-s', 'v8/tools/gcmole/gcmole-tools.tar.gz.sha1',
173 '--platform=linux*',
Ben Murdoch109988c2016-05-18 11:27:45 +0100174 ],
175 },
176 {
177 'name': 'jsfunfuzz',
178 'pattern': '.',
Rubin Xu2894c6a2019-02-07 16:01:35 +0000179 'condition': 'download_jsfunfuzz',
180 'action': [ 'download_from_google_storage',
181 '--bucket', 'chrome-v8-jsfunfuzz',
182 '-u', '--no_resume',
183 '-s', 'v8/tools/jsfunfuzz/jsfunfuzz.tar.gz.sha1',
184 '--platform=linux*',
Ben Murdoch109988c2016-05-18 11:27:45 +0100185 ],
186 },
Ben Murdoch014dc512016-03-22 12:00:34 +0000187 # Pull luci-go binaries (isolate, swarming) using checked-in hashes.
188 {
189 'name': 'luci-go_win',
190 'pattern': '.',
Rubin Xu2894c6a2019-02-07 16:01:35 +0000191 'condition': 'host_os == "win"',
Ben Murdoch014dc512016-03-22 12:00:34 +0000192 'action': [ 'download_from_google_storage',
193 '--no_resume',
194 '--platform=win32',
195 '--no_auth',
196 '--bucket', 'chromium-luci',
197 '-d', 'v8/tools/luci-go/win64',
198 ],
199 },
200 {
201 'name': 'luci-go_mac',
202 'pattern': '.',
Rubin Xu2894c6a2019-02-07 16:01:35 +0000203 'condition': 'host_os == "mac"',
Ben Murdoch014dc512016-03-22 12:00:34 +0000204 'action': [ 'download_from_google_storage',
205 '--no_resume',
206 '--platform=darwin',
207 '--no_auth',
208 '--bucket', 'chromium-luci',
209 '-d', 'v8/tools/luci-go/mac64',
210 ],
211 },
212 {
213 'name': 'luci-go_linux',
214 'pattern': '.',
Rubin Xu2894c6a2019-02-07 16:01:35 +0000215 'condition': 'host_os == "linux"',
Ben Murdoch014dc512016-03-22 12:00:34 +0000216 'action': [ 'download_from_google_storage',
217 '--no_resume',
218 '--platform=linux*',
219 '--no_auth',
220 '--bucket', 'chromium-luci',
221 '-d', 'v8/tools/luci-go/linux64',
222 ],
223 },
Ben Murdoch109988c2016-05-18 11:27:45 +0100224 # Pull GN using checked-in hashes.
225 {
Rubin Xu2894c6a2019-02-07 16:01:35 +0000226 'name': 'gn_win',
Ben Murdoch13e2dad2016-09-16 13:49:30 +0100227 'pattern': '.',
Rubin Xu2894c6a2019-02-07 16:01:35 +0000228 'condition': 'host_os == "win"',
229 'action': [ 'download_from_google_storage',
230 '--no_resume',
231 '--platform=win32',
232 '--no_auth',
233 '--bucket', 'chromium-gn',
234 '-s', 'v8/buildtools/win/gn.exe.sha1',
Ben Murdoch13e2dad2016-09-16 13:49:30 +0100235 ],
236 },
237 {
Rubin Xu2894c6a2019-02-07 16:01:35 +0000238 'name': 'gn_mac',
239 'pattern': '.',
240 'condition': 'host_os == "mac"',
241 'action': [ 'download_from_google_storage',
242 '--no_resume',
243 '--platform=darwin',
244 '--no_auth',
245 '--bucket', 'chromium-gn',
246 '-s', 'v8/buildtools/mac/gn.sha1',
Ben Murdochf91f0612016-11-29 16:50:11 +0000247 ],
248 },
249 {
Rubin Xu2894c6a2019-02-07 16:01:35 +0000250 'name': 'gn_linux',
251 'pattern': '.',
252 'condition': 'host_os == "linux"',
253 'action': [ 'download_from_google_storage',
254 '--no_resume',
255 '--platform=linux*',
256 '--no_auth',
257 '--bucket', 'chromium-gn',
258 '-s', 'v8/buildtools/linux64/gn.sha1',
259 ],
260 },
261 {
262 'name': 'wasm_spec_tests',
263 'pattern': '.',
264 'action': [ 'download_from_google_storage',
265 '--no_resume',
266 '--no_auth',
267 '-u',
268 '--bucket', 'v8-wasm-spec-tests',
269 '-s', 'v8/test/wasm-spec-tests/tests.tar.gz.sha1',
270 ],
271 },
272 {
273 'name': 'closure_compiler',
274 'pattern': '.',
275 'action': [ 'download_from_google_storage',
276 '--no_resume',
277 '--no_auth',
278 '-u',
279 '--bucket', 'chromium-v8-closure-compiler',
280 '-s', 'v8/src/inspector/build/closure-compiler.tar.gz.sha1',
281 ],
282 },
283 {
284 'name': 'sysroot_arm',
285 'pattern': '.',
286 'condition': '(checkout_linux and checkout_arm)',
287 'action': ['python', 'v8/build/linux/sysroot_scripts/install-sysroot.py',
288 '--arch=arm'],
289 },
290 {
291 'name': 'sysroot_arm64',
292 'pattern': '.',
293 'condition': '(checkout_linux and checkout_arm64)',
294 'action': ['python', 'v8/build/linux/sysroot_scripts/install-sysroot.py',
295 '--arch=arm64'],
296 },
297 {
298 'name': 'sysroot_x86',
299 'pattern': '.',
300 'condition': '(checkout_linux and (checkout_x86 or checkout_x64))',
301 'action': ['python', 'v8/build/linux/sysroot_scripts/install-sysroot.py',
302 '--arch=x86'],
303 },
304 {
305 'name': 'sysroot_mips',
306 'pattern': '.',
307 'condition': '(checkout_linux and checkout_mips)',
308 'action': ['python', 'v8/build/linux/sysroot_scripts/install-sysroot.py',
309 '--arch=mips'],
310 },
311 {
312 'name': 'sysroot_x64',
313 'pattern': '.',
314 'condition': 'checkout_linux and checkout_x64',
315 'action': ['python', 'v8/build/linux/sysroot_scripts/install-sysroot.py',
316 '--arch=x64'],
317 },
318 {
319 'name': 'msan_chained_origins',
320 'pattern': '.',
321 'condition': 'checkout_instrumented_libraries',
322 'action': [ 'download_from_google_storage',
323 '--no_resume',
324 '--no_auth',
325 '--bucket', 'chromium-instrumented-libraries',
326 '-s', 'v8/third_party/instrumented_libraries/binaries/msan-chained-origins-trusty.tgz.sha1',
327 ],
328 },
329 {
330 'name': 'msan_no_origins',
331 'pattern': '.',
332 'condition': 'checkout_instrumented_libraries',
333 'action': [ 'download_from_google_storage',
334 '--no_resume',
335 '--no_auth',
336 '--bucket', 'chromium-instrumented-libraries',
337 '-s', 'v8/third_party/instrumented_libraries/binaries/msan-no-origins-trusty.tgz.sha1',
338 ],
339 },
340 {
Ben Murdoch014dc512016-03-22 12:00:34 +0000341 # Update the Windows toolchain if necessary.
342 'name': 'win_toolchain',
343 'pattern': '.',
Rubin Xu2894c6a2019-02-07 16:01:35 +0000344 'condition': 'checkout_win',
Ben Murdoch62ed6312017-06-06 11:06:27 +0100345 'action': ['python', 'v8/build/vs_toolchain.py', 'update'],
Ben Murdoch014dc512016-03-22 12:00:34 +0000346 },
Rubin Xu2894c6a2019-02-07 16:01:35 +0000347 {
348 # Update the Mac toolchain if necessary.
349 'name': 'mac_toolchain',
350 'pattern': '.',
351 'condition': 'checkout_mac',
352 'action': ['python', 'v8/build/mac_toolchain.py'],
353 },
Ben Murdoch014dc512016-03-22 12:00:34 +0000354 # Pull binutils for linux, enabled debug fission for faster linking /
355 # debugging when used with clang on Ubuntu Precise.
356 # https://code.google.com/p/chromium/issues/detail?id=352046
357 {
358 'name': 'binutils',
359 'pattern': 'v8/third_party/binutils',
Rubin Xu2894c6a2019-02-07 16:01:35 +0000360 'condition': 'host_os == "linux"',
Ben Murdoch014dc512016-03-22 12:00:34 +0000361 'action': [
362 'python',
363 'v8/third_party/binutils/download.py',
364 ],
365 },
366 {
Emily Bernier958fae72015-03-24 16:35:39 -0400367 # Note: On Win, this should run after win_toolchain, as it may use it.
368 'name': 'clang',
369 'pattern': '.',
Rubin Xu2894c6a2019-02-07 16:01:35 +0000370 # clang not supported on aix
371 'condition': 'host_os != "aix"',
372 'action': ['python', 'v8/tools/clang/scripts/update.py'],
Emily Bernier958fae72015-03-24 16:35:39 -0400373 },
374 {
Rubin Xu2894c6a2019-02-07 16:01:35 +0000375 # Update LASTCHANGE.
376 'name': 'lastchange',
377 'pattern': '.',
378 'action': ['python', 'v8/build/util/lastchange.py',
379 '-o', 'v8/build/util/LASTCHANGE'],
380 },
381 {
382 'name': 'fuchsia_sdk',
383 'pattern': '.',
384 'condition': 'checkout_fuchsia',
385 'action': [
386 'python',
387 'v8/build/fuchsia/update_sdk.py',
388 ],
389 },
390 {
391 'name': 'mips_toolchain',
392 'pattern': '.',
393 'condition': 'download_mips_toolchain',
394 'action': [ 'download_from_google_storage',
395 '--no_resume',
396 '--platform=linux',
397 '--no_auth',
398 '-u',
399 '--bucket', 'chromium-v8',
400 '-s', 'v8/tools/mips_toolchain.tar.gz.sha1',
401 ],
402 },
403 # Download and initialize "vpython" VirtualEnv environment packages.
404 {
405 'name': 'vpython_common',
406 'pattern': '.',
407 'condition': 'checkout_android',
408 'action': [ 'vpython',
409 '-vpython-spec', 'v8/.vpython',
410 '-vpython-tool', 'install',
411 ],
412 },
413 {
414 'name': 'check_v8_header_includes',
415 'pattern': '.',
416 'condition': 'check_v8_header_includes',
417 'action': [
418 'python',
419 'v8/tools/generate-header-include-checks.py',
420 ],
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000421 },
422]