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