• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1#
2# Copyright 2017 The Abseil Authors.
3#
4# Licensed under the Apache License, Version 2.0 (the "License");
5# you may not use this file except in compliance with the License.
6# You may obtain a copy of the License at
7#
8#      https://www.apache.org/licenses/LICENSE-2.0
9#
10# Unless required by applicable law or agreed to in writing, software
11# distributed under the License is distributed on an "AS IS" BASIS,
12# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13# See the License for the specific language governing permissions and
14# limitations under the License.
15#
16
17find_library(EXECINFO_LIBRARY execinfo)
18
19absl_cc_library(
20  NAME
21    stacktrace
22  HDRS
23    "stacktrace.h"
24    "internal/stacktrace_aarch64-inl.inc"
25    "internal/stacktrace_arm-inl.inc"
26    "internal/stacktrace_config.h"
27    "internal/stacktrace_emscripten-inl.inc"
28    "internal/stacktrace_generic-inl.inc"
29    "internal/stacktrace_powerpc-inl.inc"
30    "internal/stacktrace_riscv-inl.inc"
31    "internal/stacktrace_unimplemented-inl.inc"
32    "internal/stacktrace_win32-inl.inc"
33    "internal/stacktrace_x86-inl.inc"
34  SRCS
35    "stacktrace.cc"
36  COPTS
37    ${ABSL_DEFAULT_COPTS}
38  LINKOPTS
39    $<$<BOOL:${EXECINFO_LIBRARY}>:${EXECINFO_LIBRARY}>
40  DEPS
41    absl::debugging_internal
42    absl::config
43    absl::core_headers
44    absl::dynamic_annotations
45    absl::raw_logging_internal
46  PUBLIC
47)
48
49absl_cc_test(
50  NAME
51    stacktrace_test
52  SRCS
53    "stacktrace_test.cc"
54  COPTS
55    ${ABSL_TEST_COPTS}
56  DEPS
57    absl::stacktrace
58    absl::core_headers
59    GTest::gmock_main
60)
61
62absl_cc_library(
63  NAME
64    symbolize
65  HDRS
66    "symbolize.h"
67    "internal/symbolize.h"
68  SRCS
69    "symbolize.cc"
70    "symbolize_darwin.inc"
71    "symbolize_elf.inc"
72    "symbolize_emscripten.inc"
73    "symbolize_unimplemented.inc"
74    "symbolize_win32.inc"
75  COPTS
76    ${ABSL_DEFAULT_COPTS}
77  LINKOPTS
78    ${ABSL_DEFAULT_LINKOPTS}
79    $<$<BOOL:${MINGW}>:-ldbghelp>
80  DEPS
81    absl::debugging_internal
82    absl::demangle_internal
83    absl::base
84    absl::config
85    absl::core_headers
86    absl::dynamic_annotations
87    absl::malloc_internal
88    absl::raw_logging_internal
89    absl::strings
90  PUBLIC
91)
92
93absl_cc_test(
94  NAME
95    symbolize_test
96  SRCS
97    "symbolize_test.cc"
98  COPTS
99    ${ABSL_TEST_COPTS}
100    $<$<BOOL:${MSVC}>:-Z7>
101  LINKOPTS
102    $<$<BOOL:${MSVC}>:-DEBUG>
103  DEPS
104    absl::base
105    absl::check
106    absl::config
107    absl::core_headers
108    absl::log
109    absl::memory
110    absl::stack_consumption
111    absl::strings
112    absl::symbolize
113    GTest::gmock
114)
115
116# Internal-only target, do not depend on directly.
117absl_cc_library(
118  NAME
119    examine_stack
120  HDRS
121    "internal/examine_stack.h"
122  SRCS
123    "internal/examine_stack.cc"
124  COPTS
125    ${ABSL_DEFAULT_COPTS}
126  DEPS
127    absl::stacktrace
128    absl::symbolize
129    absl::config
130    absl::core_headers
131    absl::raw_logging_internal
132)
133
134absl_cc_library(
135  NAME
136    failure_signal_handler
137  HDRS
138    "failure_signal_handler.h"
139  SRCS
140    "failure_signal_handler.cc"
141  COPTS
142    ${ABSL_DEFAULT_COPTS}
143  DEPS
144    absl::examine_stack
145    absl::stacktrace
146    absl::base
147    absl::config
148    absl::core_headers
149    absl::raw_logging_internal
150  PUBLIC
151)
152
153absl_cc_test(
154  NAME
155    failure_signal_handler_test
156  SRCS
157    "failure_signal_handler_test.cc"
158  COPTS
159    ${ABSL_TEST_COPTS}
160  DEPS
161    absl::check
162    absl::failure_signal_handler
163    absl::stacktrace
164    absl::symbolize
165    absl::strings
166    absl::raw_logging_internal
167    Threads::Threads
168    GTest::gmock
169)
170
171# Internal-only target, do not depend on directly.
172absl_cc_library(
173  NAME
174    debugging_internal
175  HDRS
176    "internal/address_is_readable.h"
177    "internal/addresses.h"
178    "internal/elf_mem_image.h"
179    "internal/vdso_support.h"
180  SRCS
181    "internal/address_is_readable.cc"
182    "internal/elf_mem_image.cc"
183    "internal/vdso_support.cc"
184  COPTS
185    ${ABSL_DEFAULT_COPTS}
186  DEPS
187    absl::core_headers
188    absl::config
189    absl::dynamic_annotations
190    absl::errno_saver
191    absl::raw_logging_internal
192)
193
194# Internal-only target, do not depend on directly.
195absl_cc_library(
196  NAME
197    demangle_internal
198  HDRS
199    "internal/demangle.h"
200  SRCS
201    "internal/demangle.cc"
202  COPTS
203    ${ABSL_DEFAULT_COPTS}
204  DEPS
205    absl::config
206    absl::demangle_rust
207  PUBLIC
208)
209
210absl_cc_test(
211  NAME
212    demangle_test
213  SRCS
214    "internal/demangle_test.cc"
215  COPTS
216    ${ABSL_TEST_COPTS}
217  DEPS
218    absl::demangle_internal
219    absl::stack_consumption
220    absl::config
221    absl::core_headers
222    absl::log
223    absl::memory
224    GTest::gmock_main
225)
226
227# Internal-only target, do not depend on directly.
228absl_cc_library(
229  NAME
230    bounded_utf8_length_sequence
231  HDRS
232    "internal/bounded_utf8_length_sequence.h"
233  COPTS
234    ${ABSL_DEFAULT_COPTS}
235  DEPS
236    absl::bits
237    absl::config
238)
239
240absl_cc_test(
241  NAME
242    bounded_utf8_length_sequence_test
243  SRCS
244    "internal/bounded_utf8_length_sequence_test.cc"
245  COPTS
246    ${ABSL_TEST_COPTS}
247  DEPS
248    absl::bounded_utf8_length_sequence
249    absl::config
250    GTest::gmock_main
251)
252
253# Internal-only target, do not depend on directly.
254absl_cc_library(
255  NAME
256    decode_rust_punycode
257  HDRS
258    "internal/decode_rust_punycode.h"
259  SRCS
260    "internal/decode_rust_punycode.cc"
261  COPTS
262    ${ABSL_DEFAULT_COPTS}
263  DEPS
264    absl::bounded_utf8_length_sequence
265    absl::config
266    absl::nullability
267    absl::utf8_for_code_point
268)
269
270absl_cc_test(
271  NAME
272    decode_rust_punycode_test
273  SRCS
274    "internal/decode_rust_punycode_test.cc"
275  COPTS
276    ${ABSL_TEST_COPTS}
277  DEPS
278    absl::decode_rust_punycode
279    absl::config
280    GTest::gmock_main
281)
282
283# Internal-only target, do not depend on directly.
284absl_cc_library(
285  NAME
286    demangle_rust
287  HDRS
288    "internal/demangle_rust.h"
289  SRCS
290    "internal/demangle_rust.cc"
291  COPTS
292    ${ABSL_DEFAULT_COPTS}
293  DEPS
294    absl::config
295    absl::core_headers
296    absl::decode_rust_punycode
297)
298
299absl_cc_test(
300  NAME
301    demangle_rust_test
302  SRCS
303    "internal/demangle_rust_test.cc"
304  COPTS
305    ${ABSL_TEST_COPTS}
306  DEPS
307    absl::demangle_rust
308    absl::config
309    GTest::gmock_main
310)
311
312# Internal-only target, do not depend on directly.
313absl_cc_library(
314  NAME
315    utf8_for_code_point
316  HDRS
317    "internal/utf8_for_code_point.h"
318  SRCS
319    "internal/utf8_for_code_point.cc"
320  COPTS
321    ${ABSL_DEFAULT_COPTS}
322  DEPS
323    absl::config
324)
325
326absl_cc_test(
327  NAME
328    utf8_for_code_point_test
329  SRCS
330    "internal/utf8_for_code_point_test.cc"
331  COPTS
332    ${ABSL_TEST_COPTS}
333  DEPS
334    absl::utf8_for_code_point
335    absl::config
336    GTest::gmock_main
337)
338
339absl_cc_library(
340  NAME
341    leak_check
342  HDRS
343    "leak_check.h"
344  SRCS
345    "leak_check.cc"
346  COPTS
347    ${ABSL_DEFAULT_COPTS}
348  DEPS
349    absl::config
350    absl::core_headers
351  PUBLIC
352)
353
354absl_cc_test(
355  NAME
356    leak_check_test
357  SRCS
358    "leak_check_test.cc"
359  COPTS
360    ${ABSL_TEST_COPTS}
361  LINKOPTS
362    ${ABSL_DEFAULT_LINKOPTS}
363  DEPS
364    absl::leak_check
365    absl::base
366    absl::log
367    GTest::gmock_main
368)
369
370# Internal-only target, do not depend on directly.
371absl_cc_library(
372  NAME
373    stack_consumption
374  HDRS
375    "internal/stack_consumption.h"
376  SRCS
377    "internal/stack_consumption.cc"
378  COPTS
379    ${ABSL_DEFAULT_COPTS}
380  DEPS
381    absl::config
382    absl::core_headers
383    absl::raw_logging_internal
384  TESTONLY
385)
386
387absl_cc_test(
388  NAME
389    stack_consumption_test
390  SRCS
391    "internal/stack_consumption_test.cc"
392  COPTS
393    ${ABSL_TEST_COPTS}
394  DEPS
395    absl::stack_consumption
396    absl::core_headers
397    absl::log
398    GTest::gmock_main
399)
400
401# component target
402absl_cc_library(
403  NAME
404    debugging
405  COPTS
406    ${ABSL_DEFAULT_COPTS}
407  DEPS
408    absl::stacktrace
409    absl::leak_check
410  PUBLIC
411)
412