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::config 205 absl::demangle_rust 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 226# Internal-only target, do not depend on directly. 227absl_cc_library( 228 NAME 229 bounded_utf8_length_sequence 230 HDRS 231 "internal/bounded_utf8_length_sequence.h" 232 COPTS 233 ${ABSL_DEFAULT_COPTS} 234 DEPS 235 absl::bits 236 absl::config 237) 238 239absl_cc_test( 240 NAME 241 bounded_utf8_length_sequence_test 242 SRCS 243 "internal/bounded_utf8_length_sequence_test.cc" 244 COPTS 245 ${ABSL_TEST_COPTS} 246 DEPS 247 absl::bounded_utf8_length_sequence 248 absl::config 249 GTest::gmock_main 250) 251 252# Internal-only target, do not depend on directly. 253absl_cc_library( 254 NAME 255 decode_rust_punycode 256 HDRS 257 "internal/decode_rust_punycode.h" 258 SRCS 259 "internal/decode_rust_punycode.cc" 260 COPTS 261 ${ABSL_DEFAULT_COPTS} 262 DEPS 263 absl::bounded_utf8_length_sequence 264 absl::config 265 absl::nullability 266 absl::utf8_for_code_point 267) 268 269absl_cc_test( 270 NAME 271 decode_rust_punycode_test 272 SRCS 273 "internal/decode_rust_punycode_test.cc" 274 COPTS 275 ${ABSL_TEST_COPTS} 276 DEPS 277 absl::decode_rust_punycode 278 absl::config 279 GTest::gmock_main 280) 281 282# Internal-only target, do not depend on directly. 283absl_cc_library( 284 NAME 285 demangle_rust 286 HDRS 287 "internal/demangle_rust.h" 288 SRCS 289 "internal/demangle_rust.cc" 290 COPTS 291 ${ABSL_DEFAULT_COPTS} 292 DEPS 293 absl::config 294 absl::core_headers 295 absl::decode_rust_punycode 296) 297 298absl_cc_test( 299 NAME 300 demangle_rust_test 301 SRCS 302 "internal/demangle_rust_test.cc" 303 COPTS 304 ${ABSL_TEST_COPTS} 305 DEPS 306 absl::demangle_rust 307 absl::config 308 GTest::gmock_main 309) 310 311# Internal-only target, do not depend on directly. 312absl_cc_library( 313 NAME 314 utf8_for_code_point 315 HDRS 316 "internal/utf8_for_code_point.h" 317 SRCS 318 "internal/utf8_for_code_point.cc" 319 COPTS 320 ${ABSL_DEFAULT_COPTS} 321 DEPS 322 absl::config 323) 324 325absl_cc_test( 326 NAME 327 utf8_for_code_point_test 328 SRCS 329 "internal/utf8_for_code_point_test.cc" 330 COPTS 331 ${ABSL_TEST_COPTS} 332 DEPS 333 absl::utf8_for_code_point 334 absl::config 335 GTest::gmock_main 336) 337 338absl_cc_library( 339 NAME 340 leak_check 341 HDRS 342 "leak_check.h" 343 SRCS 344 "leak_check.cc" 345 COPTS 346 ${ABSL_DEFAULT_COPTS} 347 DEPS 348 absl::config 349 absl::core_headers 350 PUBLIC 351) 352 353absl_cc_test( 354 NAME 355 leak_check_test 356 SRCS 357 "leak_check_test.cc" 358 COPTS 359 ${ABSL_TEST_COPTS} 360 LINKOPTS 361 ${ABSL_DEFAULT_LINKOPTS} 362 DEPS 363 absl::leak_check 364 absl::base 365 absl::log 366 GTest::gmock_main 367) 368 369# Internal-only target, do not depend on directly. 370absl_cc_library( 371 NAME 372 stack_consumption 373 HDRS 374 "internal/stack_consumption.h" 375 SRCS 376 "internal/stack_consumption.cc" 377 COPTS 378 ${ABSL_DEFAULT_COPTS} 379 DEPS 380 absl::config 381 absl::core_headers 382 absl::raw_logging_internal 383 TESTONLY 384) 385 386absl_cc_test( 387 NAME 388 stack_consumption_test 389 SRCS 390 "internal/stack_consumption_test.cc" 391 COPTS 392 ${ABSL_TEST_COPTS} 393 DEPS 394 absl::stack_consumption 395 absl::core_headers 396 absl::log 397 GTest::gmock_main 398) 399 400# component target 401absl_cc_library( 402 NAME 403 debugging 404 COPTS 405 ${ABSL_DEFAULT_COPTS} 406 DEPS 407 absl::stacktrace 408 absl::leak_check 409 PUBLIC 410) 411