# 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 = [ "//buildtools/third_party/libc++abi", "//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", ] }