• 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
17absl_cc_library(
18  NAME
19    stacktrace
20  HDRS
21    "stacktrace.h"
22    "internal/stacktrace_aarch64-inl.inc"
23    "internal/stacktrace_arm-inl.inc"
24    "internal/stacktrace_config.h"
25    "internal/stacktrace_emscripten-inl.inc"
26    "internal/stacktrace_generic-inl.inc"
27    "internal/stacktrace_powerpc-inl.inc"
28    "internal/stacktrace_riscv-inl.inc"
29    "internal/stacktrace_unimplemented-inl.inc"
30    "internal/stacktrace_win32-inl.inc"
31    "internal/stacktrace_x86-inl.inc"
32  SRCS
33    "stacktrace.cc"
34  COPTS
35    ${ABSL_DEFAULT_COPTS}
36  DEPS
37    absl::debugging_internal
38    absl::config
39    absl::core_headers
40  PUBLIC
41)
42
43absl_cc_library(
44  NAME
45    symbolize
46  HDRS
47    "symbolize.h"
48    "internal/symbolize.h"
49  SRCS
50    "symbolize.cc"
51    "symbolize_darwin.inc"
52    "symbolize_elf.inc"
53    "symbolize_emscripten.inc"
54    "symbolize_unimplemented.inc"
55    "symbolize_win32.inc"
56  COPTS
57    ${ABSL_DEFAULT_COPTS}
58  LINKOPTS
59    ${ABSL_DEFAULT_LINKOPTS}
60    $<$<BOOL:${MINGW}>:"dbghelp">
61  DEPS
62    absl::debugging_internal
63    absl::demangle_internal
64    absl::base
65    absl::config
66    absl::core_headers
67    absl::dynamic_annotations
68    absl::malloc_internal
69    absl::raw_logging_internal
70    absl::strings
71  PUBLIC
72)
73
74absl_cc_test(
75  NAME
76    symbolize_test
77  SRCS
78    "symbolize_test.cc"
79  COPTS
80    ${ABSL_TEST_COPTS}
81    $<$<BOOL:${MSVC}>:-Z7>
82  LINKOPTS
83    $<$<BOOL:${MSVC}>:-DEBUG>
84  DEPS
85    absl::stack_consumption
86    absl::symbolize
87    absl::base
88    absl::config
89    absl::core_headers
90    absl::memory
91    absl::raw_logging_internal
92    absl::strings
93    GTest::gmock
94)
95
96absl_cc_library(
97  NAME
98    examine_stack
99  HDRS
100    "internal/examine_stack.h"
101  SRCS
102    "internal/examine_stack.cc"
103  COPTS
104    ${ABSL_DEFAULT_COPTS}
105  DEPS
106    absl::stacktrace
107    absl::symbolize
108    absl::config
109    absl::core_headers
110    absl::raw_logging_internal
111)
112
113absl_cc_library(
114  NAME
115    failure_signal_handler
116  HDRS
117    "failure_signal_handler.h"
118  SRCS
119    "failure_signal_handler.cc"
120  COPTS
121    ${ABSL_DEFAULT_COPTS}
122  DEPS
123    absl::examine_stack
124    absl::stacktrace
125    absl::base
126    absl::config
127    absl::core_headers
128    absl::errno_saver
129    absl::raw_logging_internal
130  PUBLIC
131)
132
133absl_cc_test(
134  NAME
135    failure_signal_handler_test
136  SRCS
137    "failure_signal_handler_test.cc"
138  COPTS
139    ${ABSL_TEST_COPTS}
140  DEPS
141    absl::failure_signal_handler
142    absl::stacktrace
143    absl::symbolize
144    absl::strings
145    absl::raw_logging_internal
146    Threads::Threads
147    GTest::gmock
148)
149
150absl_cc_library(
151  NAME
152    debugging_internal
153  HDRS
154    "internal/address_is_readable.h"
155    "internal/elf_mem_image.h"
156    "internal/vdso_support.h"
157  SRCS
158    "internal/address_is_readable.cc"
159    "internal/elf_mem_image.cc"
160    "internal/vdso_support.cc"
161  COPTS
162    ${ABSL_DEFAULT_COPTS}
163  DEPS
164    absl::core_headers
165    absl::config
166    absl::dynamic_annotations
167    absl::errno_saver
168    absl::raw_logging_internal
169)
170
171absl_cc_library(
172  NAME
173    demangle_internal
174  HDRS
175    "internal/demangle.h"
176  SRCS
177    "internal/demangle.cc"
178  COPTS
179    ${ABSL_DEFAULT_COPTS}
180  DEPS
181    absl::base
182    absl::core_headers
183  PUBLIC
184)
185
186absl_cc_test(
187  NAME
188    demangle_test
189  SRCS
190    "internal/demangle_test.cc"
191  COPTS
192    ${ABSL_TEST_COPTS}
193  DEPS
194    absl::demangle_internal
195    absl::stack_consumption
196    absl::config
197    absl::core_headers
198    absl::memory
199    absl::raw_logging_internal
200    GTest::gmock_main
201)
202
203absl_cc_library(
204  NAME
205    leak_check
206  HDRS
207    "leak_check.h"
208  SRCS
209    "leak_check.cc"
210  COPTS
211    ${ABSL_DEFAULT_COPTS}
212  DEPS
213    absl::config
214    absl::core_headers
215  PUBLIC
216)
217
218absl_cc_library(
219  NAME
220    leak_check_disable
221  SRCS
222    "leak_check_disable.cc"
223  COPTS
224    ${ABSL_DEFAULT_COPTS}
225  PUBLIC
226)
227
228absl_cc_library(
229  NAME
230    leak_check_api_enabled_for_testing
231  HDRS
232    "leak_check.h"
233  SRCS
234    "leak_check.cc"
235  COPTS
236    ${ABSL_DEFAULT_COPTS}
237    $<$<BOOL:${ABSL_HAVE_LSAN}>:-DLEAK_SANITIZER>
238  TESTONLY
239)
240
241absl_cc_library(
242  NAME
243    leak_check_api_disabled_for_testing
244  HDRS
245    "leak_check.h"
246  SRCS
247    "leak_check.cc"
248  COPTS
249    ${ABSL_DEFAULT_COPTS}
250    "-ULEAK_SANITIZER"
251  TESTONLY
252)
253
254absl_cc_test(
255  NAME
256    leak_check_test
257  SRCS
258    "leak_check_test.cc"
259  COPTS
260    ${ABSL_TEST_COPTS}
261    "$<$<BOOL:${ABSL_HAVE_LSAN}>:-DABSL_EXPECT_LEAK_SANITIZER>"
262  LINKOPTS
263    "${ABSL_LSAN_LINKOPTS}"
264  DEPS
265    absl::leak_check_api_enabled_for_testing
266    absl::base
267    GTest::gmock_main
268)
269
270absl_cc_test(
271  NAME
272    leak_check_no_lsan_test
273  SRCS
274    "leak_check_test.cc"
275  COPTS
276    ${ABSL_TEST_COPTS}
277    "-UABSL_EXPECT_LEAK_SANITIZER"
278  DEPS
279    absl::leak_check_api_disabled_for_testing
280    absl::base
281    GTest::gmock_main
282)
283
284absl_cc_test(
285  NAME
286    disabled_leak_check_test
287  SRCS
288    "leak_check_fail_test.cc"
289  COPTS
290    ${ABSL_TEST_COPTS}
291  LINKOPTS
292    "${ABSL_LSAN_LINKOPTS}"
293  DEPS
294    absl::leak_check_api_enabled_for_testing
295    absl::leak_check_disable
296    absl::base
297    absl::raw_logging_internal
298    GTest::gmock_main
299)
300
301absl_cc_library(
302  NAME
303    stack_consumption
304  HDRS
305    "internal/stack_consumption.h"
306  SRCS
307    "internal/stack_consumption.cc"
308  COPTS
309    ${ABSL_DEFAULT_COPTS}
310  DEPS
311    absl::config
312    absl::core_headers
313    absl::raw_logging_internal
314  TESTONLY
315)
316
317absl_cc_test(
318  NAME
319    stack_consumption_test
320  SRCS
321    "internal/stack_consumption_test.cc"
322  COPTS
323    ${ABSL_TEST_COPTS}
324  DEPS
325    absl::stack_consumption
326    absl::core_headers
327    absl::raw_logging_internal
328    GTest::gmock_main
329)
330
331# component target
332absl_cc_library(
333  NAME
334    debugging
335  COPTS
336    ${ABSL_DEFAULT_COPTS}
337  DEPS
338    absl::stacktrace
339    absl::leak_check
340  PUBLIC
341)
342