blob: 86b9b3d8071b0defdf87c29e61287c548c1dd6d0 [file] [log] [blame]
kjellander@webrtc.org89256622014-08-20 12:10:11 +00001# This file contains dependencies for WebRTC that are not shared with Chromium.
2# If you wish to add a dependency that is present in Chromium's src/DEPS or a
3# directory from the Chromium checkout, you should add it to setup_links.py
4# instead.
5
andrew@webrtc.org4ce52bb2012-07-31 21:54:13 +00006vars = {
kjellander@webrtc.org8e5c8142014-12-03 07:11:44 +00007 'chromium_git': 'https://chromium.googlesource.com',
buildbotbb0d56a2016-12-20 23:16:23 -08008 'chromium_revision': '4bca52942ca29189fca88b1ee30b0746299620b7',
andrew@webrtc.org4ce52bb2012-07-31 21:54:13 +00009}
10
andrew@webrtc.org4ce52bb2012-07-31 21:54:13 +000011deps = {
kjellander0012d182016-12-20 01:36:35 -080012 'src/third_party/gflags':
13 Var('chromium_git') + '/external/webrtc/deps/third_party/gflags' + '@' + '892576179b45861b53e04a112996a738309cf364',
kjellander@webrtc.org8e5c8142014-12-03 07:11:44 +000014 'src/third_party/gflags/src':
kjellander0012d182016-12-20 01:36:35 -080015 Var('chromium_git') + '/external/github.com/gflags/gflags' + '@' + '03bebcb065c83beff83d50ae025a55a4bf94dfca',
16 'src/third_party/gtest-parallel':
17 Var('chromium_git') + '/external/webrtc/deps/third_party/gtest-parallel' + '@' + '8768563f5c580f8fc416a13c35c8f23b8a602821',
andrew@webrtc.org4ce52bb2012-07-31 21:54:13 +000018}
19
20deps_os = {
kjellander@webrtc.org8e5c8142014-12-03 07:11:44 +000021 'win': {
kjellander0012d182016-12-20 01:36:35 -080022 'src/third_party/winsdk_samples':
23 Var('chromium_git') + '/external/webrtc/deps/third_party/winsdk_samples_v71' + '@' + '6e4f93cc0c2f597547449cbaa80a6af629215a63',
henrike@webrtc.org8d27a1c2013-07-23 18:15:11 +000024 },
andrew@webrtc.org4ce52bb2012-07-31 21:54:13 +000025}
26
27hooks = [
28 {
kjellander@webrtc.org0b0ac822014-10-09 09:11:27 +000029 # Check for legacy named top-level dir (named 'trunk').
kjellander@webrtc.org8e5c8142014-12-03 07:11:44 +000030 'name': 'check_root_dir_name',
31 'pattern': '.',
32 'action': ['python','-c',
33 ('import os,sys;'
34 'script = os.path.join("trunk","check_root_dir.py");'
35 '_ = os.system("%s %s" % (sys.executable,script)) '
36 'if os.path.exists(script) else 0')],
kjellander@webrtc.org0b0ac822014-10-09 09:11:27 +000037 },
38 {
kjellander@webrtc.org89256622014-08-20 12:10:11 +000039 # Clone chromium and its deps.
kjellander@webrtc.org8e5c8142014-12-03 07:11:44 +000040 'name': 'sync chromium',
41 'pattern': '.',
42 'action': ['python', '-u', 'src/sync_chromium.py',
43 '--target-revision', Var('chromium_revision')],
wjia@webrtc.org03cfde22014-01-14 17:48:34 +000044 },
kjellander@webrtc.org11bea892014-07-03 17:04:12 +000045 {
kjellander@webrtc.org89256622014-08-20 12:10:11 +000046 # Create links to shared dependencies in Chromium.
kjellander@webrtc.org8e5c8142014-12-03 07:11:44 +000047 'name': 'setup_links',
48 'pattern': '.',
49 'action': ['python', 'src/setup_links.py'],
kjellander@webrtc.org27ab19d2014-06-21 19:30:29 +000050 },
51 {
Henrik Kjellander27576e02015-10-15 14:24:09 +020052 # This clobbers when necessary (based on get_landmines.py). It should be
53 # an early hook but it will need to be run after syncing Chromium and
54 # setting up the links, so the script actually exists.
55 'name': 'landmines',
56 'pattern': '.',
57 'action': [
58 'python',
59 'src/build/landmines.py',
60 '--landmine-scripts',
61 'src/webrtc/build/get_landmines.py',
62 '--src-dir',
63 'src',
64 ],
65 },
66 {
kjellander24d812d2016-11-22 07:02:11 -080067 # Download Google Play Services SDK (without license prompt).
68 'name': 'google_play_services_download',
69 'pattern': '.',
70 'action': ['python', 'src/webrtc/build/google_play_services_download.py'],
71 },
72 # Android dependencies. Many are downloaded using Google Storage these days.
73 # They're copied from https://cs.chromium.org/chromium/src/DEPS for all
74 # such dependencies we share with Chromium.
75 {
76 'name': 'intellij',
77 'pattern': '.',
78 'action': ['python',
79 'src/build/android/update_deps/update_third_party_deps.py',
80 'download',
81 '-b', 'chromium-intellij',
82 '-l', 'third_party/intellij'
83 ],
84 },
85 {
86 'name': 'javax_inject',
87 'pattern': '.',
88 'action': ['python',
89 'src/build/android/update_deps/update_third_party_deps.py',
90 'download',
91 '-b', 'chromium-javax-inject',
92 '-l', 'third_party/javax_inject'
93 ],
94 },
95 {
96 'name': 'hamcrest',
97 'pattern': '.',
98 'action': ['python',
99 'src/build/android/update_deps/update_third_party_deps.py',
100 'download',
101 '-b', 'chromium-hamcrest',
102 '-l', 'third_party/hamcrest'
103 ],
104 },
105 {
106 'name': 'guava',
107 'pattern': '.',
108 'action': ['python',
109 'src/build/android/update_deps/update_third_party_deps.py',
110 'download',
111 '-b', 'chromium-guava',
112 '-l', 'third_party/guava'
113 ],
114 },
115 {
116 'name': 'android_support_test_runner',
117 'pattern': '.',
118 'action': ['python',
119 'src/build/android/update_deps/update_third_party_deps.py',
120 'download',
121 '-b', 'chromium-android-support-test-runner',
122 '-l', 'third_party/android_support_test_runner'
123 ],
124 },
125 {
126 'name': 'byte_buddy',
127 'pattern': '.',
128 'action': ['python',
129 'src/build/android/update_deps/update_third_party_deps.py',
130 'download',
131 '-b', 'chromium-byte-buddy',
132 '-l', 'third_party/byte_buddy'
133 ],
134 },
135 {
136 'name': 'espresso',
137 'pattern': '.',
138 'action': ['python',
139 'src/build/android/update_deps/update_third_party_deps.py',
140 'download',
141 '-b', 'chromium-espresso',
142 '-l', 'third_party/espresso'
143 ],
144 },
145 {
146 'name': 'robolectric_libs',
147 'pattern': '.',
148 'action': ['python',
149 'src/build/android/update_deps/update_third_party_deps.py',
150 'download',
151 '-b', 'chromium-robolectric',
152 '-l', 'third_party/robolectric'
153 ],
154 },
155 {
156 'name': 'apache_velocity',
157 'pattern': '.',
158 'action': ['python',
159 'src/build/android/update_deps/update_third_party_deps.py',
160 'download',
161 '-b', 'chromium-apache-velocity',
162 '-l', 'third_party/apache_velocity'
163 ],
164 },
165 {
166 'name': 'ow2_asm',
167 'pattern': '.',
168 'action': ['python',
169 'src/build/android/update_deps/update_third_party_deps.py',
170 'download',
171 '-b', 'chromium-ow2-asm',
172 '-l', 'third_party/ow2_asm'
173 ],
174 },
175 {
176 'name': 'icu4j',
177 'pattern': '.',
178 'action': ['python',
179 'src/build/android/update_deps/update_third_party_deps.py',
180 'download',
181 '-b', 'chromium-icu4j',
182 '-l', 'third_party/icu4j'
183 ],
184 },
185 {
186 'name': 'accessibility_test_framework',
187 'pattern': '.',
188 'action': ['python',
189 'src/build/android/update_deps/update_third_party_deps.py',
190 'download',
191 '-b', 'chromium-accessibility-test-framework',
192 '-l', 'third_party/accessibility_test_framework'
193 ],
194 },
195 {
196 'name': 'bouncycastle',
197 'pattern': '.',
198 'action': ['python',
199 'src/build/android/update_deps/update_third_party_deps.py',
200 'download',
201 '-b', 'chromium-bouncycastle',
202 '-l', 'third_party/bouncycastle'
203 ],
204 },
205 {
206 'name': 'sqlite4java',
207 'pattern': '.',
208 'action': ['python',
209 'src/build/android/update_deps/update_third_party_deps.py',
210 'download',
211 '-b', 'chromium-sqlite4java',
212 '-l', 'third_party/sqlite4java'
213 ],
214 },
215 {
216 'name': 'objenesis',
217 'pattern': '.',
218 'action': ['python',
219 'src/build/android/update_deps/update_third_party_deps.py',
220 'download',
221 '-b', 'chromium-objenesis',
222 '-l', 'third_party/objenesis'
223 ],
224 },
225 {
226 # Downloads the current stable linux sysroot to build/linux/ if needed.
227 # This sysroot updates at about the same rate that the chrome build deps
228 # change. This script is a no-op except for linux users who are doing
229 # official chrome builds or cross compiling.
230 'name': 'sysroot',
231 'pattern': '.',
232 'action': ['python', 'src/build/linux/sysroot_scripts/install-sysroot.py',
233 '--running-as-hook'],
234 },
235 {
236 # Update the Windows toolchain if necessary.
237 'name': 'win_toolchain',
238 'pattern': '.',
239 'action': ['python', 'src/build/vs_toolchain.py', 'update'],
240 },
241 # Pull binutils for linux, enabled debug fission for faster linking /
242 # debugging when used with clang on Ubuntu Precise.
243 # https://code.google.com/p/chromium/issues/detail?id=352046
244 {
245 'name': 'binutils',
246 'pattern': 'src/third_party/binutils',
247 'action': [
248 'python',
249 'src/third_party/binutils/download.py',
250 ],
251 },
252 {
253 # Pull clang if needed or requested via GYP_DEFINES.
254 # Note: On Win, this should run after win_toolchain, as it may use it.
255 'name': 'clang',
256 'pattern': '.',
257 'action': ['python', 'src/tools/clang/scripts/update.py', '--if-needed'],
258 },
ehmaldonado293bc2a2016-11-25 04:58:47 -0800259 {
260 # Update LASTCHANGE.
261 'name': 'lastchange',
262 'pattern': '.',
263 'action': ['python', 'src/build/util/lastchange.py',
264 '-o', 'src/build/util/LASTCHANGE'],
265 },
kjellander24d812d2016-11-22 07:02:11 -0800266 # Pull GN binaries.
267 {
268 'name': 'gn_win',
269 'pattern': '.',
270 'action': [ 'download_from_google_storage',
271 '--no_resume',
272 '--platform=win32',
273 '--no_auth',
274 '--bucket', 'chromium-gn',
275 '-s', 'src/buildtools/win/gn.exe.sha1',
276 ],
277 },
278 {
279 'name': 'gn_mac',
280 'pattern': '.',
281 'action': [ 'download_from_google_storage',
282 '--no_resume',
283 '--platform=darwin',
284 '--no_auth',
285 '--bucket', 'chromium-gn',
286 '-s', 'src/buildtools/mac/gn.sha1',
287 ],
288 },
289 {
290 'name': 'gn_linux64',
291 'pattern': '.',
292 'action': [ 'download_from_google_storage',
293 '--no_resume',
294 '--platform=linux*',
295 '--no_auth',
296 '--bucket', 'chromium-gn',
297 '-s', 'src/buildtools/linux64/gn.sha1',
298 ],
299 },
300 # Pull clang-format binaries using checked-in hashes.
301 {
302 'name': 'clang_format_win',
303 'pattern': '.',
304 'action': [ 'download_from_google_storage',
305 '--no_resume',
306 '--platform=win32',
307 '--no_auth',
308 '--bucket', 'chromium-clang-format',
309 '-s', 'src/buildtools/win/clang-format.exe.sha1',
310 ],
311 },
312 {
313 'name': 'clang_format_mac',
314 'pattern': '.',
315 'action': [ 'download_from_google_storage',
316 '--no_resume',
317 '--platform=darwin',
318 '--no_auth',
319 '--bucket', 'chromium-clang-format',
320 '-s', 'src/buildtools/mac/clang-format.sha1',
321 ],
322 },
323 {
324 'name': 'clang_format_linux',
325 'pattern': '.',
326 'action': [ 'download_from_google_storage',
327 '--no_resume',
328 '--platform=linux*',
329 '--no_auth',
330 '--bucket', 'chromium-clang-format',
331 '-s', 'src/buildtools/linux64/clang-format.sha1',
332 ],
333 },
334 # Pull luci-go binaries (isolate, swarming) using checked-in hashes.
335 {
336 'name': 'luci-go_win',
337 'pattern': '.',
338 'action': [ 'download_from_google_storage',
339 '--no_resume',
340 '--platform=win32',
341 '--no_auth',
342 '--bucket', 'chromium-luci',
343 '-d', 'src/tools/luci-go/win64',
344 ],
345 },
346 {
347 'name': 'luci-go_mac',
348 'pattern': '.',
349 'action': [ 'download_from_google_storage',
350 '--no_resume',
351 '--platform=darwin',
352 '--no_auth',
353 '--bucket', 'chromium-luci',
354 '-d', 'src/tools/luci-go/mac64',
355 ],
356 },
357 {
358 'name': 'luci-go_linux',
359 'pattern': '.',
360 'action': [ 'download_from_google_storage',
361 '--no_resume',
362 '--platform=linux*',
363 '--no_auth',
364 '--bucket', 'chromium-luci',
365 '-d', 'src/tools/luci-go/linux64',
366 ],
367 },
368 # Pull the Syzygy binaries, used for optimization and instrumentation.
369 {
370 'name': 'syzygy-binaries',
371 'pattern': '.',
372 'action': ['python',
373 'src/build/get_syzygy_binaries.py',
374 '--output-dir=src/third_party/syzygy/binaries',
375 '--revision=a8456d9248a126881dcfb8707ca7dcdae56e1ac7',
376 '--overwrite',
377 ],
378 },
379 {
380 # Pull sanitizer-instrumented third-party libraries if requested via
381 # GYP_DEFINES.
382 # See src/third_party/instrumented_libraries/scripts/download_binaries.py.
383 # TODO(kjellander): Update comment when GYP is completely cleaned up.
384 'name': 'instrumented_libraries',
385 'pattern': '\\.sha1',
386 'action': ['python', 'src/third_party/instrumented_libraries/scripts/download_binaries.py'],
387 },
388 {
389 'name': 'clang_format_merge_driver',
390 'pattern': '.',
391 'action': [ 'python',
392 'src/tools/clang_format_merge_driver/install_git_hook.py',
393 ],
394 },
Henrik Kjellandera49f5152015-03-25 13:48:55 +0100395 {
kjellander@webrtc.org80174582013-11-04 12:07:57 +0000396 # Download test resources, i.e. video and audio files from Google Storage.
kjellander@webrtc.org8e5c8142014-12-03 07:11:44 +0000397 'pattern': '.',
398 'action': ['download_from_google_storage',
399 '--directory',
400 '--recursive',
401 '--num_threads=10',
402 '--no_auth',
kjellander4ff818e2015-12-18 12:29:28 -0800403 '--quiet',
kjellander@webrtc.org8e5c8142014-12-03 07:11:44 +0000404 '--bucket', 'chromium-webrtc-resources',
405 'src/resources'],
andrew@webrtc.org4ce52bb2012-07-31 21:54:13 +0000406 },
andrew@webrtc.org4ce52bb2012-07-31 21:54:13 +0000407]
408
kjellander24d812d2016-11-22 07:02:11 -0800409recursedeps = [
410 # buildtools provides clang_format, libc++, and libc++abi.
411 'src/buildtools',
412 # android_tools manages the NDK.
413 'src/third_party/android_tools',
414]
415