summaryrefslogtreecommitdiff
path: root/chromium/buildtools
diff options
context:
space:
mode:
authorAllan Sandfeld Jensen <allan.jensen@theqtcompany.com>2015-08-14 11:38:45 +0200
committerAllan Sandfeld Jensen <allan.jensen@theqtcompany.com>2015-08-14 17:16:47 +0000
commit3a97ca8dd9b96b599ae2d33e40df0dd2f7ea5859 (patch)
tree43cc572ba067417c7341db81f71ae7cc6e0fcc3e /chromium/buildtools
parentf61ab1ac7f855cd281809255c0aedbb1895e1823 (diff)
downloadqtwebengine-chromium-3a97ca8dd9b96b599ae2d33e40df0dd2f7ea5859.tar.gz
BASELINE: Update chromium to 45.0.2454.40
Change-Id: Id2121d9f11a8fc633677236c65a3e41feef589e4 Reviewed-by: Andras Becsi <andras.becsi@theqtcompany.com>
Diffstat (limited to 'chromium/buildtools')
-rwxr-xr-xchromium/buildtools/checkdeps/checkdeps.py16
-rw-r--r--chromium/buildtools/checkdeps/cpp_checker.py9
-rw-r--r--chromium/buildtools/linux64/gn.sha12
-rw-r--r--chromium/buildtools/mac/gn.sha12
-rw-r--r--chromium/buildtools/third_party/libc++/BUILD.gn101
-rw-r--r--chromium/buildtools/third_party/libc++/libc++.gyp8
-rw-r--r--chromium/buildtools/third_party/libc++abi/BUILD.gn36
-rw-r--r--chromium/buildtools/third_party/libc++abi/libc++abi.gyp14
-rw-r--r--chromium/buildtools/win/gn.exe.sha12
9 files changed, 168 insertions, 22 deletions
diff --git a/chromium/buildtools/checkdeps/checkdeps.py b/chromium/buildtools/checkdeps/checkdeps.py
index 5bf79076063..03ab20c19c1 100755
--- a/chromium/buildtools/checkdeps/checkdeps.py
+++ b/chromium/buildtools/checkdeps/checkdeps.py
@@ -42,7 +42,8 @@ class DepsChecker(DepsBuilder):
verbose=False,
being_tested=False,
ignore_temp_rules=False,
- skip_tests=False):
+ skip_tests=False,
+ resolve_dotdot=False):
"""Creates a new DepsChecker.
Args:
@@ -55,6 +56,7 @@ class DepsChecker(DepsBuilder):
self, base_directory, verbose, being_tested, ignore_temp_rules)
self._skip_tests = skip_tests
+ self._resolve_dotdot = resolve_dotdot
self.results_formatter = results.NormalResultsFormatter(verbose)
def Report(self):
@@ -75,7 +77,8 @@ class DepsChecker(DepsBuilder):
processing, and calling Report() will print a report of results.
"""
java = java_checker.JavaChecker(self.base_directory, self.verbose)
- cpp = cpp_checker.CppChecker(self.verbose)
+ cpp = cpp_checker.CppChecker(
+ self.verbose, self._resolve_dotdot, self.base_directory)
checkers = dict(
(extension, checker)
for checker in [java, cpp] for extension in checker.EXTENSIONS)
@@ -192,12 +195,19 @@ def main():
option_parser.add_option(
'', '--json',
help='Path to JSON output file')
+ option_parser.add_option(
+ '', '--resolve-dotdot',
+ action='store_true', dest='resolve_dotdot', default=False,
+ help='resolve leading ../ in include directive paths relative '
+ 'to the file perfoming the inclusion.')
+
options, args = option_parser.parse_args()
deps_checker = DepsChecker(options.base_directory,
verbose=options.verbose,
ignore_temp_rules=options.ignore_temp_rules,
- skip_tests=options.skip_tests)
+ skip_tests=options.skip_tests,
+ resolve_dotdot=options.resolve_dotdot)
base_directory = deps_checker.base_directory # Default if needed, normalized
# Figure out which directory we have to check.
diff --git a/chromium/buildtools/checkdeps/cpp_checker.py b/chromium/buildtools/checkdeps/cpp_checker.py
index 94fd37a9214..16139915d7f 100644
--- a/chromium/buildtools/checkdeps/cpp_checker.py
+++ b/chromium/buildtools/checkdeps/cpp_checker.py
@@ -34,8 +34,10 @@ class CppChecker(object):
_EXTRACT_INCLUDE_PATH = re.compile(
'[ \t]*#[ \t]*(?:include|import)[ \t]+"(.*)"')
- def __init__(self, verbose):
+ def __init__(self, verbose, resolve_dotdot=False, root_dir=''):
self._verbose = verbose
+ self._resolve_dotdot = resolve_dotdot
+ self._root_dir = root_dir
def CheckLine(self, rules, line, dependee_path, fail_on_temp_allow=False):
"""Checks the given line with the given rule set.
@@ -65,6 +67,11 @@ class CppChecker(object):
print ' WARNING: include specified with no directory: ' + include_path
return True, None
+ if self._resolve_dotdot and '../' in include_path:
+ dependee_dir = os.path.dirname(dependee_path)
+ include_path = os.path.normpath(os.path.join(dependee_dir, include_path))
+ include_path = os.path.relpath(include_path, self._root_dir)
+
rule = rules.RuleApplyingTo(include_path, dependee_path)
if (rule.allow == Rule.DISALLOW or
(fail_on_temp_allow and rule.allow == Rule.TEMP_ALLOW)):
diff --git a/chromium/buildtools/linux64/gn.sha1 b/chromium/buildtools/linux64/gn.sha1
index b93ff2e15dd..17391b75b40 100644
--- a/chromium/buildtools/linux64/gn.sha1
+++ b/chromium/buildtools/linux64/gn.sha1
@@ -1 +1 @@
-6ce9f887949de2f6eed014bfc2f1f744c040041e
+207d41540222bfd1522f33ee3633139a3a4b4256
diff --git a/chromium/buildtools/mac/gn.sha1 b/chromium/buildtools/mac/gn.sha1
index 60efaa2ad8b..a2db3851019 100644
--- a/chromium/buildtools/mac/gn.sha1
+++ b/chromium/buildtools/mac/gn.sha1
@@ -1 +1 @@
-ca4020ac29579140e5731871f7b90e55b843e030
+de17e80d36d1a942aa78066afdc82eb5c58e8145
diff --git a/chromium/buildtools/third_party/libc++/BUILD.gn b/chromium/buildtools/third_party/libc++/BUILD.gn
new file mode 100644
index 00000000000..e225b7f2347
--- /dev/null
+++ b/chromium/buildtools/third_party/libc++/BUILD.gn
@@ -0,0 +1,101 @@
+# Copyright 2015 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+config("config") {
+ include_dirs = [
+ "trunk/include",
+ "../libc++abi/trunk/include",
+ ]
+ cflags = [
+ "-fPIC",
+ "-fstrict-aliasing",
+ "-nostdinc++",
+ "-pthread",
+ "-std=c++11",
+ ]
+}
+
+shared_library("libc++") {
+ sources = [
+ "trunk/src/algorithm.cpp",
+ "trunk/src/bind.cpp",
+ "trunk/src/chrono.cpp",
+ "trunk/src/condition_variable.cpp",
+ "trunk/src/debug.cpp",
+ "trunk/src/exception.cpp",
+ "trunk/src/future.cpp",
+ "trunk/src/hash.cpp",
+ "trunk/src/ios.cpp",
+ "trunk/src/iostream.cpp",
+ "trunk/src/locale.cpp",
+ "trunk/src/memory.cpp",
+ "trunk/src/mutex.cpp",
+ "trunk/src/new.cpp",
+ "trunk/src/optional.cpp",
+ "trunk/src/random.cpp",
+ "trunk/src/regex.cpp",
+ "trunk/src/shared_mutex.cpp",
+ "trunk/src/stdexcept.cpp",
+ "trunk/src/string.cpp",
+ "trunk/src/strstream.cpp",
+ "trunk/src/system_error.cpp",
+ "trunk/src/thread.cpp",
+ "trunk/src/typeinfo.cpp",
+ "trunk/src/utility.cpp",
+ "trunk/src/valarray.cpp",
+ ]
+ configs -= [
+ "//build/config/compiler:chromium_code",
+ "//build/config/compiler:no_rtti",
+ "//build/config/gcc:no_exceptions",
+ "//build/config/gcc:symbol_visibility_hidden",
+ ]
+ configs += [
+ ":config",
+ "//build/config/compiler:no_chromium_code",
+ "//build/config/compiler:rtti",
+ "//build/config/sanitizers:sanitizer_options_link_helper",
+ ]
+
+ ldflags = [ "-nodefaultlibs" ]
+
+ # TODO(GYP): Remove "-pthread" from ldflags.
+ # -nodefaultlibs turns -pthread into a no-op, causing an unused argument
+ # warning. Explicitly link with -lpthread instead.
+
+ libs = [
+ "c",
+ "gcc_s",
+ "m",
+ "pthread",
+ "rt",
+ ]
+
+ # libc++abi is linked statically into libc++.so. This allows us to get both
+ # libc++ and libc++abi by passing '-stdlib=libc++'. If libc++abi was a
+ # separate DSO, we'd have to link against it explicitly.
+ deps = [
+ "//buildtools/third_party/libc++abi",
+ ]
+}
+
+group("libcxx_proxy") {
+ deps = [
+ ":libc++",
+ ]
+ public_configs = [ ":link_helper" ]
+}
+
+config("link_helper") {
+ ldflags = [
+ "-stdlib=libc++",
+
+ # Normally the generator takes care of RPATH. Our case is special because
+ # the generator is unaware of the libc++.so dependency. Note that setting
+ # RPATH here is a potential security issue. See the following for another
+ # example of this issue: https://code.google.com/p/gyp/issues/detail?id=315
+ "-Wl,-R,\$ORIGIN/",
+ ]
+ lib_dirs = [ root_build_dir ]
+}
diff --git a/chromium/buildtools/third_party/libc++/libc++.gyp b/chromium/buildtools/third_party/libc++/libc++.gyp
index c6011de4498..7422d10fc20 100644
--- a/chromium/buildtools/third_party/libc++/libc++.gyp
+++ b/chromium/buildtools/third_party/libc++/libc++.gyp
@@ -88,8 +88,10 @@
'../libc++abi/trunk/include',
],
'cflags': [
+ '-fPIC',
'-fstrict-aliasing',
'-nostdinc++',
+ '-pthread',
'-std=c++11',
],
'cflags_cc!': [
@@ -103,14 +105,14 @@
'-nodefaultlibs',
],
'ldflags!': [
- # This somehow causes a warning from clang about an unused compilation
- # option. Use '-lpthread' instead.
- # TODO(earthdok): find out what's causing the warning.
+ # -nodefaultlibs turns -pthread into a no-op, causing an unused argument
+ # warning. Explicitly link with -lpthread instead.
'-pthread',
],
'libraries': [
'-lc',
'-lgcc_s',
+ '-lm',
'-lpthread',
'-lrt',
],
diff --git a/chromium/buildtools/third_party/libc++abi/BUILD.gn b/chromium/buildtools/third_party/libc++abi/BUILD.gn
new file mode 100644
index 00000000000..750dde137b4
--- /dev/null
+++ b/chromium/buildtools/third_party/libc++abi/BUILD.gn
@@ -0,0 +1,36 @@
+# Copyright 2015 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+static_library("libc++abi") {
+ sources = [
+ "trunk/src/abort_message.cpp",
+ "trunk/src/cxa_aux_runtime.cpp",
+ "trunk/src/cxa_default_handlers.cpp",
+ "trunk/src/cxa_demangle.cpp",
+ "trunk/src/cxa_exception.cpp",
+ "trunk/src/cxa_exception_storage.cpp",
+ "trunk/src/cxa_guard.cpp",
+ "trunk/src/cxa_handlers.cpp",
+ "trunk/src/cxa_new_delete.cpp",
+ "trunk/src/cxa_personality.cpp",
+ "trunk/src/cxa_unexpected.cpp",
+ "trunk/src/cxa_vector.cpp",
+ "trunk/src/cxa_virtual.cpp",
+ "trunk/src/exception.cpp",
+ "trunk/src/private_typeinfo.cpp",
+ "trunk/src/stdexcept.cpp",
+ "trunk/src/typeinfo.cpp",
+ ]
+ configs -= [
+ "//build/config/compiler:chromium_code",
+ "//build/config/compiler:no_rtti",
+ "//build/config/gcc:no_exceptions",
+ "//build/config/gcc:symbol_visibility_hidden",
+ ]
+ configs += [
+ "//build/config/compiler:no_chromium_code",
+ "//build/config/compiler:rtti",
+ "//buildtools/third_party/libc++:config",
+ ]
+}
diff --git a/chromium/buildtools/third_party/libc++abi/libc++abi.gyp b/chromium/buildtools/third_party/libc++abi/libc++abi.gyp
index ee21e4f86ed..83aa7f3f22a 100644
--- a/chromium/buildtools/third_party/libc++abi/libc++abi.gyp
+++ b/chromium/buildtools/third_party/libc++abi/libc++abi.gyp
@@ -33,8 +33,10 @@
'../libc++/trunk/include'
],
'cflags': [
+ '-fPIC',
'-fstrict-aliasing',
'-nostdinc++',
+ '-pthread',
'-std=c++11',
],
'cflags_cc!': [
@@ -44,18 +46,6 @@
'cflags!': [
'-fvisibility=hidden',
],
- 'ldflags': [
- '-nodefaultlibs',
- ],
- 'ldflags!': [
- '-pthread',
- ],
- 'libraries': [
- '-lc',
- '-lgcc_s',
- '-lpthread',
- '-lrt',
- ]
},
]
}
diff --git a/chromium/buildtools/win/gn.exe.sha1 b/chromium/buildtools/win/gn.exe.sha1
index 6c113fa842a..f776260d2a3 100644
--- a/chromium/buildtools/win/gn.exe.sha1
+++ b/chromium/buildtools/win/gn.exe.sha1
@@ -1 +1 @@
-8b588e870ee01e5878eab7d1ca3e6588190951d1
+dd5927d06de75d7ca218420ea518f35e318c7519