• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# 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 = {
6  '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,
12}
13
14deps = {
15  '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',
32  },
33  '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',
83}
84
85recursedeps = [
86  'v8/buildtools',
87  'v8/third_party/android_tools',
88]
89
90include_rules = [
91  # Everybody can use some things.
92  '+include',
93  '+unicode',
94  '+third_party/fdlibm',
95]
96
97# checkdeps.py shouldn't check for includes in these directories:
98skip_child_includes = [
99  'build',
100  'third_party',
101]
102
103hooks = [
104  {
105    # 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  {
116    # 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',
123        'v8/build/landmines.py',
124        '--landmine-scripts',
125        'v8/tools/get_landmines.py',
126    ],
127  },
128  # Pull clang-format binaries using checked-in hashes.
129  {
130    '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',
139    ],
140  },
141  {
142    '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',
151    ],
152  },
153  {
154    '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',
163    ],
164  },
165  {
166    'name': 'gcmole',
167    'pattern': '.',
168    '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*',
174    ],
175  },
176  {
177    'name': 'jsfunfuzz',
178    'pattern': '.',
179    '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*',
185    ],
186  },
187  # Pull luci-go binaries (isolate, swarming) using checked-in hashes.
188  {
189    'name': 'luci-go_win',
190    'pattern': '.',
191    'condition': 'host_os == "win"',
192    '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': '.',
203    'condition': 'host_os == "mac"',
204    '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': '.',
215    'condition': 'host_os == "linux"',
216    '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  },
224  # Pull GN using checked-in hashes.
225  {
226    'name': 'gn_win',
227    'pattern': '.',
228    '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',
235    ],
236  },
237  {
238    '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',
247    ],
248  },
249  {
250    '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  {
341    # Update the Windows toolchain if necessary.
342    'name': 'win_toolchain',
343    'pattern': '.',
344    'condition': 'checkout_win',
345    'action': ['python', 'v8/build/vs_toolchain.py', 'update'],
346  },
347  {
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  },
354  # 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',
360    'condition': 'host_os == "linux"',
361    'action': [
362        'python',
363        'v8/third_party/binutils/download.py',
364    ],
365  },
366  {
367    # Note: On Win, this should run after win_toolchain, as it may use it.
368    'name': 'clang',
369    'pattern': '.',
370    # clang not supported on aix
371    'condition': 'host_os != "aix"',
372    'action': ['python', 'v8/tools/clang/scripts/update.py'],
373  },
374  {
375    # 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    ],
421  },
422]
423