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::raw_logging_internal 45 PUBLIC 46) 47 48absl_cc_library( 49 NAME 50 symbolize 51 HDRS 52 "symbolize.h" 53 "internal/symbolize.h" 54 SRCS 55 "symbolize.cc" 56 "symbolize_darwin.inc" 57 "symbolize_elf.inc" 58 "symbolize_emscripten.inc" 59 "symbolize_unimplemented.inc" 60 "symbolize_win32.inc" 61 COPTS 62 ${ABSL_DEFAULT_COPTS} 63 LINKOPTS 64 ${ABSL_DEFAULT_LINKOPTS} 65 $<$<BOOL:${MINGW}>:-ldbghelp> 66 DEPS 67 absl::debugging_internal 68 absl::demangle_internal 69 absl::base 70 absl::config 71 absl::core_headers 72 absl::dynamic_annotations 73 absl::malloc_internal 74 absl::raw_logging_internal 75 absl::strings 76 PUBLIC 77) 78 79absl_cc_test( 80 NAME 81 symbolize_test 82 SRCS 83 "symbolize_test.cc" 84 COPTS 85 ${ABSL_TEST_COPTS} 86 $<$<BOOL:${MSVC}>:-Z7> 87 LINKOPTS 88 $<$<BOOL:${MSVC}>:-DEBUG> 89 DEPS 90 absl::stack_consumption 91 absl::symbolize 92 absl::base 93 absl::config 94 absl::core_headers 95 absl::memory 96 absl::raw_logging_internal 97 absl::strings 98 GTest::gmock 99) 100 101# Internal-only target, do not depend on directly. 102absl_cc_library( 103 NAME 104 examine_stack 105 HDRS 106 "internal/examine_stack.h" 107 SRCS 108 "internal/examine_stack.cc" 109 COPTS 110 ${ABSL_DEFAULT_COPTS} 111 DEPS 112 absl::stacktrace 113 absl::symbolize 114 absl::config 115 absl::core_headers 116 absl::raw_logging_internal 117) 118 119absl_cc_library( 120 NAME 121 failure_signal_handler 122 HDRS 123 "failure_signal_handler.h" 124 SRCS 125 "failure_signal_handler.cc" 126 COPTS 127 ${ABSL_DEFAULT_COPTS} 128 DEPS 129 absl::examine_stack 130 absl::stacktrace 131 absl::base 132 absl::config 133 absl::core_headers 134 absl::raw_logging_internal 135 PUBLIC 136) 137 138absl_cc_test( 139 NAME 140 failure_signal_handler_test 141 SRCS 142 "failure_signal_handler_test.cc" 143 COPTS 144 ${ABSL_TEST_COPTS} 145 DEPS 146 absl::failure_signal_handler 147 absl::stacktrace 148 absl::symbolize 149 absl::strings 150 absl::raw_logging_internal 151 Threads::Threads 152 GTest::gmock 153) 154 155# Internal-only target, do not depend on directly. 156absl_cc_library( 157 NAME 158 debugging_internal 159 HDRS 160 "internal/address_is_readable.h" 161 "internal/elf_mem_image.h" 162 "internal/vdso_support.h" 163 SRCS 164 "internal/address_is_readable.cc" 165 "internal/elf_mem_image.cc" 166 "internal/vdso_support.cc" 167 COPTS 168 ${ABSL_DEFAULT_COPTS} 169 DEPS 170 absl::core_headers 171 absl::config 172 absl::dynamic_annotations 173 absl::errno_saver 174 absl::raw_logging_internal 175) 176 177# Internal-only target, do not depend on directly. 178absl_cc_library( 179 NAME 180 demangle_internal 181 HDRS 182 "internal/demangle.h" 183 SRCS 184 "internal/demangle.cc" 185 COPTS 186 ${ABSL_DEFAULT_COPTS} 187 DEPS 188 absl::base 189 absl::core_headers 190 PUBLIC 191) 192 193absl_cc_test( 194 NAME 195 demangle_test 196 SRCS 197 "internal/demangle_test.cc" 198 COPTS 199 ${ABSL_TEST_COPTS} 200 DEPS 201 absl::demangle_internal 202 absl::stack_consumption 203 absl::config 204 absl::core_headers 205 absl::memory 206 absl::raw_logging_internal 207 GTest::gmock_main 208) 209 210absl_cc_library( 211 NAME 212 leak_check 213 HDRS 214 "leak_check.h" 215 SRCS 216 "leak_check.cc" 217 COPTS 218 ${ABSL_DEFAULT_COPTS} 219 DEPS 220 absl::config 221 absl::core_headers 222 PUBLIC 223) 224 225absl_cc_test( 226 NAME 227 leak_check_test 228 SRCS 229 "leak_check_test.cc" 230 COPTS 231 ${ABSL_TEST_COPTS} 232 LINKOPTS 233 ${ABSL_DEFAULT_LINKOPTS} 234 DEPS 235 absl::leak_check 236 absl::base 237 GTest::gmock_main 238) 239 240# Internal-only target, do not depend on directly. 241absl_cc_library( 242 NAME 243 stack_consumption 244 HDRS 245 "internal/stack_consumption.h" 246 SRCS 247 "internal/stack_consumption.cc" 248 COPTS 249 ${ABSL_DEFAULT_COPTS} 250 DEPS 251 absl::config 252 absl::core_headers 253 absl::raw_logging_internal 254 TESTONLY 255) 256 257absl_cc_test( 258 NAME 259 stack_consumption_test 260 SRCS 261 "internal/stack_consumption_test.cc" 262 COPTS 263 ${ABSL_TEST_COPTS} 264 DEPS 265 absl::stack_consumption 266 absl::core_headers 267 absl::raw_logging_internal 268 GTest::gmock_main 269) 270 271# component target 272absl_cc_library( 273 NAME 274 debugging 275 COPTS 276 ${ABSL_DEFAULT_COPTS} 277 DEPS 278 absl::stacktrace 279 absl::leak_check 280 PUBLIC 281) 282