|  | # Copyright (c) 2013 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. | 
|  |  | 
|  | import("//build/config/compiler/compiler.gni") | 
|  |  | 
|  | declare_args() { | 
|  | # Stack traces will not include function names. Instead they will contain | 
|  | # file and offset information that can be used with | 
|  | # tools/valgrind/asan/asan_symbolize.py. By piping stderr through this script, | 
|  | # and also enabling symbol_level = 2, you can get much more detailed stack | 
|  | # traces with file names and line numbers, even in non-ASAN builds. | 
|  | print_unsymbolized_stack_traces = is_asan || is_lsan || is_msan || is_tsan | 
|  | } | 
|  |  | 
|  | static_library("symbolize") { | 
|  | visibility = [ "//base/*" ] | 
|  | sources = [ | 
|  | "config.h", | 
|  | "demangle.cc", | 
|  | "demangle.h", | 
|  | "glog/logging.h", | 
|  | "glog/raw_logging.h", | 
|  | "symbolize.cc", | 
|  | "symbolize.h", | 
|  | "utilities.h", | 
|  | ] | 
|  |  | 
|  | defines = [] | 
|  | if (print_unsymbolized_stack_traces) { | 
|  | defines += [ "PRINT_UNSYMBOLIZED_STACK_TRACES" ] | 
|  | } | 
|  |  | 
|  | configs -= [ "//build/config/compiler:chromium_code" ] | 
|  | configs += [ "//build/config/compiler:no_chromium_code" ] | 
|  | } |