xref: /aosp_15_r20/external/webrtc/third_party/abseil-cpp/absl/debugging/BUILD.gn (revision d9f758449e529ab9291ac668be2861e7a55c2422)
1# Copyright 2018 The Chromium Authors
2# Use of this source code is governed by a BSD-style license that can be
3# found in the LICENSE file.
4
5import("//build/config/sanitizers/sanitizers.gni")
6import("//third_party/abseil-cpp/absl.gni")
7
8absl_source_set("stacktrace") {
9  sources = [
10    "internal/stacktrace_aarch64-inl.inc",
11    "internal/stacktrace_arm-inl.inc",
12    "internal/stacktrace_config.h",
13    "internal/stacktrace_emscripten-inl.inc",
14    "internal/stacktrace_generic-inl.inc",
15    "internal/stacktrace_powerpc-inl.inc",
16    "internal/stacktrace_riscv-inl.inc",
17    "internal/stacktrace_unimplemented-inl.inc",
18    "internal/stacktrace_win32-inl.inc",
19    "internal/stacktrace_x86-inl.inc",
20    "stacktrace.cc",
21  ]
22  public = [ "stacktrace.h" ]
23  deps = [
24    ":debugging_internal",
25    "//third_party/abseil-cpp/absl/base:config",
26    "//third_party/abseil-cpp/absl/base:core_headers",
27    "//third_party/abseil-cpp/absl/base:raw_logging_internal",
28  ]
29}
30
31absl_source_set("symbolize") {
32  sources = [
33    "symbolize.cc",
34    "symbolize_darwin.inc",
35    "symbolize_elf.inc",
36    "symbolize_emscripten.inc",
37    "symbolize_unimplemented.inc",
38    "symbolize_win32.inc",
39  ]
40  public = [
41    "internal/symbolize.h",
42    "symbolize.h",
43  ]
44  deps = [
45    ":debugging_internal",
46    ":demangle_internal",
47    "//third_party/abseil-cpp/absl/base",
48    "//third_party/abseil-cpp/absl/base:config",
49    "//third_party/abseil-cpp/absl/base:core_headers",
50    "//third_party/abseil-cpp/absl/base:dynamic_annotations",
51    "//third_party/abseil-cpp/absl/base:malloc_internal",
52    "//third_party/abseil-cpp/absl/base:raw_logging_internal",
53    "//third_party/abseil-cpp/absl/strings",
54  ]
55
56  # TODO(mbonadei): The bazel file has:
57  #   -DEFAULTLIB:dbghelp.lib
58  # evaluate if this needs to be added here as well.
59}
60
61absl_source_set("examine_stack") {
62  sources = [ "internal/examine_stack.cc" ]
63  public = [ "internal/examine_stack.h" ]
64  visibility = [
65    ":*",
66    "//third_party/abseil-cpp/absl/log/internal:*",
67  ]
68  deps = [
69    ":stacktrace",
70    ":symbolize",
71    "//third_party/abseil-cpp/absl/base:config",
72    "//third_party/abseil-cpp/absl/base:core_headers",
73    "//third_party/abseil-cpp/absl/base:raw_logging_internal",
74  ]
75}
76
77absl_source_set("failure_signal_handler") {
78  sources = [ "failure_signal_handler.cc" ]
79  public = [ "failure_signal_handler.h" ]
80  deps = [
81    ":examine_stack",
82    ":stacktrace",
83    "//third_party/abseil-cpp/absl/base",
84    "//third_party/abseil-cpp/absl/base:config",
85    "//third_party/abseil-cpp/absl/base:core_headers",
86    "//third_party/abseil-cpp/absl/base:raw_logging_internal",
87  ]
88}
89
90absl_source_set("debugging_internal") {
91  sources = [
92    "internal/address_is_readable.cc",
93    "internal/elf_mem_image.cc",
94    "internal/vdso_support.cc",
95  ]
96  public = [
97    "internal/address_is_readable.h",
98    "internal/elf_mem_image.h",
99    "internal/vdso_support.h",
100  ]
101  visibility = [ ":*" ]
102  deps = [
103    "//third_party/abseil-cpp/absl/base:config",
104    "//third_party/abseil-cpp/absl/base:core_headers",
105    "//third_party/abseil-cpp/absl/base:dynamic_annotations",
106    "//third_party/abseil-cpp/absl/base:errno_saver",
107    "//third_party/abseil-cpp/absl/base:raw_logging_internal",
108  ]
109}
110
111absl_source_set("demangle_internal") {
112  sources = [ "internal/demangle.cc" ]
113  public = [ "internal/demangle.h" ]
114  visibility = [ ":*" ]
115  deps = [
116    "//third_party/abseil-cpp/absl/base",
117    "//third_party/abseil-cpp/absl/base:config",
118    "//third_party/abseil-cpp/absl/base:core_headers",
119  ]
120}
121
122absl_source_set("leak_check") {
123  if (is_ios || is_win) {
124    sources = []
125    public = []
126  } else {
127    sources = [ "leak_check.cc" ]
128    public = [ "leak_check.h" ]
129  }
130  deps = [
131    "//third_party/abseil-cpp/absl/base:config",
132    "//third_party/abseil-cpp/absl/base:core_headers",
133  ]
134}
135
136absl_source_set("stack_consumption") {
137  testonly = true
138  sources = [ "internal/stack_consumption.cc" ]
139  public = [ "internal/stack_consumption.h" ]
140  deps = [
141    "//third_party/abseil-cpp/absl/base:config",
142    "//third_party/abseil-cpp/absl/base:core_headers",
143    "//third_party/abseil-cpp/absl/base:raw_logging_internal",
144  ]
145  visibility = [ ":*" ]
146}
147