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.
8 'target_name': 'sanitizer_options',
9 'type': 'static_library',
10 'toolsets': ['host', 'target'],
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.
19 'sanitizer_options.cc',
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.
29 ['use_custom_libcxx==1', {
31 '../../buildtools/third_party/libc++/libc++.gyp:libcxx_proxy',
36 'tsan_suppressions.cc',
41 'lsan_suppressions.cc',
46 'asan_suppressions.cc',
51 ['exclude', '-fsanitize='],
52 ['exclude', '-fsanitize-'],
54 'direct_dependent_settings': {
56 '-Wl,-u_sanitizer_options_link_helper',
58 'target_conditions': [
59 ['_type=="executable"', {
62 '-Wl,-u,__sanitizer_options_link_helper',
70 # Copy llvm-symbolizer to the product dir so that LKGR bots can package it.
71 'target_name': 'llvm-symbolizer',
75 # Path is relative to this GYP file.
76 'llvm_symbolizer_path':
77 '../../third_party/llvm-build/Release+Asserts/bin/llvm-symbolizer<(EXECUTABLE_SUFFIX)',
82 'destination': '<(PRODUCT_DIR)',
84 '<(llvm_symbolizer_path)',