blob: ff137d3c0a9cdb076c255eda77aefbf61f7a5ef0 [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',
Artem Titova04d1402018-05-11 11:23:00 +02005 # Used by the WebRTC DEPS autoroller to update third_party/. If you need to run autoroller localy,
6 # you can set it via custom_vars section in the .gclient file.
7 'roll_chromium_into_webrtc': False,
Mirko Bonadeicb2bc112017-10-10 13:28:18 +02008 # By default, we should check out everything needed to run on the main
9 # chromium waterfalls. More info at: crbug.com/570091.
10 'checkout_configuration': 'default',
11 'checkout_instrumented_libraries': 'checkout_linux and checkout_configuration == "default"',
Henrik Kjellandera9d4da82017-09-14 07:28:10 +020012 'webrtc_git': 'https://webrtc.googlesource.com',
Autoroller5f5819f2018-06-21 13:44:00 -070013 'chromium_revision': 'cb8b61b491aad9c3b36dbfd705d52a7bfc3c2dda',
kjellander@webrtc.org177567c2016-12-22 10:40:28 +010014 'boringssl_git': 'https://boringssl.googlesource.com',
15 # Three lines of non-changing comments so that
16 # the commit queue can handle CLs rolling swarming_client
17 # and whatever else without interference from each other.
Autoroller024eeff2018-06-18 21:44:09 -070018 'swarming_revision': '9a518d097dca20b7b00ce3bdfc5d418ccc79893a',
kjellander@webrtc.org177567c2016-12-22 10:40:28 +010019 # Three lines of non-changing comments so that
kjellander@webrtc.org177567c2016-12-22 10:40:28 +010020 # the commit queue can handle CLs rolling BoringSSL
21 # and whatever else without interference from each other.
Autoroller024eeff2018-06-18 21:44:09 -070022 'boringssl_revision': '6ff2ba80b758025fdb137d9357dcbba0a9c04dbf',
kjellander@webrtc.org177567c2016-12-22 10:40:28 +010023 # Three lines of non-changing comments so that
kjellander@webrtc.org177567c2016-12-22 10:40:28 +010024 # the commit queue can handle CLs rolling lss
25 # and whatever else without interference from each other.
Oleh Prypin3ebed362017-10-27 10:14:45 +020026 'lss_revision': 'e6527b0cd469e3ff5764785dadcb39bf7d787154',
kjellander@webrtc.org177567c2016-12-22 10:40:28 +010027 # Three lines of non-changing comments so that
28 # the commit queue can handle CLs rolling catapult
29 # and whatever else without interference from each other.
Autoroller5f5819f2018-06-21 13:44:00 -070030 'catapult_revision': '53842b6cbc1fbab4f69ed5b9c2c30babd61cefbd',
kjellander@webrtc.org177567c2016-12-22 10:40:28 +010031 # Three lines of non-changing comments so that
32 # the commit queue can handle CLs rolling libFuzzer
33 # and whatever else without interference from each other.
Autorollerb7beba42018-06-08 15:46:35 -070034 'libfuzzer_revision': '873dc11d9a5281034e2cb74d0e87e9149a0e1045',
Mirko Bonadei25acef72018-04-23 11:17:50 +020035 # Three lines of non-changing comments so that
36 # the commit queue can handle CLs rolling freetype
37 # and whatever else without interference from each other.
Autoroller751a8172018-06-19 12:44:37 -070038 'freetype_revision': '7915fd51f123d0adbe6a0b9ad19eb941e1733c87',
Mirko Bonadei25acef72018-04-23 11:17:50 +020039 # Three lines of non-changing comments so that
40 # the commit queue can handle CLs rolling HarfBuzz
41 # and whatever else without interference from each other.
42 'harfbuzz_revision': '957e7756634a4fdf1654041e20e883cf964ecac9',
Artem Titova04d1402018-05-11 11:23:00 +020043 # Three lines of non-changing comments so that
44 # the commit queue can handle CLs rolling Chromium third_party
45 # and whatever else without interference from each other.
Autoroller5f5819f2018-06-21 13:44:00 -070046 'chromium_third_party_revision': 'b0f19bfaad365c8ae66dec47bd32419ab6e722fb',
andrew@webrtc.org4ce52bb2012-07-31 21:54:13 +000047}
andrew@webrtc.org4ce52bb2012-07-31 21:54:13 +000048deps = {
kjellander@webrtc.org177567c2016-12-22 10:40:28 +010049 # TODO(kjellander): Move this to be Android-only once the libevent dependency
50 # in base/third_party/libevent is solved.
51 'src/base':
Autoroller5f5819f2018-06-21 13:44:00 -070052 Var('chromium_git') + '/chromium/src/base' + '@' + '4d325e07edba19e2d68211f88546d799e70b5961',
kjellander@webrtc.org177567c2016-12-22 10:40:28 +010053 'src/build':
Autoroller5f5819f2018-06-21 13:44:00 -070054 Var('chromium_git') + '/chromium/src/build' + '@' + 'c3e2883ba813bc535ffe877ffd69a98804e3edc1',
kjellander@webrtc.org177567c2016-12-22 10:40:28 +010055 'src/buildtools':
Autoroller024eeff2018-06-18 21:44:09 -070056 Var('chromium_git') + '/chromium/buildtools.git' + '@' + '5941c1b3df96c1db756a2834343533335c394c4a',
Mirko Bonadeid3fb8642018-01-22 08:50:32 +010057 # Gradle 4.3-rc4. Used for testing Android Studio project generation for WebRTC.
58 'src/examples/androidtests/third_party/gradle': {
59 'url': Var('chromium_git') + '/external/github.com/gradle/gradle.git' + '@' +
60 '89af43c4d0506f69980f00dde78c97b2f81437f8',
61 'condition': 'checkout_android',
62 },
Henrik Kjellander5a17ea92017-10-09 13:14:23 +020063 'src/ios': {
Autoroller5f5819f2018-06-21 13:44:00 -070064 'url': Var('chromium_git') + '/chromium/src/ios' + '@' + '720bfc790a30282ce2685ea7cae2bdc7adc5f20a',
Henrik Kjellander5a17ea92017-10-09 13:14:23 +020065 'condition': 'checkout_ios',
66 },
kjellander@webrtc.org177567c2016-12-22 10:40:28 +010067 'src/testing':
Autoroller5f5819f2018-06-21 13:44:00 -070068 Var('chromium_git') + '/chromium/src/testing' + '@' + '12897eb458ff505af7ffaccff2b74cc0f9e2e920',
Artem Titova04d1402018-05-11 11:23:00 +020069 # This entry is used for chromium third_party rolling into webrtc third_party only.
70 'src/third_party_chromium': {
71 'url': Var('chromium_git') + '/chromium/src/third_party' + '@' + Var('chromium_third_party_revision'),
72 'condition': 'roll_chromium_into_webrtc',
73 },
Edward Lemur55536f22018-01-11 14:14:26 +010074 'src/third_party/android_ndk': {
Autorollerbf51de82018-05-04 03:44:23 -070075 'url': Var('chromium_git') + '/android_ndk.git' + '@' + '5cd86312e794bdf542a3685c6f10cbb96072990b',
Edward Lemur55536f22018-01-11 14:14:26 +010076 'condition': 'checkout_android',
77 },
Henrik Kjellander5a17ea92017-10-09 13:14:23 +020078 'src/third_party/android_tools': {
Autoroller94ffe902018-03-05 13:45:22 -080079 'url': Var('chromium_git') + '/android_tools.git' + '@' + 'c22a664c39af72dd8f89200220713dcad811300a',
Henrik Kjellander5a17ea92017-10-09 13:14:23 +020080 'condition': 'checkout_android',
81 },
Mirko Bonadei969d4a92017-11-05 15:57:38 -080082 'src/third_party/auto/src': {
Autoroller23b5cc92018-01-18 12:45:10 -080083 'url': Var('chromium_git') + '/external/github.com/google/auto.git' + '@' + '8a81a858ae7b78a1aef71ac3905fade0bbd64e82',
Mirko Bonadei969d4a92017-11-05 15:57:38 -080084 'condition': 'checkout_android',
85 },
kjellander@webrtc.org177567c2016-12-22 10:40:28 +010086 'src/third_party/boringssl/src':
Henrik Kjellander5a17ea92017-10-09 13:14:23 +020087 Var('boringssl_git') + '/boringssl.git' + '@' + Var('boringssl_revision'),
kjellander@webrtc.org177567c2016-12-22 10:40:28 +010088 'src/third_party/catapult':
Henrik Kjellander5a17ea92017-10-09 13:14:23 +020089 Var('chromium_git') + '/catapult.git' + '@' + Var('catapult_revision'),
90 'src/third_party/ced/src': {
91 'url': Var('chromium_git') + '/external/github.com/google/compact_enc_det.git' + '@' + '94c367a1fe3a13207f4b22604fcfd1d9f9ddf6d9',
92 'condition': 'checkout_android',
93 },
kjellander@webrtc.org177567c2016-12-22 10:40:28 +010094 'src/third_party/colorama/src':
95 Var('chromium_git') + '/external/colorama.git' + '@' + '799604a1041e9b3bc5d2789ecbd7e8db2e18e6b8',
oprypin40e7ebd2017-07-27 01:40:18 -070096 'src/third_party/depot_tools':
Autoroller5f5819f2018-06-21 13:44:00 -070097 Var('chromium_git') + '/chromium/tools/depot_tools.git' + '@' + '04925ac3f7e50988945be3a5655198736a8b3e58',
Mirko Bonadei65ceb662017-10-13 09:45:37 +020098 'src/third_party/errorprone/lib': {
Oleh Prypina12bdbf2018-04-26 15:49:11 +020099 'url': Var('chromium_git') + '/chromium/third_party/errorprone.git' + '@' + '980d49e839aa4984015efed34b0134d4b2c9b6d7',
Mirko Bonadei65ceb662017-10-13 09:45:37 +0200100 'condition': 'checkout_android',
101 },
kjellander@webrtc.org177567c2016-12-22 10:40:28 +0100102 'src/third_party/ffmpeg':
Autorollerd8b4f1e2018-05-03 02:44:16 -0700103 Var('chromium_git') + '/chromium/third_party/ffmpeg.git' + '@' + '90210b5e10d3917567a3025e4853704bfefd8384',
Oleh Prypine39c3792017-11-14 23:09:08 +0100104 'src/third_party/findbugs': {
105 'url': Var('chromium_git') + '/chromium/deps/findbugs.git' + '@' + '4275d9ac8610db6b1bc9a5e887f97e41b33fac67',
106 'condition': 'checkout_android',
107 },
Mirko Bonadei25acef72018-04-23 11:17:50 +0200108 'src/third_party/freetype/src':
109 Var('chromium_git') + '/chromium/src/third_party/freetype2.git' + '@' + Var('freetype_revision'),
110 'src/third_party/harfbuzz-ng/src':
111 Var('chromium_git') + '/external/github.com/harfbuzz/harfbuzz.git' + '@' + Var('harfbuzz_revision'),
Henrik Kjellander5a17ea92017-10-09 13:14:23 +0200112 # WebRTC-only dependency (not present in Chromium).
113 'src/third_party/gtest-parallel':
Autorollerb4e0e502018-05-09 18:45:49 -0700114 Var('chromium_git') + '/external/github.com/google/gtest-parallel' + '@' + 'cb3514a0858be0f66281d892e2242d1073fd75fe',
kjellander3dae7052017-05-03 06:44:36 -0700115 'src/third_party/googletest/src':
Autoroller024eeff2018-06-18 21:44:09 -0700116 Var('chromium_git') + '/external/github.com/google/googletest.git' + '@' + 'ce468a17c434e4e79724396ee1b51d86bfc8a88b',
Henrik Kjellander5a17ea92017-10-09 13:14:23 +0200117 'src/third_party/icu': {
Autoroller5f5819f2018-06-21 13:44:00 -0700118 'url': Var('chromium_git') + '/chromium/deps/icu.git' + '@' + '172d33141cd16df9d027cfd49bfe940b1dc66f1a',
Henrik Kjellander5a17ea92017-10-09 13:14:23 +0200119 },
120 'src/third_party/jsr-305/src': {
121 'url': Var('chromium_git') + '/external/jsr-305.git' + '@' + '642c508235471f7220af6d5df2d3210e3bfc0919',
122 'condition': 'checkout_android',
123 },
kjellander@webrtc.org177567c2016-12-22 10:40:28 +0100124 'src/third_party/jsoncpp/source':
125 Var('chromium_git') + '/external/github.com/open-source-parsers/jsoncpp.git' + '@' + 'f572e8e42e22cfcf5ab0aea26574f408943edfa4', # from svn 248
Henrik Kjellander5a17ea92017-10-09 13:14:23 +0200126 'src/third_party/junit/src': {
127 'url': Var('chromium_git') + '/external/junit.git' + '@' + '64155f8a9babcfcf4263cf4d08253a1556e75481',
128 'condition': 'checkout_android',
129 },
kjellander@webrtc.org177567c2016-12-22 10:40:28 +0100130 # Used for building libFuzzers (only supports Linux).
131 'src/third_party/libFuzzer/src':
oprypin801f7222017-09-01 05:43:07 -0700132 Var('chromium_git') + '/chromium/llvm-project/compiler-rt/lib/fuzzer.git' + '@' + Var('libfuzzer_revision'),
kjellander@webrtc.org177567c2016-12-22 10:40:28 +0100133 'src/third_party/libjpeg_turbo':
buildbot1c23e942017-04-20 09:30:13 -0700134 Var('chromium_git') + '/chromium/deps/libjpeg_turbo.git' + '@' + 'a1750dbc79a8792dde3d3f7d7d8ac28ba01ac9dd',
kjellander@webrtc.org177567c2016-12-22 10:40:28 +0100135 'src/third_party/libsrtp':
Autoroller96a0e602018-04-06 19:45:43 -0700136 Var('chromium_git') + '/chromium/deps/libsrtp.git' + '@' + 'fc2345089a6b3c5aca9ecd2e1941871a78a13e9c',
kjellander@webrtc.org177567c2016-12-22 10:40:28 +0100137 'src/third_party/libvpx/source/libvpx':
Autoroller024eeff2018-06-18 21:44:09 -0700138 Var('chromium_git') + '/webm/libvpx.git' + '@' + '8648a64c83b5660eae774d5d41f34fc014ba7b4b',
kjellander@webrtc.org177567c2016-12-22 10:40:28 +0100139 'src/third_party/libyuv':
Autoroller188301c2018-06-19 18:44:29 -0700140 Var('chromium_git') + '/libyuv/libyuv.git' + '@' + 'bc383e76d6316cf7ca59c76d18d0d7e61f007780',
Henrik Kjellander5a17ea92017-10-09 13:14:23 +0200141 'src/third_party/lss': {
142 'url': Var('chromium_git') + '/linux-syscall-support.git' + '@' + Var('lss_revision'),
143 'condition': 'checkout_android or checkout_linux',
144 },
145 'src/third_party/mockito/src': {
146 'url': Var('chromium_git') + '/external/mockito/mockito.git' + '@' + 'de83ad4598ad4cf5ea53c69a8a8053780b04b850',
147 'condition': 'checkout_android',
148 },
kjellander@webrtc.org177567c2016-12-22 10:40:28 +0100149 'src/third_party/openh264/src':
Autoroller5d16e2c2018-05-03 10:44:45 -0700150 Var('chromium_git') + '/external/github.com/cisco/openh264' + '@' + '3b51f16a4a41df729f8d647f03e48c5f272911ff',
Patrik Höglund72520532018-06-08 10:43:05 +0200151 'src/third_party/r8': {
152 'packages': [
153 {
154 'package': 'chromium/third_party/r8',
155 'version': 'version:1.0.30',
156 },
157 ],
158 'condition': 'checkout_android',
159 'dep_type': 'cipd',
160 },
Henrik Kjellander5a17ea92017-10-09 13:14:23 +0200161 'src/third_party/requests/src': {
162 'url': Var('chromium_git') + '/external/github.com/kennethreitz/requests.git' + '@' + 'f172b30356d821d180fa4ecfa3e71c7274a32de4',
163 'condition': 'checkout_android',
164 },
165 'src/third_party/robolectric/robolectric': {
Autorollere9fe8b52017-11-30 15:46:32 -0800166 'url': Var('chromium_git') + '/external/robolectric.git' + '@' + '7e067f1112e1502caa742f7be72d37b5678d3403',
Henrik Kjellander5a17ea92017-10-09 13:14:23 +0200167 'condition': 'checkout_android',
168 },
169 'src/third_party/ub-uiautomator/lib': {
170 'url': Var('chromium_git') + '/chromium/third_party/ub-uiautomator.git' + '@' + '00270549ce3161ae72ceb24712618ea28b4f9434',
171 'condition': 'checkout_android',
172 },
kjellander@webrtc.org177567c2016-12-22 10:40:28 +0100173 'src/third_party/usrsctp/usrsctplib':
Autoroller1b3bd0b2018-03-26 05:44:30 -0700174 Var('chromium_git') + '/external/github.com/sctplab/usrsctp' + '@' + '159d060dceec41a64a57356cbba8c455105f3f72',
Henrik Kjellander5a17ea92017-10-09 13:14:23 +0200175 # WebRTC-only dependency (not present in Chromium).
176 'src/third_party/winsdk_samples': {
Mirko Bonadeief003102018-05-15 11:24:00 +0200177 'url': Var('webrtc_git') + '/deps/third_party/winsdk_samples_v71' + '@' + 'a59391ef795986633735a1695caa97622a9bfd56',
Henrik Kjellander5a17ea92017-10-09 13:14:23 +0200178 'condition': 'checkout_win',
179 },
180 # Dependency used by libjpeg-turbo.
181 'src/third_party/yasm/binaries': {
182 'url': Var('chromium_git') + '/chromium/deps/yasm/binaries.git' + '@' + '52f9b3f4b0aa06da24ef8b123058bb61ee468881',
183 'condition': 'checkout_win',
184 },
kjellander@webrtc.org177567c2016-12-22 10:40:28 +0100185 'src/third_party/yasm/source/patched-yasm':
buildbotf3f7f622017-08-10 21:29:33 -0700186 Var('chromium_git') + '/chromium/deps/yasm/patched-yasm.git' + '@' + 'b98114e18d8b9b84586b10d24353ab8616d4c5fc',
kjellander@webrtc.org177567c2016-12-22 10:40:28 +0100187 'src/tools':
Autoroller5f5819f2018-06-21 13:44:00 -0700188 Var('chromium_git') + '/chromium/src/tools' + '@' + '674f7d10b44126d54ddced36f0dd71a8d6b31b92',
oprypin4ccd9c12017-08-30 00:42:43 -0700189 'src/tools/swarming_client':
190 Var('chromium_git') + '/infra/luci/client-py.git' + '@' + Var('swarming_revision'),
Oleh Prypine18e2692018-02-19 18:43:17 +0100191
192 'src/third_party/accessibility_test_framework': {
193 'packages': [
194 {
195 'package': 'chromium/third_party/accessibility-test-framework',
196 'version': 'version:2.1-cr0',
197 },
198 ],
199 'condition': 'checkout_android',
200 'dep_type': 'cipd',
201 },
202
203 'src/third_party/android_support_test_runner': {
204 'packages': [
205 {
206 'package': 'chromium/third_party/android_support_test_runner',
207 'version': 'version:0.5-cr0',
208 },
209 ],
210 'condition': 'checkout_android',
211 'dep_type': 'cipd',
212 },
213
214 'src/third_party/apk-patch-size-estimator': {
215 'packages': [
216 {
217 'package': 'chromium/third_party/apk-patch-size-estimator',
218 'version': 'version:0.2-cr0',
219 },
220 ],
221 'condition': 'checkout_android',
222 'dep_type': 'cipd',
223 },
224
225 'src/third_party/bazel': {
226 'packages': [
227 {
228 'package': 'chromium/third_party/bazel',
229 'version': 'version:0.10.0',
230 },
231 ],
232 'condition': 'checkout_android',
233 'dep_type': 'cipd',
234 },
235
236 'src/third_party/bouncycastle': {
237 'packages': [
238 {
239 'package': 'chromium/third_party/bouncycastle',
240 'version': 'version:1.46-cr0',
241 },
242 ],
243 'condition': 'checkout_android',
244 'dep_type': 'cipd',
245 },
246
247 'src/third_party/byte_buddy': {
248 'packages': [
249 {
250 'package': 'chromium/third_party/byte_buddy',
251 'version': 'version:1.4.17-cr0',
252 },
253 ],
254 'condition': 'checkout_android',
255 'dep_type': 'cipd',
256 },
257
258 'src/third_party/espresso': {
259 'packages': [
260 {
261 'package': 'chromium/third_party/espresso',
262 'version': 'version:2.2.1-cr0',
263 },
264 ],
265 'condition': 'checkout_android',
266 'dep_type': 'cipd',
267 },
268
269 'src/third_party/gson': {
270 'packages': [
271 {
272 'package': 'chromium/third_party/gson',
273 'version': 'version:2.8.0-cr0',
274 },
275 ],
276 'condition': 'checkout_android',
277 'dep_type': 'cipd',
278 },
279
280 'src/third_party/guava': {
281 'packages': [
282 {
283 'package': 'chromium/third_party/guava',
284 'version': 'version:23.0-cr0',
285 },
286 ],
287 'condition': 'checkout_android',
288 'dep_type': 'cipd',
289 },
290
291 'src/third_party/hamcrest': {
292 'packages': [
293 {
294 'package': 'chromium/third_party/hamcrest',
295 'version': 'version:1.3-cr0',
296 },
297 ],
298 'condition': 'checkout_android',
299 'dep_type': 'cipd',
300 },
301
302 'src/third_party/icu4j': {
303 'packages': [
304 {
305 'package': 'chromium/third_party/icu4j',
306 'version': 'version:53.1-cr0',
307 },
308 ],
309 'condition': 'checkout_android',
310 'dep_type': 'cipd',
311 },
312
313 'src/third_party/intellij': {
314 'packages': [
315 {
316 'package': 'chromium/third_party/intellij',
317 'version': 'version:12.0-cr0',
318 },
319 ],
320 'condition': 'checkout_android',
321 'dep_type': 'cipd',
322 },
323
324 'src/third_party/javax_inject': {
325 'packages': [
326 {
327 'package': 'chromium/third_party/javax_inject',
328 'version': 'version:1-cr0',
329 },
330 ],
331 'condition': 'checkout_android',
332 'dep_type': 'cipd',
333 },
334
335 'src/third_party/objenesis': {
336 'packages': [
337 {
338 'package': 'chromium/third_party/objenesis',
339 'version': 'version:2.4-cr0',
340 },
341 ],
342 'condition': 'checkout_android',
343 'dep_type': 'cipd',
344 },
345
346 'src/third_party/ow2_asm': {
347 'packages': [
348 {
349 'package': 'chromium/third_party/ow2_asm',
350 'version': 'version:5.0.1-cr0',
351 },
352 ],
353 'condition': 'checkout_android',
354 'dep_type': 'cipd',
355 },
356
357 'src/third_party/robolectric': {
358 'packages': [
359 {
360 'package': 'chromium/third_party/robolectric',
361 'version': 'version:3.5.1',
362 },
363 ],
364 'condition': 'checkout_android',
365 'dep_type': 'cipd',
366 },
367
368 'src/third_party/sqlite4java': {
369 'packages': [
370 {
371 'package': 'chromium/third_party/sqlite4java',
372 'version': 'version:0.282-cr0',
373 },
374 ],
375 'condition': 'checkout_android',
376 'dep_type': 'cipd',
377 },
378
379 'src/third_party/xstream': {
380 'packages': [
381 {
382 'package': 'chromium/third_party/xstream',
383 'version': 'version:1.4.8-cr0',
384 },
385 ],
386 'condition': 'checkout_android',
387 'dep_type': 'cipd',
388 },
andrew@webrtc.org4ce52bb2012-07-31 21:54:13 +0000389}
kjellander200028f2017-08-17 09:54:12 -0700390
andrew@webrtc.org4ce52bb2012-07-31 21:54:13 +0000391hooks = [
392 {
Henrik Kjellander27576e02015-10-15 14:24:09 +0200393 # This clobbers when necessary (based on get_landmines.py). It should be
394 # an early hook but it will need to be run after syncing Chromium and
395 # setting up the links, so the script actually exists.
396 'name': 'landmines',
397 'pattern': '.',
398 'action': [
399 'python',
400 'src/build/landmines.py',
401 '--landmine-scripts',
Henrik Kjellander90fd7d82017-05-09 08:30:10 +0200402 'src/tools_webrtc/get_landmines.py',
Henrik Kjellander27576e02015-10-15 14:24:09 +0200403 '--src-dir',
404 'src',
405 ],
406 },
oprypin40e7ebd2017-07-27 01:40:18 -0700407 {
408 # Ensure that the DEPS'd "depot_tools" has its self-update capability
409 # disabled.
410 'name': 'disable_depot_tools_selfupdate',
411 'pattern': '.',
412 'action': [
413 'python',
414 'src/third_party/depot_tools/update_depot_tools_toggle.py',
415 '--disable',
416 ],
417 },
kjellander24d812d2016-11-22 07:02:11 -0800418 {
Mirko Bonadeib8a7d9d2018-02-12 08:57:35 +0100419 'name': 'sysroot_arm',
kjellander24d812d2016-11-22 07:02:11 -0800420 'pattern': '.',
Mirko Bonadeib8a7d9d2018-02-12 08:57:35 +0100421 'condition': 'checkout_linux and checkout_arm',
kjellander24d812d2016-11-22 07:02:11 -0800422 'action': ['python', 'src/build/linux/sysroot_scripts/install-sysroot.py',
Mirko Bonadeib8a7d9d2018-02-12 08:57:35 +0100423 '--arch=arm'],
424 },
425 {
426 'name': 'sysroot_arm64',
427 'pattern': '.',
428 'condition': 'checkout_linux and checkout_arm64',
429 'action': ['python', 'src/build/linux/sysroot_scripts/install-sysroot.py',
430 '--arch=arm64'],
431 },
432 {
433 'name': 'sysroot_x86',
434 'pattern': '.',
435 'condition': 'checkout_linux and (checkout_x86 or checkout_x64)',
436 # TODO(mbonadei): change to --arch=x86.
437 'action': ['python', 'src/build/linux/sysroot_scripts/install-sysroot.py',
438 '--arch=i386'],
439 },
440 {
441 'name': 'sysroot_mips',
442 'pattern': '.',
443 'condition': 'checkout_linux and checkout_mips',
444 # TODO(mbonadei): change to --arch=mips.
445 'action': ['python', 'src/build/linux/sysroot_scripts/install-sysroot.py',
446 '--arch=mipsel'],
447 },
448 {
449 'name': 'sysroot_x64',
450 'pattern': '.',
451 'condition': 'checkout_linux and checkout_x64',
452 # TODO(mbonadei): change to --arch=x64.
453 'action': ['python', 'src/build/linux/sysroot_scripts/install-sysroot.py',
454 '--arch=amd64'],
kjellander24d812d2016-11-22 07:02:11 -0800455 },
456 {
Mirko Bonadeia55bdc22018-02-12 13:22:50 +0100457 # Case-insensitivity for the Win SDK. Must run before win_toolchain below.
458 'name': 'ciopfs_linux',
459 'pattern': '.',
460 'condition': 'checkout_win and host_os == "linux"',
461 'action': [ 'python',
462 'src/third_party/depot_tools/download_from_google_storage.py',
463 '--no_resume',
464 '--no_auth',
465 '--bucket', 'chromium-browser-clang/ciopfs',
466 '-s', 'src/build/ciopfs.sha1',
467 ]
468 },
469 {
Henrik Kjellander6b269752017-10-09 13:00:41 +0200470 # Update the Windows toolchain if necessary. Must run before 'clang' below.
kjellander24d812d2016-11-22 07:02:11 -0800471 'name': 'win_toolchain',
472 'pattern': '.',
Mirko Bonadeif0707cb2018-02-13 11:29:09 +0100473 'condition': 'checkout_win',
474 'action': ['python', 'src/build/vs_toolchain.py', 'update', '--force'],
kjellander24d812d2016-11-22 07:02:11 -0800475 },
kjellanderec2c93e2017-09-08 10:52:17 -0700476 {
477 # Update the Mac toolchain if necessary.
478 'name': 'mac_toolchain',
479 'pattern': '.',
Henrik Kjellander6b269752017-10-09 13:00:41 +0200480 'condition': 'checkout_mac',
kjellanderec2c93e2017-09-08 10:52:17 -0700481 'action': ['python', 'src/build/mac_toolchain.py'],
482 },
kjellander24d812d2016-11-22 07:02:11 -0800483 # Pull binutils for linux, enabled debug fission for faster linking /
484 # debugging when used with clang on Ubuntu Precise.
485 # https://code.google.com/p/chromium/issues/detail?id=352046
486 {
487 'name': 'binutils',
488 'pattern': 'src/third_party/binutils',
Henrik Kjellander6b269752017-10-09 13:00:41 +0200489 'condition': 'host_os == "linux"',
kjellander24d812d2016-11-22 07:02:11 -0800490 'action': [
491 'python',
492 'src/third_party/binutils/download.py',
493 ],
494 },
495 {
kjellander24d812d2016-11-22 07:02:11 -0800496 # Note: On Win, this should run after win_toolchain, as it may use it.
497 'name': 'clang',
498 'pattern': '.',
Henrik Kjellander6b269752017-10-09 13:00:41 +0200499 'action': ['python', 'src/tools/clang/scripts/update.py'],
kjellander24d812d2016-11-22 07:02:11 -0800500 },
ehmaldonado293bc2a2016-11-25 04:58:47 -0800501 {
502 # Update LASTCHANGE.
503 'name': 'lastchange',
504 'pattern': '.',
505 'action': ['python', 'src/build/util/lastchange.py',
506 '-o', 'src/build/util/LASTCHANGE'],
507 },
kjellander24d812d2016-11-22 07:02:11 -0800508 # Pull GN binaries.
509 {
510 'name': 'gn_win',
511 'pattern': '.',
Henrik Kjellander6b269752017-10-09 13:00:41 +0200512 'condition': 'host_os == "win"',
kjellander24d812d2016-11-22 07:02:11 -0800513 'action': [ 'download_from_google_storage',
514 '--no_resume',
515 '--platform=win32',
516 '--no_auth',
517 '--bucket', 'chromium-gn',
518 '-s', 'src/buildtools/win/gn.exe.sha1',
519 ],
520 },
521 {
522 'name': 'gn_mac',
523 'pattern': '.',
Henrik Kjellander6b269752017-10-09 13:00:41 +0200524 'condition': 'host_os == "mac"',
kjellander24d812d2016-11-22 07:02:11 -0800525 'action': [ 'download_from_google_storage',
526 '--no_resume',
527 '--platform=darwin',
528 '--no_auth',
529 '--bucket', 'chromium-gn',
530 '-s', 'src/buildtools/mac/gn.sha1',
531 ],
532 },
533 {
534 'name': 'gn_linux64',
535 'pattern': '.',
Henrik Kjellander6b269752017-10-09 13:00:41 +0200536 'condition': 'host_os == "linux"',
kjellander24d812d2016-11-22 07:02:11 -0800537 'action': [ 'download_from_google_storage',
538 '--no_resume',
539 '--platform=linux*',
540 '--no_auth',
541 '--bucket', 'chromium-gn',
542 '-s', 'src/buildtools/linux64/gn.sha1',
543 ],
544 },
545 # Pull clang-format binaries using checked-in hashes.
546 {
547 'name': 'clang_format_win',
548 'pattern': '.',
Henrik Kjellander6b269752017-10-09 13:00:41 +0200549 'condition': 'host_os == "win"',
kjellander24d812d2016-11-22 07:02:11 -0800550 'action': [ 'download_from_google_storage',
551 '--no_resume',
552 '--platform=win32',
553 '--no_auth',
554 '--bucket', 'chromium-clang-format',
555 '-s', 'src/buildtools/win/clang-format.exe.sha1',
556 ],
557 },
558 {
559 'name': 'clang_format_mac',
560 'pattern': '.',
Henrik Kjellander6b269752017-10-09 13:00:41 +0200561 'condition': 'host_os == "mac"',
kjellander24d812d2016-11-22 07:02:11 -0800562 'action': [ 'download_from_google_storage',
563 '--no_resume',
564 '--platform=darwin',
565 '--no_auth',
566 '--bucket', 'chromium-clang-format',
567 '-s', 'src/buildtools/mac/clang-format.sha1',
568 ],
569 },
570 {
571 'name': 'clang_format_linux',
572 'pattern': '.',
Henrik Kjellander6b269752017-10-09 13:00:41 +0200573 'condition': 'host_os == "linux"',
kjellander24d812d2016-11-22 07:02:11 -0800574 'action': [ 'download_from_google_storage',
575 '--no_resume',
576 '--platform=linux*',
577 '--no_auth',
578 '--bucket', 'chromium-clang-format',
579 '-s', 'src/buildtools/linux64/clang-format.sha1',
580 ],
581 },
Oleh Prypin3ebed362017-10-27 10:14:45 +0200582 # Pull rc binaries using checked-in hashes.
583 {
584 'name': 'rc_win',
585 'pattern': '.',
586 'condition': 'checkout_win and host_os == "win"',
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/win/rc.exe.sha1',
593 ],
594 },
595 {
596 'name': 'rc_mac',
597 'pattern': '.',
598 'condition': 'checkout_win and host_os == "mac"',
599 'action': [ 'python',
600 'src/third_party/depot_tools/download_from_google_storage.py',
601 '--no_resume',
602 '--no_auth',
603 '--bucket', 'chromium-browser-clang/rc',
604 '-s', 'src/build/toolchain/win/rc/mac/rc.sha1',
605 ],
606 },
607 {
608 'name': 'rc_linux',
609 'pattern': '.',
610 'condition': 'checkout_win and host_os == "linux"',
611 'action': [ 'python',
612 'src/third_party/depot_tools/download_from_google_storage.py',
613 '--no_resume',
614 '--no_auth',
615 '--bucket', 'chromium-browser-clang/rc',
616 '-s', 'src/build/toolchain/win/rc/linux64/rc.sha1',
617 ],
618 },
kjellander24d812d2016-11-22 07:02:11 -0800619 # Pull luci-go binaries (isolate, swarming) using checked-in hashes.
620 {
621 'name': 'luci-go_win',
622 'pattern': '.',
Henrik Kjellander6b269752017-10-09 13:00:41 +0200623 'condition': 'host_os == "win"',
kjellander24d812d2016-11-22 07:02:11 -0800624 'action': [ 'download_from_google_storage',
625 '--no_resume',
626 '--platform=win32',
627 '--no_auth',
628 '--bucket', 'chromium-luci',
629 '-d', 'src/tools/luci-go/win64',
630 ],
631 },
632 {
633 'name': 'luci-go_mac',
634 'pattern': '.',
Henrik Kjellander6b269752017-10-09 13:00:41 +0200635 'condition': 'host_os == "mac"',
kjellander24d812d2016-11-22 07:02:11 -0800636 'action': [ 'download_from_google_storage',
637 '--no_resume',
638 '--platform=darwin',
639 '--no_auth',
640 '--bucket', 'chromium-luci',
641 '-d', 'src/tools/luci-go/mac64',
642 ],
643 },
644 {
645 'name': 'luci-go_linux',
646 'pattern': '.',
Henrik Kjellander6b269752017-10-09 13:00:41 +0200647 'condition': 'host_os == "linux"',
kjellander24d812d2016-11-22 07:02:11 -0800648 'action': [ 'download_from_google_storage',
649 '--no_resume',
650 '--platform=linux*',
651 '--no_auth',
652 '--bucket', 'chromium-luci',
653 '-d', 'src/tools/luci-go/linux64',
654 ],
655 },
Henrik Kjellander55dad1b2017-05-11 12:00:53 +0200656 # Pull the Syzygy binaries, used for optimization and instrumentation.
657 {
658 'name': 'syzygy-binaries',
659 'pattern': '.',
Henrik Kjellander6b269752017-10-09 13:00:41 +0200660 'condition': 'host_os == "win"',
Henrik Kjellander55dad1b2017-05-11 12:00:53 +0200661 'action': ['python',
662 'src/build/get_syzygy_binaries.py',
663 '--output-dir=src/third_party/syzygy/binaries',
664 '--revision=a8456d9248a126881dcfb8707ca7dcdae56e1ac7',
665 '--overwrite',
666 ],
667 },
kjellander24d812d2016-11-22 07:02:11 -0800668 {
Mirko Bonadeicb2bc112017-10-10 13:28:18 +0200669 'name': 'msan_chained_origins',
670 'pattern': '.',
671 'condition': 'checkout_instrumented_libraries',
672 'action': [ 'python',
673 'src/third_party/depot_tools/download_from_google_storage.py',
674 "--no_resume",
675 "--no_auth",
676 "--bucket", "chromium-instrumented-libraries",
677 "-s", "src/third_party/instrumented_libraries/binaries/msan-chained-origins-trusty.tgz.sha1",
678 ],
679 },
680 {
681 'name': 'msan_no_origins',
682 'pattern': '.',
683 'condition': 'checkout_instrumented_libraries',
684 'action': [ 'python',
685 'src/third_party/depot_tools/download_from_google_storage.py',
686 "--no_resume",
687 "--no_auth",
688 "--bucket", "chromium-instrumented-libraries",
689 "-s", "src/third_party/instrumented_libraries/binaries/msan-no-origins-trusty.tgz.sha1",
690 ],
kjellander24d812d2016-11-22 07:02:11 -0800691 },
692 {
kjellander@webrtc.org80174582013-11-04 12:07:57 +0000693 # Download test resources, i.e. video and audio files from Google Storage.
kjellander@webrtc.org8e5c8142014-12-03 07:11:44 +0000694 'pattern': '.',
695 'action': ['download_from_google_storage',
696 '--directory',
697 '--recursive',
698 '--num_threads=10',
699 '--no_auth',
kjellander4ff818e2015-12-18 12:29:28 -0800700 '--quiet',
kjellander@webrtc.org8e5c8142014-12-03 07:11:44 +0000701 '--bucket', 'chromium-webrtc-resources',
702 'src/resources'],
andrew@webrtc.org4ce52bb2012-07-31 21:54:13 +0000703 },
Henrik Kjellander5a17ea92017-10-09 13:14:23 +0200704 {
705 # This downloads SDK extras and puts them in the
706 # third_party/android_tools/sdk/extras directory.
707 'name': 'sdkextras',
708 'pattern': '.',
709 'condition': 'checkout_android',
710 # When adding a new sdk extras package to download, add the package
711 # directory and zip file to .gitignore in third_party/android_tools.
712 'action': ['python',
713 'src/build/android/play_services/update.py',
714 'download'
715 ],
716 },
andrew@webrtc.org4ce52bb2012-07-31 21:54:13 +0000717]
kjellander200028f2017-08-17 09:54:12 -0700718
kjellander24d812d2016-11-22 07:02:11 -0800719recursedeps = [
720 # buildtools provides clang_format, libc++, and libc++abi.
721 'src/buildtools',
722 # android_tools manages the NDK.
723 'src/third_party/android_tools',
724]
Mirko Bonadeibb547202017-09-15 06:15:48 +0200725
726# Define rules for which include paths are allowed in our source.
727include_rules = [
728 # Base is only used to build Android APK tests and may not be referenced by
729 # WebRTC production code.
730 "-base",
731 "-chromium",
732 "+external/webrtc/webrtc", # Android platform build.
Mirko Bonadeibb547202017-09-15 06:15:48 +0200733 "+libyuv",
Patrik Höglund5991ac92018-05-21 15:54:42 +0200734
735 # These should eventually move out of here.
Mirko Bonadei92ea95e2017-09-15 06:47:31 +0200736 "+common_types.h",
Mirko Bonadei92ea95e2017-09-15 06:47:31 +0200737 "+typedefs.h",
Mirko Bonadeibb547202017-09-15 06:15:48 +0200738
739 "+WebRTC",
Mirko Bonadei92ea95e2017-09-15 06:47:31 +0200740 "+api",
741 "+modules/include",
742 "+rtc_base",
743 "+test",
744 "+rtc_tools",
Danil Chapovalov9dce71b2018-06-11 07:48:31 +0000745
746 # Abseil whitelist.
747 "+absl/types/optional.h",
Mirko Bonadeibb547202017-09-15 06:15:48 +0200748]