xref: /aosp_15_r20/external/angle/third_party/abseil-cpp/absl/debugging/BUILD.gn (revision 8975f5c5ed3d1c378011245431ada316dfb6f244)
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    ":demangle_rust",
130    "//third_party/abseil-cpp/absl/base",
131    "//third_party/abseil-cpp/absl/base:config",
132    "//third_party/abseil-cpp/absl/base:core_headers",
133    "//third_party/abseil-cpp/absl/base:nullability",
134    "//third_party/abseil-cpp/absl/numeric:bits",
135  ]
136}
137
138# Disabled because this test relies on RTTI
139# absl_test("demangle_test") {
140#   sources = [ "internal/demangle_test.cc" ]
141#   deps = [
142#     ":demangle_internal",
143#     ":stack_consumption",
144#     "//third_party/abseil-cpp/absl/base:config",
145#     "//third_party/abseil-cpp/absl/base:core_headers",
146#     "//third_party/abseil-cpp/absl/log",
147#     "//third_party/abseil-cpp/absl/memory",
148#   ]
149# }
150
151absl_source_set("bounded_utf8_length_sequence") {
152  public = [ "internal/bounded_utf8_length_sequence.h" ]
153  deps = [
154    "//third_party/abseil-cpp/absl/base:config",
155    "//third_party/abseil-cpp/absl/numeric:bits",
156  ]
157}
158
159absl_test("bounded_utf8_length_sequence_test") {
160  sources = [ "internal/bounded_utf8_length_sequence_test.cc" ]
161  deps = [
162    ":bounded_utf8_length_sequence",
163    "//third_party/abseil-cpp/absl/base:config",
164  ]
165}
166
167absl_source_set("decode_rust_punycode") {
168  sources = [ "internal/decode_rust_punycode.cc" ]
169  public = [ "internal/decode_rust_punycode.h" ]
170  deps = [
171    ":bounded_utf8_length_sequence",
172    ":utf8_for_code_point",
173    "//third_party/abseil-cpp/absl/base:config",
174    "//third_party/abseil-cpp/absl/base:nullability",
175  ]
176}
177
178absl_test("decode_rust_punycode_test") {
179  sources = [ "internal/decode_rust_punycode_test.cc" ]
180  deps = [
181    ":decode_rust_punycode",
182    "//third_party/abseil-cpp/absl/base:config",
183  ]
184}
185
186absl_source_set("demangle_rust") {
187  sources = [ "internal/demangle_rust.cc" ]
188  public = [ "internal/demangle_rust.h" ]
189  deps = [
190    ":decode_rust_punycode",
191    "//third_party/abseil-cpp/absl/base:config",
192    "//third_party/abseil-cpp/absl/base:core_headers",
193  ]
194}
195
196absl_test("demangle_rust_test") {
197  sources = [ "internal/demangle_rust_test.cc" ]
198  deps = [
199    ":demangle_rust",
200    "//third_party/abseil-cpp/absl/base:config",
201    "//third_party/abseil-cpp/absl/base:core_headers",
202  ]
203}
204
205absl_source_set("utf8_for_code_point") {
206  sources = [ "internal/utf8_for_code_point.cc" ]
207  public = [ "internal/utf8_for_code_point.h" ]
208  deps = [ "//third_party/abseil-cpp/absl/base:config" ]
209}
210
211absl_test("utf8_for_code_point_test") {
212  sources = [ "internal/utf8_for_code_point_test.cc" ]
213  deps = [
214    ":utf8_for_code_point",
215    "//third_party/abseil-cpp/absl/base:config",
216  ]
217}
218
219absl_source_set("leak_check") {
220  sources = [ "leak_check.cc" ]
221  public = [ "leak_check.h" ]
222  deps = [
223    "//third_party/abseil-cpp/absl/base:config",
224    "//third_party/abseil-cpp/absl/base:core_headers",
225  ]
226}
227
228absl_source_set("stack_consumption") {
229  testonly = true
230  sources = [ "internal/stack_consumption.cc" ]
231  public = [ "internal/stack_consumption.h" ]
232  deps = [
233    "//third_party/abseil-cpp/absl/base:config",
234    "//third_party/abseil-cpp/absl/base:core_headers",
235    "//third_party/abseil-cpp/absl/base:raw_logging_internal",
236  ]
237  visibility = [ ":*" ]
238}
239