mirror of
https://chromium.googlesource.com/libyuv/libyuv
synced 2025-12-07 01:06:46 +08:00
Roll chromium_revision 274825:280149 to fix GN
Due to http://crbug.com/389883 GN currently doesn't execute unless the top folder is named 'src'. To work around this, perform the following changes to a checkout that currently has "trunk" as the root folder: 1. Rename trunk -> src 2. Remove .gclient_entries file (will be re-created) 3. Edit .gclient and: * set the name of the solution to "src" * add/change the custom_vars dict for the solution to have a key like this: "custom_vars" : { "root_dir" : "src", }, 4. Run gclient sync The buildbots already have this done and gets a "src" dir for their checkouts. I also workaround some recent changes for sanitizer tools and add a copy of Chromium's tsan_suppressions.cc to prepare for TSan v2 (since v1 that libyuv is currently using is deprecated and should be removed). BUG=libyuv:338 TEST=Currently working trybot passing + local compile on Linux in Debug,Release and with ASan+TSan v2 using: GYP_DEFINES="asan=1 release_extra_cflags=-g use_allocator=none" ./gyp_libyuv && ninja -C out/Release GYP_DEFINES="tsan=1 release_extra_cflags=-g use_allocator=none" ./gyp_libyuv && ninja -C out/Release R=fbarchard@google.com Review URL: https://webrtc-codereview.appspot.com/12889004 git-svn-id: http://libyuv.googlecode.com/svn/trunk@1027 16f28f9a-4ce2-e073-06de-1de4eb20be90
This commit is contained in:
parent
ac4f03880c
commit
f34649b2cd
41
DEPS
41
DEPS
@ -14,7 +14,7 @@ vars = {
|
|||||||
"chromium_trunk" : "http://src.chromium.org/svn/trunk",
|
"chromium_trunk" : "http://src.chromium.org/svn/trunk",
|
||||||
# chrome://version/ for revision of canary Chrome.
|
# chrome://version/ for revision of canary Chrome.
|
||||||
# http://chromium-status.appspot.com/lkgr is a last known good revision.
|
# http://chromium-status.appspot.com/lkgr is a last known good revision.
|
||||||
"chromium_revision": "274825",
|
"chromium_revision": "280149",
|
||||||
}
|
}
|
||||||
|
|
||||||
# NOTE: Prefer revision numbers to tags for svn deps. Use http rather than
|
# NOTE: Prefer revision numbers to tags for svn deps. Use http rather than
|
||||||
@ -29,6 +29,9 @@ deps = {
|
|||||||
"build":
|
"build":
|
||||||
Var("chromium_trunk") + "/src/build@" + Var("chromium_revision"),
|
Var("chromium_trunk") + "/src/build@" + Var("chromium_revision"),
|
||||||
|
|
||||||
|
"buildtools":
|
||||||
|
From("chromium_deps", "src/buildtools"),
|
||||||
|
|
||||||
# Needed by common.gypi.
|
# Needed by common.gypi.
|
||||||
"google_apis/build":
|
"google_apis/build":
|
||||||
Var("chromium_trunk") + "/src/google_apis/build@" + Var("chromium_revision"),
|
Var("chromium_trunk") + "/src/google_apis/build@" + Var("chromium_revision"),
|
||||||
@ -48,9 +51,18 @@ deps = {
|
|||||||
"tools/gyp":
|
"tools/gyp":
|
||||||
From("chromium_deps", "src/tools/gyp"),
|
From("chromium_deps", "src/tools/gyp"),
|
||||||
|
|
||||||
|
"tools/memory":
|
||||||
|
Var("chromium_trunk") + "/src/tools/memory@" + Var("chromium_revision"),
|
||||||
|
|
||||||
"tools/python":
|
"tools/python":
|
||||||
Var("chromium_trunk") + "/src/tools/python@" + Var("chromium_revision"),
|
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/tsan_suppressions":
|
||||||
|
File(Var("chromium_trunk") + "/src/base/debug/tsan_suppressions.cc@" + Var("chromium_revision")),
|
||||||
|
|
||||||
"tools/valgrind":
|
"tools/valgrind":
|
||||||
Var("chromium_trunk") + "/src/tools/valgrind@" + Var("chromium_revision"),
|
Var("chromium_trunk") + "/src/tools/valgrind@" + Var("chromium_revision"),
|
||||||
|
|
||||||
@ -61,6 +73,18 @@ deps = {
|
|||||||
"third_party/binutils":
|
"third_party/binutils":
|
||||||
Var("chromium_trunk") + "/src/third_party/binutils@" + Var("chromium_revision"),
|
Var("chromium_trunk") + "/src/third_party/binutils@" + Var("chromium_revision"),
|
||||||
|
|
||||||
|
"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/libjpeg_turbo":
|
"third_party/libjpeg_turbo":
|
||||||
From("chromium_deps", "src/third_party/libjpeg_turbo"),
|
From("chromium_deps", "src/third_party/libjpeg_turbo"),
|
||||||
|
|
||||||
@ -130,7 +154,7 @@ hooks = [
|
|||||||
"--platform=win32",
|
"--platform=win32",
|
||||||
"--no_auth",
|
"--no_auth",
|
||||||
"--bucket", "chromium-gn",
|
"--bucket", "chromium-gn",
|
||||||
"-s", Var("root_dir") + "/tools/gn/bin/win/gn.exe.sha1",
|
"-s", Var("root_dir") + "/buildtools/win/gn.exe.sha1",
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -141,7 +165,7 @@ hooks = [
|
|||||||
"--platform=darwin",
|
"--platform=darwin",
|
||||||
"--no_auth",
|
"--no_auth",
|
||||||
"--bucket", "chromium-gn",
|
"--bucket", "chromium-gn",
|
||||||
"-s", Var("root_dir") + "/tools/gn/bin/mac/gn.sha1",
|
"-s", Var("root_dir") + "/buildtools/mac/gn.sha1",
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -152,7 +176,7 @@ hooks = [
|
|||||||
"--platform=linux*",
|
"--platform=linux*",
|
||||||
"--no_auth",
|
"--no_auth",
|
||||||
"--bucket", "chromium-gn",
|
"--bucket", "chromium-gn",
|
||||||
"-s", Var("root_dir") + "/tools/gn/bin/linux/gn.sha1",
|
"-s", Var("root_dir") + "/buildtools/linux64/gn.sha1",
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -163,9 +187,16 @@ hooks = [
|
|||||||
"--platform=linux*",
|
"--platform=linux*",
|
||||||
"--no_auth",
|
"--no_auth",
|
||||||
"--bucket", "chromium-gn",
|
"--bucket", "chromium-gn",
|
||||||
"-s", Var("root_dir") + "/tools/gn/bin/linux/gn32.sha1",
|
"-s", Var("root_dir") + "/buildtools/linux32/gn.sha1",
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
# Remove GN binaries from tools/gn/bin that aren't used anymore.
|
||||||
|
# TODO(kjellander) remove after the end of July, 2014.
|
||||||
|
"name": "remove_old_gn_binaries",
|
||||||
|
"pattern": ".",
|
||||||
|
"action": ["python", Var("root_dir") + "/tools/gn/bin/rm_binaries.py"],
|
||||||
|
},
|
||||||
{
|
{
|
||||||
# Pull clang on mac. If nothing changed, or on non-mac platforms, this takes
|
# Pull clang on mac. If nothing changed, or on non-mac platforms, this takes
|
||||||
# zero seconds to run. If something changed, it downloads a prebuilt clang.
|
# zero seconds to run. If something changed, it downloads a prebuilt clang.
|
||||||
|
|||||||
59
tools/sanitizer_options.gyp
Normal file
59
tools/sanitizer_options.gyp
Normal file
@ -0,0 +1,59 @@
|
|||||||
|
# Copyright 2014 The LibYuv Project Authors. All rights reserved.
|
||||||
|
#
|
||||||
|
# Use of this source code is governed by a BSD-style license
|
||||||
|
# that can be found in the LICENSE file in the root of the source
|
||||||
|
# tree. An additional intellectual property rights grant can be found
|
||||||
|
# in the file PATENTS. All contributing project authors may
|
||||||
|
# be found in the AUTHORS file in the root of the source tree.
|
||||||
|
|
||||||
|
# This is a similar target to the one in Chromium's base.gyp. It's needed to get
|
||||||
|
# the same sanitizer settings as Chromium uses (i.e. ASan, LSan, TSan...).
|
||||||
|
{
|
||||||
|
'targets': [
|
||||||
|
{
|
||||||
|
'target_name': 'sanitizer_options',
|
||||||
|
'type': 'static_library',
|
||||||
|
'toolsets': ['host', 'target'],
|
||||||
|
'variables': {
|
||||||
|
# Every target is going to depend on sanitizer_options, so allow
|
||||||
|
# this one to depend on itself.
|
||||||
|
'prune_self_dependency': 1,
|
||||||
|
# Do not let 'none' targets depend on this one, they don't need to.
|
||||||
|
'link_dependency': 1,
|
||||||
|
},
|
||||||
|
'sources': [
|
||||||
|
'sanitizer_options/sanitizer_options.cc',
|
||||||
|
],
|
||||||
|
'include_dirs': [
|
||||||
|
'<(DEPTH)',
|
||||||
|
],
|
||||||
|
# Some targets may want to opt-out from ASan, TSan and MSan and link
|
||||||
|
# without the corresponding runtime libraries. We drop the libc++
|
||||||
|
# dependency and omit the compiler flags to avoid bringing instrumented
|
||||||
|
# code to those targets.
|
||||||
|
'conditions': [
|
||||||
|
['use_custom_libcxx==1', {
|
||||||
|
'dependencies!': [
|
||||||
|
'<(DEPTH)/third_party/libc++/libc++.gyp:libcxx_proxy',
|
||||||
|
],
|
||||||
|
}],
|
||||||
|
['tsan==1', {
|
||||||
|
'sources': [
|
||||||
|
'tsan_suppressions/tsan_suppressions.cc',
|
||||||
|
],
|
||||||
|
}],
|
||||||
|
],
|
||||||
|
'cflags!': [
|
||||||
|
'-fsanitize=address',
|
||||||
|
'-fsanitize=thread',
|
||||||
|
'-fsanitize=memory',
|
||||||
|
'-fsanitize-memory-track-origins',
|
||||||
|
],
|
||||||
|
'direct_dependent_settings': {
|
||||||
|
'ldflags': [
|
||||||
|
'-Wl,-u_sanitizer_options_link_helper',
|
||||||
|
],
|
||||||
|
},
|
||||||
|
},
|
||||||
|
], # targets
|
||||||
|
}
|
||||||
31
tools/supplement.gypi
Normal file
31
tools/supplement.gypi
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
# Copyright 2011 The LibYuv Project Authors. All rights reserved.
|
||||||
|
#
|
||||||
|
# Use of this source code is governed by a BSD-style license
|
||||||
|
# that can be found in the LICENSE file in the root of the source
|
||||||
|
# tree. An additional intellectual property rights grant can be found
|
||||||
|
# in the file PATENTS. All contributing project authors may
|
||||||
|
# be found in the AUTHORS file in the root of the source tree.
|
||||||
|
|
||||||
|
# Supplement file for libyuv. To be processed, this file needs to be located in
|
||||||
|
# the first level of directories below the gyp_libyuv file.
|
||||||
|
|
||||||
|
# This is needed to workaround the otherwise failing include of base.gyp in
|
||||||
|
# Chromium's common.gypi when a sanitizer tool is used.
|
||||||
|
{
|
||||||
|
'variables': {
|
||||||
|
'use_sanitizer_options': 0,
|
||||||
|
},
|
||||||
|
'target_defaults': {
|
||||||
|
'conditions': [
|
||||||
|
# Add default sanitizer options similar to Chromium. This is needed to get
|
||||||
|
# the sanitizer options that has LeakSanitizer disabled by default.
|
||||||
|
# Otherwise yasm will throw leak errors during compile when
|
||||||
|
# GYP_DEFINES="asan=1".
|
||||||
|
['OS=="linux" and (chromeos==0 or target_arch!="ia32")', {
|
||||||
|
'dependencies': [
|
||||||
|
'<(DEPTH)/tools/sanitizer_options.gyp:sanitizer_options',
|
||||||
|
],
|
||||||
|
}],
|
||||||
|
],
|
||||||
|
},
|
||||||
|
}
|
||||||
Loading…
x
Reference in New Issue
Block a user