blob: dfe46c31bf4adeee7cc2327eccccc32a67537047 [file] [log] [blame]
# 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",
]
}