• 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  SRCS
200    "internal/demangle.cc"
201  COPTS
202    ${ABSL_DEFAULT_COPTS}
203  DEPS
204    absl::base
205    absl::core_headers
206  PUBLIC
207)
208
209absl_cc_test(
210  NAME
211    demangle_test
212  SRCS
213    "internal/demangle_test.cc"
214  COPTS
215    ${ABSL_TEST_COPTS}
216  DEPS
217    absl::demangle_internal
218    absl::stack_consumption
219    absl::config
220    absl::core_headers
221    absl::log
222    absl::memory
223    GTest::gmock_main
224)
225
226absl_cc_library(
227  NAME
228    leak_check
229  HDRS
230    "leak_check.h"
231  SRCS
232    "leak_check.cc"
233  COPTS
234    ${ABSL_DEFAULT_COPTS}
235  DEPS
236    absl::config
237    absl::core_headers
238  PUBLIC
239)
240
241absl_cc_test(
242  NAME
243    leak_check_test
244  SRCS
245    "leak_check_test.cc"
246  COPTS
247    ${ABSL_TEST_COPTS}
248  LINKOPTS
249    ${ABSL_DEFAULT_LINKOPTS}
250  DEPS
251    absl::leak_check
252    absl::base
253    absl::log
254    GTest::gmock_main
255)
256
257# Internal-only target, do not depend on directly.
258absl_cc_library(
259  NAME
260    stack_consumption
261  HDRS
262    "internal/stack_consumption.h"
263  SRCS
264    "internal/stack_consumption.cc"
265  COPTS
266    ${ABSL_DEFAULT_COPTS}
267  DEPS
268    absl::config
269    absl::core_headers
270    absl::raw_logging_internal
271  TESTONLY
272)
273
274absl_cc_test(
275  NAME
276    stack_consumption_test
277  SRCS
278    "internal/stack_consumption_test.cc"
279  COPTS
280    ${ABSL_TEST_COPTS}
281  DEPS
282    absl::stack_consumption
283    absl::core_headers
284    absl::log
285    GTest::gmock_main
286)
287
288# component target
289absl_cc_library(
290  NAME
291    debugging
292  COPTS
293    ${ABSL_DEFAULT_COPTS}
294  DEPS
295    absl::stacktrace
296    absl::leak_check
297  PUBLIC
298)
299