blob: 682a6dc17a577c10d147036af3515bfed63ca07d [file] [log] [blame]
kjellander@webrtc.org177567c2016-12-22 10:40:28 +01001# This file contains dependencies for WebRTC.
kjellander@webrtc.org89256622014-08-20 12:10:11 +00002
andrew@webrtc.org4ce52bb2012-07-31 21:54:13 +00003vars = {
kjellander@webrtc.org8e5c8142014-12-03 07:11:44 +00004 'chromium_git': 'https://chromium.googlesource.com',
Mirko Bonadeicb2bc112017-10-10 13:28:18 +02005 # By default, we should check out everything needed to run on the main
6 # chromium waterfalls. More info at: crbug.com/570091.
7 'checkout_configuration': 'default',
8 'checkout_instrumented_libraries': 'checkout_linux and checkout_configuration == "default"',
Henrik Kjellandera9d4da82017-09-14 07:28:10 +02009 'webrtc_git': 'https://webrtc.googlesource.com',
Autoroller80e93392018-03-30 10:45:35 -070010 'chromium_revision': '381f71a41755e3af9039b26a716e37a163e400eb',
kjellander@webrtc.org177567c2016-12-22 10:40:28 +010011 'boringssl_git': 'https://boringssl.googlesource.com',
12 # Three lines of non-changing comments so that
13 # the commit queue can handle CLs rolling swarming_client
14 # and whatever else without interference from each other.
Autoroller2f510ad2018-01-15 07:44:21 -080015 'swarming_revision': '88229872dd17e71658fe96763feaa77915d8cbd6',
kjellander@webrtc.org177567c2016-12-22 10:40:28 +010016 # Three lines of non-changing comments so that
17 # the commit queue can handle CLs rolling openmax_dl
18 # and whatever else without interference from each other.
Autoroller29ef9f02018-02-23 14:45:08 -080019 'openmax_dl_revision': '63d8cf4708c94c9c8931c389ce333954541a96f2',
kjellander@webrtc.org177567c2016-12-22 10:40:28 +010020 # Three lines of non-changing comments so that
21 # the commit queue can handle CLs rolling BoringSSL
22 # and whatever else without interference from each other.
Autorollera9bb99e2018-03-07 18:44:55 -080023 'boringssl_revision': 'a6bfc45b6286e358ba83f7daa769e1e9012cc7bb',
kjellander@webrtc.org177567c2016-12-22 10:40:28 +010024 # Three lines of non-changing comments so that
kjellander@webrtc.org177567c2016-12-22 10:40:28 +010025 # the commit queue can handle CLs rolling lss
26 # and whatever else without interference from each other.
Oleh Prypin3ebed362017-10-27 10:14:45 +020027 'lss_revision': 'e6527b0cd469e3ff5764785dadcb39bf7d787154',
kjellander@webrtc.org177567c2016-12-22 10:40:28 +010028 # Three lines of non-changing comments so that
29 # the commit queue can handle CLs rolling catapult
30 # and whatever else without interference from each other.
Autoroller3e030d62018-03-29 20:45:07 -070031 'catapult_revision': 'd95849b99664857365f1ddebbe1f391acbd3a104',
kjellander@webrtc.org177567c2016-12-22 10:40:28 +010032 # Three lines of non-changing comments so that
33 # the commit queue can handle CLs rolling libFuzzer
34 # and whatever else without interference from each other.
Autorollerb5070022017-12-15 12:46:39 -080035 'libfuzzer_revision': 'ba2c1cd6f87accb32b5dbce297387c56a2e53a2f',
andrew@webrtc.org4ce52bb2012-07-31 21:54:13 +000036}
andrew@webrtc.org4ce52bb2012-07-31 21:54:13 +000037deps = {
kjellander@webrtc.org177567c2016-12-22 10:40:28 +010038 # TODO(kjellander): Move this to be Android-only once the libevent dependency
39 # in base/third_party/libevent is solved.
40 'src/base':
Autoroller80e93392018-03-30 10:45:35 -070041 Var('chromium_git') + '/chromium/src/base' + '@' + 'ce3710c94dfdd99e86ec1dc9134cad418667ebed',
kjellander@webrtc.org177567c2016-12-22 10:40:28 +010042 'src/build':
Autoroller80e93392018-03-30 10:45:35 -070043 Var('chromium_git') + '/chromium/src/build' + '@' + 'fd402752c106b2d0b34908e1f7fda39898daf896',
kjellander@webrtc.org177567c2016-12-22 10:40:28 +010044 'src/buildtools':
Autoroller68a71682018-03-20 05:44:21 -070045 Var('chromium_git') + '/chromium/buildtools.git' + '@' + '3748a2a90871fc25b0455790fa5a6699553f5197',
Mirko Bonadeid3fb8642018-01-22 08:50:32 +010046 # Gradle 4.3-rc4. Used for testing Android Studio project generation for WebRTC.
47 'src/examples/androidtests/third_party/gradle': {
48 'url': Var('chromium_git') + '/external/github.com/gradle/gradle.git' + '@' +
49 '89af43c4d0506f69980f00dde78c97b2f81437f8',
50 'condition': 'checkout_android',
51 },
Henrik Kjellander5a17ea92017-10-09 13:14:23 +020052 'src/ios': {
Autoroller80e93392018-03-30 10:45:35 -070053 'url': Var('chromium_git') + '/chromium/src/ios' + '@' + 'adfc442c5cf3064f00291ea407346bceffe61e51',
Henrik Kjellander5a17ea92017-10-09 13:14:23 +020054 'condition': 'checkout_ios',
55 },
kjellander@webrtc.org177567c2016-12-22 10:40:28 +010056 'src/testing':
Autoroller80e93392018-03-30 10:45:35 -070057 Var('chromium_git') + '/chromium/src/testing' + '@' + 'bf9442f946fce29c12d9e8e92cea270281f6a8dd',
kjellander@webrtc.org177567c2016-12-22 10:40:28 +010058 'src/third_party':
Autoroller80e93392018-03-30 10:45:35 -070059 Var('chromium_git') + '/chromium/src/third_party' + '@' + '6b5c78334ff97136cbe1ccb7e1f6bd3d157a726a',
Edward Lemur55536f22018-01-11 14:14:26 +010060 'src/third_party/android_ndk': {
Autorollerdcb4cd12018-03-05 07:44:30 -080061 'url': Var('chromium_git') + '/android_ndk.git' + '@' + '635bc380968a76f6948fee65f80a0b28db53ae81',
Edward Lemur55536f22018-01-11 14:14:26 +010062 'condition': 'checkout_android',
63 },
Henrik Kjellander5a17ea92017-10-09 13:14:23 +020064 'src/third_party/android_tools': {
Autoroller94ffe902018-03-05 13:45:22 -080065 'url': Var('chromium_git') + '/android_tools.git' + '@' + 'c22a664c39af72dd8f89200220713dcad811300a',
Henrik Kjellander5a17ea92017-10-09 13:14:23 +020066 'condition': 'checkout_android',
67 },
Mirko Bonadei969d4a92017-11-05 15:57:38 -080068 'src/third_party/auto/src': {
Autoroller23b5cc92018-01-18 12:45:10 -080069 'url': Var('chromium_git') + '/external/github.com/google/auto.git' + '@' + '8a81a858ae7b78a1aef71ac3905fade0bbd64e82',
Mirko Bonadei969d4a92017-11-05 15:57:38 -080070 'condition': 'checkout_android',
71 },
kjellander@webrtc.org177567c2016-12-22 10:40:28 +010072 'src/third_party/boringssl/src':
Henrik Kjellander5a17ea92017-10-09 13:14:23 +020073 Var('boringssl_git') + '/boringssl.git' + '@' + Var('boringssl_revision'),
kjellander@webrtc.org177567c2016-12-22 10:40:28 +010074 'src/third_party/catapult':
Henrik Kjellander5a17ea92017-10-09 13:14:23 +020075 Var('chromium_git') + '/catapult.git' + '@' + Var('catapult_revision'),
76 'src/third_party/ced/src': {
77 'url': Var('chromium_git') + '/external/github.com/google/compact_enc_det.git' + '@' + '94c367a1fe3a13207f4b22604fcfd1d9f9ddf6d9',
78 'condition': 'checkout_android',
79 },
kjellander@webrtc.org177567c2016-12-22 10:40:28 +010080 'src/third_party/colorama/src':
81 Var('chromium_git') + '/external/colorama.git' + '@' + '799604a1041e9b3bc5d2789ecbd7e8db2e18e6b8',
oprypin40e7ebd2017-07-27 01:40:18 -070082 'src/third_party/depot_tools':
Autoroller5f88f0d2018-03-29 01:45:15 -070083 Var('chromium_git') + '/chromium/tools/depot_tools.git' + '@' + 'a16b4ccd5521dc25b3425c089bc59c58265c0626',
Mirko Bonadei65ceb662017-10-13 09:45:37 +020084 'src/third_party/errorprone/lib': {
Autoroller2f510ad2018-01-15 07:44:21 -080085 'url': Var('chromium_git') + '/chromium/third_party/errorprone.git' + '@' + 'ecc57c2b00627667874744b9ad8efe10734d97a8',
Mirko Bonadei65ceb662017-10-13 09:45:37 +020086 'condition': 'checkout_android',
87 },
kjellander@webrtc.org177567c2016-12-22 10:40:28 +010088 'src/third_party/ffmpeg':
Autoroller81e8a432018-03-21 05:45:21 -070089 Var('chromium_git') + '/chromium/third_party/ffmpeg.git' + '@' + '5baad932589a94969782df630db02ec0293d920f',
Oleh Prypine39c3792017-11-14 23:09:08 +010090 'src/third_party/findbugs': {
91 'url': Var('chromium_git') + '/chromium/deps/findbugs.git' + '@' + '4275d9ac8610db6b1bc9a5e887f97e41b33fac67',
92 'condition': 'checkout_android',
93 },
Henrik Kjellander5a17ea92017-10-09 13:14:23 +020094 # WebRTC-only dependency (not present in Chromium).
95 'src/third_party/gtest-parallel':
Oleh Prypincb415b22018-03-01 19:03:34 +010096 Var('chromium_git') + '/external/github.com/google/gtest-parallel' + '@' + 'a8f5453ffc8d6c55a456d3b8395801c3aea9c714',
kjellander3dae7052017-05-03 06:44:36 -070097 'src/third_party/googletest/src':
Autoroller8870f552018-03-15 12:45:59 -070098 Var('chromium_git') + '/external/github.com/google/googletest.git' + '@' + 'a325ad2db5deb623eab740527e559b81c0f39d65',
Henrik Kjellander5a17ea92017-10-09 13:14:23 +020099 'src/third_party/icu': {
Autoroller9f5abb62018-02-06 04:44:48 -0800100 'url': Var('chromium_git') + '/chromium/deps/icu.git' + '@' + 'd888fd2a1be890f4d35e43f68d6d79f42519a357',
Henrik Kjellander5a17ea92017-10-09 13:14:23 +0200101 },
102 'src/third_party/jsr-305/src': {
103 'url': Var('chromium_git') + '/external/jsr-305.git' + '@' + '642c508235471f7220af6d5df2d3210e3bfc0919',
104 'condition': 'checkout_android',
105 },
kjellander@webrtc.org177567c2016-12-22 10:40:28 +0100106 'src/third_party/jsoncpp/source':
107 Var('chromium_git') + '/external/github.com/open-source-parsers/jsoncpp.git' + '@' + 'f572e8e42e22cfcf5ab0aea26574f408943edfa4', # from svn 248
Henrik Kjellander5a17ea92017-10-09 13:14:23 +0200108 'src/third_party/junit/src': {
109 'url': Var('chromium_git') + '/external/junit.git' + '@' + '64155f8a9babcfcf4263cf4d08253a1556e75481',
110 'condition': 'checkout_android',
111 },
kjellander@webrtc.org177567c2016-12-22 10:40:28 +0100112 # Used for building libFuzzers (only supports Linux).
113 'src/third_party/libFuzzer/src':
oprypin801f7222017-09-01 05:43:07 -0700114 Var('chromium_git') + '/chromium/llvm-project/compiler-rt/lib/fuzzer.git' + '@' + Var('libfuzzer_revision'),
kjellander@webrtc.org177567c2016-12-22 10:40:28 +0100115 'src/third_party/libjpeg_turbo':
buildbot1c23e942017-04-20 09:30:13 -0700116 Var('chromium_git') + '/chromium/deps/libjpeg_turbo.git' + '@' + 'a1750dbc79a8792dde3d3f7d7d8ac28ba01ac9dd',
kjellander@webrtc.org177567c2016-12-22 10:40:28 +0100117 'src/third_party/libsrtp':
Henrik Kjellander5a17ea92017-10-09 13:14:23 +0200118 Var('chromium_git') + '/chromium/deps/libsrtp.git' + '@' + '1d45b8e599dc2db6ea3ae22dbc94a8c504652423',
kjellander@webrtc.org177567c2016-12-22 10:40:28 +0100119 'src/third_party/libvpx/source/libvpx':
Autoroller5f88f0d2018-03-29 01:45:15 -0700120 Var('chromium_git') + '/webm/libvpx.git' + '@' + 'f4b1eca53e40ff19ba0b90d39e84be8637e19d6b',
kjellander@webrtc.org177567c2016-12-22 10:40:28 +0100121 'src/third_party/libyuv':
Autorollerafe9eb32018-03-02 18:45:00 -0800122 Var('chromium_git') + '/libyuv/libyuv.git' + '@' + '98a0a157dcf5dee0882b2dfcc9578ab1f44afb12',
Henrik Kjellander5a17ea92017-10-09 13:14:23 +0200123 'src/third_party/lss': {
124 'url': Var('chromium_git') + '/linux-syscall-support.git' + '@' + Var('lss_revision'),
125 'condition': 'checkout_android or checkout_linux',
126 },
127 'src/third_party/mockito/src': {
128 'url': Var('chromium_git') + '/external/mockito/mockito.git' + '@' + 'de83ad4598ad4cf5ea53c69a8a8053780b04b850',
129 'condition': 'checkout_android',
130 },
kjellander@webrtc.org177567c2016-12-22 10:40:28 +0100131 'src/third_party/openh264/src':
Autorollere36a7cb2018-01-18 03:45:00 -0800132 Var('chromium_git') + '/external/github.com/cisco/openh264' + '@' + '2e96d62426547ac4fb5cbcd122e5f6eb68d66ee6',
kjellander@webrtc.org177567c2016-12-22 10:40:28 +0100133 'src/third_party/openmax_dl':
Henrik Kjellandera9d4da82017-09-14 07:28:10 +0200134 Var('webrtc_git') + '/deps/third_party/openmax.git' + '@' + Var('openmax_dl_revision'),
Henrik Kjellander5a17ea92017-10-09 13:14:23 +0200135 'src/third_party/requests/src': {
136 'url': Var('chromium_git') + '/external/github.com/kennethreitz/requests.git' + '@' + 'f172b30356d821d180fa4ecfa3e71c7274a32de4',
137 'condition': 'checkout_android',
138 },
139 'src/third_party/robolectric/robolectric': {
Autorollere9fe8b52017-11-30 15:46:32 -0800140 'url': Var('chromium_git') + '/external/robolectric.git' + '@' + '7e067f1112e1502caa742f7be72d37b5678d3403',
Henrik Kjellander5a17ea92017-10-09 13:14:23 +0200141 'condition': 'checkout_android',
142 },
143 'src/third_party/ub-uiautomator/lib': {
144 'url': Var('chromium_git') + '/chromium/third_party/ub-uiautomator.git' + '@' + '00270549ce3161ae72ceb24712618ea28b4f9434',
145 'condition': 'checkout_android',
146 },
kjellander@webrtc.org177567c2016-12-22 10:40:28 +0100147 'src/third_party/usrsctp/usrsctplib':
Autoroller1b3bd0b2018-03-26 05:44:30 -0700148 Var('chromium_git') + '/external/github.com/sctplab/usrsctp' + '@' + '159d060dceec41a64a57356cbba8c455105f3f72',
Henrik Kjellander5a17ea92017-10-09 13:14:23 +0200149 # WebRTC-only dependency (not present in Chromium).
150 'src/third_party/winsdk_samples': {
151 'url': Var('webrtc_git') + '/deps/third_party/winsdk_samples_v71' + '@' + '2d31a1cbecc86359e6ec041fb9ff6c082babd073',
152 'condition': 'checkout_win',
153 },
154 # Dependency used by libjpeg-turbo.
155 'src/third_party/yasm/binaries': {
156 'url': Var('chromium_git') + '/chromium/deps/yasm/binaries.git' + '@' + '52f9b3f4b0aa06da24ef8b123058bb61ee468881',
157 'condition': 'checkout_win',
158 },
kjellander@webrtc.org177567c2016-12-22 10:40:28 +0100159 'src/third_party/yasm/source/patched-yasm':
buildbotf3f7f622017-08-10 21:29:33 -0700160 Var('chromium_git') + '/chromium/deps/yasm/patched-yasm.git' + '@' + 'b98114e18d8b9b84586b10d24353ab8616d4c5fc',
kjellander@webrtc.org177567c2016-12-22 10:40:28 +0100161 'src/tools':
Autoroller80e93392018-03-30 10:45:35 -0700162 Var('chromium_git') + '/chromium/src/tools' + '@' + 'aaaaac29fb12e25bc10c47450b55bfe67f2f30b8',
kjellander@webrtc.org177567c2016-12-22 10:40:28 +0100163 'src/tools/gyp':
buildbot2f0803c2017-07-25 11:40:43 -0700164 Var('chromium_git') + '/external/gyp.git' + '@' + 'd61a9397e668fa9843c4aa7da9e79460fe590bfb',
oprypin4ccd9c12017-08-30 00:42:43 -0700165 'src/tools/swarming_client':
166 Var('chromium_git') + '/infra/luci/client-py.git' + '@' + Var('swarming_revision'),
Oleh Prypine18e2692018-02-19 18:43:17 +0100167
168 'src/third_party/accessibility_test_framework': {
169 'packages': [
170 {
171 'package': 'chromium/third_party/accessibility-test-framework',
172 'version': 'version:2.1-cr0',
173 },
174 ],
175 'condition': 'checkout_android',
176 'dep_type': 'cipd',
177 },
178
179 'src/third_party/android_support_test_runner': {
180 'packages': [
181 {
182 'package': 'chromium/third_party/android_support_test_runner',
183 'version': 'version:0.5-cr0',
184 },
185 ],
186 'condition': 'checkout_android',
187 'dep_type': 'cipd',
188 },
189
190 'src/third_party/apk-patch-size-estimator': {
191 'packages': [
192 {
193 'package': 'chromium/third_party/apk-patch-size-estimator',
194 'version': 'version:0.2-cr0',
195 },
196 ],
197 'condition': 'checkout_android',
198 'dep_type': 'cipd',
199 },
200
201 'src/third_party/bazel': {
202 'packages': [
203 {
204 'package': 'chromium/third_party/bazel',
205 'version': 'version:0.10.0',
206 },
207 ],
208 'condition': 'checkout_android',
209 'dep_type': 'cipd',
210 },
211
212 'src/third_party/bouncycastle': {
213 'packages': [
214 {
215 'package': 'chromium/third_party/bouncycastle',
216 'version': 'version:1.46-cr0',
217 },
218 ],
219 'condition': 'checkout_android',
220 'dep_type': 'cipd',
221 },
222
223 'src/third_party/byte_buddy': {
224 'packages': [
225 {
226 'package': 'chromium/third_party/byte_buddy',
227 'version': 'version:1.4.17-cr0',
228 },
229 ],
230 'condition': 'checkout_android',
231 'dep_type': 'cipd',
232 },
233
234 'src/third_party/espresso': {
235 'packages': [
236 {
237 'package': 'chromium/third_party/espresso',
238 'version': 'version:2.2.1-cr0',
239 },
240 ],
241 'condition': 'checkout_android',
242 'dep_type': 'cipd',
243 },
244
245 'src/third_party/gson': {
246 'packages': [
247 {
248 'package': 'chromium/third_party/gson',
249 'version': 'version:2.8.0-cr0',
250 },
251 ],
252 'condition': 'checkout_android',
253 'dep_type': 'cipd',
254 },
255
256 'src/third_party/guava': {
257 'packages': [
258 {
259 'package': 'chromium/third_party/guava',
260 'version': 'version:23.0-cr0',
261 },
262 ],
263 'condition': 'checkout_android',
264 'dep_type': 'cipd',
265 },
266
267 'src/third_party/hamcrest': {
268 'packages': [
269 {
270 'package': 'chromium/third_party/hamcrest',
271 'version': 'version:1.3-cr0',
272 },
273 ],
274 'condition': 'checkout_android',
275 'dep_type': 'cipd',
276 },
277
278 'src/third_party/icu4j': {
279 'packages': [
280 {
281 'package': 'chromium/third_party/icu4j',
282 'version': 'version:53.1-cr0',
283 },
284 ],
285 'condition': 'checkout_android',
286 'dep_type': 'cipd',
287 },
288
289 'src/third_party/intellij': {
290 'packages': [
291 {
292 'package': 'chromium/third_party/intellij',
293 'version': 'version:12.0-cr0',
294 },
295 ],
296 'condition': 'checkout_android',
297 'dep_type': 'cipd',
298 },
299
300 'src/third_party/javax_inject': {
301 'packages': [
302 {
303 'package': 'chromium/third_party/javax_inject',
304 'version': 'version:1-cr0',
305 },
306 ],
307 'condition': 'checkout_android',
308 'dep_type': 'cipd',
309 },
310
311 'src/third_party/objenesis': {
312 'packages': [
313 {
314 'package': 'chromium/third_party/objenesis',
315 'version': 'version:2.4-cr0',
316 },
317 ],
318 'condition': 'checkout_android',
319 'dep_type': 'cipd',
320 },
321
322 'src/third_party/ow2_asm': {
323 'packages': [
324 {
325 'package': 'chromium/third_party/ow2_asm',
326 'version': 'version:5.0.1-cr0',
327 },
328 ],
329 'condition': 'checkout_android',
330 'dep_type': 'cipd',
331 },
332
333 'src/third_party/robolectric': {
334 'packages': [
335 {
336 'package': 'chromium/third_party/robolectric',
337 'version': 'version:3.5.1',
338 },
339 ],
340 'condition': 'checkout_android',
341 'dep_type': 'cipd',
342 },
343
344 'src/third_party/sqlite4java': {
345 'packages': [
346 {
347 'package': 'chromium/third_party/sqlite4java',
348 'version': 'version:0.282-cr0',
349 },
350 ],
351 'condition': 'checkout_android',
352 'dep_type': 'cipd',
353 },
354
355 'src/third_party/xstream': {
356 'packages': [
357 {
358 'package': 'chromium/third_party/xstream',
359 'version': 'version:1.4.8-cr0',
360 },
361 ],
362 'condition': 'checkout_android',
363 'dep_type': 'cipd',
364 },
andrew@webrtc.org4ce52bb2012-07-31 21:54:13 +0000365}
kjellander200028f2017-08-17 09:54:12 -0700366
andrew@webrtc.org4ce52bb2012-07-31 21:54:13 +0000367hooks = [
368 {
Henrik Kjellander27576e02015-10-15 14:24:09 +0200369 # This clobbers when necessary (based on get_landmines.py). It should be
370 # an early hook but it will need to be run after syncing Chromium and
371 # setting up the links, so the script actually exists.
372 'name': 'landmines',
373 'pattern': '.',
374 'action': [
375 'python',
376 'src/build/landmines.py',
377 '--landmine-scripts',
Henrik Kjellander90fd7d82017-05-09 08:30:10 +0200378 'src/tools_webrtc/get_landmines.py',
Henrik Kjellander27576e02015-10-15 14:24:09 +0200379 '--src-dir',
380 'src',
381 ],
382 },
oprypin40e7ebd2017-07-27 01:40:18 -0700383 {
384 # Ensure that the DEPS'd "depot_tools" has its self-update capability
385 # disabled.
386 'name': 'disable_depot_tools_selfupdate',
387 'pattern': '.',
388 'action': [
389 'python',
390 'src/third_party/depot_tools/update_depot_tools_toggle.py',
391 '--disable',
392 ],
393 },
kjellander24d812d2016-11-22 07:02:11 -0800394 {
Mirko Bonadeib8a7d9d2018-02-12 08:57:35 +0100395 'name': 'sysroot_arm',
kjellander24d812d2016-11-22 07:02:11 -0800396 'pattern': '.',
Mirko Bonadeib8a7d9d2018-02-12 08:57:35 +0100397 'condition': 'checkout_linux and checkout_arm',
kjellander24d812d2016-11-22 07:02:11 -0800398 'action': ['python', 'src/build/linux/sysroot_scripts/install-sysroot.py',
Mirko Bonadeib8a7d9d2018-02-12 08:57:35 +0100399 '--arch=arm'],
400 },
401 {
402 'name': 'sysroot_arm64',
403 'pattern': '.',
404 'condition': 'checkout_linux and checkout_arm64',
405 'action': ['python', 'src/build/linux/sysroot_scripts/install-sysroot.py',
406 '--arch=arm64'],
407 },
408 {
409 'name': 'sysroot_x86',
410 'pattern': '.',
411 'condition': 'checkout_linux and (checkout_x86 or checkout_x64)',
412 # TODO(mbonadei): change to --arch=x86.
413 'action': ['python', 'src/build/linux/sysroot_scripts/install-sysroot.py',
414 '--arch=i386'],
415 },
416 {
417 'name': 'sysroot_mips',
418 'pattern': '.',
419 'condition': 'checkout_linux and checkout_mips',
420 # TODO(mbonadei): change to --arch=mips.
421 'action': ['python', 'src/build/linux/sysroot_scripts/install-sysroot.py',
422 '--arch=mipsel'],
423 },
424 {
425 'name': 'sysroot_x64',
426 'pattern': '.',
427 'condition': 'checkout_linux and checkout_x64',
428 # TODO(mbonadei): change to --arch=x64.
429 'action': ['python', 'src/build/linux/sysroot_scripts/install-sysroot.py',
430 '--arch=amd64'],
kjellander24d812d2016-11-22 07:02:11 -0800431 },
432 {
Mirko Bonadeia55bdc22018-02-12 13:22:50 +0100433 # Case-insensitivity for the Win SDK. Must run before win_toolchain below.
434 'name': 'ciopfs_linux',
435 'pattern': '.',
436 'condition': 'checkout_win and host_os == "linux"',
437 'action': [ 'python',
438 'src/third_party/depot_tools/download_from_google_storage.py',
439 '--no_resume',
440 '--no_auth',
441 '--bucket', 'chromium-browser-clang/ciopfs',
442 '-s', 'src/build/ciopfs.sha1',
443 ]
444 },
445 {
Henrik Kjellander6b269752017-10-09 13:00:41 +0200446 # Update the Windows toolchain if necessary. Must run before 'clang' below.
kjellander24d812d2016-11-22 07:02:11 -0800447 'name': 'win_toolchain',
448 'pattern': '.',
Mirko Bonadeif0707cb2018-02-13 11:29:09 +0100449 'condition': 'checkout_win',
450 'action': ['python', 'src/build/vs_toolchain.py', 'update', '--force'],
kjellander24d812d2016-11-22 07:02:11 -0800451 },
kjellanderec2c93e2017-09-08 10:52:17 -0700452 {
453 # Update the Mac toolchain if necessary.
454 'name': 'mac_toolchain',
455 'pattern': '.',
Henrik Kjellander6b269752017-10-09 13:00:41 +0200456 'condition': 'checkout_mac',
kjellanderec2c93e2017-09-08 10:52:17 -0700457 'action': ['python', 'src/build/mac_toolchain.py'],
458 },
kjellander24d812d2016-11-22 07:02:11 -0800459 # Pull binutils for linux, enabled debug fission for faster linking /
460 # debugging when used with clang on Ubuntu Precise.
461 # https://code.google.com/p/chromium/issues/detail?id=352046
462 {
463 'name': 'binutils',
464 'pattern': 'src/third_party/binutils',
Henrik Kjellander6b269752017-10-09 13:00:41 +0200465 'condition': 'host_os == "linux"',
kjellander24d812d2016-11-22 07:02:11 -0800466 'action': [
467 'python',
468 'src/third_party/binutils/download.py',
469 ],
470 },
471 {
kjellander24d812d2016-11-22 07:02:11 -0800472 # Note: On Win, this should run after win_toolchain, as it may use it.
473 'name': 'clang',
474 'pattern': '.',
Henrik Kjellander6b269752017-10-09 13:00:41 +0200475 'action': ['python', 'src/tools/clang/scripts/update.py'],
kjellander24d812d2016-11-22 07:02:11 -0800476 },
ehmaldonado293bc2a2016-11-25 04:58:47 -0800477 {
478 # Update LASTCHANGE.
479 'name': 'lastchange',
480 'pattern': '.',
481 'action': ['python', 'src/build/util/lastchange.py',
482 '-o', 'src/build/util/LASTCHANGE'],
483 },
kjellander24d812d2016-11-22 07:02:11 -0800484 # Pull GN binaries.
485 {
486 'name': 'gn_win',
487 'pattern': '.',
Henrik Kjellander6b269752017-10-09 13:00:41 +0200488 'condition': 'host_os == "win"',
kjellander24d812d2016-11-22 07:02:11 -0800489 'action': [ 'download_from_google_storage',
490 '--no_resume',
491 '--platform=win32',
492 '--no_auth',
493 '--bucket', 'chromium-gn',
494 '-s', 'src/buildtools/win/gn.exe.sha1',
495 ],
496 },
497 {
498 'name': 'gn_mac',
499 'pattern': '.',
Henrik Kjellander6b269752017-10-09 13:00:41 +0200500 'condition': 'host_os == "mac"',
kjellander24d812d2016-11-22 07:02:11 -0800501 'action': [ 'download_from_google_storage',
502 '--no_resume',
503 '--platform=darwin',
504 '--no_auth',
505 '--bucket', 'chromium-gn',
506 '-s', 'src/buildtools/mac/gn.sha1',
507 ],
508 },
509 {
510 'name': 'gn_linux64',
511 'pattern': '.',
Henrik Kjellander6b269752017-10-09 13:00:41 +0200512 'condition': 'host_os == "linux"',
kjellander24d812d2016-11-22 07:02:11 -0800513 'action': [ 'download_from_google_storage',
514 '--no_resume',
515 '--platform=linux*',
516 '--no_auth',
517 '--bucket', 'chromium-gn',
518 '-s', 'src/buildtools/linux64/gn.sha1',
519 ],
520 },
521 # Pull clang-format binaries using checked-in hashes.
522 {
523 'name': 'clang_format_win',
524 'pattern': '.',
Henrik Kjellander6b269752017-10-09 13:00:41 +0200525 'condition': 'host_os == "win"',
kjellander24d812d2016-11-22 07:02:11 -0800526 'action': [ 'download_from_google_storage',
527 '--no_resume',
528 '--platform=win32',
529 '--no_auth',
530 '--bucket', 'chromium-clang-format',
531 '-s', 'src/buildtools/win/clang-format.exe.sha1',
532 ],
533 },
534 {
535 'name': 'clang_format_mac',
536 'pattern': '.',
Henrik Kjellander6b269752017-10-09 13:00:41 +0200537 'condition': 'host_os == "mac"',
kjellander24d812d2016-11-22 07:02:11 -0800538 'action': [ 'download_from_google_storage',
539 '--no_resume',
540 '--platform=darwin',
541 '--no_auth',
542 '--bucket', 'chromium-clang-format',
543 '-s', 'src/buildtools/mac/clang-format.sha1',
544 ],
545 },
546 {
547 'name': 'clang_format_linux',
548 'pattern': '.',
Henrik Kjellander6b269752017-10-09 13:00:41 +0200549 'condition': 'host_os == "linux"',
kjellander24d812d2016-11-22 07:02:11 -0800550 'action': [ 'download_from_google_storage',
551 '--no_resume',
552 '--platform=linux*',
553 '--no_auth',
554 '--bucket', 'chromium-clang-format',
555 '-s', 'src/buildtools/linux64/clang-format.sha1',
556 ],
557 },
Oleh Prypin3ebed362017-10-27 10:14:45 +0200558 # Pull rc binaries using checked-in hashes.
559 {
560 'name': 'rc_win',
561 'pattern': '.',
562 'condition': 'checkout_win and host_os == "win"',
563 'action': [ 'python',
564 'src/third_party/depot_tools/download_from_google_storage.py',
565 '--no_resume',
566 '--no_auth',
567 '--bucket', 'chromium-browser-clang/rc',
568 '-s', 'src/build/toolchain/win/rc/win/rc.exe.sha1',
569 ],
570 },
571 {
572 'name': 'rc_mac',
573 'pattern': '.',
574 'condition': 'checkout_win and host_os == "mac"',
575 'action': [ 'python',
576 'src/third_party/depot_tools/download_from_google_storage.py',
577 '--no_resume',
578 '--no_auth',
579 '--bucket', 'chromium-browser-clang/rc',
580 '-s', 'src/build/toolchain/win/rc/mac/rc.sha1',
581 ],
582 },
583 {
584 'name': 'rc_linux',
585 'pattern': '.',
586 'condition': 'checkout_win and host_os == "linux"',
587 'action': [ 'python',
588 'src/third_party/depot_tools/download_from_google_storage.py',
589 '--no_resume',
590 '--no_auth',
591 '--bucket', 'chromium-browser-clang/rc',
592 '-s', 'src/build/toolchain/win/rc/linux64/rc.sha1',
593 ],
594 },
kjellander24d812d2016-11-22 07:02:11 -0800595 # Pull luci-go binaries (isolate, swarming) using checked-in hashes.
596 {
597 'name': 'luci-go_win',
598 'pattern': '.',
Henrik Kjellander6b269752017-10-09 13:00:41 +0200599 'condition': 'host_os == "win"',
kjellander24d812d2016-11-22 07:02:11 -0800600 'action': [ 'download_from_google_storage',
601 '--no_resume',
602 '--platform=win32',
603 '--no_auth',
604 '--bucket', 'chromium-luci',
605 '-d', 'src/tools/luci-go/win64',
606 ],
607 },
608 {
609 'name': 'luci-go_mac',
610 'pattern': '.',
Henrik Kjellander6b269752017-10-09 13:00:41 +0200611 'condition': 'host_os == "mac"',
kjellander24d812d2016-11-22 07:02:11 -0800612 'action': [ 'download_from_google_storage',
613 '--no_resume',
614 '--platform=darwin',
615 '--no_auth',
616 '--bucket', 'chromium-luci',
617 '-d', 'src/tools/luci-go/mac64',
618 ],
619 },
620 {
621 'name': 'luci-go_linux',
622 'pattern': '.',
Henrik Kjellander6b269752017-10-09 13:00:41 +0200623 'condition': 'host_os == "linux"',
kjellander24d812d2016-11-22 07:02:11 -0800624 'action': [ 'download_from_google_storage',
625 '--no_resume',
626 '--platform=linux*',
627 '--no_auth',
628 '--bucket', 'chromium-luci',
629 '-d', 'src/tools/luci-go/linux64',
630 ],
631 },
Henrik Kjellander55dad1b2017-05-11 12:00:53 +0200632 # Pull the Syzygy binaries, used for optimization and instrumentation.
633 {
634 'name': 'syzygy-binaries',
635 'pattern': '.',
Henrik Kjellander6b269752017-10-09 13:00:41 +0200636 'condition': 'host_os == "win"',
Henrik Kjellander55dad1b2017-05-11 12:00:53 +0200637 'action': ['python',
638 'src/build/get_syzygy_binaries.py',
639 '--output-dir=src/third_party/syzygy/binaries',
640 '--revision=a8456d9248a126881dcfb8707ca7dcdae56e1ac7',
641 '--overwrite',
642 ],
643 },
kjellander24d812d2016-11-22 07:02:11 -0800644 {
Mirko Bonadeicb2bc112017-10-10 13:28:18 +0200645 'name': 'msan_chained_origins',
646 'pattern': '.',
647 'condition': 'checkout_instrumented_libraries',
648 'action': [ 'python',
649 'src/third_party/depot_tools/download_from_google_storage.py',
650 "--no_resume",
651 "--no_auth",
652 "--bucket", "chromium-instrumented-libraries",
653 "-s", "src/third_party/instrumented_libraries/binaries/msan-chained-origins-trusty.tgz.sha1",
654 ],
655 },
656 {
657 'name': 'msan_no_origins',
658 'pattern': '.',
659 'condition': 'checkout_instrumented_libraries',
660 'action': [ 'python',
661 'src/third_party/depot_tools/download_from_google_storage.py',
662 "--no_resume",
663 "--no_auth",
664 "--bucket", "chromium-instrumented-libraries",
665 "-s", "src/third_party/instrumented_libraries/binaries/msan-no-origins-trusty.tgz.sha1",
666 ],
kjellander24d812d2016-11-22 07:02:11 -0800667 },
668 {
kjellander@webrtc.org80174582013-11-04 12:07:57 +0000669 # Download test resources, i.e. video and audio files from Google Storage.
kjellander@webrtc.org8e5c8142014-12-03 07:11:44 +0000670 'pattern': '.',
671 'action': ['download_from_google_storage',
672 '--directory',
673 '--recursive',
674 '--num_threads=10',
675 '--no_auth',
kjellander4ff818e2015-12-18 12:29:28 -0800676 '--quiet',
kjellander@webrtc.org8e5c8142014-12-03 07:11:44 +0000677 '--bucket', 'chromium-webrtc-resources',
678 'src/resources'],
andrew@webrtc.org4ce52bb2012-07-31 21:54:13 +0000679 },
Henrik Kjellander5a17ea92017-10-09 13:14:23 +0200680 {
681 # This downloads SDK extras and puts them in the
682 # third_party/android_tools/sdk/extras directory.
683 'name': 'sdkextras',
684 'pattern': '.',
685 'condition': 'checkout_android',
686 # When adding a new sdk extras package to download, add the package
687 # directory and zip file to .gitignore in third_party/android_tools.
688 'action': ['python',
689 'src/build/android/play_services/update.py',
690 'download'
691 ],
692 },
andrew@webrtc.org4ce52bb2012-07-31 21:54:13 +0000693]
kjellander200028f2017-08-17 09:54:12 -0700694
kjellander24d812d2016-11-22 07:02:11 -0800695recursedeps = [
696 # buildtools provides clang_format, libc++, and libc++abi.
697 'src/buildtools',
698 # android_tools manages the NDK.
699 'src/third_party/android_tools',
700]
Mirko Bonadeibb547202017-09-15 06:15:48 +0200701
702# Define rules for which include paths are allowed in our source.
703include_rules = [
704 # Base is only used to build Android APK tests and may not be referenced by
705 # WebRTC production code.
706 "-base",
707 "-chromium",
708 "+external/webrtc/webrtc", # Android platform build.
Mirko Bonadeibb547202017-09-15 06:15:48 +0200709 "+libyuv",
Mirko Bonadeibb547202017-09-15 06:15:48 +0200710 # Individual headers that will be moved out of here, see webrtc:4243.
Mirko Bonadei92ea95e2017-09-15 06:47:31 +0200711 "+call/rtp_config.h",
712 "+common_types.h",
713 "+transport.h",
714 "+typedefs.h",
Mirko Bonadeibb547202017-09-15 06:15:48 +0200715
716 "+WebRTC",
Mirko Bonadei92ea95e2017-09-15 06:47:31 +0200717 "+api",
718 "+modules/include",
719 "+rtc_base",
720 "+test",
721 "+rtc_tools",
Mirko Bonadeibb547202017-09-15 06:15:48 +0200722]
723
724# The below rules will be removed when webrtc:4243 is fixed.
725specific_include_rules = {
726 "video_receive_stream\.h": [
Mirko Bonadei92ea95e2017-09-15 06:47:31 +0200727 "+call/video_receive_stream.h",
Mirko Bonadeibb547202017-09-15 06:15:48 +0200728 ],
729 "video_send_stream\.h": [
Mirko Bonadei92ea95e2017-09-15 06:47:31 +0200730 "+call/video_send_stream.h",
Mirko Bonadeibb547202017-09-15 06:15:48 +0200731 ],
732}