blob: 3f671c88cea0607002465a869faa83abd4056479 [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") {
cflags = [
"-fstrict-aliasing",
"-fPIC",
# ValueAsBitPattern in Unwind-EHABI.cpp is only used on Debug builds.
"-Wno-unused-function",
]
}
source_set("libunwind") {
visibility = []
if (is_fuchsia) {
visibility += [ "//buildtools/third_party/libc++abi" ]
} else if (is_android) {
visibility += [ "//components/tracing" ]
}
if (!is_component_build) {
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",
# Must be after no_chromium_code
":libunwind_config",
]
}