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