blob: b66ebec8bcc29494668867778a5bb8422009eb6e [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.com1d2c0342014-01-21 18:27:05 +000078 (Var("googlecode_url") % "libyuv") + "/trunk@975",
andrew@webrtc.org4ce52bb2012-07-31 21:54:13 +000079
tina.legrand@webrtc.org1f8c02a2012-10-25 12:37:08 +000080 "third_party/opus":
tina.legrand@webrtc.orge86f43b2013-03-22 12:39:54 +000081 Var("chromium_trunk") + "/src/third_party/opus@185405",
tina.legrand@webrtc.org1f8c02a2012-10-25 12:37:08 +000082
83 "third_party/opus/src":
tina.legrand@webrtc.orge86f43b2013-03-22 12:39:54 +000084 Var("chromium_trunk") + "/deps/third_party/opus@185324",
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"),
122}
123
124deps_os = {
125 "win": {
126 # Use our own, stripped down, version of Cygwin (required by GYP).
andrew@webrtc.org9a3f83f2012-08-07 06:03:22 +0000127 "third_party/cygwin":
andrew@webrtc.org7b2e9192012-08-28 15:56:40 +0000128 (Var("googlecode_url") % "webrtc") + "/deps/third_party/cygwin@2672",
andrew@webrtc.org4ce52bb2012-07-31 21:54:13 +0000129
andrew@webrtc.org8cd18c52012-11-21 18:46:45 +0000130 "third_party/winsdk_samples/src":
131 (Var("googlecode_url") % "webrtc") + "/deps/third_party/winsdk_samples_v71@3145",
132
andrew@webrtc.org4ce52bb2012-07-31 21:54:13 +0000133 # Used by libjpeg-turbo.
andrew@webrtc.org9a3f83f2012-08-07 06:03:22 +0000134 "third_party/yasm/binaries":
135 From("chromium_deps", "src/third_party/yasm/binaries"),
henrike@webrtc.org8d27a1c2013-07-23 18:15:11 +0000136
137 # NSS, for SSLClientSocketNSS.
138 "third_party/nss":
139 From("chromium_deps", "src/third_party/nss"),
kjellander@webrtc.org4c617922013-10-10 11:56:09 +0000140
141 # SyzyASan to make it possible to run tests under ASan on Windows.
142 "third_party/syzygy/binaries":
143 From("chromium_deps", "src/third_party/syzygy/binaries"),
andrew@webrtc.org4ce52bb2012-07-31 21:54:13 +0000144 },
henrike@webrtc.org8d27a1c2013-07-23 18:15:11 +0000145
146 "mac": {
147 # NSS, for SSLClientSocketNSS.
148 "third_party/nss":
149 From("chromium_deps", "src/third_party/nss"),
fischman@webrtc.org1bc19542013-08-01 18:29:45 +0000150
151 # TODO(fischman): delete this in favor of the copy in "ios" below, once the
152 # webrtc iOS bots are fixed to target_os=['ios'] in their .gclient
153 # https://code.google.com/p/webrtc/issues/detail?id=2152
154 "net/third_party/nss":
155 Var("chromium_trunk") + "/src/net/third_party/nss@" + Var("chromium_revision"),
henrike@webrtc.org8d27a1c2013-07-23 18:15:11 +0000156 },
157
158 "ios": {
159 # NSS, for SSLClientSocketNSS.
160 "third_party/nss":
161 From("chromium_deps", "src/third_party/nss"),
fischman@webrtc.org1bc19542013-08-01 18:29:45 +0000162
163 "net/third_party/nss":
164 Var("chromium_trunk") + "/src/net/third_party/nss@" + Var("chromium_revision"),
165
166 # 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"),
henrike@webrtc.org8d27a1c2013-07-23 18:15:11 +0000178
179 "third_party/openssl":
180 From("chromium_deps", "src/third_party/openssl"),
andrew@webrtc.org4ce52bb2012-07-31 21:54:13 +0000181 },
kjellander@webrtc.org18a21a02013-02-11 17:43:19 +0000182 "android": {
kjellander@webrtc.org6cfe1782013-06-18 07:14:33 +0000183 # Precompiled tools needed for Android test execution. Needed since we can't
184 # compile them from source in WebRTC since they depend on Chromium's base.
185 "tools/android":
yujie.mao@webrtc.org9f07ea42013-07-18 01:57:04 +0000186 (Var("googlecode_url") % "webrtc") + "/deps/tools/android@4258",
kjellander@webrtc.org6cfe1782013-06-18 07:14:33 +0000187
kjellander@webrtc.org18a21a02013-02-11 17:43:19 +0000188 "third_party/android_tools":
189 From("chromium_deps", "src/third_party/android_tools"),
190
191 "third_party/android_testrunner":
192 Var("chromium_trunk") + "/src/third_party/android_testrunner@" + Var("chromium_revision"),
kjellander@webrtc.org430464c2013-06-04 16:29:45 +0000193
194 "third_party/WebKit/Tools/Scripts":
195 Var("webkit_trunk") + "/Tools/Scripts@151677",
henrike@webrtc.org8d27a1c2013-07-23 18:15:11 +0000196
197 "third_party/openssl":
198 From("chromium_deps", "src/third_party/openssl"),
kjellander@webrtc.org18a21a02013-02-11 17:43:19 +0000199 },
andrew@webrtc.org4ce52bb2012-07-31 21:54:13 +0000200}
201
202hooks = [
203 {
wjia@webrtc.org03cfde22014-01-14 17:48:34 +0000204 # Copy .gn from temporary place (../chromium_gn) to root_dir.
205 "name": "copy .gn",
206 "pattern": ".",
207 "action": ["python", Var("root_dir") + "/build/cp.py",
208 Var("root_dir") + "/../chromium_gn/.gn",
209 Var("root_dir")],
210 },
211 # Pull GN binaries. This needs to be before running GYP below.
212 {
213 "name": "gn_win",
214 "pattern": "tools/gn/bin/win/gn.exe.sha1",
215 "action": [ "download_from_google_storage",
216 "--no_resume",
217 "--platform=win32",
218 "--no_auth",
219 "--bucket", "chromium-gn",
220 "-s", Var("root_dir") + "/tools/gn/bin/win/gn.exe.sha1",
221 ],
222 },
223 {
224 "name": "gn_mac",
225 "pattern": "tools/gn/bin/mac/gn.sha1",
226 "action": [ "download_from_google_storage",
227 "--no_resume",
228 "--platform=darwin",
229 "--no_auth",
230 "--bucket", "chromium-gn",
231 "-s", Var("root_dir") + "/tools/gn/bin/mac/gn.sha1",
232 ],
233 },
234 {
235 "name": "gn_linux",
236 "pattern": "tools/gn/bin/linux/gn.sha1",
237 "action": [ "download_from_google_storage",
238 "--no_resume",
239 "--platform=linux*",
240 "--no_auth",
241 "--bucket", "chromium-gn",
242 "-s", Var("root_dir") + "/tools/gn/bin/linux/gn.sha1",
243 ],
244 },
245 {
246 "name": "gn_linux32",
247 "pattern": "tools/gn/bin/linux/gn32.sha1",
248 "action": [ "download_from_google_storage",
249 "--no_resume",
250 "--platform=linux*",
251 "--no_auth",
252 "--bucket", "chromium-gn",
253 "-s", Var("root_dir") + "/tools/gn/bin/linux/gn32.sha1",
254 ],
255 },
256 {
andrew@webrtc.org4ce52bb2012-07-31 21:54:13 +0000257 # Pull clang on mac. If nothing changed, or on non-mac platforms, this takes
258 # zero seconds to run. If something changed, it downloads a prebuilt clang.
259 "pattern": ".",
andrew@webrtc.org9a3f83f2012-08-07 06:03:22 +0000260 "action": ["python", Var("root_dir") + "/tools/clang/scripts/update.py",
261 "--mac-only"],
andrew@webrtc.org4ce52bb2012-07-31 21:54:13 +0000262 },
263 {
stefan@webrtc.orgc3115832012-08-17 06:57:58 +0000264 # Update the cygwin mount on Windows.
265 # This is necessary to get the correct mapping between e.g. /bin and the
266 # cygwin path on Windows. Without it we can't run bash scripts in actions.
267 # Ideally this should be solved in "pylib/gyp/msvs_emulation.py".
268 "pattern": ".",
269 "action": ["python", Var("root_dir") + "/build/win/setup_cygwin_mount.py",
270 "--win-only"],
271 },
272 {
kjellander@webrtc.org80174582013-11-04 12:07:57 +0000273 # Download test resources, i.e. video and audio files from Google Storage.
274 "pattern": "\\.sha1",
275 "action": ["download_from_google_storage",
276 "--directory",
277 "--recursive",
278 "--num_threads=10",
279 "--bucket", "chromium-webrtc-resources",
280 Var("root_dir") + "/resources"],
andrew@webrtc.org4ce52bb2012-07-31 21:54:13 +0000281 },
282 {
283 # A change to a .gyp, .gypi, or to GYP itself should run the generator.
284 "pattern": ".",
andrew@webrtc.org9a3f83f2012-08-07 06:03:22 +0000285 "action": ["python", Var("root_dir") + "/build/gyp_chromium",
henrike@webrtc.org8d27a1c2013-07-23 18:15:11 +0000286 "--depth=" + Var("root_dir"), Var("root_dir") + "/all.gyp",
andrew@webrtc.orgea5d0e52012-08-09 17:37:03 +0000287 Var("extra_gyp_flag")],
andrew@webrtc.org4ce52bb2012-07-31 21:54:13 +0000288 },
289]
290