diff options
author | Allan Sandfeld Jensen <allan.jensen@theqtcompany.com> | 2015-08-14 11:38:45 +0200 |
---|---|---|
committer | Allan Sandfeld Jensen <allan.jensen@theqtcompany.com> | 2015-08-14 17:16:47 +0000 |
commit | 3a97ca8dd9b96b599ae2d33e40df0dd2f7ea5859 (patch) | |
tree | 43cc572ba067417c7341db81f71ae7cc6e0fcc3e /chromium/buildtools | |
parent | f61ab1ac7f855cd281809255c0aedbb1895e1823 (diff) | |
download | qtwebengine-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-x | chromium/buildtools/checkdeps/checkdeps.py | 16 | ||||
-rw-r--r-- | chromium/buildtools/checkdeps/cpp_checker.py | 9 | ||||
-rw-r--r-- | chromium/buildtools/linux64/gn.sha1 | 2 | ||||
-rw-r--r-- | chromium/buildtools/mac/gn.sha1 | 2 | ||||
-rw-r--r-- | chromium/buildtools/third_party/libc++/BUILD.gn | 101 | ||||
-rw-r--r-- | chromium/buildtools/third_party/libc++/libc++.gyp | 8 | ||||
-rw-r--r-- | chromium/buildtools/third_party/libc++abi/BUILD.gn | 36 | ||||
-rw-r--r-- | chromium/buildtools/third_party/libc++abi/libc++abi.gyp | 14 | ||||
-rw-r--r-- | chromium/buildtools/win/gn.exe.sha1 | 2 |
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 |