webrtc/DEPS

97 lines
2.9 KiB
Plaintext
Raw Normal View History

# This file contains dependencies for WebRTC that are not shared with Chromium.
# If you wish to add a dependency that is present in Chromium's src/DEPS or a
# directory from the Chromium checkout, you should add it to setup_links.py
# instead.
vars = {
"extra_gyp_flag": "-Dextra_gyp_flag=0",
# Use this googlecode_url variable only if there is an internal mirror for it.
# If you do not know, use the full path while defining your new deps entry.
"googlecode_url": "http://%s.googlecode.com/svn",
"chromium_revision": "375f7364c3f315c394d3b7accbd7e236b7ea7b04",
}
# NOTE: Prefer revision numbers to tags for svn deps. Use http rather than
# https; the latter can cause problems for users behind proxies.
deps = {
# When rolling gflags, also update deps/third_party/webrtc/webrtc.DEPS/DEPS
# in Chromium's repo.
"src/third_party/gflags/src":
(Var("googlecode_url") % "gflags") + "/trunk/src@84",
"src/third_party/junit/":
(Var("googlecode_url") % "webrtc") + "/deps/third_party/junit@3367",
}
deps_os = {
"win": {
"src/third_party/winsdk_samples/src":
(Var("googlecode_url") % "webrtc") + "/deps/third_party/winsdk_samples_v71@3145",
},
}
# Define rules for which include paths are allowed in our source.
include_rules = [
# Base is only used to build Android APK tests and may not be referenced by
# WebRTC production code.
"-base",
"-chromium",
'+gflags',
'+net',
'+talk',
'+testing',
'+third_party',
'+webrtc',
]
# checkdeps.py shouldn't check include paths for files in these dirs:
skip_child_includes = [
'webrtc/overrides',
]
hooks = [
{
# Check for legacy named top-level dir (named 'trunk').
"name": "check_root_dir_name",
"pattern": ".",
"action": ["python","-c",
("import os,sys;"
"script = os.path.join('trunk','check_root_dir.py');"
"_ = os.system('%s %s' % (sys.executable,script)) "
"if os.path.exists(script) else 0")],
},
{
# Clone chromium and its deps.
"name": "sync chromium",
"pattern": ".",
"action": ["python", "-u", "src/sync_chromium.py",
"--target-revision", Var("chromium_revision")],
},
{
# Create links to shared dependencies in Chromium.
"name": "setup_links",
"pattern": ".",
"action": ["python", "src/setup_links.py"],
Roll chromium_revision 272489:277350 + fix sanitizer options Rolling to this new Chromium revision required us to introduce a sanitizer_options similar to the one in Chromium's base (see https://code.google.com/p/chromium/codesearch#chromium/src/base/base.gyp&l=977 and https://codereview.chromium.org/238123003) in order to get the same defaults for ASan and LSan. Without it compilation will break since LeakSanitizer (LSan) is enabled by default in Clang r209387 that is pulled with this roll. I setup so that we pull in the sanitizer_options.cc and tsan_suppressions.cc files using DEPS, so we don't have to maintain them separately for now. We can still use our own TSan suppressions.txt file as we do today with no changes needed. This roll also brings in http://crrev.com/276676 so we can enable GN build for WebRTC. Overview of changes in Chrome DEPS: $ svn diff http://src.chromium.org/chrome/trunk/src/DEPS -r 272489:277350 which can be compared with the output of: $ svn cat http://webrtc.googlecode.com/svn/trunk/DEPS | grep chromium_deps | sed 's/^ *//' | sort | uniq in a WebRTC checkout, gives the following relevant changes: * third_party/android_tools 6fc0e1:c6e658 * third_party/libjpeg_turbo 263594:272637 * third_party/libyuv 1000:1007 * third_party/nss 271760:277057 * tools/gyp 1921:1927 * tools/swarming_client ae8085:aea506 The following also shows that Clang is upgraded from r206824 to r209387: $ svn diff http://src.chromium.org/chrome/trunk/src/tools/clang/scripts/update.sh -r 272489:277350 BUG=3441 TEST=Trybots are not passing since after the recipe switch, SVN-based try jobs doesn't seem to support auto-detecting that a sync is needed if there's a DEPS change. R=andrew@webrtc.org, pbos@webrtc.org Review URL: https://webrtc-codereview.appspot.com/12729004 git-svn-id: http://webrtc.googlecode.com/svn/trunk@6516 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-06-21 21:30:29 +02:00
},
{
# Download test resources, i.e. video and audio files from Google Storage.
"pattern": ".",
"action": ["download_from_google_storage",
"--directory",
"--recursive",
"--num_threads=10",
"--no_auth",
"--bucket", "chromium-webrtc-resources",
"src/resources"],
},
{
# A change to a .gyp, .gypi, or to GYP itself should run the generator.
Roll chromium_revision 249215:255773 Overview of changes in Chrome DEPS: $ svn diff http://src.chromium.org/chrome/trunk/src/DEPS -r 249215:255773 which can be compared with the output of: $ grep chromium_deps DEPS in a WebRTC checkout, gives the following relevant changes: * third_party/icu 246118:249466 * third_party/libyuv 978:979 * third_party/libjpeg_turbo 239595:251747 * third_party/libsrtp 214783:250757 * third_party/nss 246067:254867 * tools/clang-format 198831:202065 * tools/gyp 1846:1860 Among a variety of updated DEPS, this enables us to use the new automatic download of Chromium's stripped down Visual Studio 2013 toolchain on Windows. For Windows, Visual Studio 2013 is also the default compiler in Chrome. This CL sets the GYP_MSVS_VERSION to 2010 unless otherwise specified. Doing that we can first fix our 2013 problems before we move over to having 2013 by default. The plan is to build 2013 at the WebRTC FYI waterfall at http://build.chromium.org/p/client.webrtc.fyi/waterfall to ensure we can support VS2013 before the switch. I realized we can sync Chromium's find_depot_tools.py script into it's own folder and just alter the PYTHONPATH for the gyp_webrtc script. That way there's no need to have the dummy module in webrtc/build anymore. The real script is also needed for the logic that handles checking VS2013 and downloading it if not found. BUG=chromium:340973 TEST=All trybots passing runhooks and compile step. R=tommi@webrtc.org Review URL: https://webrtc-codereview.appspot.com/9299004 git-svn-id: http://webrtc.googlecode.com/svn/trunk@5667 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-10 10:51:17 +01:00
"name": "gyp",
"pattern": ".",
"action": ["python", "src/webrtc/build/gyp_webrtc",
Var("extra_gyp_flag")],
},
]