| # Copyright 2017 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/c++/c++.gni") | 
 |  | 
 | config("libunwind_config") { | 
 |   # ValueAsBitPattern in Unwind-EHABI.cpp is only used on Debug builds. | 
 |   cflags = [ "-Wno-unused-function" ] | 
 | } | 
 |  | 
 | source_set("libunwind") { | 
 |   visibility = [ "//buildtools/third_party/libc++abi" ] | 
 |  | 
 |   if (libcpp_is_static) { | 
 |     defines = [ "_LIBUNWIND_DISABLE_VISIBILITY_ANNOTATIONS" ] | 
 |   } | 
 |   include_dirs = [ "//buildtools/third_party/libunwind/trunk/include" ] | 
 |   sources = [ | 
 |     # C++ sources | 
 |     "trunk/src/Unwind-EHABI.cpp", | 
 |     "trunk/src/libunwind.cpp", | 
 |  | 
 |     # C sources | 
 |     "trunk/src/Unwind-sjlj.c", | 
 |     "trunk/src/UnwindLevel1-gcc-ext.c", | 
 |     "trunk/src/UnwindLevel1.c", | 
 |  | 
 |     # ASM sources | 
 |     "trunk/src/UnwindRegistersRestore.S", | 
 |     "trunk/src/UnwindRegistersSave.S", | 
 |   ] | 
 |   configs -= [ | 
 |     "//build/config/compiler:chromium_code", | 
 |     "//build/config/compiler:no_exceptions", | 
 |     "//build/config/compiler:no_rtti", | 
 |     "//build/config/coverage:default_coverage", | 
 |   ] | 
 |   configs += [ | 
 |     "//build/config/compiler:no_chromium_code", | 
 |     "//build/config/compiler:exceptions", | 
 |     "//build/config/compiler:rtti", | 
 |     "//buildtools/third_party/libc++:config", | 
 |  | 
 |     # Must be after no_chromium_code | 
 |     ":libunwind_config", | 
 |   ] | 
 | } |