blob: 7d93ee38a8e81c8a14dc70d0d2f03fd53e7b4ee2 [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',
buildbot566cba12016-11-28 05:05:02 -08008 'chromium_revision': '2b5aa49038a8dd31697e3b9d636a26750a4ecdaa',
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 },
ehmaldonado293bc2a2016-11-25 04:58:47 -0800255 {
256 # Update LASTCHANGE.
257 'name': 'lastchange',
258 'pattern': '.',
259 'action': ['python', 'src/build/util/lastchange.py',
260 '-o', 'src/build/util/LASTCHANGE'],
261 },
kjellander24d812d2016-11-22 07:02:11 -0800262 # Pull GN binaries.
263 {
264 'name': 'gn_win',
265 'pattern': '.',
266 'action': [ 'download_from_google_storage',
267 '--no_resume',
268 '--platform=win32',
269 '--no_auth',
270 '--bucket', 'chromium-gn',
271 '-s', 'src/buildtools/win/gn.exe.sha1',
272 ],
273 },
274 {
275 'name': 'gn_mac',
276 'pattern': '.',
277 'action': [ 'download_from_google_storage',
278 '--no_resume',
279 '--platform=darwin',
280 '--no_auth',
281 '--bucket', 'chromium-gn',
282 '-s', 'src/buildtools/mac/gn.sha1',
283 ],
284 },
285 {
286 'name': 'gn_linux64',
287 'pattern': '.',
288 'action': [ 'download_from_google_storage',
289 '--no_resume',
290 '--platform=linux*',
291 '--no_auth',
292 '--bucket', 'chromium-gn',
293 '-s', 'src/buildtools/linux64/gn.sha1',
294 ],
295 },
296 # Pull clang-format binaries using checked-in hashes.
297 {
298 'name': 'clang_format_win',
299 'pattern': '.',
300 'action': [ 'download_from_google_storage',
301 '--no_resume',
302 '--platform=win32',
303 '--no_auth',
304 '--bucket', 'chromium-clang-format',
305 '-s', 'src/buildtools/win/clang-format.exe.sha1',
306 ],
307 },
308 {
309 'name': 'clang_format_mac',
310 'pattern': '.',
311 'action': [ 'download_from_google_storage',
312 '--no_resume',
313 '--platform=darwin',
314 '--no_auth',
315 '--bucket', 'chromium-clang-format',
316 '-s', 'src/buildtools/mac/clang-format.sha1',
317 ],
318 },
319 {
320 'name': 'clang_format_linux',
321 'pattern': '.',
322 'action': [ 'download_from_google_storage',
323 '--no_resume',
324 '--platform=linux*',
325 '--no_auth',
326 '--bucket', 'chromium-clang-format',
327 '-s', 'src/buildtools/linux64/clang-format.sha1',
328 ],
329 },
330 # Pull luci-go binaries (isolate, swarming) using checked-in hashes.
331 {
332 'name': 'luci-go_win',
333 'pattern': '.',
334 'action': [ 'download_from_google_storage',
335 '--no_resume',
336 '--platform=win32',
337 '--no_auth',
338 '--bucket', 'chromium-luci',
339 '-d', 'src/tools/luci-go/win64',
340 ],
341 },
342 {
343 'name': 'luci-go_mac',
344 'pattern': '.',
345 'action': [ 'download_from_google_storage',
346 '--no_resume',
347 '--platform=darwin',
348 '--no_auth',
349 '--bucket', 'chromium-luci',
350 '-d', 'src/tools/luci-go/mac64',
351 ],
352 },
353 {
354 'name': 'luci-go_linux',
355 'pattern': '.',
356 'action': [ 'download_from_google_storage',
357 '--no_resume',
358 '--platform=linux*',
359 '--no_auth',
360 '--bucket', 'chromium-luci',
361 '-d', 'src/tools/luci-go/linux64',
362 ],
363 },
364 # Pull the Syzygy binaries, used for optimization and instrumentation.
365 {
366 'name': 'syzygy-binaries',
367 'pattern': '.',
368 'action': ['python',
369 'src/build/get_syzygy_binaries.py',
370 '--output-dir=src/third_party/syzygy/binaries',
371 '--revision=a8456d9248a126881dcfb8707ca7dcdae56e1ac7',
372 '--overwrite',
373 ],
374 },
375 {
376 # Pull sanitizer-instrumented third-party libraries if requested via
377 # GYP_DEFINES.
378 # See src/third_party/instrumented_libraries/scripts/download_binaries.py.
379 # TODO(kjellander): Update comment when GYP is completely cleaned up.
380 'name': 'instrumented_libraries',
381 'pattern': '\\.sha1',
382 'action': ['python', 'src/third_party/instrumented_libraries/scripts/download_binaries.py'],
383 },
384 {
385 'name': 'clang_format_merge_driver',
386 'pattern': '.',
387 'action': [ 'python',
388 'src/tools/clang_format_merge_driver/install_git_hook.py',
389 ],
390 },
Henrik Kjellandera49f5152015-03-25 13:48:55 +0100391 {
kjellander@webrtc.org80174582013-11-04 12:07:57 +0000392 # Download test resources, i.e. video and audio files from Google Storage.
kjellander@webrtc.org8e5c8142014-12-03 07:11:44 +0000393 'pattern': '.',
394 'action': ['download_from_google_storage',
395 '--directory',
396 '--recursive',
397 '--num_threads=10',
398 '--no_auth',
kjellander4ff818e2015-12-18 12:29:28 -0800399 '--quiet',
kjellander@webrtc.org8e5c8142014-12-03 07:11:44 +0000400 '--bucket', 'chromium-webrtc-resources',
401 'src/resources'],
andrew@webrtc.org4ce52bb2012-07-31 21:54:13 +0000402 },
andrew@webrtc.org4ce52bb2012-07-31 21:54:13 +0000403]
404
kjellander24d812d2016-11-22 07:02:11 -0800405recursedeps = [
406 # buildtools provides clang_format, libc++, and libc++abi.
407 'src/buildtools',
408 # android_tools manages the NDK.
409 'src/third_party/android_tools',
410]
411