BUILD.gn (7120B)
1 # Copyright 2018 The Chromium Authors 2 # Use of this source code is governed by a BSD-style license that can be 3 # found in the LICENSE file. 4 5 import("//chromium/build/config/sanitizers/sanitizers.gni") 6 import("//third_party/abseil-cpp/absl.gni") 7 8 absl_source_set("stacktrace") { 9 sources = [ 10 "internal/stacktrace_aarch64-inl.inc", 11 "internal/stacktrace_arm-inl.inc", 12 "internal/stacktrace_config.h", 13 "internal/stacktrace_emscripten-inl.inc", 14 "internal/stacktrace_generic-inl.inc", 15 "internal/stacktrace_powerpc-inl.inc", 16 "internal/stacktrace_riscv-inl.inc", 17 "internal/stacktrace_unimplemented-inl.inc", 18 "internal/stacktrace_win32-inl.inc", 19 "internal/stacktrace_x86-inl.inc", 20 "stacktrace.cc", 21 ] 22 public = [ "stacktrace.h" ] 23 deps = [ 24 ":debugging_internal", 25 "//third_party/abseil-cpp/absl/base:config", 26 "//third_party/abseil-cpp/absl/base:core_headers", 27 "//third_party/abseil-cpp/absl/base:dynamic_annotations", 28 "//third_party/abseil-cpp/absl/base:raw_logging_internal", 29 ] 30 } 31 32 absl_test("stacktrace_test") { 33 sources = [ "stacktrace_test.cc" ] 34 deps = [ 35 ":stacktrace", 36 "//third_party/abseil-cpp/absl/base:config", 37 "//third_party/abseil-cpp/absl/base:core_headers", 38 "//third_party/abseil-cpp/absl/types:span", 39 ] 40 } 41 42 absl_source_set("symbolize") { 43 sources = [ 44 "symbolize.cc", 45 "symbolize_darwin.inc", 46 "symbolize_elf.inc", 47 "symbolize_emscripten.inc", 48 "symbolize_unimplemented.inc", 49 "symbolize_win32.inc", 50 ] 51 public = [ 52 "internal/symbolize.h", 53 "symbolize.h", 54 ] 55 deps = [ 56 ":debugging_internal", 57 ":demangle_internal", 58 "//third_party/abseil-cpp/absl/base", 59 "//third_party/abseil-cpp/absl/base:config", 60 "//third_party/abseil-cpp/absl/base:core_headers", 61 "//third_party/abseil-cpp/absl/base:dynamic_annotations", 62 "//third_party/abseil-cpp/absl/base:malloc_internal", 63 "//third_party/abseil-cpp/absl/base:raw_logging_internal", 64 "//third_party/abseil-cpp/absl/strings", 65 "//third_party/abseil-cpp/absl/strings:string_view", 66 ] 67 68 # TODO(mbonadei): The bazel file has: 69 # -DEFAULTLIB:dbghelp.lib 70 # evaluate if this needs to be added here as well. 71 } 72 73 absl_source_set("examine_stack") { 74 sources = [ "internal/examine_stack.cc" ] 75 public = [ "internal/examine_stack.h" ] 76 visibility = [ 77 ":*", 78 "//third_party/abseil-cpp/absl/log/internal:*", 79 ] 80 deps = [ 81 ":stacktrace", 82 ":symbolize", 83 "//third_party/abseil-cpp/absl/base:config", 84 "//third_party/abseil-cpp/absl/base:core_headers", 85 "//third_party/abseil-cpp/absl/base:raw_logging_internal", 86 ] 87 } 88 89 absl_source_set("failure_signal_handler") { 90 sources = [ "failure_signal_handler.cc" ] 91 public = [ "failure_signal_handler.h" ] 92 deps = [ 93 ":examine_stack", 94 ":stacktrace", 95 "//third_party/abseil-cpp/absl/base", 96 "//third_party/abseil-cpp/absl/base:config", 97 "//third_party/abseil-cpp/absl/base:core_headers", 98 "//third_party/abseil-cpp/absl/base:raw_logging_internal", 99 ] 100 } 101 102 absl_source_set("debugging_internal") { 103 sources = [ 104 "internal/address_is_readable.cc", 105 "internal/elf_mem_image.cc", 106 "internal/vdso_support.cc", 107 ] 108 public = [ 109 "internal/address_is_readable.h", 110 "internal/addresses.h", 111 "internal/elf_mem_image.h", 112 "internal/vdso_support.h", 113 ] 114 visibility = [ ":*" ] 115 deps = [ 116 "//third_party/abseil-cpp/absl/base:config", 117 "//third_party/abseil-cpp/absl/base:core_headers", 118 "//third_party/abseil-cpp/absl/base:dynamic_annotations", 119 "//third_party/abseil-cpp/absl/base:errno_saver", 120 "//third_party/abseil-cpp/absl/base:raw_logging_internal", 121 ] 122 } 123 124 absl_source_set("demangle_internal") { 125 sources = [ "internal/demangle.cc" ] 126 public = [ "internal/demangle.h" ] 127 visibility = [ 128 "//third_party/abseil-cpp/absl/container:*", 129 "//third_party/abseil-cpp/absl/debugging:*", 130 ] 131 deps = [ 132 ":demangle_rust", 133 "//third_party/abseil-cpp/absl/base", 134 "//third_party/abseil-cpp/absl/base:config", 135 "//third_party/abseil-cpp/absl/base:core_headers", 136 "//third_party/abseil-cpp/absl/base:nullability", 137 "//third_party/abseil-cpp/absl/numeric:bits", 138 ] 139 } 140 141 # Disabled because this test relies on RTTI 142 # absl_test("demangle_test") { 143 # sources = [ "internal/demangle_test.cc" ] 144 # deps = [ 145 # ":demangle_internal", 146 # ":stack_consumption", 147 # "//third_party/abseil-cpp/absl/base:config", 148 # "//third_party/abseil-cpp/absl/base:core_headers", 149 # "//third_party/abseil-cpp/absl/log", 150 # "//third_party/abseil-cpp/absl/memory", 151 # ] 152 # } 153 154 absl_source_set("bounded_utf8_length_sequence") { 155 public = [ "internal/bounded_utf8_length_sequence.h" ] 156 deps = [ 157 "//third_party/abseil-cpp/absl/base:config", 158 "//third_party/abseil-cpp/absl/numeric:bits", 159 ] 160 } 161 162 absl_test("bounded_utf8_length_sequence_test") { 163 sources = [ "internal/bounded_utf8_length_sequence_test.cc" ] 164 deps = [ 165 ":bounded_utf8_length_sequence", 166 "//third_party/abseil-cpp/absl/base:config", 167 ] 168 } 169 170 absl_source_set("decode_rust_punycode") { 171 sources = [ "internal/decode_rust_punycode.cc" ] 172 public = [ "internal/decode_rust_punycode.h" ] 173 deps = [ 174 ":bounded_utf8_length_sequence", 175 ":utf8_for_code_point", 176 "//third_party/abseil-cpp/absl/base:config", 177 "//third_party/abseil-cpp/absl/base:nullability", 178 ] 179 } 180 181 absl_test("decode_rust_punycode_test") { 182 sources = [ "internal/decode_rust_punycode_test.cc" ] 183 deps = [ 184 ":decode_rust_punycode", 185 "//third_party/abseil-cpp/absl/base:config", 186 ] 187 } 188 189 absl_source_set("demangle_rust") { 190 # hazard-linux64-haz/debug builds fail when this section is 191 # included in the build. 192 if (!moz_webrtc_build) { 193 sources = [ "internal/demangle_rust.cc" ] 194 public = [ "internal/demangle_rust.h" ] 195 deps = [ 196 ":decode_rust_punycode", 197 "//third_party/abseil-cpp/absl/base:config", 198 "//third_party/abseil-cpp/absl/base:core_headers", 199 ] 200 } 201 } 202 203 absl_test("demangle_rust_test") { 204 sources = [ "internal/demangle_rust_test.cc" ] 205 deps = [ 206 ":demangle_rust", 207 "//third_party/abseil-cpp/absl/base:config", 208 "//third_party/abseil-cpp/absl/base:core_headers", 209 ] 210 } 211 212 absl_source_set("utf8_for_code_point") { 213 sources = [ "internal/utf8_for_code_point.cc" ] 214 public = [ "internal/utf8_for_code_point.h" ] 215 deps = [ "//third_party/abseil-cpp/absl/base:config" ] 216 } 217 218 absl_test("utf8_for_code_point_test") { 219 sources = [ "internal/utf8_for_code_point_test.cc" ] 220 deps = [ 221 ":utf8_for_code_point", 222 "//third_party/abseil-cpp/absl/base:config", 223 ] 224 } 225 226 absl_source_set("leak_check") { 227 sources = [ "leak_check.cc" ] 228 public = [ "leak_check.h" ] 229 deps = [ 230 "//third_party/abseil-cpp/absl/base:config", 231 "//third_party/abseil-cpp/absl/base:core_headers", 232 ] 233 } 234 235 absl_source_set("stack_consumption") { 236 testonly = true 237 sources = [ "internal/stack_consumption.cc" ] 238 public = [ "internal/stack_consumption.h" ] 239 deps = [ 240 "//third_party/abseil-cpp/absl/base:config", 241 "//third_party/abseil-cpp/absl/base:core_headers", 242 "//third_party/abseil-cpp/absl/base:raw_logging_internal", 243 ] 244 visibility = [ ":*" ] 245 }