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