27ab19d9b4
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
382 lines
12 KiB
Python
382 lines
12 KiB
Python
use_relative_paths = True
|
|
|
|
vars = {
|
|
# Override root_dir in your .gclient's custom_vars to specify a custom root
|
|
# folder name.
|
|
"root_dir": "trunk",
|
|
"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",
|
|
"sourceforge_url": "http://svn.code.sf.net/p/%(repo)s/code",
|
|
"chromium_trunk" : "http://src.chromium.org/svn/trunk",
|
|
"chromium_revision": "277350",
|
|
|
|
# A small subset of WebKit is needed for the Android Python test framework.
|
|
"webkit_trunk": "http://src.chromium.org/blink/trunk",
|
|
}
|
|
|
|
# NOTE: Prefer revision numbers to tags for svn deps. Use http rather than
|
|
# https; the latter can cause problems for users behind proxies.
|
|
deps = {
|
|
"../chromium_deps":
|
|
File(Var("chromium_trunk") + "/src/DEPS@" + Var("chromium_revision")),
|
|
|
|
"../chromium_gn":
|
|
File(Var("chromium_trunk") + "/src/.gn@" + Var("chromium_revision")),
|
|
|
|
"build":
|
|
Var("chromium_trunk") + "/src/build@" + Var("chromium_revision"),
|
|
|
|
# Needed by common.gypi.
|
|
"google_apis/build":
|
|
Var("chromium_trunk") + "/src/google_apis/build@" + Var("chromium_revision"),
|
|
|
|
"testing":
|
|
Var("chromium_trunk") + "/src/testing@" + Var("chromium_revision"),
|
|
|
|
"testing/gmock":
|
|
From("chromium_deps", "src/testing/gmock"),
|
|
|
|
"testing/gtest":
|
|
From("chromium_deps", "src/testing/gtest"),
|
|
|
|
"third_party/binutils":
|
|
Var("chromium_trunk") + "/src/third_party/binutils@" + Var("chromium_revision"),
|
|
|
|
"third_party/clang_format":
|
|
Var("chromium_trunk") + "/src/third_party/clang_format@" + Var("chromium_revision"),
|
|
|
|
"third_party/clang_format/script":
|
|
From("chromium_deps", "src/third_party/clang_format/script"),
|
|
|
|
"third_party/expat":
|
|
Var("chromium_trunk") + "/src/third_party/expat@" + Var("chromium_revision"),
|
|
|
|
# When rolling gflags, also update deps/third_party/webrtc/webrtc.DEPS/DEPS
|
|
# in Chromium's repo.
|
|
"third_party/gflags/src":
|
|
(Var("googlecode_url") % "gflags") + "/trunk/src@84",
|
|
|
|
"third_party/icu/":
|
|
From("chromium_deps", "src/third_party/icu"),
|
|
|
|
"third_party/jsoncpp/":
|
|
Var("chromium_trunk") + "/src/third_party/jsoncpp@" + Var("chromium_revision"),
|
|
|
|
"third_party/jsoncpp/source":
|
|
(Var("sourceforge_url") % {"repo": "jsoncpp"}) + "/trunk/jsoncpp@248",
|
|
|
|
"third_party/junit/":
|
|
(Var("googlecode_url") % "webrtc") + "/deps/third_party/junit@3367",
|
|
|
|
"third_party/libc++":
|
|
Var("chromium_trunk") + "/src/third_party/libc++@" + Var("chromium_revision"),
|
|
|
|
"third_party/libc++/trunk":
|
|
From("chromium_deps", "src/third_party/libc++/trunk"),
|
|
|
|
"third_party/libc++abi":
|
|
Var("chromium_trunk") + "/src/third_party/libc++abi@" + Var("chromium_revision"),
|
|
|
|
"third_party/libc++abi/trunk":
|
|
From("chromium_deps", "src/third_party/libc++abi/trunk"),
|
|
|
|
"third_party/openmax_dl/":
|
|
(Var("googlecode_url") % "webrtc") + "/deps/third_party/openmax@6096",
|
|
|
|
"third_party/libjpeg":
|
|
Var("chromium_trunk") + "/src/third_party/libjpeg@" + Var("chromium_revision"),
|
|
|
|
"third_party/libjpeg_turbo":
|
|
From("chromium_deps", "src/third_party/libjpeg_turbo"),
|
|
|
|
"third_party/libsrtp/":
|
|
From("chromium_deps", "src/third_party/libsrtp"),
|
|
|
|
"third_party/libvpx":
|
|
Var("chromium_trunk") + "/deps/third_party/libvpx@269083",
|
|
|
|
"third_party/libyuv":
|
|
(Var("googlecode_url") % "libyuv") + "/trunk@1000",
|
|
|
|
"third_party/opus":
|
|
Var("chromium_trunk") + "/src/third_party/opus@277414",
|
|
|
|
"third_party/opus/src":
|
|
Var("chromium_trunk") + "/deps/third_party/opus@256783",
|
|
|
|
"third_party/protobuf":
|
|
Var("chromium_trunk") + "/src/third_party/protobuf@" + Var("chromium_revision"),
|
|
|
|
"third_party/sqlite/":
|
|
Var("chromium_trunk") + "/src/third_party/sqlite@" + Var("chromium_revision"),
|
|
|
|
"third_party/yasm":
|
|
Var("chromium_trunk") + "/src/third_party/yasm@" + Var("chromium_revision"),
|
|
|
|
"third_party/yasm/source/patched-yasm":
|
|
From("chromium_deps", "src/third_party/yasm/source/patched-yasm"),
|
|
|
|
"tools/clang":
|
|
Var("chromium_trunk") + "/src/tools/clang@" + Var("chromium_revision"),
|
|
|
|
"tools/generate_library_loader":
|
|
Var("chromium_trunk") + "/src/tools/generate_library_loader@" + Var("chromium_revision"),
|
|
|
|
"tools/gn":
|
|
Var("chromium_trunk") + "/src/tools/gn@" + Var("chromium_revision"),
|
|
|
|
"tools/gyp":
|
|
From("chromium_deps", "src/tools/gyp"),
|
|
|
|
"tools/protoc_wrapper":
|
|
Var("chromium_trunk") + "/src/tools/protoc_wrapper@" + Var("chromium_revision"),
|
|
|
|
"tools/python":
|
|
Var("chromium_trunk") + "/src/tools/python@" + Var("chromium_revision"),
|
|
|
|
"tools/sanitizer_options":
|
|
File(Var("chromium_trunk") + "/src/base/debug/sanitizer_options.cc@" + Var("chromium_revision")),
|
|
|
|
"tools/swarming_client":
|
|
From("chromium_deps", "src/tools/swarming_client"),
|
|
|
|
"tools/tsan_suppressions":
|
|
File(Var("chromium_trunk") + "/src/base/debug/tsan_suppressions.cc@" + Var("chromium_revision")),
|
|
|
|
"tools/valgrind":
|
|
Var("chromium_trunk") + "/src/tools/valgrind@" + Var("chromium_revision"),
|
|
|
|
# Needed by build/common.gypi.
|
|
"tools/win/supalink":
|
|
Var("chromium_trunk") + "/src/tools/win/supalink@" + Var("chromium_revision"),
|
|
|
|
"net/third_party/nss":
|
|
Var("chromium_trunk") + "/src/net/third_party/nss@" + Var("chromium_revision"),
|
|
|
|
"third_party/usrsctp/":
|
|
Var("chromium_trunk") + "/src/third_party/usrsctp@" + Var("chromium_revision"),
|
|
|
|
"third_party/usrsctp/usrsctplib":
|
|
(Var("googlecode_url") % "sctp-refimpl") + "/trunk/KERN/usrsctp/usrsctplib@8875",
|
|
}
|
|
|
|
deps_os = {
|
|
"win": {
|
|
"third_party/drmemory":
|
|
Var("chromium_trunk") + "/src/third_party/drmemory@" + Var("chromium_revision"),
|
|
|
|
"third_party/winsdk_samples/src":
|
|
(Var("googlecode_url") % "webrtc") + "/deps/third_party/winsdk_samples_v71@3145",
|
|
|
|
# Used by libjpeg-turbo.
|
|
"third_party/yasm/binaries":
|
|
From("chromium_deps", "src/third_party/yasm/binaries"),
|
|
|
|
# NSS, for SSLClientSocketNSS.
|
|
"third_party/nss":
|
|
From("chromium_deps", "src/third_party/nss"),
|
|
|
|
"tools/find_depot_tools":
|
|
File(Var("chromium_trunk") + "/src/tools/find_depot_tools.py@" + Var("chromium_revision")),
|
|
},
|
|
|
|
"mac": {
|
|
# NSS, for SSLClientSocketNSS.
|
|
"third_party/nss":
|
|
From("chromium_deps", "src/third_party/nss"),
|
|
|
|
# TODO(kjellander): remove once bug 2152 is fixed.
|
|
# This needs to specify the path directly (instead of using the
|
|
# chromium_deps version) because chromium_deps only defines this for ios.
|
|
"testing/iossim/third_party/class-dump":
|
|
Var("chromium_trunk") + "/deps/third_party/class-dump@199203",
|
|
},
|
|
|
|
"ios": {
|
|
# NSS, for SSLClientSocketNSS.
|
|
"third_party/nss":
|
|
From("chromium_deps", "src/third_party/nss"),
|
|
|
|
# class-dump utility to generate header files for undocumented SDKs.
|
|
"testing/iossim/third_party/class-dump":
|
|
From("chromium_deps", "src/testing/iossim/third_party/class-dump"),
|
|
|
|
# Helper for running under the simulator.
|
|
"testing/iossim":
|
|
Var("chromium_trunk") + "/src/testing/iossim@" + Var("chromium_revision"),
|
|
},
|
|
|
|
"android": {
|
|
# Precompiled tools needed for Android test execution. Needed since we can't
|
|
# compile them from source in WebRTC since they depend on Chromium's base.
|
|
"tools/android":
|
|
(Var("googlecode_url") % "webrtc") + "/deps/tools/android@6306",
|
|
|
|
"third_party/android_tools":
|
|
From("chromium_deps", "src/third_party/android_tools"),
|
|
|
|
"third_party/android_testrunner":
|
|
Var("chromium_trunk") + "/src/third_party/android_testrunner@" + Var("chromium_revision"),
|
|
|
|
"third_party/WebKit/Tools/Scripts":
|
|
Var("webkit_trunk") + "/Tools/Scripts@151677",
|
|
|
|
"third_party/openssl":
|
|
From("chromium_deps", "src/third_party/openssl"),
|
|
},
|
|
}
|
|
|
|
hooks = [
|
|
{
|
|
# Copy .gn from temporary place (../chromium_gn) to root_dir.
|
|
"name": "copy .gn",
|
|
"pattern": ".",
|
|
"action": ["python", Var("root_dir") + "/build/cp.py",
|
|
Var("root_dir") + "/../chromium_gn/.gn",
|
|
Var("root_dir")],
|
|
},
|
|
# Pull GN binaries. This needs to be before running GYP below.
|
|
{
|
|
"name": "gn_win",
|
|
"pattern": "tools/gn/bin/win/gn.exe.sha1",
|
|
"action": [ "download_from_google_storage",
|
|
"--no_resume",
|
|
"--platform=win32",
|
|
"--no_auth",
|
|
"--bucket", "chromium-gn",
|
|
"-s", Var("root_dir") + "/tools/gn/bin/win/gn.exe.sha1",
|
|
],
|
|
},
|
|
{
|
|
"name": "gn_mac",
|
|
"pattern": "tools/gn/bin/mac/gn.sha1",
|
|
"action": [ "download_from_google_storage",
|
|
"--no_resume",
|
|
"--platform=darwin",
|
|
"--no_auth",
|
|
"--bucket", "chromium-gn",
|
|
"-s", Var("root_dir") + "/tools/gn/bin/mac/gn.sha1",
|
|
],
|
|
},
|
|
{
|
|
"name": "gn_linux",
|
|
"pattern": "tools/gn/bin/linux/gn.sha1",
|
|
"action": [ "download_from_google_storage",
|
|
"--no_resume",
|
|
"--platform=linux*",
|
|
"--no_auth",
|
|
"--bucket", "chromium-gn",
|
|
"-s", Var("root_dir") + "/tools/gn/bin/linux/gn.sha1",
|
|
],
|
|
},
|
|
{
|
|
"name": "gn_linux32",
|
|
"pattern": "tools/gn/bin/linux/gn32.sha1",
|
|
"action": [ "download_from_google_storage",
|
|
"--no_resume",
|
|
"--platform=linux*",
|
|
"--no_auth",
|
|
"--bucket", "chromium-gn",
|
|
"-s", Var("root_dir") + "/tools/gn/bin/linux/gn32.sha1",
|
|
],
|
|
},
|
|
# Pull clang-format binaries using checked-in hashes.
|
|
{
|
|
"name": "clang_format_win",
|
|
"pattern": "third_party/clang_format/bin/win/clang-format.exe.sha1",
|
|
"action": [ "download_from_google_storage",
|
|
"--no_resume",
|
|
"--platform=win32",
|
|
"--no_auth",
|
|
"--bucket", "chromium-clang-format",
|
|
"-s", Var("root_dir") + "/third_party/clang_format/bin/win/clang-format.exe.sha1",
|
|
],
|
|
},
|
|
{
|
|
"name": "clang_format_mac",
|
|
"pattern": "third_party/clang_format/bin/mac/clang-format.sha1",
|
|
"action": [ "download_from_google_storage",
|
|
"--no_resume",
|
|
"--platform=darwin",
|
|
"--no_auth",
|
|
"--bucket", "chromium-clang-format",
|
|
"-s", Var("root_dir") + "/third_party/clang_format/bin/mac/clang-format.sha1",
|
|
],
|
|
},
|
|
{
|
|
"name": "clang_format_linux",
|
|
"pattern": "third_party/clang_format/bin/linux/clang-format.sha1",
|
|
"action": [ "download_from_google_storage",
|
|
"--no_resume",
|
|
"--platform=linux*",
|
|
"--no_auth",
|
|
"--bucket", "chromium-clang-format",
|
|
"-s", Var("root_dir") + "/third_party/clang_format/bin/linux/clang-format.sha1",
|
|
],
|
|
},
|
|
{
|
|
# Pull clang if on Mac or clang is requested via GYP_DEFINES.
|
|
"pattern": ".",
|
|
"action": ["python", Var("root_dir") + "/tools/clang/scripts/update.py",
|
|
"--if-needed"],
|
|
},
|
|
{
|
|
# Update the Windows toolchain if necessary.
|
|
"name": "win_toolchain",
|
|
"pattern": ".",
|
|
"action": ["python",
|
|
Var("root_dir") + "/webrtc/build/download_vs_toolchain.py",
|
|
"update"],
|
|
},
|
|
{
|
|
# Pull binutils for gold.
|
|
"name": "binutils",
|
|
"pattern": ".",
|
|
"action": ["python", Var("root_dir") + "/third_party/binutils/download.py"],
|
|
},
|
|
{
|
|
"name": "drmemory",
|
|
"pattern": ".",
|
|
"action": [ "download_from_google_storage",
|
|
"--no_resume",
|
|
"--platform=win32",
|
|
"--no_auth",
|
|
"--bucket", "chromium-drmemory",
|
|
"-s", Var("root_dir") + "/third_party/drmemory/drmemory-windows-sfx.exe.sha1",
|
|
],
|
|
},
|
|
{
|
|
# Pull the Syzygy binaries, used for optimization and instrumentation.
|
|
"name": "syzygy-binaries",
|
|
"pattern": ".",
|
|
"action": ["python",
|
|
Var("root_dir") + "/build/get_syzygy_binaries.py",
|
|
"--output-dir=%s/third_party/syzygy/binaries" % Var("root_dir"),
|
|
"--revision=b08fb72610963d31cc3eae33f746a04e263bd860",
|
|
"--overwrite",
|
|
],
|
|
},
|
|
{
|
|
# Download test resources, i.e. video and audio files from Google Storage.
|
|
"pattern": "\\.sha1",
|
|
"action": ["download_from_google_storage",
|
|
"--directory",
|
|
"--recursive",
|
|
"--num_threads=10",
|
|
"--no_auth",
|
|
"--bucket", "chromium-webrtc-resources",
|
|
Var("root_dir") + "/resources"],
|
|
},
|
|
{
|
|
# A change to a .gyp, .gypi, or to GYP itself should run the generator.
|
|
"name": "gyp",
|
|
"pattern": ".",
|
|
"action": ["python", Var("root_dir") + "/webrtc/build/gyp_webrtc",
|
|
Var("extra_gyp_flag")],
|
|
},
|
|
]
|
|
|