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 '../../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 } 61 62