blob: dbc38b796eb1a666db5630fe89a535d3f0b4ca53 [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',
Autorollerc43fc202018-05-11 01:45:27 -070010 'chromium_revision': '95336cb92b1337d4ad5d2a7fcc7409ec25b4a8ee',
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
kjellander@webrtc.org177567c2016-12-22 10:40:28 +010017 # the commit queue can handle CLs rolling BoringSSL
18 # and whatever else without interference from each other.
Autoroller62c0c2d2018-05-03 16:45:33 -070019 'boringssl_revision': '8e75ae488047c519f14f2c08b02a55bf7712fa1d',
kjellander@webrtc.org177567c2016-12-22 10:40:28 +010020 # Three lines of non-changing comments so that
kjellander@webrtc.org177567c2016-12-22 10:40:28 +010021 # the commit queue can handle CLs rolling lss
22 # and whatever else without interference from each other.
Oleh Prypin3ebed362017-10-27 10:14:45 +020023 'lss_revision': 'e6527b0cd469e3ff5764785dadcb39bf7d787154',
kjellander@webrtc.org177567c2016-12-22 10:40:28 +010024 # Three lines of non-changing comments so that
25 # the commit queue can handle CLs rolling catapult
26 # and whatever else without interference from each other.
Autorollerc43fc202018-05-11 01:45:27 -070027 'catapult_revision': 'a75468d15a3ea750b8b47a5304ba8b1b13f1f6e4',
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 libFuzzer
30 # and whatever else without interference from each other.
Autorollerf4f0cbb2018-04-24 04:44:17 -070031 'libfuzzer_revision': 'fda403cf93ecb8792cb1d061564d89a6553ca020',
Mirko Bonadei25acef72018-04-23 11:17:50 +020032 # Three lines of non-changing comments so that
33 # the commit queue can handle CLs rolling freetype
34 # and whatever else without interference from each other.
Oleh Prypina12bdbf2018-04-26 15:49:11 +020035 'freetype_revision': '2157d8fa6f7e12063ca166476ed2223d24234db7',
Mirko Bonadei25acef72018-04-23 11:17:50 +020036 # Three lines of non-changing comments so that
37 # the commit queue can handle CLs rolling HarfBuzz
38 # and whatever else without interference from each other.
39 'harfbuzz_revision': '957e7756634a4fdf1654041e20e883cf964ecac9',
andrew@webrtc.org4ce52bb2012-07-31 21:54:13 +000040}
andrew@webrtc.org4ce52bb2012-07-31 21:54:13 +000041deps = {
kjellander@webrtc.org177567c2016-12-22 10:40:28 +010042 # TODO(kjellander): Move this to be Android-only once the libevent dependency
43 # in base/third_party/libevent is solved.
44 'src/base':
Autorollerc43fc202018-05-11 01:45:27 -070045 Var('chromium_git') + '/chromium/src/base' + '@' + '6cb1af46fc8432327d182e331a84462720f25661',
kjellander@webrtc.org177567c2016-12-22 10:40:28 +010046 'src/build':
Autorollerc43fc202018-05-11 01:45:27 -070047 Var('chromium_git') + '/chromium/src/build' + '@' + 'c9bb242447a932bb8ef983313bc5385605e1abcb',
kjellander@webrtc.org177567c2016-12-22 10:40:28 +010048 'src/buildtools':
Autorollerd8b4f1e2018-05-03 02:44:16 -070049 Var('chromium_git') + '/chromium/buildtools.git' + '@' + '0b71401b977fba99eb0c7bb01bdb3338f45bd911',
Mirko Bonadeid3fb8642018-01-22 08:50:32 +010050 # Gradle 4.3-rc4. Used for testing Android Studio project generation for WebRTC.
51 'src/examples/androidtests/third_party/gradle': {
52 'url': Var('chromium_git') + '/external/github.com/gradle/gradle.git' + '@' +
53 '89af43c4d0506f69980f00dde78c97b2f81437f8',
54 'condition': 'checkout_android',
55 },
Henrik Kjellander5a17ea92017-10-09 13:14:23 +020056 'src/ios': {
Autorollerc43fc202018-05-11 01:45:27 -070057 'url': Var('chromium_git') + '/chromium/src/ios' + '@' + '41a7632e368f644b41ca276c025be8576178b3a3',
Henrik Kjellander5a17ea92017-10-09 13:14:23 +020058 'condition': 'checkout_ios',
59 },
kjellander@webrtc.org177567c2016-12-22 10:40:28 +010060 'src/testing':
Autorollerc43fc202018-05-11 01:45:27 -070061 Var('chromium_git') + '/chromium/src/testing' + '@' + '519bd6bd8883f17137857e86cc73491d39415057',
kjellander@webrtc.org177567c2016-12-22 10:40:28 +010062 'src/third_party':
Autorollerc43fc202018-05-11 01:45:27 -070063 Var('chromium_git') + '/chromium/src/third_party' + '@' + '332e6754f377ca77a48eeeb139ee8d1c2f3ca739',
Edward Lemur55536f22018-01-11 14:14:26 +010064 'src/third_party/android_ndk': {
Autorollerbf51de82018-05-04 03:44:23 -070065 'url': Var('chromium_git') + '/android_ndk.git' + '@' + '5cd86312e794bdf542a3685c6f10cbb96072990b',
Edward Lemur55536f22018-01-11 14:14:26 +010066 'condition': 'checkout_android',
67 },
Henrik Kjellander5a17ea92017-10-09 13:14:23 +020068 'src/third_party/android_tools': {
Autoroller94ffe902018-03-05 13:45:22 -080069 'url': Var('chromium_git') + '/android_tools.git' + '@' + 'c22a664c39af72dd8f89200220713dcad811300a',
Henrik Kjellander5a17ea92017-10-09 13:14:23 +020070 'condition': 'checkout_android',
71 },
Mirko Bonadei969d4a92017-11-05 15:57:38 -080072 'src/third_party/auto/src': {
Autoroller23b5cc92018-01-18 12:45:10 -080073 'url': Var('chromium_git') + '/external/github.com/google/auto.git' + '@' + '8a81a858ae7b78a1aef71ac3905fade0bbd64e82',
Mirko Bonadei969d4a92017-11-05 15:57:38 -080074 'condition': 'checkout_android',
75 },
kjellander@webrtc.org177567c2016-12-22 10:40:28 +010076 'src/third_party/boringssl/src':
Henrik Kjellander5a17ea92017-10-09 13:14:23 +020077 Var('boringssl_git') + '/boringssl.git' + '@' + Var('boringssl_revision'),
kjellander@webrtc.org177567c2016-12-22 10:40:28 +010078 'src/third_party/catapult':
Henrik Kjellander5a17ea92017-10-09 13:14:23 +020079 Var('chromium_git') + '/catapult.git' + '@' + Var('catapult_revision'),
80 'src/third_party/ced/src': {
81 'url': Var('chromium_git') + '/external/github.com/google/compact_enc_det.git' + '@' + '94c367a1fe3a13207f4b22604fcfd1d9f9ddf6d9',
82 'condition': 'checkout_android',
83 },
kjellander@webrtc.org177567c2016-12-22 10:40:28 +010084 'src/third_party/colorama/src':
85 Var('chromium_git') + '/external/colorama.git' + '@' + '799604a1041e9b3bc5d2789ecbd7e8db2e18e6b8',
oprypin40e7ebd2017-07-27 01:40:18 -070086 'src/third_party/depot_tools':
Autorollerc43fc202018-05-11 01:45:27 -070087 Var('chromium_git') + '/chromium/tools/depot_tools.git' + '@' + 'e7273d25017a27aab7026bc0ef48fe9ab4e09f22',
Mirko Bonadei65ceb662017-10-13 09:45:37 +020088 'src/third_party/errorprone/lib': {
Oleh Prypina12bdbf2018-04-26 15:49:11 +020089 'url': Var('chromium_git') + '/chromium/third_party/errorprone.git' + '@' + '980d49e839aa4984015efed34b0134d4b2c9b6d7',
Mirko Bonadei65ceb662017-10-13 09:45:37 +020090 'condition': 'checkout_android',
91 },
kjellander@webrtc.org177567c2016-12-22 10:40:28 +010092 'src/third_party/ffmpeg':
Autorollerd8b4f1e2018-05-03 02:44:16 -070093 Var('chromium_git') + '/chromium/third_party/ffmpeg.git' + '@' + '90210b5e10d3917567a3025e4853704bfefd8384',
Oleh Prypine39c3792017-11-14 23:09:08 +010094 'src/third_party/findbugs': {
95 'url': Var('chromium_git') + '/chromium/deps/findbugs.git' + '@' + '4275d9ac8610db6b1bc9a5e887f97e41b33fac67',
96 'condition': 'checkout_android',
97 },
Mirko Bonadei25acef72018-04-23 11:17:50 +020098 'src/third_party/freetype/src':
99 Var('chromium_git') + '/chromium/src/third_party/freetype2.git' + '@' + Var('freetype_revision'),
100 'src/third_party/harfbuzz-ng/src':
101 Var('chromium_git') + '/external/github.com/harfbuzz/harfbuzz.git' + '@' + Var('harfbuzz_revision'),
Henrik Kjellander5a17ea92017-10-09 13:14:23 +0200102 # WebRTC-only dependency (not present in Chromium).
103 'src/third_party/gtest-parallel':
Autorollerb4e0e502018-05-09 18:45:49 -0700104 Var('chromium_git') + '/external/github.com/google/gtest-parallel' + '@' + 'cb3514a0858be0f66281d892e2242d1073fd75fe',
kjellander3dae7052017-05-03 06:44:36 -0700105 'src/third_party/googletest/src':
Autoroller8e952d12018-05-07 14:45:24 -0700106 Var('chromium_git') + '/external/github.com/google/googletest.git' + '@' + '045e7f9ee4f969ac1a3fe428f79c4b880f0aff43',
Henrik Kjellander5a17ea92017-10-09 13:14:23 +0200107 'src/third_party/icu': {
Autorollerf4e8b9f2018-05-09 00:45:17 -0700108 'url': Var('chromium_git') + '/chromium/deps/icu.git' + '@' + 'f61e46dbee9d539a32551493e3bcc1dea92f83ec',
Henrik Kjellander5a17ea92017-10-09 13:14:23 +0200109 },
110 'src/third_party/jsr-305/src': {
111 'url': Var('chromium_git') + '/external/jsr-305.git' + '@' + '642c508235471f7220af6d5df2d3210e3bfc0919',
112 'condition': 'checkout_android',
113 },
kjellander@webrtc.org177567c2016-12-22 10:40:28 +0100114 'src/third_party/jsoncpp/source':
115 Var('chromium_git') + '/external/github.com/open-source-parsers/jsoncpp.git' + '@' + 'f572e8e42e22cfcf5ab0aea26574f408943edfa4', # from svn 248
Henrik Kjellander5a17ea92017-10-09 13:14:23 +0200116 'src/third_party/junit/src': {
117 'url': Var('chromium_git') + '/external/junit.git' + '@' + '64155f8a9babcfcf4263cf4d08253a1556e75481',
118 'condition': 'checkout_android',
119 },
kjellander@webrtc.org177567c2016-12-22 10:40:28 +0100120 # Used for building libFuzzers (only supports Linux).
121 'src/third_party/libFuzzer/src':
oprypin801f7222017-09-01 05:43:07 -0700122 Var('chromium_git') + '/chromium/llvm-project/compiler-rt/lib/fuzzer.git' + '@' + Var('libfuzzer_revision'),
kjellander@webrtc.org177567c2016-12-22 10:40:28 +0100123 'src/third_party/libjpeg_turbo':
buildbot1c23e942017-04-20 09:30:13 -0700124 Var('chromium_git') + '/chromium/deps/libjpeg_turbo.git' + '@' + 'a1750dbc79a8792dde3d3f7d7d8ac28ba01ac9dd',
kjellander@webrtc.org177567c2016-12-22 10:40:28 +0100125 'src/third_party/libsrtp':
Autoroller96a0e602018-04-06 19:45:43 -0700126 Var('chromium_git') + '/chromium/deps/libsrtp.git' + '@' + 'fc2345089a6b3c5aca9ecd2e1941871a78a13e9c',
kjellander@webrtc.org177567c2016-12-22 10:40:28 +0100127 'src/third_party/libvpx/source/libvpx':
Autoroller8e952d12018-05-07 14:45:24 -0700128 Var('chromium_git') + '/webm/libvpx.git' + '@' + '28801f91c4c030da55d483840691582440f8f8f4',
kjellander@webrtc.org177567c2016-12-22 10:40:28 +0100129 'src/third_party/libyuv':
Autorollerae3f02d2018-04-04 00:45:10 -0700130 Var('chromium_git') + '/libyuv/libyuv.git' + '@' + 'a9626b9daf62a9b260737e9c2de821ad087b19a1',
Henrik Kjellander5a17ea92017-10-09 13:14:23 +0200131 'src/third_party/lss': {
132 'url': Var('chromium_git') + '/linux-syscall-support.git' + '@' + Var('lss_revision'),
133 'condition': 'checkout_android or checkout_linux',
134 },
135 'src/third_party/mockito/src': {
136 'url': Var('chromium_git') + '/external/mockito/mockito.git' + '@' + 'de83ad4598ad4cf5ea53c69a8a8053780b04b850',
137 'condition': 'checkout_android',
138 },
kjellander@webrtc.org177567c2016-12-22 10:40:28 +0100139 'src/third_party/openh264/src':
Autoroller5d16e2c2018-05-03 10:44:45 -0700140 Var('chromium_git') + '/external/github.com/cisco/openh264' + '@' + '3b51f16a4a41df729f8d647f03e48c5f272911ff',
Henrik Kjellander5a17ea92017-10-09 13:14:23 +0200141 'src/third_party/requests/src': {
142 'url': Var('chromium_git') + '/external/github.com/kennethreitz/requests.git' + '@' + 'f172b30356d821d180fa4ecfa3e71c7274a32de4',
143 'condition': 'checkout_android',
144 },
145 'src/third_party/robolectric/robolectric': {
Autorollere9fe8b52017-11-30 15:46:32 -0800146 'url': Var('chromium_git') + '/external/robolectric.git' + '@' + '7e067f1112e1502caa742f7be72d37b5678d3403',
Henrik Kjellander5a17ea92017-10-09 13:14:23 +0200147 'condition': 'checkout_android',
148 },
149 'src/third_party/ub-uiautomator/lib': {
150 'url': Var('chromium_git') + '/chromium/third_party/ub-uiautomator.git' + '@' + '00270549ce3161ae72ceb24712618ea28b4f9434',
151 'condition': 'checkout_android',
152 },
kjellander@webrtc.org177567c2016-12-22 10:40:28 +0100153 'src/third_party/usrsctp/usrsctplib':
Autoroller1b3bd0b2018-03-26 05:44:30 -0700154 Var('chromium_git') + '/external/github.com/sctplab/usrsctp' + '@' + '159d060dceec41a64a57356cbba8c455105f3f72',
Henrik Kjellander5a17ea92017-10-09 13:14:23 +0200155 # WebRTC-only dependency (not present in Chromium).
156 'src/third_party/winsdk_samples': {
Autorollercf06a532018-04-03 02:44:18 -0700157 'url': Var('webrtc_git') + '/deps/third_party/winsdk_samples_v71' + '@' + '601401003ba059795e221e6cb93d925200034b3c',
Henrik Kjellander5a17ea92017-10-09 13:14:23 +0200158 'condition': 'checkout_win',
159 },
160 # Dependency used by libjpeg-turbo.
161 'src/third_party/yasm/binaries': {
162 'url': Var('chromium_git') + '/chromium/deps/yasm/binaries.git' + '@' + '52f9b3f4b0aa06da24ef8b123058bb61ee468881',
163 'condition': 'checkout_win',
164 },
kjellander@webrtc.org177567c2016-12-22 10:40:28 +0100165 'src/third_party/yasm/source/patched-yasm':
buildbotf3f7f622017-08-10 21:29:33 -0700166 Var('chromium_git') + '/chromium/deps/yasm/patched-yasm.git' + '@' + 'b98114e18d8b9b84586b10d24353ab8616d4c5fc',
kjellander@webrtc.org177567c2016-12-22 10:40:28 +0100167 'src/tools':
Autorollerc43fc202018-05-11 01:45:27 -0700168 Var('chromium_git') + '/chromium/src/tools' + '@' + 'c44a3f5eca9ea560d23230b73afdb8e31bb16611',
kjellander@webrtc.org177567c2016-12-22 10:40:28 +0100169 'src/tools/gyp':
buildbot2f0803c2017-07-25 11:40:43 -0700170 Var('chromium_git') + '/external/gyp.git' + '@' + 'd61a9397e668fa9843c4aa7da9e79460fe590bfb',
oprypin4ccd9c12017-08-30 00:42:43 -0700171 'src/tools/swarming_client':
172 Var('chromium_git') + '/infra/luci/client-py.git' + '@' + Var('swarming_revision'),
Oleh Prypine18e2692018-02-19 18:43:17 +0100173
174 'src/third_party/accessibility_test_framework': {
175 'packages': [
176 {
177 'package': 'chromium/third_party/accessibility-test-framework',
178 'version': 'version:2.1-cr0',
179 },
180 ],
181 'condition': 'checkout_android',
182 'dep_type': 'cipd',
183 },
184
185 'src/third_party/android_support_test_runner': {
186 'packages': [
187 {
188 'package': 'chromium/third_party/android_support_test_runner',
189 'version': 'version:0.5-cr0',
190 },
191 ],
192 'condition': 'checkout_android',
193 'dep_type': 'cipd',
194 },
195
196 'src/third_party/apk-patch-size-estimator': {
197 'packages': [
198 {
199 'package': 'chromium/third_party/apk-patch-size-estimator',
200 'version': 'version:0.2-cr0',
201 },
202 ],
203 'condition': 'checkout_android',
204 'dep_type': 'cipd',
205 },
206
207 'src/third_party/bazel': {
208 'packages': [
209 {
210 'package': 'chromium/third_party/bazel',
211 'version': 'version:0.10.0',
212 },
213 ],
214 'condition': 'checkout_android',
215 'dep_type': 'cipd',
216 },
217
218 'src/third_party/bouncycastle': {
219 'packages': [
220 {
221 'package': 'chromium/third_party/bouncycastle',
222 'version': 'version:1.46-cr0',
223 },
224 ],
225 'condition': 'checkout_android',
226 'dep_type': 'cipd',
227 },
228
229 'src/third_party/byte_buddy': {
230 'packages': [
231 {
232 'package': 'chromium/third_party/byte_buddy',
233 'version': 'version:1.4.17-cr0',
234 },
235 ],
236 'condition': 'checkout_android',
237 'dep_type': 'cipd',
238 },
239
240 'src/third_party/espresso': {
241 'packages': [
242 {
243 'package': 'chromium/third_party/espresso',
244 'version': 'version:2.2.1-cr0',
245 },
246 ],
247 'condition': 'checkout_android',
248 'dep_type': 'cipd',
249 },
250
251 'src/third_party/gson': {
252 'packages': [
253 {
254 'package': 'chromium/third_party/gson',
255 'version': 'version:2.8.0-cr0',
256 },
257 ],
258 'condition': 'checkout_android',
259 'dep_type': 'cipd',
260 },
261
262 'src/third_party/guava': {
263 'packages': [
264 {
265 'package': 'chromium/third_party/guava',
266 'version': 'version:23.0-cr0',
267 },
268 ],
269 'condition': 'checkout_android',
270 'dep_type': 'cipd',
271 },
272
273 'src/third_party/hamcrest': {
274 'packages': [
275 {
276 'package': 'chromium/third_party/hamcrest',
277 'version': 'version:1.3-cr0',
278 },
279 ],
280 'condition': 'checkout_android',
281 'dep_type': 'cipd',
282 },
283
284 'src/third_party/icu4j': {
285 'packages': [
286 {
287 'package': 'chromium/third_party/icu4j',
288 'version': 'version:53.1-cr0',
289 },
290 ],
291 'condition': 'checkout_android',
292 'dep_type': 'cipd',
293 },
294
295 'src/third_party/intellij': {
296 'packages': [
297 {
298 'package': 'chromium/third_party/intellij',
299 'version': 'version:12.0-cr0',
300 },
301 ],
302 'condition': 'checkout_android',
303 'dep_type': 'cipd',
304 },
305
306 'src/third_party/javax_inject': {
307 'packages': [
308 {
309 'package': 'chromium/third_party/javax_inject',
310 'version': 'version:1-cr0',
311 },
312 ],
313 'condition': 'checkout_android',
314 'dep_type': 'cipd',
315 },
316
317 'src/third_party/objenesis': {
318 'packages': [
319 {
320 'package': 'chromium/third_party/objenesis',
321 'version': 'version:2.4-cr0',
322 },
323 ],
324 'condition': 'checkout_android',
325 'dep_type': 'cipd',
326 },
327
328 'src/third_party/ow2_asm': {
329 'packages': [
330 {
331 'package': 'chromium/third_party/ow2_asm',
332 'version': 'version:5.0.1-cr0',
333 },
334 ],
335 'condition': 'checkout_android',
336 'dep_type': 'cipd',
337 },
338
339 'src/third_party/robolectric': {
340 'packages': [
341 {
342 'package': 'chromium/third_party/robolectric',
343 'version': 'version:3.5.1',
344 },
345 ],
346 'condition': 'checkout_android',
347 'dep_type': 'cipd',
348 },
349
350 'src/third_party/sqlite4java': {
351 'packages': [
352 {
353 'package': 'chromium/third_party/sqlite4java',
354 'version': 'version:0.282-cr0',
355 },
356 ],
357 'condition': 'checkout_android',
358 'dep_type': 'cipd',
359 },
360
361 'src/third_party/xstream': {
362 'packages': [
363 {
364 'package': 'chromium/third_party/xstream',
365 'version': 'version:1.4.8-cr0',
366 },
367 ],
368 'condition': 'checkout_android',
369 'dep_type': 'cipd',
370 },
andrew@webrtc.org4ce52bb2012-07-31 21:54:13 +0000371}
kjellander200028f2017-08-17 09:54:12 -0700372
andrew@webrtc.org4ce52bb2012-07-31 21:54:13 +0000373hooks = [
374 {
Henrik Kjellander27576e02015-10-15 14:24:09 +0200375 # This clobbers when necessary (based on get_landmines.py). It should be
376 # an early hook but it will need to be run after syncing Chromium and
377 # setting up the links, so the script actually exists.
378 'name': 'landmines',
379 'pattern': '.',
380 'action': [
381 'python',
382 'src/build/landmines.py',
383 '--landmine-scripts',
Henrik Kjellander90fd7d82017-05-09 08:30:10 +0200384 'src/tools_webrtc/get_landmines.py',
Henrik Kjellander27576e02015-10-15 14:24:09 +0200385 '--src-dir',
386 'src',
387 ],
388 },
oprypin40e7ebd2017-07-27 01:40:18 -0700389 {
390 # Ensure that the DEPS'd "depot_tools" has its self-update capability
391 # disabled.
392 'name': 'disable_depot_tools_selfupdate',
393 'pattern': '.',
394 'action': [
395 'python',
396 'src/third_party/depot_tools/update_depot_tools_toggle.py',
397 '--disable',
398 ],
399 },
kjellander24d812d2016-11-22 07:02:11 -0800400 {
Mirko Bonadeib8a7d9d2018-02-12 08:57:35 +0100401 'name': 'sysroot_arm',
kjellander24d812d2016-11-22 07:02:11 -0800402 'pattern': '.',
Mirko Bonadeib8a7d9d2018-02-12 08:57:35 +0100403 'condition': 'checkout_linux and checkout_arm',
kjellander24d812d2016-11-22 07:02:11 -0800404 'action': ['python', 'src/build/linux/sysroot_scripts/install-sysroot.py',
Mirko Bonadeib8a7d9d2018-02-12 08:57:35 +0100405 '--arch=arm'],
406 },
407 {
408 'name': 'sysroot_arm64',
409 'pattern': '.',
410 'condition': 'checkout_linux and checkout_arm64',
411 'action': ['python', 'src/build/linux/sysroot_scripts/install-sysroot.py',
412 '--arch=arm64'],
413 },
414 {
415 'name': 'sysroot_x86',
416 'pattern': '.',
417 'condition': 'checkout_linux and (checkout_x86 or checkout_x64)',
418 # TODO(mbonadei): change to --arch=x86.
419 'action': ['python', 'src/build/linux/sysroot_scripts/install-sysroot.py',
420 '--arch=i386'],
421 },
422 {
423 'name': 'sysroot_mips',
424 'pattern': '.',
425 'condition': 'checkout_linux and checkout_mips',
426 # TODO(mbonadei): change to --arch=mips.
427 'action': ['python', 'src/build/linux/sysroot_scripts/install-sysroot.py',
428 '--arch=mipsel'],
429 },
430 {
431 'name': 'sysroot_x64',
432 'pattern': '.',
433 'condition': 'checkout_linux and checkout_x64',
434 # TODO(mbonadei): change to --arch=x64.
435 'action': ['python', 'src/build/linux/sysroot_scripts/install-sysroot.py',
436 '--arch=amd64'],
kjellander24d812d2016-11-22 07:02:11 -0800437 },
438 {
Mirko Bonadeia55bdc22018-02-12 13:22:50 +0100439 # Case-insensitivity for the Win SDK. Must run before win_toolchain below.
440 'name': 'ciopfs_linux',
441 'pattern': '.',
442 'condition': 'checkout_win and host_os == "linux"',
443 'action': [ 'python',
444 'src/third_party/depot_tools/download_from_google_storage.py',
445 '--no_resume',
446 '--no_auth',
447 '--bucket', 'chromium-browser-clang/ciopfs',
448 '-s', 'src/build/ciopfs.sha1',
449 ]
450 },
451 {
Henrik Kjellander6b269752017-10-09 13:00:41 +0200452 # Update the Windows toolchain if necessary. Must run before 'clang' below.
kjellander24d812d2016-11-22 07:02:11 -0800453 'name': 'win_toolchain',
454 'pattern': '.',
Mirko Bonadeif0707cb2018-02-13 11:29:09 +0100455 'condition': 'checkout_win',
456 'action': ['python', 'src/build/vs_toolchain.py', 'update', '--force'],
kjellander24d812d2016-11-22 07:02:11 -0800457 },
kjellanderec2c93e2017-09-08 10:52:17 -0700458 {
459 # Update the Mac toolchain if necessary.
460 'name': 'mac_toolchain',
461 'pattern': '.',
Henrik Kjellander6b269752017-10-09 13:00:41 +0200462 'condition': 'checkout_mac',
kjellanderec2c93e2017-09-08 10:52:17 -0700463 'action': ['python', 'src/build/mac_toolchain.py'],
464 },
kjellander24d812d2016-11-22 07:02:11 -0800465 # Pull binutils for linux, enabled debug fission for faster linking /
466 # debugging when used with clang on Ubuntu Precise.
467 # https://code.google.com/p/chromium/issues/detail?id=352046
468 {
469 'name': 'binutils',
470 'pattern': 'src/third_party/binutils',
Henrik Kjellander6b269752017-10-09 13:00:41 +0200471 'condition': 'host_os == "linux"',
kjellander24d812d2016-11-22 07:02:11 -0800472 'action': [
473 'python',
474 'src/third_party/binutils/download.py',
475 ],
476 },
477 {
kjellander24d812d2016-11-22 07:02:11 -0800478 # Note: On Win, this should run after win_toolchain, as it may use it.
479 'name': 'clang',
480 'pattern': '.',
Henrik Kjellander6b269752017-10-09 13:00:41 +0200481 'action': ['python', 'src/tools/clang/scripts/update.py'],
kjellander24d812d2016-11-22 07:02:11 -0800482 },
ehmaldonado293bc2a2016-11-25 04:58:47 -0800483 {
484 # Update LASTCHANGE.
485 'name': 'lastchange',
486 'pattern': '.',
487 'action': ['python', 'src/build/util/lastchange.py',
488 '-o', 'src/build/util/LASTCHANGE'],
489 },
kjellander24d812d2016-11-22 07:02:11 -0800490 # Pull GN binaries.
491 {
492 'name': 'gn_win',
493 'pattern': '.',
Henrik Kjellander6b269752017-10-09 13:00:41 +0200494 'condition': 'host_os == "win"',
kjellander24d812d2016-11-22 07:02:11 -0800495 'action': [ 'download_from_google_storage',
496 '--no_resume',
497 '--platform=win32',
498 '--no_auth',
499 '--bucket', 'chromium-gn',
500 '-s', 'src/buildtools/win/gn.exe.sha1',
501 ],
502 },
503 {
504 'name': 'gn_mac',
505 'pattern': '.',
Henrik Kjellander6b269752017-10-09 13:00:41 +0200506 'condition': 'host_os == "mac"',
kjellander24d812d2016-11-22 07:02:11 -0800507 'action': [ 'download_from_google_storage',
508 '--no_resume',
509 '--platform=darwin',
510 '--no_auth',
511 '--bucket', 'chromium-gn',
512 '-s', 'src/buildtools/mac/gn.sha1',
513 ],
514 },
515 {
516 'name': 'gn_linux64',
517 'pattern': '.',
Henrik Kjellander6b269752017-10-09 13:00:41 +0200518 'condition': 'host_os == "linux"',
kjellander24d812d2016-11-22 07:02:11 -0800519 'action': [ 'download_from_google_storage',
520 '--no_resume',
521 '--platform=linux*',
522 '--no_auth',
523 '--bucket', 'chromium-gn',
524 '-s', 'src/buildtools/linux64/gn.sha1',
525 ],
526 },
527 # Pull clang-format binaries using checked-in hashes.
528 {
529 'name': 'clang_format_win',
530 'pattern': '.',
Henrik Kjellander6b269752017-10-09 13:00:41 +0200531 'condition': 'host_os == "win"',
kjellander24d812d2016-11-22 07:02:11 -0800532 'action': [ 'download_from_google_storage',
533 '--no_resume',
534 '--platform=win32',
535 '--no_auth',
536 '--bucket', 'chromium-clang-format',
537 '-s', 'src/buildtools/win/clang-format.exe.sha1',
538 ],
539 },
540 {
541 'name': 'clang_format_mac',
542 'pattern': '.',
Henrik Kjellander6b269752017-10-09 13:00:41 +0200543 'condition': 'host_os == "mac"',
kjellander24d812d2016-11-22 07:02:11 -0800544 'action': [ 'download_from_google_storage',
545 '--no_resume',
546 '--platform=darwin',
547 '--no_auth',
548 '--bucket', 'chromium-clang-format',
549 '-s', 'src/buildtools/mac/clang-format.sha1',
550 ],
551 },
552 {
553 'name': 'clang_format_linux',
554 'pattern': '.',
Henrik Kjellander6b269752017-10-09 13:00:41 +0200555 'condition': 'host_os == "linux"',
kjellander24d812d2016-11-22 07:02:11 -0800556 'action': [ 'download_from_google_storage',
557 '--no_resume',
558 '--platform=linux*',
559 '--no_auth',
560 '--bucket', 'chromium-clang-format',
561 '-s', 'src/buildtools/linux64/clang-format.sha1',
562 ],
563 },
Oleh Prypin3ebed362017-10-27 10:14:45 +0200564 # Pull rc binaries using checked-in hashes.
565 {
566 'name': 'rc_win',
567 'pattern': '.',
568 'condition': 'checkout_win and host_os == "win"',
569 'action': [ 'python',
570 'src/third_party/depot_tools/download_from_google_storage.py',
571 '--no_resume',
572 '--no_auth',
573 '--bucket', 'chromium-browser-clang/rc',
574 '-s', 'src/build/toolchain/win/rc/win/rc.exe.sha1',
575 ],
576 },
577 {
578 'name': 'rc_mac',
579 'pattern': '.',
580 'condition': 'checkout_win and host_os == "mac"',
581 'action': [ 'python',
582 'src/third_party/depot_tools/download_from_google_storage.py',
583 '--no_resume',
584 '--no_auth',
585 '--bucket', 'chromium-browser-clang/rc',
586 '-s', 'src/build/toolchain/win/rc/mac/rc.sha1',
587 ],
588 },
589 {
590 'name': 'rc_linux',
591 'pattern': '.',
592 'condition': 'checkout_win and host_os == "linux"',
593 'action': [ 'python',
594 'src/third_party/depot_tools/download_from_google_storage.py',
595 '--no_resume',
596 '--no_auth',
597 '--bucket', 'chromium-browser-clang/rc',
598 '-s', 'src/build/toolchain/win/rc/linux64/rc.sha1',
599 ],
600 },
kjellander24d812d2016-11-22 07:02:11 -0800601 # Pull luci-go binaries (isolate, swarming) using checked-in hashes.
602 {
603 'name': 'luci-go_win',
604 'pattern': '.',
Henrik Kjellander6b269752017-10-09 13:00:41 +0200605 'condition': 'host_os == "win"',
kjellander24d812d2016-11-22 07:02:11 -0800606 'action': [ 'download_from_google_storage',
607 '--no_resume',
608 '--platform=win32',
609 '--no_auth',
610 '--bucket', 'chromium-luci',
611 '-d', 'src/tools/luci-go/win64',
612 ],
613 },
614 {
615 'name': 'luci-go_mac',
616 'pattern': '.',
Henrik Kjellander6b269752017-10-09 13:00:41 +0200617 'condition': 'host_os == "mac"',
kjellander24d812d2016-11-22 07:02:11 -0800618 'action': [ 'download_from_google_storage',
619 '--no_resume',
620 '--platform=darwin',
621 '--no_auth',
622 '--bucket', 'chromium-luci',
623 '-d', 'src/tools/luci-go/mac64',
624 ],
625 },
626 {
627 'name': 'luci-go_linux',
628 'pattern': '.',
Henrik Kjellander6b269752017-10-09 13:00:41 +0200629 'condition': 'host_os == "linux"',
kjellander24d812d2016-11-22 07:02:11 -0800630 'action': [ 'download_from_google_storage',
631 '--no_resume',
632 '--platform=linux*',
633 '--no_auth',
634 '--bucket', 'chromium-luci',
635 '-d', 'src/tools/luci-go/linux64',
636 ],
637 },
Henrik Kjellander55dad1b2017-05-11 12:00:53 +0200638 # Pull the Syzygy binaries, used for optimization and instrumentation.
639 {
640 'name': 'syzygy-binaries',
641 'pattern': '.',
Henrik Kjellander6b269752017-10-09 13:00:41 +0200642 'condition': 'host_os == "win"',
Henrik Kjellander55dad1b2017-05-11 12:00:53 +0200643 'action': ['python',
644 'src/build/get_syzygy_binaries.py',
645 '--output-dir=src/third_party/syzygy/binaries',
646 '--revision=a8456d9248a126881dcfb8707ca7dcdae56e1ac7',
647 '--overwrite',
648 ],
649 },
kjellander24d812d2016-11-22 07:02:11 -0800650 {
Mirko Bonadeicb2bc112017-10-10 13:28:18 +0200651 'name': 'msan_chained_origins',
652 'pattern': '.',
653 'condition': 'checkout_instrumented_libraries',
654 'action': [ 'python',
655 'src/third_party/depot_tools/download_from_google_storage.py',
656 "--no_resume",
657 "--no_auth",
658 "--bucket", "chromium-instrumented-libraries",
659 "-s", "src/third_party/instrumented_libraries/binaries/msan-chained-origins-trusty.tgz.sha1",
660 ],
661 },
662 {
663 'name': 'msan_no_origins',
664 'pattern': '.',
665 'condition': 'checkout_instrumented_libraries',
666 'action': [ 'python',
667 'src/third_party/depot_tools/download_from_google_storage.py',
668 "--no_resume",
669 "--no_auth",
670 "--bucket", "chromium-instrumented-libraries",
671 "-s", "src/third_party/instrumented_libraries/binaries/msan-no-origins-trusty.tgz.sha1",
672 ],
kjellander24d812d2016-11-22 07:02:11 -0800673 },
674 {
kjellander@webrtc.org80174582013-11-04 12:07:57 +0000675 # Download test resources, i.e. video and audio files from Google Storage.
kjellander@webrtc.org8e5c8142014-12-03 07:11:44 +0000676 'pattern': '.',
677 'action': ['download_from_google_storage',
678 '--directory',
679 '--recursive',
680 '--num_threads=10',
681 '--no_auth',
kjellander4ff818e2015-12-18 12:29:28 -0800682 '--quiet',
kjellander@webrtc.org8e5c8142014-12-03 07:11:44 +0000683 '--bucket', 'chromium-webrtc-resources',
684 'src/resources'],
andrew@webrtc.org4ce52bb2012-07-31 21:54:13 +0000685 },
Henrik Kjellander5a17ea92017-10-09 13:14:23 +0200686 {
687 # This downloads SDK extras and puts them in the
688 # third_party/android_tools/sdk/extras directory.
689 'name': 'sdkextras',
690 'pattern': '.',
691 'condition': 'checkout_android',
692 # When adding a new sdk extras package to download, add the package
693 # directory and zip file to .gitignore in third_party/android_tools.
694 'action': ['python',
695 'src/build/android/play_services/update.py',
696 'download'
697 ],
698 },
andrew@webrtc.org4ce52bb2012-07-31 21:54:13 +0000699]
kjellander200028f2017-08-17 09:54:12 -0700700
kjellander24d812d2016-11-22 07:02:11 -0800701recursedeps = [
702 # buildtools provides clang_format, libc++, and libc++abi.
703 'src/buildtools',
704 # android_tools manages the NDK.
705 'src/third_party/android_tools',
706]
Mirko Bonadeibb547202017-09-15 06:15:48 +0200707
708# Define rules for which include paths are allowed in our source.
709include_rules = [
710 # Base is only used to build Android APK tests and may not be referenced by
711 # WebRTC production code.
712 "-base",
713 "-chromium",
714 "+external/webrtc/webrtc", # Android platform build.
Mirko Bonadeibb547202017-09-15 06:15:48 +0200715 "+libyuv",
Mirko Bonadeibb547202017-09-15 06:15:48 +0200716 # Individual headers that will be moved out of here, see webrtc:4243.
Mirko Bonadei92ea95e2017-09-15 06:47:31 +0200717 "+call/rtp_config.h",
718 "+common_types.h",
719 "+transport.h",
720 "+typedefs.h",
Mirko Bonadeibb547202017-09-15 06:15:48 +0200721
722 "+WebRTC",
Mirko Bonadei92ea95e2017-09-15 06:47:31 +0200723 "+api",
724 "+modules/include",
725 "+rtc_base",
726 "+test",
727 "+rtc_tools",
Mirko Bonadeibb547202017-09-15 06:15:48 +0200728]
729
730# The below rules will be removed when webrtc:4243 is fixed.
731specific_include_rules = {
732 "video_receive_stream\.h": [
Mirko Bonadei92ea95e2017-09-15 06:47:31 +0200733 "+call/video_receive_stream.h",
Mirko Bonadeibb547202017-09-15 06:15:48 +0200734 ],
735 "video_send_stream\.h": [
Mirko Bonadei92ea95e2017-09-15 06:47:31 +0200736 "+call/video_send_stream.h",
Mirko Bonadeibb547202017-09-15 06:15:48 +0200737 ],
738}