blob: 25a2a93e605e47450f50fa07599f59eddcd0f092 [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',
Autorollerc941b7e2018-05-21 09:43:24 -070013 'chromium_revision': '039110971be048779a21200d0e98d22da689278a',
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.
Autoroller460f53b2018-05-18 01:44:20 -070018 'swarming_revision': '833f5ebf894be1e3e6d13678d5de8479bf12ff28',
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.
Autorollerd23c6592018-05-14 14:44:20 -070022 'boringssl_revision': '69271b5d4fed328eb61b86b013937ce22549fee5',
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.
Autorollerc941b7e2018-05-21 09:43:24 -070030 'catapult_revision': '7ca7a59f02029679bb68bcf5a79be7db1bbc3c3d',
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.
Autorollerf4f0cbb2018-04-24 04:44:17 -070034 'libfuzzer_revision': 'fda403cf93ecb8792cb1d061564d89a6553ca020',
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.
Autorollerd23c6592018-05-14 14:44:20 -070038 'freetype_revision': '9e345c911714ed62250be13d03d72e25d91fbc77',
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.
Autorollerc941b7e2018-05-21 09:43:24 -070046 'chromium_third_party_revision': 'cc1af829342dfa24713f9a914e5f0065e5bd02ec',
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':
Autorollerc941b7e2018-05-21 09:43:24 -070052 Var('chromium_git') + '/chromium/src/base' + '@' + '8e89780685c3230cd700003a0e0d5e45d08f1664',
kjellander@webrtc.org177567c2016-12-22 10:40:28 +010053 'src/build':
Autorollerc941b7e2018-05-21 09:43:24 -070054 Var('chromium_git') + '/chromium/src/build' + '@' + '66897e4d729dfaeeb84e058290ff0300ca813291',
kjellander@webrtc.org177567c2016-12-22 10:40:28 +010055 'src/buildtools':
Autoroller460f53b2018-05-18 01:44:20 -070056 Var('chromium_git') + '/chromium/buildtools.git' + '@' + '94288c26d2ffe3aec9848c147839afee597acefd',
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': {
Autorollerc941b7e2018-05-21 09:43:24 -070064 'url': Var('chromium_git') + '/chromium/src/ios' + '@' + '02a22b39007fed435fa0b1582ad77bf6255a89e5',
Henrik Kjellander5a17ea92017-10-09 13:14:23 +020065 'condition': 'checkout_ios',
66 },
kjellander@webrtc.org177567c2016-12-22 10:40:28 +010067 'src/testing':
Autorollerc941b7e2018-05-21 09:43:24 -070068 Var('chromium_git') + '/chromium/src/testing' + '@' + '671c6a45223774a8131ea94e519163257e688018',
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':
Autorollerc941b7e2018-05-21 09:43:24 -070097 Var('chromium_git') + '/chromium/tools/depot_tools.git' + '@' + '083eb25f9acbe034db94a1bd5c1659125b6ebf98',
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':
Autoroller460f53b2018-05-18 01:44:20 -0700116 Var('chromium_git') + '/external/github.com/google/googletest.git' + '@' + '08d5b1f33af8c18785fb8ca02792b5fac81e248f',
Henrik Kjellander5a17ea92017-10-09 13:14:23 +0200117 'src/third_party/icu': {
Autorollerf4e8b9f2018-05-09 00:45:17 -0700118 'url': Var('chromium_git') + '/chromium/deps/icu.git' + '@' + 'f61e46dbee9d539a32551493e3bcc1dea92f83ec',
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':
Autoroller74642ba2018-05-16 01:43:42 -0700138 Var('chromium_git') + '/webm/libvpx.git' + '@' + 'd99abe9a9ad78b765386d0ee62559de184ba581e',
kjellander@webrtc.org177567c2016-12-22 10:40:28 +0100139 'src/third_party/libyuv':
Autorollerae3f02d2018-04-04 00:45:10 -0700140 Var('chromium_git') + '/libyuv/libyuv.git' + '@' + 'a9626b9daf62a9b260737e9c2de821ad087b19a1',
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',
Henrik Kjellander5a17ea92017-10-09 13:14:23 +0200151 'src/third_party/requests/src': {
152 'url': Var('chromium_git') + '/external/github.com/kennethreitz/requests.git' + '@' + 'f172b30356d821d180fa4ecfa3e71c7274a32de4',
153 'condition': 'checkout_android',
154 },
155 'src/third_party/robolectric/robolectric': {
Autorollere9fe8b52017-11-30 15:46:32 -0800156 'url': Var('chromium_git') + '/external/robolectric.git' + '@' + '7e067f1112e1502caa742f7be72d37b5678d3403',
Henrik Kjellander5a17ea92017-10-09 13:14:23 +0200157 'condition': 'checkout_android',
158 },
159 'src/third_party/ub-uiautomator/lib': {
160 'url': Var('chromium_git') + '/chromium/third_party/ub-uiautomator.git' + '@' + '00270549ce3161ae72ceb24712618ea28b4f9434',
161 'condition': 'checkout_android',
162 },
kjellander@webrtc.org177567c2016-12-22 10:40:28 +0100163 'src/third_party/usrsctp/usrsctplib':
Autoroller1b3bd0b2018-03-26 05:44:30 -0700164 Var('chromium_git') + '/external/github.com/sctplab/usrsctp' + '@' + '159d060dceec41a64a57356cbba8c455105f3f72',
Henrik Kjellander5a17ea92017-10-09 13:14:23 +0200165 # WebRTC-only dependency (not present in Chromium).
166 'src/third_party/winsdk_samples': {
Mirko Bonadeief003102018-05-15 11:24:00 +0200167 'url': Var('webrtc_git') + '/deps/third_party/winsdk_samples_v71' + '@' + 'a59391ef795986633735a1695caa97622a9bfd56',
Henrik Kjellander5a17ea92017-10-09 13:14:23 +0200168 'condition': 'checkout_win',
169 },
170 # Dependency used by libjpeg-turbo.
171 'src/third_party/yasm/binaries': {
172 'url': Var('chromium_git') + '/chromium/deps/yasm/binaries.git' + '@' + '52f9b3f4b0aa06da24ef8b123058bb61ee468881',
173 'condition': 'checkout_win',
174 },
kjellander@webrtc.org177567c2016-12-22 10:40:28 +0100175 'src/third_party/yasm/source/patched-yasm':
buildbotf3f7f622017-08-10 21:29:33 -0700176 Var('chromium_git') + '/chromium/deps/yasm/patched-yasm.git' + '@' + 'b98114e18d8b9b84586b10d24353ab8616d4c5fc',
kjellander@webrtc.org177567c2016-12-22 10:40:28 +0100177 'src/tools':
Autorollerc941b7e2018-05-21 09:43:24 -0700178 Var('chromium_git') + '/chromium/src/tools' + '@' + 'ff5c71196bbccefb5eb237db626dc7d4f59b00ac',
kjellander@webrtc.org177567c2016-12-22 10:40:28 +0100179 'src/tools/gyp':
buildbot2f0803c2017-07-25 11:40:43 -0700180 Var('chromium_git') + '/external/gyp.git' + '@' + 'd61a9397e668fa9843c4aa7da9e79460fe590bfb',
oprypin4ccd9c12017-08-30 00:42:43 -0700181 'src/tools/swarming_client':
182 Var('chromium_git') + '/infra/luci/client-py.git' + '@' + Var('swarming_revision'),
Oleh Prypine18e2692018-02-19 18:43:17 +0100183
184 'src/third_party/accessibility_test_framework': {
185 'packages': [
186 {
187 'package': 'chromium/third_party/accessibility-test-framework',
188 'version': 'version:2.1-cr0',
189 },
190 ],
191 'condition': 'checkout_android',
192 'dep_type': 'cipd',
193 },
194
195 'src/third_party/android_support_test_runner': {
196 'packages': [
197 {
198 'package': 'chromium/third_party/android_support_test_runner',
199 'version': 'version:0.5-cr0',
200 },
201 ],
202 'condition': 'checkout_android',
203 'dep_type': 'cipd',
204 },
205
206 'src/third_party/apk-patch-size-estimator': {
207 'packages': [
208 {
209 'package': 'chromium/third_party/apk-patch-size-estimator',
210 'version': 'version:0.2-cr0',
211 },
212 ],
213 'condition': 'checkout_android',
214 'dep_type': 'cipd',
215 },
216
217 'src/third_party/bazel': {
218 'packages': [
219 {
220 'package': 'chromium/third_party/bazel',
221 'version': 'version:0.10.0',
222 },
223 ],
224 'condition': 'checkout_android',
225 'dep_type': 'cipd',
226 },
227
228 'src/third_party/bouncycastle': {
229 'packages': [
230 {
231 'package': 'chromium/third_party/bouncycastle',
232 'version': 'version:1.46-cr0',
233 },
234 ],
235 'condition': 'checkout_android',
236 'dep_type': 'cipd',
237 },
238
239 'src/third_party/byte_buddy': {
240 'packages': [
241 {
242 'package': 'chromium/third_party/byte_buddy',
243 'version': 'version:1.4.17-cr0',
244 },
245 ],
246 'condition': 'checkout_android',
247 'dep_type': 'cipd',
248 },
249
250 'src/third_party/espresso': {
251 'packages': [
252 {
253 'package': 'chromium/third_party/espresso',
254 'version': 'version:2.2.1-cr0',
255 },
256 ],
257 'condition': 'checkout_android',
258 'dep_type': 'cipd',
259 },
260
261 'src/third_party/gson': {
262 'packages': [
263 {
264 'package': 'chromium/third_party/gson',
265 'version': 'version:2.8.0-cr0',
266 },
267 ],
268 'condition': 'checkout_android',
269 'dep_type': 'cipd',
270 },
271
272 'src/third_party/guava': {
273 'packages': [
274 {
275 'package': 'chromium/third_party/guava',
276 'version': 'version:23.0-cr0',
277 },
278 ],
279 'condition': 'checkout_android',
280 'dep_type': 'cipd',
281 },
282
283 'src/third_party/hamcrest': {
284 'packages': [
285 {
286 'package': 'chromium/third_party/hamcrest',
287 'version': 'version:1.3-cr0',
288 },
289 ],
290 'condition': 'checkout_android',
291 'dep_type': 'cipd',
292 },
293
294 'src/third_party/icu4j': {
295 'packages': [
296 {
297 'package': 'chromium/third_party/icu4j',
298 'version': 'version:53.1-cr0',
299 },
300 ],
301 'condition': 'checkout_android',
302 'dep_type': 'cipd',
303 },
304
305 'src/third_party/intellij': {
306 'packages': [
307 {
308 'package': 'chromium/third_party/intellij',
309 'version': 'version:12.0-cr0',
310 },
311 ],
312 'condition': 'checkout_android',
313 'dep_type': 'cipd',
314 },
315
316 'src/third_party/javax_inject': {
317 'packages': [
318 {
319 'package': 'chromium/third_party/javax_inject',
320 'version': 'version:1-cr0',
321 },
322 ],
323 'condition': 'checkout_android',
324 'dep_type': 'cipd',
325 },
326
327 'src/third_party/objenesis': {
328 'packages': [
329 {
330 'package': 'chromium/third_party/objenesis',
331 'version': 'version:2.4-cr0',
332 },
333 ],
334 'condition': 'checkout_android',
335 'dep_type': 'cipd',
336 },
337
338 'src/third_party/ow2_asm': {
339 'packages': [
340 {
341 'package': 'chromium/third_party/ow2_asm',
342 'version': 'version:5.0.1-cr0',
343 },
344 ],
345 'condition': 'checkout_android',
346 'dep_type': 'cipd',
347 },
348
349 'src/third_party/robolectric': {
350 'packages': [
351 {
352 'package': 'chromium/third_party/robolectric',
353 'version': 'version:3.5.1',
354 },
355 ],
356 'condition': 'checkout_android',
357 'dep_type': 'cipd',
358 },
359
360 'src/third_party/sqlite4java': {
361 'packages': [
362 {
363 'package': 'chromium/third_party/sqlite4java',
364 'version': 'version:0.282-cr0',
365 },
366 ],
367 'condition': 'checkout_android',
368 'dep_type': 'cipd',
369 },
370
371 'src/third_party/xstream': {
372 'packages': [
373 {
374 'package': 'chromium/third_party/xstream',
375 'version': 'version:1.4.8-cr0',
376 },
377 ],
378 'condition': 'checkout_android',
379 'dep_type': 'cipd',
380 },
andrew@webrtc.org4ce52bb2012-07-31 21:54:13 +0000381}
kjellander200028f2017-08-17 09:54:12 -0700382
andrew@webrtc.org4ce52bb2012-07-31 21:54:13 +0000383hooks = [
384 {
Henrik Kjellander27576e02015-10-15 14:24:09 +0200385 # This clobbers when necessary (based on get_landmines.py). It should be
386 # an early hook but it will need to be run after syncing Chromium and
387 # setting up the links, so the script actually exists.
388 'name': 'landmines',
389 'pattern': '.',
390 'action': [
391 'python',
392 'src/build/landmines.py',
393 '--landmine-scripts',
Henrik Kjellander90fd7d82017-05-09 08:30:10 +0200394 'src/tools_webrtc/get_landmines.py',
Henrik Kjellander27576e02015-10-15 14:24:09 +0200395 '--src-dir',
396 'src',
397 ],
398 },
oprypin40e7ebd2017-07-27 01:40:18 -0700399 {
400 # Ensure that the DEPS'd "depot_tools" has its self-update capability
401 # disabled.
402 'name': 'disable_depot_tools_selfupdate',
403 'pattern': '.',
404 'action': [
405 'python',
406 'src/third_party/depot_tools/update_depot_tools_toggle.py',
407 '--disable',
408 ],
409 },
kjellander24d812d2016-11-22 07:02:11 -0800410 {
Mirko Bonadeib8a7d9d2018-02-12 08:57:35 +0100411 'name': 'sysroot_arm',
kjellander24d812d2016-11-22 07:02:11 -0800412 'pattern': '.',
Mirko Bonadeib8a7d9d2018-02-12 08:57:35 +0100413 'condition': 'checkout_linux and checkout_arm',
kjellander24d812d2016-11-22 07:02:11 -0800414 'action': ['python', 'src/build/linux/sysroot_scripts/install-sysroot.py',
Mirko Bonadeib8a7d9d2018-02-12 08:57:35 +0100415 '--arch=arm'],
416 },
417 {
418 'name': 'sysroot_arm64',
419 'pattern': '.',
420 'condition': 'checkout_linux and checkout_arm64',
421 'action': ['python', 'src/build/linux/sysroot_scripts/install-sysroot.py',
422 '--arch=arm64'],
423 },
424 {
425 'name': 'sysroot_x86',
426 'pattern': '.',
427 'condition': 'checkout_linux and (checkout_x86 or checkout_x64)',
428 # TODO(mbonadei): change to --arch=x86.
429 'action': ['python', 'src/build/linux/sysroot_scripts/install-sysroot.py',
430 '--arch=i386'],
431 },
432 {
433 'name': 'sysroot_mips',
434 'pattern': '.',
435 'condition': 'checkout_linux and checkout_mips',
436 # TODO(mbonadei): change to --arch=mips.
437 'action': ['python', 'src/build/linux/sysroot_scripts/install-sysroot.py',
438 '--arch=mipsel'],
439 },
440 {
441 'name': 'sysroot_x64',
442 'pattern': '.',
443 'condition': 'checkout_linux and checkout_x64',
444 # TODO(mbonadei): change to --arch=x64.
445 'action': ['python', 'src/build/linux/sysroot_scripts/install-sysroot.py',
446 '--arch=amd64'],
kjellander24d812d2016-11-22 07:02:11 -0800447 },
448 {
Mirko Bonadeia55bdc22018-02-12 13:22:50 +0100449 # Case-insensitivity for the Win SDK. Must run before win_toolchain below.
450 'name': 'ciopfs_linux',
451 'pattern': '.',
452 'condition': 'checkout_win and host_os == "linux"',
453 'action': [ 'python',
454 'src/third_party/depot_tools/download_from_google_storage.py',
455 '--no_resume',
456 '--no_auth',
457 '--bucket', 'chromium-browser-clang/ciopfs',
458 '-s', 'src/build/ciopfs.sha1',
459 ]
460 },
461 {
Henrik Kjellander6b269752017-10-09 13:00:41 +0200462 # Update the Windows toolchain if necessary. Must run before 'clang' below.
kjellander24d812d2016-11-22 07:02:11 -0800463 'name': 'win_toolchain',
464 'pattern': '.',
Mirko Bonadeif0707cb2018-02-13 11:29:09 +0100465 'condition': 'checkout_win',
466 'action': ['python', 'src/build/vs_toolchain.py', 'update', '--force'],
kjellander24d812d2016-11-22 07:02:11 -0800467 },
kjellanderec2c93e2017-09-08 10:52:17 -0700468 {
469 # Update the Mac toolchain if necessary.
470 'name': 'mac_toolchain',
471 'pattern': '.',
Henrik Kjellander6b269752017-10-09 13:00:41 +0200472 'condition': 'checkout_mac',
kjellanderec2c93e2017-09-08 10:52:17 -0700473 'action': ['python', 'src/build/mac_toolchain.py'],
474 },
kjellander24d812d2016-11-22 07:02:11 -0800475 # Pull binutils for linux, enabled debug fission for faster linking /
476 # debugging when used with clang on Ubuntu Precise.
477 # https://code.google.com/p/chromium/issues/detail?id=352046
478 {
479 'name': 'binutils',
480 'pattern': 'src/third_party/binutils',
Henrik Kjellander6b269752017-10-09 13:00:41 +0200481 'condition': 'host_os == "linux"',
kjellander24d812d2016-11-22 07:02:11 -0800482 'action': [
483 'python',
484 'src/third_party/binutils/download.py',
485 ],
486 },
487 {
kjellander24d812d2016-11-22 07:02:11 -0800488 # Note: On Win, this should run after win_toolchain, as it may use it.
489 'name': 'clang',
490 'pattern': '.',
Henrik Kjellander6b269752017-10-09 13:00:41 +0200491 'action': ['python', 'src/tools/clang/scripts/update.py'],
kjellander24d812d2016-11-22 07:02:11 -0800492 },
ehmaldonado293bc2a2016-11-25 04:58:47 -0800493 {
494 # Update LASTCHANGE.
495 'name': 'lastchange',
496 'pattern': '.',
497 'action': ['python', 'src/build/util/lastchange.py',
498 '-o', 'src/build/util/LASTCHANGE'],
499 },
kjellander24d812d2016-11-22 07:02:11 -0800500 # Pull GN binaries.
501 {
502 'name': 'gn_win',
503 'pattern': '.',
Henrik Kjellander6b269752017-10-09 13:00:41 +0200504 'condition': 'host_os == "win"',
kjellander24d812d2016-11-22 07:02:11 -0800505 'action': [ 'download_from_google_storage',
506 '--no_resume',
507 '--platform=win32',
508 '--no_auth',
509 '--bucket', 'chromium-gn',
510 '-s', 'src/buildtools/win/gn.exe.sha1',
511 ],
512 },
513 {
514 'name': 'gn_mac',
515 'pattern': '.',
Henrik Kjellander6b269752017-10-09 13:00:41 +0200516 'condition': 'host_os == "mac"',
kjellander24d812d2016-11-22 07:02:11 -0800517 'action': [ 'download_from_google_storage',
518 '--no_resume',
519 '--platform=darwin',
520 '--no_auth',
521 '--bucket', 'chromium-gn',
522 '-s', 'src/buildtools/mac/gn.sha1',
523 ],
524 },
525 {
526 'name': 'gn_linux64',
527 'pattern': '.',
Henrik Kjellander6b269752017-10-09 13:00:41 +0200528 'condition': 'host_os == "linux"',
kjellander24d812d2016-11-22 07:02:11 -0800529 'action': [ 'download_from_google_storage',
530 '--no_resume',
531 '--platform=linux*',
532 '--no_auth',
533 '--bucket', 'chromium-gn',
534 '-s', 'src/buildtools/linux64/gn.sha1',
535 ],
536 },
537 # Pull clang-format binaries using checked-in hashes.
538 {
539 'name': 'clang_format_win',
540 'pattern': '.',
Henrik Kjellander6b269752017-10-09 13:00:41 +0200541 'condition': 'host_os == "win"',
kjellander24d812d2016-11-22 07:02:11 -0800542 'action': [ 'download_from_google_storage',
543 '--no_resume',
544 '--platform=win32',
545 '--no_auth',
546 '--bucket', 'chromium-clang-format',
547 '-s', 'src/buildtools/win/clang-format.exe.sha1',
548 ],
549 },
550 {
551 'name': 'clang_format_mac',
552 'pattern': '.',
Henrik Kjellander6b269752017-10-09 13:00:41 +0200553 'condition': 'host_os == "mac"',
kjellander24d812d2016-11-22 07:02:11 -0800554 'action': [ 'download_from_google_storage',
555 '--no_resume',
556 '--platform=darwin',
557 '--no_auth',
558 '--bucket', 'chromium-clang-format',
559 '-s', 'src/buildtools/mac/clang-format.sha1',
560 ],
561 },
562 {
563 'name': 'clang_format_linux',
564 'pattern': '.',
Henrik Kjellander6b269752017-10-09 13:00:41 +0200565 'condition': 'host_os == "linux"',
kjellander24d812d2016-11-22 07:02:11 -0800566 'action': [ 'download_from_google_storage',
567 '--no_resume',
568 '--platform=linux*',
569 '--no_auth',
570 '--bucket', 'chromium-clang-format',
571 '-s', 'src/buildtools/linux64/clang-format.sha1',
572 ],
573 },
Oleh Prypin3ebed362017-10-27 10:14:45 +0200574 # Pull rc binaries using checked-in hashes.
575 {
576 'name': 'rc_win',
577 'pattern': '.',
578 'condition': 'checkout_win and host_os == "win"',
579 'action': [ 'python',
580 'src/third_party/depot_tools/download_from_google_storage.py',
581 '--no_resume',
582 '--no_auth',
583 '--bucket', 'chromium-browser-clang/rc',
584 '-s', 'src/build/toolchain/win/rc/win/rc.exe.sha1',
585 ],
586 },
587 {
588 'name': 'rc_mac',
589 'pattern': '.',
590 'condition': 'checkout_win and host_os == "mac"',
591 'action': [ 'python',
592 'src/third_party/depot_tools/download_from_google_storage.py',
593 '--no_resume',
594 '--no_auth',
595 '--bucket', 'chromium-browser-clang/rc',
596 '-s', 'src/build/toolchain/win/rc/mac/rc.sha1',
597 ],
598 },
599 {
600 'name': 'rc_linux',
601 'pattern': '.',
602 'condition': 'checkout_win and host_os == "linux"',
603 'action': [ 'python',
604 'src/third_party/depot_tools/download_from_google_storage.py',
605 '--no_resume',
606 '--no_auth',
607 '--bucket', 'chromium-browser-clang/rc',
608 '-s', 'src/build/toolchain/win/rc/linux64/rc.sha1',
609 ],
610 },
kjellander24d812d2016-11-22 07:02:11 -0800611 # Pull luci-go binaries (isolate, swarming) using checked-in hashes.
612 {
613 'name': 'luci-go_win',
614 'pattern': '.',
Henrik Kjellander6b269752017-10-09 13:00:41 +0200615 'condition': 'host_os == "win"',
kjellander24d812d2016-11-22 07:02:11 -0800616 'action': [ 'download_from_google_storage',
617 '--no_resume',
618 '--platform=win32',
619 '--no_auth',
620 '--bucket', 'chromium-luci',
621 '-d', 'src/tools/luci-go/win64',
622 ],
623 },
624 {
625 'name': 'luci-go_mac',
626 'pattern': '.',
Henrik Kjellander6b269752017-10-09 13:00:41 +0200627 'condition': 'host_os == "mac"',
kjellander24d812d2016-11-22 07:02:11 -0800628 'action': [ 'download_from_google_storage',
629 '--no_resume',
630 '--platform=darwin',
631 '--no_auth',
632 '--bucket', 'chromium-luci',
633 '-d', 'src/tools/luci-go/mac64',
634 ],
635 },
636 {
637 'name': 'luci-go_linux',
638 'pattern': '.',
Henrik Kjellander6b269752017-10-09 13:00:41 +0200639 'condition': 'host_os == "linux"',
kjellander24d812d2016-11-22 07:02:11 -0800640 'action': [ 'download_from_google_storage',
641 '--no_resume',
642 '--platform=linux*',
643 '--no_auth',
644 '--bucket', 'chromium-luci',
645 '-d', 'src/tools/luci-go/linux64',
646 ],
647 },
Henrik Kjellander55dad1b2017-05-11 12:00:53 +0200648 # Pull the Syzygy binaries, used for optimization and instrumentation.
649 {
650 'name': 'syzygy-binaries',
651 'pattern': '.',
Henrik Kjellander6b269752017-10-09 13:00:41 +0200652 'condition': 'host_os == "win"',
Henrik Kjellander55dad1b2017-05-11 12:00:53 +0200653 'action': ['python',
654 'src/build/get_syzygy_binaries.py',
655 '--output-dir=src/third_party/syzygy/binaries',
656 '--revision=a8456d9248a126881dcfb8707ca7dcdae56e1ac7',
657 '--overwrite',
658 ],
659 },
kjellander24d812d2016-11-22 07:02:11 -0800660 {
Mirko Bonadeicb2bc112017-10-10 13:28:18 +0200661 'name': 'msan_chained_origins',
662 'pattern': '.',
663 'condition': 'checkout_instrumented_libraries',
664 'action': [ 'python',
665 'src/third_party/depot_tools/download_from_google_storage.py',
666 "--no_resume",
667 "--no_auth",
668 "--bucket", "chromium-instrumented-libraries",
669 "-s", "src/third_party/instrumented_libraries/binaries/msan-chained-origins-trusty.tgz.sha1",
670 ],
671 },
672 {
673 'name': 'msan_no_origins',
674 'pattern': '.',
675 'condition': 'checkout_instrumented_libraries',
676 'action': [ 'python',
677 'src/third_party/depot_tools/download_from_google_storage.py',
678 "--no_resume",
679 "--no_auth",
680 "--bucket", "chromium-instrumented-libraries",
681 "-s", "src/third_party/instrumented_libraries/binaries/msan-no-origins-trusty.tgz.sha1",
682 ],
kjellander24d812d2016-11-22 07:02:11 -0800683 },
684 {
kjellander@webrtc.org80174582013-11-04 12:07:57 +0000685 # Download test resources, i.e. video and audio files from Google Storage.
kjellander@webrtc.org8e5c8142014-12-03 07:11:44 +0000686 'pattern': '.',
687 'action': ['download_from_google_storage',
688 '--directory',
689 '--recursive',
690 '--num_threads=10',
691 '--no_auth',
kjellander4ff818e2015-12-18 12:29:28 -0800692 '--quiet',
kjellander@webrtc.org8e5c8142014-12-03 07:11:44 +0000693 '--bucket', 'chromium-webrtc-resources',
694 'src/resources'],
andrew@webrtc.org4ce52bb2012-07-31 21:54:13 +0000695 },
Henrik Kjellander5a17ea92017-10-09 13:14:23 +0200696 {
697 # This downloads SDK extras and puts them in the
698 # third_party/android_tools/sdk/extras directory.
699 'name': 'sdkextras',
700 'pattern': '.',
701 'condition': 'checkout_android',
702 # When adding a new sdk extras package to download, add the package
703 # directory and zip file to .gitignore in third_party/android_tools.
704 'action': ['python',
705 'src/build/android/play_services/update.py',
706 'download'
707 ],
708 },
andrew@webrtc.org4ce52bb2012-07-31 21:54:13 +0000709]
kjellander200028f2017-08-17 09:54:12 -0700710
kjellander24d812d2016-11-22 07:02:11 -0800711recursedeps = [
712 # buildtools provides clang_format, libc++, and libc++abi.
713 'src/buildtools',
714 # android_tools manages the NDK.
715 'src/third_party/android_tools',
716]
Mirko Bonadeibb547202017-09-15 06:15:48 +0200717
718# Define rules for which include paths are allowed in our source.
719include_rules = [
720 # Base is only used to build Android APK tests and may not be referenced by
721 # WebRTC production code.
722 "-base",
723 "-chromium",
724 "+external/webrtc/webrtc", # Android platform build.
Mirko Bonadeibb547202017-09-15 06:15:48 +0200725 "+libyuv",
Patrik Höglund5991ac92018-05-21 15:54:42 +0200726
727 # These should eventually move out of here.
Mirko Bonadei92ea95e2017-09-15 06:47:31 +0200728 "+common_types.h",
Mirko Bonadei92ea95e2017-09-15 06:47:31 +0200729 "+typedefs.h",
Mirko Bonadeibb547202017-09-15 06:15:48 +0200730
731 "+WebRTC",
Mirko Bonadei92ea95e2017-09-15 06:47:31 +0200732 "+api",
733 "+modules/include",
734 "+rtc_base",
735 "+test",
736 "+rtc_tools",
Mirko Bonadeibb547202017-09-15 06:15:48 +0200737]