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