OLD | NEW |
| (Empty) |
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. | |
4 | |
5 { | |
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 ['lsan==1', { | |
40 'sources': [ | |
41 'lsan_suppressions.cc', | |
42 ], | |
43 }], | |
44 ['asan==1', { | |
45 'sources': [ | |
46 'asan_suppressions.cc', | |
47 ], | |
48 }], | |
49 ], | |
50 'cflags/': [ | |
51 ['exclude', '-fsanitize='], | |
52 ['exclude', '-fsanitize-'], | |
53 ], | |
54 'direct_dependent_settings': { | |
55 'ldflags': [ | |
56 '-Wl,-u_sanitizer_options_link_helper', | |
57 ], | |
58 'target_conditions': [ | |
59 ['_type=="executable"', { | |
60 'xcode_settings': { | |
61 'OTHER_LDFLAGS': [ | |
62 '-Wl,-u,__sanitizer_options_link_helper', | |
63 ], | |
64 }, | |
65 }], | |
66 ], | |
67 }, | |
68 }, | |
69 # GN version: //build/sanitizers:copy_llvm_symbolizer | |
70 { | |
71 # Copy llvm-symbolizer to the product dir so that LKGR bots can package it
. | |
72 'target_name': 'llvm-symbolizer', | |
73 'type': 'none', | |
74 'variables': { | |
75 | |
76 # Path is relative to this GYP file. | |
77 'llvm_symbolizer_path': | |
78 '../../third_party/llvm-build/Release+Asserts/bin/llvm-symbolizer<(EX
ECUTABLE_SUFFIX)', | |
79 }, | |
80 'conditions': [ | |
81 ['clang==1', { | |
82 'copies': [{ | |
83 'destination': '<(PRODUCT_DIR)', | |
84 'files': [ | |
85 '<(llvm_symbolizer_path)', | |
86 ], | |
87 }], | |
88 }], | |
89 ], | |
90 }, | |
91 ], | |
92 } | |
93 | |
OLD | NEW |