blob: 4bf1dda5b1b9c326751b1f9e33c5e0dd8a53437e [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',
Henrik Kjellandera9d4da82017-09-14 07:28:10 +02005 'webrtc_git': 'https://webrtc.googlesource.com',
Autorollere19d1ba2017-10-09 02:55:35 -07006 'chromium_revision': '9ac01d1704800450c72a3dc1960be48748458cd2',
kjellander@webrtc.org177567c2016-12-22 10:40:28 +01007 'boringssl_git': 'https://boringssl.googlesource.com',
8 # Three lines of non-changing comments so that
9 # the commit queue can handle CLs rolling swarming_client
10 # and whatever else without interference from each other.
buildbotb600d872017-09-11 06:55:38 -070011 'swarming_revision': '5e8001d9a710121ce7a68efd0804430a34b4f9e4',
kjellander@webrtc.org177567c2016-12-22 10:40:28 +010012 # Three lines of non-changing comments so that
13 # the commit queue can handle CLs rolling openmax_dl
14 # and whatever else without interference from each other.
15 'openmax_dl_revision': '7acede9c039ea5d14cf326f44aad1245b9e674a7',
16 # Three lines of non-changing comments so that
17 # the commit queue can handle CLs rolling BoringSSL
18 # and whatever else without interference from each other.
Autorollere19d1ba2017-10-09 02:55:35 -070019 'boringssl_revision': '12fdd08a401d2ef562612638abd016f8b5794cc7',
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.
kjellander251eb272017-04-05 22:49:24 -070023 'lss_revision': '63f24c8221a229f677d26ebe8f3d1528a9d787ac',
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.
Autorollere19d1ba2017-10-09 02:55:35 -070027 'catapult_revision': 'a48a6afde0ff7eeb1c847744192977e412107d6a',
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.
Autorollere19d1ba2017-10-09 02:55:35 -070031 'libfuzzer_revision': '06fb50cc1f0197398c8a70658928a3b91912e68a',
andrew@webrtc.org4ce52bb2012-07-31 21:54:13 +000032}
andrew@webrtc.org4ce52bb2012-07-31 21:54:13 +000033deps = {
kjellander@webrtc.org177567c2016-12-22 10:40:28 +010034 # TODO(kjellander): Move this to be Android-only once the libevent dependency
35 # in base/third_party/libevent is solved.
36 'src/base':
Autorollere19d1ba2017-10-09 02:55:35 -070037 Var('chromium_git') + '/chromium/src/base' + '@' + 'bb89059924fe115f70c9eee3034234db14c12c68',
kjellander@webrtc.org177567c2016-12-22 10:40:28 +010038 'src/build':
Autorollere19d1ba2017-10-09 02:55:35 -070039 Var('chromium_git') + '/chromium/src/build' + '@' + 'adaf9e56105b814105e2d49bc4fa63e2cd4795f5',
kjellander@webrtc.org177567c2016-12-22 10:40:28 +010040 'src/buildtools':
Autorollere10c01c2017-09-21 05:49:56 -070041 Var('chromium_git') + '/chromium/buildtools.git' + '@' + 'f6d165d9d842ddd29056c127a5f3a3c5d8e0d2e3',
kjellander@webrtc.org177567c2016-12-22 10:40:28 +010042 'src/testing':
Autorollere19d1ba2017-10-09 02:55:35 -070043 Var('chromium_git') + '/chromium/src/testing' + '@' + '9ea2ef7b17229b6ae44a58985e5d15bc29126a45',
kjellander@webrtc.org177567c2016-12-22 10:40:28 +010044 'src/third_party':
Autorollere19d1ba2017-10-09 02:55:35 -070045 Var('chromium_git') + '/chromium/src/third_party' + '@' + '637781b501f712a5d34a5fe11688d81f6157f524',
kjellander@webrtc.org177567c2016-12-22 10:40:28 +010046 'src/third_party/boringssl/src':
47 Var('boringssl_git') + '/boringssl.git' + '@' + Var('boringssl_revision'),
48 'src/third_party/catapult':
Oleh Prypin78ba0002017-09-28 15:04:11 +020049 Var('chromium_git') + '/catapult.git' + '@' + Var('catapult_revision'),
kjellander@webrtc.org177567c2016-12-22 10:40:28 +010050 'src/third_party/colorama/src':
51 Var('chromium_git') + '/external/colorama.git' + '@' + '799604a1041e9b3bc5d2789ecbd7e8db2e18e6b8',
oprypin40e7ebd2017-07-27 01:40:18 -070052 'src/third_party/depot_tools':
Autorollere19d1ba2017-10-09 02:55:35 -070053 Var('chromium_git') + '/chromium/tools/depot_tools.git' + '@' + '8db10a6fb1d4b86909b8cb32e3b53e35624c8979',
kjellander@webrtc.org177567c2016-12-22 10:40:28 +010054 'src/third_party/ffmpeg':
buildbotd4d10f72017-08-28 21:19:01 -070055 Var('chromium_git') + '/chromium/third_party/ffmpeg.git' + '@' + '1e201feaa3260336aa63545c9471b76e5aef2e0a',
kjellander3dae7052017-05-03 06:44:36 -070056 'src/third_party/googletest/src':
buildbot8f82e632017-08-30 21:18:15 -070057 Var('chromium_git') + '/external/github.com/google/googletest.git' + '@' + '7f8fefabedf2965980585be8c2bff97458f28e0b',
kjellander@webrtc.org177567c2016-12-22 10:40:28 +010058 'src/third_party/jsoncpp/source':
59 Var('chromium_git') + '/external/github.com/open-source-parsers/jsoncpp.git' + '@' + 'f572e8e42e22cfcf5ab0aea26574f408943edfa4', # from svn 248
kjellander@webrtc.org177567c2016-12-22 10:40:28 +010060 # Used for building libFuzzers (only supports Linux).
61 'src/third_party/libFuzzer/src':
oprypin801f7222017-09-01 05:43:07 -070062 Var('chromium_git') + '/chromium/llvm-project/compiler-rt/lib/fuzzer.git' + '@' + Var('libfuzzer_revision'),
kjellander@webrtc.org177567c2016-12-22 10:40:28 +010063 'src/third_party/libjpeg_turbo':
buildbot1c23e942017-04-20 09:30:13 -070064 Var('chromium_git') + '/chromium/deps/libjpeg_turbo.git' + '@' + 'a1750dbc79a8792dde3d3f7d7d8ac28ba01ac9dd',
kjellander@webrtc.org177567c2016-12-22 10:40:28 +010065 'src/third_party/libsrtp':
buildbotc9be3d52017-06-29 10:11:34 -070066 Var('chromium_git') + '/chromium/deps/libsrtp.git' + '@' + '1d45b8e599dc2db6ea3ae22dbc94a8c504652423',
kjellander@webrtc.org177567c2016-12-22 10:40:28 +010067 'src/third_party/libvpx/source/libvpx':
Oleh Prypin4627a332017-10-06 01:11:00 +020068 Var('chromium_git') + '/webm/libvpx.git' + '@' + 'fe7b869104806752a26a262dc60923639d9a384f',
kjellander@webrtc.org177567c2016-12-22 10:40:28 +010069 'src/third_party/libyuv':
Autorolleraa0fe122017-09-20 17:49:57 -070070 Var('chromium_git') + '/libyuv/libyuv.git' + '@' + '5b1af9a33545895ea12c52bf007f17914de19173',
kjellander@webrtc.org177567c2016-12-22 10:40:28 +010071 'src/third_party/openh264/src':
ssilkin1440c9f2017-09-28 03:35:45 -070072 Var('chromium_git') + '/external/github.com/cisco/openh264' + '@' + 'a180c9d4d6f1a4830ca9eed9d159d54996bd63cb',
kjellander@webrtc.org177567c2016-12-22 10:40:28 +010073 'src/third_party/openmax_dl':
Henrik Kjellandera9d4da82017-09-14 07:28:10 +020074 Var('webrtc_git') + '/deps/third_party/openmax.git' + '@' + Var('openmax_dl_revision'),
kjellander@webrtc.org177567c2016-12-22 10:40:28 +010075 'src/third_party/usrsctp/usrsctplib':
buildbot1b20dc42017-08-07 12:55:14 -070076 Var('chromium_git') + '/external/github.com/sctplab/usrsctp' + '@' + 'f4819e1b177f7bfdd761c147f5a649b9f1a78c06',
kjellander@webrtc.org177567c2016-12-22 10:40:28 +010077 'src/third_party/yasm/source/patched-yasm':
buildbotf3f7f622017-08-10 21:29:33 -070078 Var('chromium_git') + '/chromium/deps/yasm/patched-yasm.git' + '@' + 'b98114e18d8b9b84586b10d24353ab8616d4c5fc',
kjellander@webrtc.org177567c2016-12-22 10:40:28 +010079 'src/tools':
Autorollere19d1ba2017-10-09 02:55:35 -070080 Var('chromium_git') + '/chromium/src/tools' + '@' + 'e9d5349db0f3f43ef1b82a62159e160b48b8fce0',
kjellander@webrtc.org177567c2016-12-22 10:40:28 +010081 'src/tools/gyp':
buildbot2f0803c2017-07-25 11:40:43 -070082 Var('chromium_git') + '/external/gyp.git' + '@' + 'd61a9397e668fa9843c4aa7da9e79460fe590bfb',
oprypin4ccd9c12017-08-30 00:42:43 -070083 'src/tools/swarming_client':
84 Var('chromium_git') + '/infra/luci/client-py.git' + '@' + Var('swarming_revision'),
kjellander@webrtc.org177567c2016-12-22 10:40:28 +010085 # WebRTC-only dependencies (not present in Chromium).
kjellander0012d182016-12-20 01:36:35 -080086 'src/third_party/gtest-parallel':
Autorolleraa0fe122017-09-20 17:49:57 -070087 Var('chromium_git') + '/external/github.com/google/gtest-parallel' + '@' + 'ee2027381105650fb1c66b2b121ba00b79e84d5c',
andrew@webrtc.org4ce52bb2012-07-31 21:54:13 +000088}
andrew@webrtc.org4ce52bb2012-07-31 21:54:13 +000089deps_os = {
kjellander@webrtc.org177567c2016-12-22 10:40:28 +010090 'android': {
Edward Lemurbbceb762017-09-28 19:09:17 +020091 'src/third_party/android_tools': {
92 'url': Var('chromium_git') + '/android_tools.git' + '@' + 'ca9dc7245b888c75307f0619e4a39fb46a82de66',
93 'condition': 'checkout_android',
94 },
95 'src/third_party/ced/src': {
96 'url': Var('chromium_git') + '/external/github.com/google/compact_enc_det.git' + '@' + '94c367a1fe3a13207f4b22604fcfd1d9f9ddf6d9',
97 'condition': 'checkout_android',
98 },
99 'src/third_party/icu': {
100 'url': Var('chromium_git') + '/chromium/deps/icu.git' + '@' + '08cb956852a5ccdba7f9c941728bb833529ba3c6',
101 'condition': 'checkout_android',
102 },
103 'src/third_party/jsr-305/src': {
104 'url': Var('chromium_git') + '/external/jsr-305.git' + '@' + '642c508235471f7220af6d5df2d3210e3bfc0919',
105 'condition': 'checkout_android',
106 },
107 'src/third_party/junit/src': {
108 'url': Var('chromium_git') + '/external/junit.git' + '@' + '64155f8a9babcfcf4263cf4d08253a1556e75481',
109 'condition': 'checkout_android',
110 },
111 'src/third_party/lss': {
112 'url': Var('chromium_git') + '/linux-syscall-support.git' + '@' + Var('lss_revision'),
113 'condition': 'checkout_android',
114 },
115 'src/third_party/mockito/src': {
116 'url': Var('chromium_git') + '/external/mockito/mockito.git' + '@' + 'de83ad4598ad4cf5ea53c69a8a8053780b04b850',
117 'condition': 'checkout_android',
118 },
119 'src/third_party/requests/src': {
120 'url': Var('chromium_git') + '/external/github.com/kennethreitz/requests.git' + '@' + 'f172b30356d821d180fa4ecfa3e71c7274a32de4',
121 'condition': 'checkout_android',
122 },
123 'src/third_party/robolectric/robolectric': {
124 'url': Var('chromium_git') + '/external/robolectric.git' + '@' + 'b02c65cc6d7465f58f0de48a39914aa905692afa',
125 'condition': 'checkout_android',
126 },
127 'src/third_party/ub-uiautomator/lib': {
128 'url': Var('chromium_git') + '/chromium/third_party/ub-uiautomator.git' + '@' + '00270549ce3161ae72ceb24712618ea28b4f9434',
129 'condition': 'checkout_android',
130 },
sakal2e3574d2017-05-09 02:10:57 -0700131 # Gradle 3.5.0. Used for testing Android Studio project generation for WebRTC.
Edward Lemurbbceb762017-09-28 19:09:17 +0200132 'src/examples/androidtests/third_party/gradle': {
133 'url': Var('chromium_git') + '/external/github.com/gradle/gradle.git' + '@' +
134 '941559e020f6c357ebb08d5c67acdb858a3defc2',
135 'condition': 'checkout_android',
136 },
kjellander@webrtc.org177567c2016-12-22 10:40:28 +0100137 },
Henrik Kjellanderc3c82362017-01-26 16:42:28 +0100138 'ios': {
139 'src/ios':
Autorollere19d1ba2017-10-09 02:55:35 -0700140 Var('chromium_git') + '/chromium/src/ios' + '@' + '537db2157252bb7a48172a1b68344c0c8a0214d5',
Henrik Kjellanderc3c82362017-01-26 16:42:28 +0100141 },
kjellander@webrtc.org177567c2016-12-22 10:40:28 +0100142 'unix': {
143 'src/third_party/lss':
144 Var('chromium_git') + '/linux-syscall-support.git' + '@' + Var('lss_revision'),
145 },
kjellander@webrtc.org8e5c8142014-12-03 07:11:44 +0000146 'win': {
kjellander@webrtc.org177567c2016-12-22 10:40:28 +0100147 # Dependencies used by libjpeg-turbo
148 'src/third_party/yasm/binaries':
149 Var('chromium_git') + '/chromium/deps/yasm/binaries.git' + '@' + '52f9b3f4b0aa06da24ef8b123058bb61ee468881',
kjellander@webrtc.org177567c2016-12-22 10:40:28 +0100150 # WebRTC-only dependency (not present in Chromium).
kjellander0012d182016-12-20 01:36:35 -0800151 'src/third_party/winsdk_samples':
Henrik Kjellandera9d4da82017-09-14 07:28:10 +0200152 Var('webrtc_git') + '/deps/third_party/winsdk_samples_v71' + '@' + '2d31a1cbecc86359e6ec041fb9ff6c082babd073',
henrike@webrtc.org8d27a1c2013-07-23 18:15:11 +0000153 },
andrew@webrtc.org4ce52bb2012-07-31 21:54:13 +0000154}
kjellander200028f2017-08-17 09:54:12 -0700155
andrew@webrtc.org4ce52bb2012-07-31 21:54:13 +0000156hooks = [
157 {
Henrik Kjellander27576e02015-10-15 14:24:09 +0200158 # This clobbers when necessary (based on get_landmines.py). It should be
159 # an early hook but it will need to be run after syncing Chromium and
160 # setting up the links, so the script actually exists.
161 'name': 'landmines',
162 'pattern': '.',
163 'action': [
164 'python',
165 'src/build/landmines.py',
166 '--landmine-scripts',
Henrik Kjellander90fd7d82017-05-09 08:30:10 +0200167 'src/tools_webrtc/get_landmines.py',
Henrik Kjellander27576e02015-10-15 14:24:09 +0200168 '--src-dir',
169 'src',
170 ],
171 },
oprypin40e7ebd2017-07-27 01:40:18 -0700172 {
173 # Ensure that the DEPS'd "depot_tools" has its self-update capability
174 # disabled.
175 'name': 'disable_depot_tools_selfupdate',
176 'pattern': '.',
177 'action': [
178 'python',
179 'src/third_party/depot_tools/update_depot_tools_toggle.py',
180 '--disable',
181 ],
182 },
kjellander24d812d2016-11-22 07:02:11 -0800183 {
184 # Downloads the current stable linux sysroot to build/linux/ if needed.
185 # This sysroot updates at about the same rate that the chrome build deps
186 # change. This script is a no-op except for linux users who are doing
187 # official chrome builds or cross compiling.
188 'name': 'sysroot',
189 'pattern': '.',
Henrik Kjellander6b269752017-10-09 13:00:41 +0200190 'condition': 'checkout_linux',
kjellander24d812d2016-11-22 07:02:11 -0800191 'action': ['python', 'src/build/linux/sysroot_scripts/install-sysroot.py',
192 '--running-as-hook'],
193 },
194 {
Henrik Kjellander6b269752017-10-09 13:00:41 +0200195 # Update the Windows toolchain if necessary. Must run before 'clang' below.
kjellander24d812d2016-11-22 07:02:11 -0800196 'name': 'win_toolchain',
197 'pattern': '.',
Henrik Kjellander6b269752017-10-09 13:00:41 +0200198 # TODO(thakis): Put some condition here. Not just host_os == 'win', because
199 # we also need this for (mac|linux) -> win cross builds.
kjellander24d812d2016-11-22 07:02:11 -0800200 'action': ['python', 'src/build/vs_toolchain.py', 'update'],
201 },
kjellanderec2c93e2017-09-08 10:52:17 -0700202 {
203 # Update the Mac toolchain if necessary.
204 'name': 'mac_toolchain',
205 'pattern': '.',
Henrik Kjellander6b269752017-10-09 13:00:41 +0200206 'condition': 'checkout_mac',
kjellanderec2c93e2017-09-08 10:52:17 -0700207 'action': ['python', 'src/build/mac_toolchain.py'],
208 },
kjellander24d812d2016-11-22 07:02:11 -0800209 # Pull binutils for linux, enabled debug fission for faster linking /
210 # debugging when used with clang on Ubuntu Precise.
211 # https://code.google.com/p/chromium/issues/detail?id=352046
212 {
213 'name': 'binutils',
214 'pattern': 'src/third_party/binutils',
Henrik Kjellander6b269752017-10-09 13:00:41 +0200215 'condition': 'host_os == "linux"',
kjellander24d812d2016-11-22 07:02:11 -0800216 'action': [
217 'python',
218 'src/third_party/binutils/download.py',
219 ],
220 },
221 {
kjellander24d812d2016-11-22 07:02:11 -0800222 # Note: On Win, this should run after win_toolchain, as it may use it.
223 'name': 'clang',
224 'pattern': '.',
Henrik Kjellander6b269752017-10-09 13:00:41 +0200225 'action': ['python', 'src/tools/clang/scripts/update.py'],
kjellander24d812d2016-11-22 07:02:11 -0800226 },
ehmaldonado293bc2a2016-11-25 04:58:47 -0800227 {
228 # Update LASTCHANGE.
229 'name': 'lastchange',
230 'pattern': '.',
231 'action': ['python', 'src/build/util/lastchange.py',
232 '-o', 'src/build/util/LASTCHANGE'],
233 },
kjellander24d812d2016-11-22 07:02:11 -0800234 # Pull GN binaries.
235 {
236 'name': 'gn_win',
237 'pattern': '.',
Henrik Kjellander6b269752017-10-09 13:00:41 +0200238 'condition': 'host_os == "win"',
kjellander24d812d2016-11-22 07:02:11 -0800239 'action': [ 'download_from_google_storage',
240 '--no_resume',
241 '--platform=win32',
242 '--no_auth',
243 '--bucket', 'chromium-gn',
244 '-s', 'src/buildtools/win/gn.exe.sha1',
245 ],
246 },
247 {
248 'name': 'gn_mac',
249 'pattern': '.',
Henrik Kjellander6b269752017-10-09 13:00:41 +0200250 'condition': 'host_os == "mac"',
kjellander24d812d2016-11-22 07:02:11 -0800251 'action': [ 'download_from_google_storage',
252 '--no_resume',
253 '--platform=darwin',
254 '--no_auth',
255 '--bucket', 'chromium-gn',
256 '-s', 'src/buildtools/mac/gn.sha1',
257 ],
258 },
259 {
260 'name': 'gn_linux64',
261 'pattern': '.',
Henrik Kjellander6b269752017-10-09 13:00:41 +0200262 'condition': 'host_os == "linux"',
kjellander24d812d2016-11-22 07:02:11 -0800263 'action': [ 'download_from_google_storage',
264 '--no_resume',
265 '--platform=linux*',
266 '--no_auth',
267 '--bucket', 'chromium-gn',
268 '-s', 'src/buildtools/linux64/gn.sha1',
269 ],
270 },
271 # Pull clang-format binaries using checked-in hashes.
272 {
273 'name': 'clang_format_win',
274 'pattern': '.',
Henrik Kjellander6b269752017-10-09 13:00:41 +0200275 'condition': 'host_os == "win"',
kjellander24d812d2016-11-22 07:02:11 -0800276 'action': [ 'download_from_google_storage',
277 '--no_resume',
278 '--platform=win32',
279 '--no_auth',
280 '--bucket', 'chromium-clang-format',
281 '-s', 'src/buildtools/win/clang-format.exe.sha1',
282 ],
283 },
284 {
285 'name': 'clang_format_mac',
286 'pattern': '.',
Henrik Kjellander6b269752017-10-09 13:00:41 +0200287 'condition': 'host_os == "mac"',
kjellander24d812d2016-11-22 07:02:11 -0800288 'action': [ 'download_from_google_storage',
289 '--no_resume',
290 '--platform=darwin',
291 '--no_auth',
292 '--bucket', 'chromium-clang-format',
293 '-s', 'src/buildtools/mac/clang-format.sha1',
294 ],
295 },
296 {
297 'name': 'clang_format_linux',
298 'pattern': '.',
Henrik Kjellander6b269752017-10-09 13:00:41 +0200299 'condition': 'host_os == "linux"',
kjellander24d812d2016-11-22 07:02:11 -0800300 'action': [ 'download_from_google_storage',
301 '--no_resume',
302 '--platform=linux*',
303 '--no_auth',
304 '--bucket', 'chromium-clang-format',
305 '-s', 'src/buildtools/linux64/clang-format.sha1',
306 ],
307 },
308 # Pull luci-go binaries (isolate, swarming) using checked-in hashes.
309 {
310 'name': 'luci-go_win',
311 'pattern': '.',
Henrik Kjellander6b269752017-10-09 13:00:41 +0200312 'condition': 'host_os == "win"',
kjellander24d812d2016-11-22 07:02:11 -0800313 'action': [ 'download_from_google_storage',
314 '--no_resume',
315 '--platform=win32',
316 '--no_auth',
317 '--bucket', 'chromium-luci',
318 '-d', 'src/tools/luci-go/win64',
319 ],
320 },
321 {
322 'name': 'luci-go_mac',
323 'pattern': '.',
Henrik Kjellander6b269752017-10-09 13:00:41 +0200324 'condition': 'host_os == "mac"',
kjellander24d812d2016-11-22 07:02:11 -0800325 'action': [ 'download_from_google_storage',
326 '--no_resume',
327 '--platform=darwin',
328 '--no_auth',
329 '--bucket', 'chromium-luci',
330 '-d', 'src/tools/luci-go/mac64',
331 ],
332 },
333 {
334 'name': 'luci-go_linux',
335 'pattern': '.',
Henrik Kjellander6b269752017-10-09 13:00:41 +0200336 'condition': 'host_os == "linux"',
kjellander24d812d2016-11-22 07:02:11 -0800337 'action': [ 'download_from_google_storage',
338 '--no_resume',
339 '--platform=linux*',
340 '--no_auth',
341 '--bucket', 'chromium-luci',
342 '-d', 'src/tools/luci-go/linux64',
343 ],
344 },
Henrik Kjellander55dad1b2017-05-11 12:00:53 +0200345 # Pull the Syzygy binaries, used for optimization and instrumentation.
346 {
347 'name': 'syzygy-binaries',
348 'pattern': '.',
Henrik Kjellander6b269752017-10-09 13:00:41 +0200349 'condition': 'host_os == "win"',
Henrik Kjellander55dad1b2017-05-11 12:00:53 +0200350 'action': ['python',
351 'src/build/get_syzygy_binaries.py',
352 '--output-dir=src/third_party/syzygy/binaries',
353 '--revision=a8456d9248a126881dcfb8707ca7dcdae56e1ac7',
354 '--overwrite',
355 ],
356 },
kjellander24d812d2016-11-22 07:02:11 -0800357 {
358 # Pull sanitizer-instrumented third-party libraries if requested via
359 # GYP_DEFINES.
360 # See src/third_party/instrumented_libraries/scripts/download_binaries.py.
361 # TODO(kjellander): Update comment when GYP is completely cleaned up.
362 'name': 'instrumented_libraries',
363 'pattern': '\\.sha1',
364 'action': ['python', 'src/third_party/instrumented_libraries/scripts/download_binaries.py'],
365 },
366 {
kjellander@webrtc.org80174582013-11-04 12:07:57 +0000367 # Download test resources, i.e. video and audio files from Google Storage.
kjellander@webrtc.org8e5c8142014-12-03 07:11:44 +0000368 'pattern': '.',
369 'action': ['download_from_google_storage',
370 '--directory',
371 '--recursive',
372 '--num_threads=10',
373 '--no_auth',
kjellander4ff818e2015-12-18 12:29:28 -0800374 '--quiet',
kjellander@webrtc.org8e5c8142014-12-03 07:11:44 +0000375 '--bucket', 'chromium-webrtc-resources',
376 'src/resources'],
andrew@webrtc.org4ce52bb2012-07-31 21:54:13 +0000377 },
andrew@webrtc.org4ce52bb2012-07-31 21:54:13 +0000378]
kjellander200028f2017-08-17 09:54:12 -0700379
380# Note: These are keyed off target os, not host os. So don't move things here
381# that depend on the target os.
mbonadeie9a40732017-08-09 04:53:18 -0700382hooks_os = {
383 'android': [
kjellander200028f2017-08-17 09:54:12 -0700384 # Android dependencies. Many are downloaded using Google Storage these days.
385 # They're copied from https://cs.chromium.org/chromium/src/DEPS for all
386 # such dependencies we share with Chromium.
387 {
388 # This downloads SDK extras and puts them in the
389 # third_party/android_tools/sdk/extras directory.
390 'name': 'sdkextras',
391 'pattern': '.',
392 # When adding a new sdk extras package to download, add the package
393 # directory and zip file to .gitignore in third_party/android_tools.
394 'action': ['python',
395 'src/build/android/play_services/update.py',
396 'download'
397 ],
398 },
399 {
400 'name': 'intellij',
401 'pattern': '.',
402 'action': ['python',
403 'src/build/android/update_deps/update_third_party_deps.py',
404 'download',
405 '-b', 'chromium-intellij',
406 '-l', 'third_party/intellij'
407 ],
408 },
409 {
410 'name': 'javax_inject',
411 'pattern': '.',
412 'action': ['python',
413 'src/build/android/update_deps/update_third_party_deps.py',
414 'download',
415 '-b', 'chromium-javax-inject',
416 '-l', 'third_party/javax_inject'
417 ],
418 },
419 {
420 'name': 'hamcrest',
421 'pattern': '.',
422 'action': ['python',
423 'src/build/android/update_deps/update_third_party_deps.py',
424 'download',
425 '-b', 'chromium-hamcrest',
426 '-l', 'third_party/hamcrest'
427 ],
428 },
429 {
430 'name': 'guava',
431 'pattern': '.',
432 'action': ['python',
433 'src/build/android/update_deps/update_third_party_deps.py',
434 'download',
435 '-b', 'chromium-guava',
436 '-l', 'third_party/guava'
437 ],
438 },
439 {
440 'name': 'android_support_test_runner',
441 'pattern': '.',
442 'action': ['python',
443 'src/build/android/update_deps/update_third_party_deps.py',
444 'download',
445 '-b', 'chromium-android-support-test-runner',
446 '-l', 'third_party/android_support_test_runner'
447 ],
448 },
449 {
450 'name': 'byte_buddy',
451 'pattern': '.',
452 'action': ['python',
453 'src/build/android/update_deps/update_third_party_deps.py',
454 'download',
455 '-b', 'chromium-byte-buddy',
456 '-l', 'third_party/byte_buddy'
457 ],
458 },
459 {
460 'name': 'espresso',
461 'pattern': '.',
462 'action': ['python',
463 'src/build/android/update_deps/update_third_party_deps.py',
464 'download',
465 '-b', 'chromium-espresso',
466 '-l', 'third_party/espresso'
467 ],
468 },
469 {
470 'name': 'robolectric_libs',
471 'pattern': '.',
472 'action': ['python',
473 'src/build/android/update_deps/update_third_party_deps.py',
474 'download',
475 '-b', 'chromium-robolectric',
476 '-l', 'third_party/robolectric'
477 ],
478 },
479 {
480 'name': 'apache_velocity',
481 'pattern': '.',
482 'action': ['python',
483 'src/build/android/update_deps/update_third_party_deps.py',
484 'download',
485 '-b', 'chromium-apache-velocity',
486 '-l', 'third_party/apache_velocity'
487 ],
488 },
489 {
490 'name': 'ow2_asm',
491 'pattern': '.',
492 'action': ['python',
493 'src/build/android/update_deps/update_third_party_deps.py',
494 'download',
495 '-b', 'chromium-ow2-asm',
496 '-l', 'third_party/ow2_asm'
497 ],
498 },
mbonadeie9a40732017-08-09 04:53:18 -0700499 {
500 'name': 'desugar',
501 'pattern': '.',
502 'action': ['python',
503 'src/build/android/update_deps/update_third_party_deps.py',
504 'download',
505 '-b', 'chromium-android-tools/bazel/desugar',
506 '-l', 'third_party/bazel/desugar'
507 ],
508 },
kjellander200028f2017-08-17 09:54:12 -0700509 {
510 'name': 'icu4j',
511 'pattern': '.',
512 'action': ['python',
513 'src/build/android/update_deps/update_third_party_deps.py',
514 'download',
515 '-b', 'chromium-icu4j',
516 '-l', 'third_party/icu4j'
517 ],
518 },
519 {
520 'name': 'accessibility_test_framework',
521 'pattern': '.',
522 'action': ['python',
523 'src/build/android/update_deps/update_third_party_deps.py',
524 'download',
525 '-b', 'chromium-accessibility-test-framework',
526 '-l', 'third_party/accessibility_test_framework'
527 ],
528 },
529 {
530 'name': 'bouncycastle',
531 'pattern': '.',
532 'action': ['python',
533 'src/build/android/update_deps/update_third_party_deps.py',
534 'download',
535 '-b', 'chromium-bouncycastle',
536 '-l', 'third_party/bouncycastle'
537 ],
538 },
539 {
540 'name': 'sqlite4java',
541 'pattern': '.',
542 'action': ['python',
543 'src/build/android/update_deps/update_third_party_deps.py',
544 'download',
545 '-b', 'chromium-sqlite4java',
546 '-l', 'third_party/sqlite4java'
547 ],
548 },
549 {
550 'name': 'xstream',
551 'pattern': '.',
552 'action': ['python',
553 'src/build/android/update_deps/update_third_party_deps.py',
554 'download',
555 '-b', 'chromium-robolectric',
556 '-l', 'third_party/xstream'
557 ],
558 },
559 {
560 'name': 'objenesis',
561 'pattern': '.',
562 'action': ['python',
563 'src/build/android/update_deps/update_third_party_deps.py',
564 'download',
565 '-b', 'chromium-objenesis',
566 '-l', 'third_party/objenesis'
567 ],
568 },
mbonadeie9a40732017-08-09 04:53:18 -0700569 ],
570}
kjellander24d812d2016-11-22 07:02:11 -0800571recursedeps = [
572 # buildtools provides clang_format, libc++, and libc++abi.
573 'src/buildtools',
574 # android_tools manages the NDK.
575 'src/third_party/android_tools',
576]
Mirko Bonadeibb547202017-09-15 06:15:48 +0200577
578# Define rules for which include paths are allowed in our source.
579include_rules = [
580 # Base is only used to build Android APK tests and may not be referenced by
581 # WebRTC production code.
582 "-base",
583 "-chromium",
584 "+external/webrtc/webrtc", # Android platform build.
Mirko Bonadeibb547202017-09-15 06:15:48 +0200585 "+libyuv",
Mirko Bonadeibb547202017-09-15 06:15:48 +0200586 # Individual headers that will be moved out of here, see webrtc:4243.
Mirko Bonadei92ea95e2017-09-15 06:47:31 +0200587 "+call/rtp_config.h",
588 "+common_types.h",
589 "+transport.h",
590 "+typedefs.h",
Mirko Bonadeibb547202017-09-15 06:15:48 +0200591
592 "+WebRTC",
Mirko Bonadei92ea95e2017-09-15 06:47:31 +0200593 "+api",
594 "+modules/include",
595 "+rtc_base",
596 "+test",
597 "+rtc_tools",
Mirko Bonadeibb547202017-09-15 06:15:48 +0200598]
599
600# The below rules will be removed when webrtc:4243 is fixed.
601specific_include_rules = {
602 "video_receive_stream\.h": [
Mirko Bonadei92ea95e2017-09-15 06:47:31 +0200603 "+call/video_receive_stream.h",
Mirko Bonadeibb547202017-09-15 06:15:48 +0200604 ],
605 "video_send_stream\.h": [
Mirko Bonadei92ea95e2017-09-15 06:47:31 +0200606 "+call/video_send_stream.h",
Mirko Bonadeibb547202017-09-15 06:15:48 +0200607 ],
608}