blob: dded4ac495651a36bac84e29df71aa5f9eb3dff6 [file] [log] [blame]
andrew@webrtc.org9a3f83f2012-08-07 06:03:22 +00001use_relative_paths = True
2
andrew@webrtc.org4ce52bb2012-07-31 21:54:13 +00003vars = {
andrew@webrtc.org9a3f83f2012-08-07 06:03:22 +00004 # Override root_dir in your .gclient's custom_vars to specify a custom root
5 # folder name.
6 "root_dir": "trunk",
andrew@webrtc.orgea5d0e52012-08-09 17:37:03 +00007 "extra_gyp_flag": "-Dextra_gyp_flag=0",
andrew@webrtc.org9a3f83f2012-08-07 06:03:22 +00008
andrew@webrtc.org4ce52bb2012-07-31 21:54:13 +00009 # Use this googlecode_url variable only if there is an internal mirror for it.
10 # If you do not know, use the full path while defining your new deps entry.
11 "googlecode_url": "http://%s.googlecode.com/svn",
pbos@webrtc.org62e5af42013-08-20 09:19:16 +000012 "sourceforge_url": "http://svn.code.sf.net/p/%(repo)s/code",
andrew@webrtc.org4ce52bb2012-07-31 21:54:13 +000013 "chromium_trunk" : "http://src.chromium.org/svn/trunk",
minyue@webrtc.orgc8b99a42014-01-27 12:21:42 +000014 "chromium_revision": "245382",
andrew@webrtc.org4ce52bb2012-07-31 21:54:13 +000015
kjellander@webrtc.org430464c2013-06-04 16:29:45 +000016 # A small subset of WebKit is needed for the Android Python test framework.
17 "webkit_trunk": "http://src.chromium.org/blink/trunk",
andrew@webrtc.org4ce52bb2012-07-31 21:54:13 +000018}
19
20# NOTE: Prefer revision numbers to tags for svn deps. Use http rather than
21# https; the latter can cause problems for users behind proxies.
22deps = {
andrew@webrtc.org9a3f83f2012-08-07 06:03:22 +000023 "../chromium_deps":
andrew@webrtc.org4ce52bb2012-07-31 21:54:13 +000024 File(Var("chromium_trunk") + "/src/DEPS@" + Var("chromium_revision")),
25
wjia@webrtc.org03cfde22014-01-14 17:48:34 +000026 "../chromium_gn":
27 File(Var("chromium_trunk") + "/src/.gn@" + Var("chromium_revision")),
28
andrew@webrtc.org9a3f83f2012-08-07 06:03:22 +000029 "build":
andrew@webrtc.org4ce52bb2012-07-31 21:54:13 +000030 Var("chromium_trunk") + "/src/build@" + Var("chromium_revision"),
31
andrew@webrtc.orgb9d20642012-09-19 23:08:50 +000032 # Needed by common.gypi.
33 "google_apis/build":
34 Var("chromium_trunk") + "/src/google_apis/build@" + Var("chromium_revision"),
35
andrew@webrtc.org9a3f83f2012-08-07 06:03:22 +000036 "testing":
andrew@webrtc.org4ce52bb2012-07-31 21:54:13 +000037 Var("chromium_trunk") + "/src/testing@" + Var("chromium_revision"),
38
andrew@webrtc.org9a3f83f2012-08-07 06:03:22 +000039 "testing/gmock":
40 From("chromium_deps", "src/testing/gmock"),
andrew@webrtc.org4ce52bb2012-07-31 21:54:13 +000041
andrew@webrtc.org9a3f83f2012-08-07 06:03:22 +000042 "testing/gtest":
43 From("chromium_deps", "src/testing/gtest"),
andrew@webrtc.org4ce52bb2012-07-31 21:54:13 +000044
andrew@webrtc.org9a3f83f2012-08-07 06:03:22 +000045 "third_party/expat":
andrew@webrtc.org4ce52bb2012-07-31 21:54:13 +000046 Var("chromium_trunk") + "/src/third_party/expat@" + Var("chromium_revision"),
47
kjellander@webrtc.orgcbdb9d12013-08-20 16:18:35 +000048 # When rolling gflags, also update deps/third_party/webrtc/webrtc.DEPS/DEPS
49 # in Chromium's repo.
fischman@webrtc.orgdde7d4c2013-08-15 23:31:30 +000050 "third_party/gflags/src":
51 (Var("googlecode_url") % "gflags") + "/trunk/src@84",
andrew@webrtc.org4ce52bb2012-07-31 21:54:13 +000052
henrike@webrtc.org8d27a1c2013-07-23 18:15:11 +000053 "third_party/icu/":
54 From("chromium_deps", "src/third_party/icu"),
55
56 "third_party/jsoncpp/":
57 Var("chromium_trunk") + "/src/third_party/jsoncpp@" + Var("chromium_revision"),
58
59 "third_party/jsoncpp/source":
pbos@webrtc.org62e5af42013-08-20 09:19:16 +000060 (Var("sourceforge_url") % {"repo": "jsoncpp"}) + "/trunk/jsoncpp@248",
henrike@webrtc.org8d27a1c2013-07-23 18:15:11 +000061
62 "third_party/junit/":
63 (Var("googlecode_url") % "webrtc") + "/deps/third_party/junit@3367",
kjellander@webrtc.org287f07b2013-09-27 16:57:10 +000064
mikhal@webrtc.org0b960cf2013-08-30 16:30:53 +000065 "third_party/libjpeg":
66 Var("chromium_trunk") + "/src/third_party/libjpeg@" + Var("chromium_revision"),
67
68 "third_party/libjpeg_turbo":
69 From("chromium_deps", "src/third_party/libjpeg_turbo"),
henrike@webrtc.org8d27a1c2013-07-23 18:15:11 +000070
henrike@webrtc.org8d27a1c2013-07-23 18:15:11 +000071 "third_party/libsrtp/":
72 From("chromium_deps", "src/third_party/libsrtp"),
73
andrew@webrtc.orge6e344a2013-02-12 19:35:18 +000074 "third_party/libvpx":
marpan@webrtc.orgacc05ac2014-01-06 21:04:22 +000075 Var("chromium_trunk") + "/deps/third_party/libvpx@241571",
andrew@webrtc.org4ce52bb2012-07-31 21:54:13 +000076
andrew@webrtc.org9a3f83f2012-08-07 06:03:22 +000077 "third_party/libyuv":
fbarchard@google.com69ff90e2014-01-28 03:58:46 +000078 (Var("googlecode_url") % "libyuv") + "/trunk@976",
andrew@webrtc.org4ce52bb2012-07-31 21:54:13 +000079
tina.legrand@webrtc.org1f8c02a2012-10-25 12:37:08 +000080 "third_party/opus":
minyue@webrtc.org83dd9542014-01-28 08:46:58 +000081 Var("chromium_trunk") + "/src/third_party/opus@245176",
tina.legrand@webrtc.org1f8c02a2012-10-25 12:37:08 +000082
83 "third_party/opus/src":
minyue@webrtc.org83dd9542014-01-28 08:46:58 +000084 Var("chromium_trunk") + "/deps/third_party/opus@239448",
tina.legrand@webrtc.org1f8c02a2012-10-25 12:37:08 +000085
andrew@webrtc.org9a3f83f2012-08-07 06:03:22 +000086 "third_party/protobuf":
andrew@webrtc.org4ce52bb2012-07-31 21:54:13 +000087 Var("chromium_trunk") + "/src/third_party/protobuf@" + Var("chromium_revision"),
88
henrike@webrtc.org8d27a1c2013-07-23 18:15:11 +000089 "third_party/sqlite/":
90 Var("chromium_trunk") + "/src/third_party/sqlite@" + Var("chromium_revision"),
91
andrew@webrtc.org9a3f83f2012-08-07 06:03:22 +000092 "third_party/yasm":
andrew@webrtc.org4ce52bb2012-07-31 21:54:13 +000093 Var("chromium_trunk") + "/src/third_party/yasm@" + Var("chromium_revision"),
94
andrew@webrtc.org9a3f83f2012-08-07 06:03:22 +000095 "third_party/yasm/source/patched-yasm":
96 From("chromium_deps", "src/third_party/yasm/source/patched-yasm"),
andrew@webrtc.org4ce52bb2012-07-31 21:54:13 +000097
andrew@webrtc.org9a3f83f2012-08-07 06:03:22 +000098 "tools/clang":
andrew@webrtc.org4ce52bb2012-07-31 21:54:13 +000099 Var("chromium_trunk") + "/src/tools/clang@" + Var("chromium_revision"),
100
wjia@webrtc.org03cfde22014-01-14 17:48:34 +0000101 "tools/gn":
102 Var("chromium_trunk") + "/src/tools/gn@" + Var("chromium_revision"),
103
andrew@webrtc.org9a3f83f2012-08-07 06:03:22 +0000104 "tools/gyp":
105 From("chromium_deps", "src/tools/gyp"),
andrew@webrtc.org4ce52bb2012-07-31 21:54:13 +0000106
andrew@webrtc.org225f2b82013-05-20 21:12:58 +0000107 "tools/protoc_wrapper":
108 Var("chromium_trunk") + "/src/tools/protoc_wrapper@" + Var("chromium_revision"),
109
andrew@webrtc.org9a3f83f2012-08-07 06:03:22 +0000110 "tools/python":
andrew@webrtc.org4ce52bb2012-07-31 21:54:13 +0000111 Var("chromium_trunk") + "/src/tools/python@" + Var("chromium_revision"),
112
kjellander@webrtc.orgf9bdbe32013-12-11 13:37:12 +0000113 "tools/swarming_client":
114 From("chromium_deps", "src/tools/swarming_client"),
kjellander@webrtc.org33654222013-08-22 07:57:00 +0000115
andrew@webrtc.org9a3f83f2012-08-07 06:03:22 +0000116 "tools/valgrind":
andrew@webrtc.org4ce52bb2012-07-31 21:54:13 +0000117 Var("chromium_trunk") + "/src/tools/valgrind@" + Var("chromium_revision"),
118
119 # Needed by build/common.gypi.
andrew@webrtc.org9a3f83f2012-08-07 06:03:22 +0000120 "tools/win/supalink":
andrew@webrtc.org4ce52bb2012-07-31 21:54:13 +0000121 Var("chromium_trunk") + "/src/tools/win/supalink@" + Var("chromium_revision"),
jiayl@webrtc.orga576faf2014-01-29 17:45:53 +0000122
123 "net/third_party/nss":
124 Var("chromium_trunk") + "/src/net/third_party/nss@" + Var("chromium_revision"),
125
126 "third_party/usrsctp/":
127 Var("chromium_trunk") + "/src/third_party/usrsctp@" + Var("chromium_revision"),
128
129 "third_party/usrsctp/usrsctplib":
130 (Var("googlecode_url") % "sctp-refimpl") + "/trunk/KERN/usrsctp/usrsctplib@8723",
andrew@webrtc.org4ce52bb2012-07-31 21:54:13 +0000131}
132
133deps_os = {
134 "win": {
135 # Use our own, stripped down, version of Cygwin (required by GYP).
andrew@webrtc.org9a3f83f2012-08-07 06:03:22 +0000136 "third_party/cygwin":
andrew@webrtc.org7b2e9192012-08-28 15:56:40 +0000137 (Var("googlecode_url") % "webrtc") + "/deps/third_party/cygwin@2672",
andrew@webrtc.org4ce52bb2012-07-31 21:54:13 +0000138
andrew@webrtc.org8cd18c52012-11-21 18:46:45 +0000139 "third_party/winsdk_samples/src":
140 (Var("googlecode_url") % "webrtc") + "/deps/third_party/winsdk_samples_v71@3145",
141
andrew@webrtc.org4ce52bb2012-07-31 21:54:13 +0000142 # Used by libjpeg-turbo.
andrew@webrtc.org9a3f83f2012-08-07 06:03:22 +0000143 "third_party/yasm/binaries":
144 From("chromium_deps", "src/third_party/yasm/binaries"),
henrike@webrtc.org8d27a1c2013-07-23 18:15:11 +0000145
146 # NSS, for SSLClientSocketNSS.
147 "third_party/nss":
148 From("chromium_deps", "src/third_party/nss"),
kjellander@webrtc.org4c617922013-10-10 11:56:09 +0000149
150 # SyzyASan to make it possible to run tests under ASan on Windows.
151 "third_party/syzygy/binaries":
152 From("chromium_deps", "src/third_party/syzygy/binaries"),
andrew@webrtc.org4ce52bb2012-07-31 21:54:13 +0000153 },
henrike@webrtc.org8d27a1c2013-07-23 18:15:11 +0000154
155 "mac": {
156 # NSS, for SSLClientSocketNSS.
157 "third_party/nss":
158 From("chromium_deps", "src/third_party/nss"),
159 },
160
161 "ios": {
162 # NSS, for SSLClientSocketNSS.
163 "third_party/nss":
164 From("chromium_deps", "src/third_party/nss"),
fischman@webrtc.org1bc19542013-08-01 18:29:45 +0000165
fischman@webrtc.org1bc19542013-08-01 18:29:45 +0000166 # class-dump utility to generate header files for undocumented SDKs.
167 "testing/iossim/third_party/class-dump":
168 From("chromium_deps", "src/testing/iossim/third_party/class-dump"),
169
170 # Helper for running under the simulator.
171 "testing/iossim":
172 Var("chromium_trunk") + "/src/testing/iossim@" + Var("chromium_revision"),
henrike@webrtc.org8d27a1c2013-07-23 18:15:11 +0000173 },
174
andrew@webrtc.org4ce52bb2012-07-31 21:54:13 +0000175 "unix": {
andrew@webrtc.org9a3f83f2012-08-07 06:03:22 +0000176 "third_party/gold":
177 From("chromium_deps", "src/third_party/gold"),
andrew@webrtc.org4ce52bb2012-07-31 21:54:13 +0000178 },
jiayl@webrtc.orga576faf2014-01-29 17:45:53 +0000179
kjellander@webrtc.org18a21a02013-02-11 17:43:19 +0000180 "android": {
kjellander@webrtc.org6cfe1782013-06-18 07:14:33 +0000181 # Precompiled tools needed for Android test execution. Needed since we can't
182 # compile them from source in WebRTC since they depend on Chromium's base.
183 "tools/android":
yujie.mao@webrtc.org9f07ea42013-07-18 01:57:04 +0000184 (Var("googlecode_url") % "webrtc") + "/deps/tools/android@4258",
kjellander@webrtc.org6cfe1782013-06-18 07:14:33 +0000185
kjellander@webrtc.org18a21a02013-02-11 17:43:19 +0000186 "third_party/android_tools":
187 From("chromium_deps", "src/third_party/android_tools"),
188
189 "third_party/android_testrunner":
190 Var("chromium_trunk") + "/src/third_party/android_testrunner@" + Var("chromium_revision"),
kjellander@webrtc.org430464c2013-06-04 16:29:45 +0000191
192 "third_party/WebKit/Tools/Scripts":
193 Var("webkit_trunk") + "/Tools/Scripts@151677",
henrike@webrtc.org8d27a1c2013-07-23 18:15:11 +0000194
195 "third_party/openssl":
196 From("chromium_deps", "src/third_party/openssl"),
kjellander@webrtc.org18a21a02013-02-11 17:43:19 +0000197 },
andrew@webrtc.org4ce52bb2012-07-31 21:54:13 +0000198}
199
200hooks = [
201 {
wjia@webrtc.org03cfde22014-01-14 17:48:34 +0000202 # Copy .gn from temporary place (../chromium_gn) to root_dir.
203 "name": "copy .gn",
204 "pattern": ".",
205 "action": ["python", Var("root_dir") + "/build/cp.py",
206 Var("root_dir") + "/../chromium_gn/.gn",
207 Var("root_dir")],
208 },
209 # Pull GN binaries. This needs to be before running GYP below.
210 {
211 "name": "gn_win",
212 "pattern": "tools/gn/bin/win/gn.exe.sha1",
213 "action": [ "download_from_google_storage",
214 "--no_resume",
215 "--platform=win32",
216 "--no_auth",
217 "--bucket", "chromium-gn",
218 "-s", Var("root_dir") + "/tools/gn/bin/win/gn.exe.sha1",
219 ],
220 },
221 {
222 "name": "gn_mac",
223 "pattern": "tools/gn/bin/mac/gn.sha1",
224 "action": [ "download_from_google_storage",
225 "--no_resume",
226 "--platform=darwin",
227 "--no_auth",
228 "--bucket", "chromium-gn",
229 "-s", Var("root_dir") + "/tools/gn/bin/mac/gn.sha1",
230 ],
231 },
232 {
233 "name": "gn_linux",
234 "pattern": "tools/gn/bin/linux/gn.sha1",
235 "action": [ "download_from_google_storage",
236 "--no_resume",
237 "--platform=linux*",
238 "--no_auth",
239 "--bucket", "chromium-gn",
240 "-s", Var("root_dir") + "/tools/gn/bin/linux/gn.sha1",
241 ],
242 },
243 {
244 "name": "gn_linux32",
245 "pattern": "tools/gn/bin/linux/gn32.sha1",
246 "action": [ "download_from_google_storage",
247 "--no_resume",
248 "--platform=linux*",
249 "--no_auth",
250 "--bucket", "chromium-gn",
251 "-s", Var("root_dir") + "/tools/gn/bin/linux/gn32.sha1",
252 ],
253 },
254 {
andrew@webrtc.org4ce52bb2012-07-31 21:54:13 +0000255 # Pull clang on mac. If nothing changed, or on non-mac platforms, this takes
256 # zero seconds to run. If something changed, it downloads a prebuilt clang.
257 "pattern": ".",
andrew@webrtc.org9a3f83f2012-08-07 06:03:22 +0000258 "action": ["python", Var("root_dir") + "/tools/clang/scripts/update.py",
259 "--mac-only"],
andrew@webrtc.org4ce52bb2012-07-31 21:54:13 +0000260 },
261 {
stefan@webrtc.orgc3115832012-08-17 06:57:58 +0000262 # Update the cygwin mount on Windows.
263 # This is necessary to get the correct mapping between e.g. /bin and the
264 # cygwin path on Windows. Without it we can't run bash scripts in actions.
265 # Ideally this should be solved in "pylib/gyp/msvs_emulation.py".
266 "pattern": ".",
267 "action": ["python", Var("root_dir") + "/build/win/setup_cygwin_mount.py",
268 "--win-only"],
269 },
270 {
kjellander@webrtc.org80174582013-11-04 12:07:57 +0000271 # Download test resources, i.e. video and audio files from Google Storage.
272 "pattern": "\\.sha1",
273 "action": ["download_from_google_storage",
274 "--directory",
275 "--recursive",
276 "--num_threads=10",
wjia@webrtc.org776d8df2014-01-27 19:55:16 +0000277 "--no_auth",
kjellander@webrtc.org80174582013-11-04 12:07:57 +0000278 "--bucket", "chromium-webrtc-resources",
279 Var("root_dir") + "/resources"],
andrew@webrtc.org4ce52bb2012-07-31 21:54:13 +0000280 },
281 {
282 # A change to a .gyp, .gypi, or to GYP itself should run the generator.
283 "pattern": ".",
andrew@webrtc.org9a3f83f2012-08-07 06:03:22 +0000284 "action": ["python", Var("root_dir") + "/build/gyp_chromium",
henrike@webrtc.org8d27a1c2013-07-23 18:15:11 +0000285 "--depth=" + Var("root_dir"), Var("root_dir") + "/all.gyp",
andrew@webrtc.orgea5d0e52012-08-09 17:37:03 +0000286 Var("extra_gyp_flag")],
andrew@webrtc.org4ce52bb2012-07-31 21:54:13 +0000287 },
288]
289