xref: /aosp_15_r20/external/cronet/third_party/abseil-cpp/absl/debugging/BUILD.gn (revision 6777b5387eb2ff775bb5750e3f5d96f37fb7352b)
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:dynamic_annotations",
28    "//third_party/abseil-cpp/absl/base:raw_logging_internal",
29  ]
30}
31
32absl_test("stacktrace_test") {
33  sources = ["stacktrace_test.cc"]
34  deps = [
35    ":stacktrace",
36    "//third_party/abseil-cpp/absl/base:core_headers",
37  ]
38}
39
40absl_source_set("symbolize") {
41  sources = [
42    "symbolize.cc",
43    "symbolize_darwin.inc",
44    "symbolize_elf.inc",
45    "symbolize_emscripten.inc",
46    "symbolize_unimplemented.inc",
47    "symbolize_win32.inc",
48  ]
49  public = [
50    "internal/symbolize.h",
51    "symbolize.h",
52  ]
53  deps = [
54    ":debugging_internal",
55    ":demangle_internal",
56    "//third_party/abseil-cpp/absl/base",
57    "//third_party/abseil-cpp/absl/base:config",
58    "//third_party/abseil-cpp/absl/base:core_headers",
59    "//third_party/abseil-cpp/absl/base:dynamic_annotations",
60    "//third_party/abseil-cpp/absl/base:malloc_internal",
61    "//third_party/abseil-cpp/absl/base:raw_logging_internal",
62    "//third_party/abseil-cpp/absl/strings",
63    "//third_party/abseil-cpp/absl/strings:string_view",
64  ]
65
66  # TODO(mbonadei): The bazel file has:
67  #   -DEFAULTLIB:dbghelp.lib
68  # evaluate if this needs to be added here as well.
69}
70
71absl_source_set("examine_stack") {
72  sources = [ "internal/examine_stack.cc" ]
73  public = [ "internal/examine_stack.h" ]
74  visibility = [
75    ":*",
76    "//third_party/abseil-cpp/absl/log/internal:*",
77  ]
78  deps = [
79    ":stacktrace",
80    ":symbolize",
81    "//third_party/abseil-cpp/absl/base:config",
82    "//third_party/abseil-cpp/absl/base:core_headers",
83    "//third_party/abseil-cpp/absl/base:raw_logging_internal",
84  ]
85}
86
87absl_source_set("failure_signal_handler") {
88  sources = [ "failure_signal_handler.cc" ]
89  public = [ "failure_signal_handler.h" ]
90  deps = [
91    ":examine_stack",
92    ":stacktrace",
93    "//third_party/abseil-cpp/absl/base",
94    "//third_party/abseil-cpp/absl/base:config",
95    "//third_party/abseil-cpp/absl/base:core_headers",
96    "//third_party/abseil-cpp/absl/base:raw_logging_internal",
97  ]
98}
99
100absl_source_set("debugging_internal") {
101  sources = [
102    "internal/address_is_readable.cc",
103    "internal/elf_mem_image.cc",
104    "internal/vdso_support.cc",
105  ]
106  public = [
107    "internal/address_is_readable.h",
108    "internal/elf_mem_image.h",
109    "internal/vdso_support.h",
110  ]
111  visibility = [ ":*" ]
112  deps = [
113    "//third_party/abseil-cpp/absl/base:config",
114    "//third_party/abseil-cpp/absl/base:core_headers",
115    "//third_party/abseil-cpp/absl/base:dynamic_annotations",
116    "//third_party/abseil-cpp/absl/base:errno_saver",
117    "//third_party/abseil-cpp/absl/base:raw_logging_internal",
118  ]
119}
120
121absl_source_set("demangle_internal") {
122  sources = [ "internal/demangle.cc" ]
123  public = [ "internal/demangle.h" ]
124  visibility = [
125    "//third_party/abseil-cpp/absl/container:*",
126    "//third_party/abseil-cpp/absl/debugging:*",
127  ]
128  deps = [
129    "//third_party/abseil-cpp/absl/base",
130    "//third_party/abseil-cpp/absl/base:config",
131    "//third_party/abseil-cpp/absl/base:core_headers",
132  ]
133}
134
135absl_source_set("leak_check") {
136  if (is_ios || is_win) {
137    sources = []
138    public = []
139  } else {
140    sources = [ "leak_check.cc" ]
141    public = [ "leak_check.h" ]
142  }
143  deps = [
144    "//third_party/abseil-cpp/absl/base:config",
145    "//third_party/abseil-cpp/absl/base:core_headers",
146  ]
147}
148
149absl_source_set("stack_consumption") {
150  testonly = true
151  sources = [ "internal/stack_consumption.cc" ]
152  public = [ "internal/stack_consumption.h" ]
153  deps = [
154    "//third_party/abseil-cpp/absl/base:config",
155    "//third_party/abseil-cpp/absl/base:core_headers",
156    "//third_party/abseil-cpp/absl/base:raw_logging_internal",
157  ]
158  visibility = [ ":*" ]
159}
160