• 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/elf_mem_image.h"
178    "internal/vdso_support.h"
179  SRCS
180    "internal/address_is_readable.cc"
181    "internal/elf_mem_image.cc"
182    "internal/vdso_support.cc"
183  COPTS
184    ${ABSL_DEFAULT_COPTS}
185  DEPS
186    absl::core_headers
187    absl::config
188    absl::dynamic_annotations
189    absl::errno_saver
190    absl::raw_logging_internal
191)
192
193# Internal-only target, do not depend on directly.
194absl_cc_library(
195  NAME
196    demangle_internal
197  HDRS
198    "internal/demangle.h"
199    "internal/demangle_rust.h"
200  SRCS
201    "internal/demangle.cc"
202    "internal/demangle_rust.cc"
203  COPTS
204    ${ABSL_DEFAULT_COPTS}
205  DEPS
206    absl::base
207    absl::core_headers
208  PUBLIC
209)
210
211absl_cc_test(
212  NAME
213    demangle_rust_test
214  SRCS
215    "internal/demangle_rust_test.cc"
216  COPTS
217    ${ABSL_TEST_COPTS}
218  DEPS
219    absl::demangle_internal
220    absl::config
221    GTest::gmock_main
222)
223
224absl_cc_test(
225  NAME
226    demangle_test
227  SRCS
228    "internal/demangle_test.cc"
229  COPTS
230    ${ABSL_TEST_COPTS}
231  DEPS
232    absl::demangle_internal
233    absl::stack_consumption
234    absl::config
235    absl::core_headers
236    absl::log
237    absl::memory
238    GTest::gmock_main
239)
240
241absl_cc_library(
242  NAME
243    leak_check
244  HDRS
245    "leak_check.h"
246  SRCS
247    "leak_check.cc"
248  COPTS
249    ${ABSL_DEFAULT_COPTS}
250  DEPS
251    absl::config
252    absl::core_headers
253  PUBLIC
254)
255
256absl_cc_test(
257  NAME
258    leak_check_test
259  SRCS
260    "leak_check_test.cc"
261  COPTS
262    ${ABSL_TEST_COPTS}
263  LINKOPTS
264    ${ABSL_DEFAULT_LINKOPTS}
265  DEPS
266    absl::leak_check
267    absl::base
268    absl::log
269    GTest::gmock_main
270)
271
272# Internal-only target, do not depend on directly.
273absl_cc_library(
274  NAME
275    stack_consumption
276  HDRS
277    "internal/stack_consumption.h"
278  SRCS
279    "internal/stack_consumption.cc"
280  COPTS
281    ${ABSL_DEFAULT_COPTS}
282  DEPS
283    absl::config
284    absl::core_headers
285    absl::raw_logging_internal
286  TESTONLY
287)
288
289absl_cc_test(
290  NAME
291    stack_consumption_test
292  SRCS
293    "internal/stack_consumption_test.cc"
294  COPTS
295    ${ABSL_TEST_COPTS}
296  DEPS
297    absl::stack_consumption
298    absl::core_headers
299    absl::log
300    GTest::gmock_main
301)
302
303# component target
304absl_cc_library(
305  NAME
306    debugging
307  COPTS
308    ${ABSL_DEFAULT_COPTS}
309  DEPS
310    absl::stacktrace
311    absl::leak_check
312  PUBLIC
313)
314