# Copyright 2018 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/sanitizers/sanitizers.gni") import("//third_party/abseil-cpp/absl.gni") absl_source_set("stacktrace") { sources = [ "internal/stacktrace_aarch64-inl.inc", "internal/stacktrace_arm-inl.inc", "internal/stacktrace_config.h", "internal/stacktrace_emscripten-inl.inc", "internal/stacktrace_generic-inl.inc", "internal/stacktrace_powerpc-inl.inc", "internal/stacktrace_riscv-inl.inc", "internal/stacktrace_unimplemented-inl.inc", "internal/stacktrace_win32-inl.inc", "internal/stacktrace_x86-inl.inc", "stacktrace.cc", ] public = [ "stacktrace.h" ] deps = [ ":debugging_internal", "//third_party/abseil-cpp/absl/base:config", "//third_party/abseil-cpp/absl/base:core_headers", "//third_party/abseil-cpp/absl/base:raw_logging_internal", ] } absl_source_set("symbolize") { sources = [ "symbolize.cc", "symbolize_darwin.inc", "symbolize_elf.inc", "symbolize_emscripten.inc", "symbolize_unimplemented.inc", "symbolize_win32.inc", ] public = [ "internal/symbolize.h", "symbolize.h", ] deps = [ ":debugging_internal", ":demangle_internal", "//third_party/abseil-cpp/absl/base", "//third_party/abseil-cpp/absl/base:config", "//third_party/abseil-cpp/absl/base:core_headers", "//third_party/abseil-cpp/absl/base:dynamic_annotations", "//third_party/abseil-cpp/absl/base:malloc_internal", "//third_party/abseil-cpp/absl/base:raw_logging_internal", "//third_party/abseil-cpp/absl/strings", ] # TODO(mbonadei): The bazel file has: # -DEFAULTLIB:dbghelp.lib # evaluate if this needs to be added here as well. } absl_source_set("examine_stack") { sources = [ "internal/examine_stack.cc" ] public = [ "internal/examine_stack.h" ] visibility = [ ":*", "//third_party/abseil-cpp/absl/log/internal:*", ] deps = [ ":stacktrace", ":symbolize", "//third_party/abseil-cpp/absl/base:config", "//third_party/abseil-cpp/absl/base:core_headers", "//third_party/abseil-cpp/absl/base:raw_logging_internal", ] } absl_source_set("failure_signal_handler") { sources = [ "failure_signal_handler.cc" ] public = [ "failure_signal_handler.h" ] deps = [ ":examine_stack", ":stacktrace", "//third_party/abseil-cpp/absl/base", "//third_party/abseil-cpp/absl/base:config", "//third_party/abseil-cpp/absl/base:core_headers", "//third_party/abseil-cpp/absl/base:raw_logging_internal", ] } absl_source_set("debugging_internal") { sources = [ "internal/address_is_readable.cc", "internal/elf_mem_image.cc", "internal/vdso_support.cc", ] public = [ "internal/address_is_readable.h", "internal/elf_mem_image.h", "internal/vdso_support.h", ] visibility = [ ":*" ] deps = [ "//third_party/abseil-cpp/absl/base:config", "//third_party/abseil-cpp/absl/base:core_headers", "//third_party/abseil-cpp/absl/base:dynamic_annotations", "//third_party/abseil-cpp/absl/base:errno_saver", "//third_party/abseil-cpp/absl/base:raw_logging_internal", ] } absl_source_set("demangle_internal") { sources = [ "internal/demangle.cc" ] public = [ "internal/demangle.h" ] visibility = [ ":*" ] deps = [ "//third_party/abseil-cpp/absl/base", "//third_party/abseil-cpp/absl/base:config", "//third_party/abseil-cpp/absl/base:core_headers", ] } absl_source_set("leak_check") { if (is_ios || is_win) { sources = [] public = [] } else { sources = [ "leak_check.cc" ] public = [ "leak_check.h" ] } deps = [ "//third_party/abseil-cpp/absl/base:config", "//third_party/abseil-cpp/absl/base:core_headers", ] } absl_source_set("stack_consumption") { testonly = true sources = [ "internal/stack_consumption.cc" ] public = [ "internal/stack_consumption.h" ] deps = [ "//third_party/abseil-cpp/absl/base:config", "//third_party/abseil-cpp/absl/base:core_headers", "//third_party/abseil-cpp/absl/base:raw_logging_internal", ] visibility = [ ":*" ] }