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