JSONStringValueSerializer takes a StringPiece instead of std::string&.
[chromium-blink-merge.git] / build / sanitizers / sanitizers.gyp
blob53cc298477656342c29ec17a6916ac741bd6cfa9
1 # Copyright 2014 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file.
6   'targets': [
7     {
8       'target_name': 'sanitizer_options',
9       'type': 'static_library',
10       'toolsets': ['host', 'target'],
11       'variables': {
12          # Every target is going to depend on sanitizer_options, so allow
13          # this one to depend on itself.
14          'prune_self_dependency': 1,
15          # Do not let 'none' targets depend on this one, they don't need to.
16          'link_dependency': 1,
17        },
18       'sources': [
19         'sanitizer_options.cc',
20       ],
21       'include_dirs': [
22         '../..',
23       ],
24       # Some targets may want to opt-out from ASan, TSan and MSan and link
25       # without the corresponding runtime libraries. We drop the libc++
26       # dependency and omit the compiler flags to avoid bringing instrumented
27       # code to those targets.
28       'conditions': [
29         ['use_custom_libcxx==1', {
30           'dependencies!': [
31             '../../buildtools/third_party/libc++/libc++.gyp:libcxx_proxy',
32           ],
33         }],
34         ['tsan==1', {
35           'sources': [
36             'tsan_suppressions.cc',
37           ],
38         }],
39       ],
40       'cflags/': [
41         ['exclude', '-fsanitize='],
42         ['exclude', '-fsanitize-'],
43       ],
44       'direct_dependent_settings': {
45         'ldflags': [
46           '-Wl,-u_sanitizer_options_link_helper',
47         ],
48         'target_conditions': [
49           ['_type=="executable"', {
50             'xcode_settings': {
51               'OTHER_LDFLAGS': [
52                 '-Wl,-u,__sanitizer_options_link_helper',
53               ],
54             },
55           }],
56         ],
57       },
58     },
59     {
60       # Copy llvm-symbolizer to the product dir so that LKGR bots can package it.
61       'target_name': 'llvm-symbolizer',
62       'type': 'none',
63       'variables': {
65        # Path is relative to this GYP file.
66        'llvm_symbolizer_path':
67            '../../third_party/llvm-build/Release+Asserts/bin/llvm-symbolizer<(EXECUTABLE_SUFFIX)',
68       },
69       'conditions': [
70         ['clang==1', {
71           'copies': [{
72             'destination': '<(PRODUCT_DIR)',
73             'files': [
74               '<(llvm_symbolizer_path)',
75             ],
76           }],
77         }],
78       ],
79     },
80   ],