naiveproxy/buildtools/third_party/libunwind/BUILD.gn

50 lines
1.4 KiB
Plaintext
Raw Permalink Normal View History

2018-02-02 13:49:39 +03:00
# 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" ]
# On desktop Linux, libunwind symbols conflict with glibc's, so
# always make them hidden, even for component builds.
if (libcpp_is_static || !is_fuchsia) {
defines = [ "_LIBUNWIND_DISABLE_VISIBILITY_ANNOTATIONS" ]
}
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",
]
}