| Index: build/sanitizers/sanitizers.gyp
|
| diff --git a/build/sanitizers/sanitizers.gyp b/build/sanitizers/sanitizers.gyp
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..91dab8a238a4bf933c04c2cbb224ea6381028469
|
| --- /dev/null
|
| +++ b/build/sanitizers/sanitizers.gyp
|
| @@ -0,0 +1,92 @@
|
| +# Copyright 2014 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.
|
| +
|
| +{
|
| + '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.cc',
|
| + ],
|
| + 'include_dirs': [
|
| + '../..',
|
| + ],
|
| + # 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!': [
|
| + '../../buildtools/third_party/libc++/libc++.gyp:libcxx_proxy',
|
| + ],
|
| + }],
|
| + ['tsan==1', {
|
| + 'sources': [
|
| + 'tsan_suppressions.cc',
|
| + ],
|
| + }],
|
| + ['lsan==1', {
|
| + 'sources': [
|
| + 'lsan_suppressions.cc',
|
| + ],
|
| + }],
|
| + ['asan==1', {
|
| + 'sources': [
|
| + 'asan_suppressions.cc',
|
| + ],
|
| + }],
|
| + ],
|
| + 'cflags/': [
|
| + ['exclude', '-fsanitize='],
|
| + ['exclude', '-fsanitize-'],
|
| + ],
|
| + 'direct_dependent_settings': {
|
| + 'ldflags': [
|
| + '-Wl,-u_sanitizer_options_link_helper',
|
| + ],
|
| + 'target_conditions': [
|
| + ['_type=="executable"', {
|
| + 'xcode_settings': {
|
| + 'OTHER_LDFLAGS': [
|
| + '-Wl,-u,__sanitizer_options_link_helper',
|
| + ],
|
| + },
|
| + }],
|
| + ],
|
| + },
|
| + },
|
| + {
|
| + # Copy llvm-symbolizer to the product dir so that LKGR bots can package it.
|
| + 'target_name': 'llvm-symbolizer',
|
| + 'type': 'none',
|
| + 'variables': {
|
| +
|
| + # Path is relative to this GYP file.
|
| + 'llvm_symbolizer_path':
|
| + '../../third_party/llvm-build/Release+Asserts/bin/llvm-symbolizer<(EXECUTABLE_SUFFIX)',
|
| + },
|
| + 'conditions': [
|
| + ['clang==1', {
|
| + 'copies': [{
|
| + 'destination': '<(PRODUCT_DIR)',
|
| + 'files': [
|
| + '<(llvm_symbolizer_path)',
|
| + ],
|
| + }],
|
| + }],
|
| + ],
|
| + },
|
| + ],
|
| +}
|
| +
|
|
|