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 5import("//third_party/abseil-cpp/absl.gni") 6 7absl_source_set("atomic_hook") { 8 public = [ "internal/atomic_hook.h" ] 9 public_deps = [ 10 ":config", 11 ":core_headers", 12 ] 13 visibility = [ "//third_party/abseil-cpp/absl/*" ] 14} 15 16absl_source_set("errno_saver") { 17 public = [ "internal/errno_saver.h" ] 18 public_deps = [ ":config" ] 19 visibility = [ "//third_party/abseil-cpp/absl/*" ] 20} 21 22absl_source_set("log_severity") { 23 sources = [ "log_severity.cc" ] 24 public = [ "log_severity.h" ] 25 public_deps = [ 26 ":config", 27 ":core_headers", 28 ] 29} 30 31absl_source_set("raw_logging_internal") { 32 sources = [ "internal/raw_logging.cc" ] 33 public = [ "internal/raw_logging.h" ] 34 public_deps = [ 35 ":atomic_hook", 36 ":config", 37 ":core_headers", 38 ":errno_saver", 39 ":log_severity", 40 ] 41 visibility = [ "//third_party/abseil-cpp/absl/*" ] 42} 43 44absl_source_set("spinlock_wait") { 45 sources = [ 46 "internal/spinlock_akaros.inc", 47 "internal/spinlock_linux.inc", 48 "internal/spinlock_posix.inc", 49 "internal/spinlock_wait.cc", 50 "internal/spinlock_win32.inc", 51 ] 52 public = [ "internal/spinlock_wait.h" ] 53 deps = [ 54 ":base_internal", 55 ":core_headers", 56 ":errno_saver", 57 ] 58 visibility = [ "//third_party/abseil-cpp/absl/base:*" ] 59} 60 61absl_source_set("config") { 62 public = [ 63 "config.h", 64 "options.h", 65 "policy_checks.h", 66 ] 67} 68 69absl_source_set("cycleclock_internal") { 70 public = [ 71 "internal/cycleclock_config.h", 72 "internal/unscaledcycleclock_config.h", 73 ] 74 visibility = [ "//third_party/abseil-cpp/absl/*" ] 75 deps = [ 76 ":base_internal", 77 ":config", 78 ] 79} 80 81absl_source_set("dynamic_annotations") { 82 public = [ "dynamic_annotations.h" ] 83 84 # Abseil's dynamic annotations are only visible inside Abseil because 85 # their usage is deprecated in Chromium (see README.chromium for more info). 86 visibility = [ "//third_party/abseil-cpp/absl/*" ] 87 deps = [ 88 ":config", 89 ":core_headers", 90 ] 91} 92 93absl_source_set("core_headers") { 94 public = [ 95 "attributes.h", 96 "const_init.h", 97 "macros.h", 98 "optimization.h", 99 "port.h", 100 "thread_annotations.h", 101 ] 102 public_deps = [ ":config" ] 103} 104 105absl_source_set("malloc_internal") { 106 sources = [ "internal/low_level_alloc.cc" ] 107 public = [ 108 "internal/direct_mmap.h", 109 "internal/low_level_alloc.h", 110 ] 111 public_deps = [ 112 ":base", 113 ":base_internal", 114 ":config", 115 ":core_headers", 116 ":dynamic_annotations", 117 ":raw_logging_internal", 118 ] 119} 120 121absl_source_set("base_internal") { 122 public = [ 123 "internal/hide_ptr.h", 124 "internal/identity.h", 125 "internal/inline_variable.h", 126 "internal/invoke.h", 127 "internal/scheduling_mode.h", 128 ] 129 public_deps = [ 130 ":config", 131 "//third_party/abseil-cpp/absl/meta:type_traits", 132 ] 133 visibility = [ "//third_party/abseil-cpp/absl/*" ] 134} 135 136absl_source_set("base") { 137 sources = [ 138 "internal/cycleclock.cc", 139 "internal/spinlock.cc", 140 "internal/sysinfo.cc", 141 "internal/thread_identity.cc", 142 "internal/unscaledcycleclock.cc", 143 ] 144 public = [ 145 "call_once.h", 146 "casts.h", 147 "internal/cycleclock.h", 148 "internal/low_level_scheduling.h", 149 "internal/per_thread_tls.h", 150 "internal/spinlock.h", 151 "internal/sysinfo.h", 152 "internal/thread_identity.h", 153 "internal/tsan_mutex_interface.h", 154 "internal/unscaledcycleclock.h", 155 ] 156 157 # TODO(mbonadei): The bazel file has: 158 # "-DEFAULTLIB:advapi32.lib" 159 # understand if this is needed here as well. 160 public_deps = [ 161 ":atomic_hook", 162 ":base_internal", 163 ":config", 164 ":core_headers", 165 ":cycleclock_internal", 166 ":dynamic_annotations", 167 ":log_severity", 168 ":raw_logging_internal", 169 ":spinlock_wait", 170 "//third_party/abseil-cpp/absl/meta:type_traits", 171 ] 172} 173 174absl_source_set("throw_delegate") { 175 sources = [ "internal/throw_delegate.cc" ] 176 public = [ "internal/throw_delegate.h" ] 177 public_deps = [ 178 ":config", 179 ":raw_logging_internal", 180 ] 181 visibility = [ "//third_party/abseil-cpp/absl/*" ] 182} 183 184absl_source_set("exception_testing") { 185 testonly = true 186 public = [ "internal/exception_testing.h" ] 187 public_deps = [ ":config" ] 188 visibility = [ "//third_party/abseil-cpp/absl/*" ] 189} 190 191absl_source_set("pretty_function") { 192 public = [ "internal/pretty_function.h" ] 193 visibility = [ "//third_party/abseil-cpp/absl/*" ] 194} 195 196# TODO(mbonadei): This target throws by design. We should probably 197# just remove it. 198# source_set("exception_safety_testing") { 199# testonly = true 200# configs -= [ "//build/config/compiler:chromium_code" ] 201# configs += [ 202# "//build/config/compiler:no_chromium_code", 203# "//third_party/abseil-cpp:absl_test_cflags_cc", 204# ] 205# public_configs = [ "//third_party/abseil-cpp:absl_include_config" ] 206# sources = [ 207# "internal/exception_safety_testing.cc", 208# ] 209# public = [ 210# "internal/exception_safety_testing.h", 211# ] 212# deps = [ 213# ":config", 214# ":pretty_function", 215# "//third_party/abseil-cpp/absl/memory", 216# "//third_party/abseil-cpp/absl/meta:type_traits", 217# "//third_party/abseil-cpp/absl/strings", 218# "//third_party/abseil-cpp/absl/utility", 219# "//third_party/googletest:gtest", 220# ] 221# } 222 223absl_source_set("spinlock_test_common") { 224 testonly = true 225 sources = [ "spinlock_test_common.cc" ] 226 deps = [ 227 ":base", 228 ":base_internal", 229 ":config", 230 ":core_headers", 231 "//third_party/abseil-cpp/absl/synchronization", 232 "//third_party/googletest:gtest", 233 ] 234} 235 236absl_source_set("endian") { 237 public = [ 238 "internal/endian.h", 239 "internal/unaligned_access.h", 240 ] 241 public_deps = [ 242 ":base", 243 ":config", 244 ":core_headers", 245 ] 246} 247 248absl_source_set("scoped_set_env") { 249 testonly = true 250 public = [ "internal/scoped_set_env.h" ] 251 sources = [ "internal/scoped_set_env.cc" ] 252 public_deps = [ ":config" ] 253 deps = [ ":raw_logging_internal" ] 254 visibility = [ "//third_party/abseil-cpp/absl/*" ] 255} 256 257absl_source_set("strerror") { 258 sources = [ "internal/strerror.cc" ] 259 public = [ "internal/strerror.h" ] 260 public_deps = [ ":config" ] 261 deps = [ 262 ":core_headers", 263 ":errno_saver", 264 ] 265 visibility = [ "//third_party/abseil-cpp/absl/*" ] 266} 267 268absl_source_set("fast_type_id") { 269 public = [ "internal/fast_type_id.h" ] 270 public_deps = [ ":config" ] 271 visibility = [ "//third_party/abseil-cpp/absl/*" ] 272} 273 274absl_source_set("prefetch") { 275 public = [ "internal/prefetch.h" ] 276 deps = [ ":config" ] 277 visibility = [ "//third_party/abseil-cpp/absl/*" ] 278} 279 280absl_test("prefetch_test") { 281 sources = [ "internal/prefetch_test.cc" ] 282 deps = [ ":prefetch" ] 283} 284 285absl_test("config_test") { 286 sources = [ "config_test.cc" ] 287 deps = [ 288 ":config", 289 "//third_party/abseil-cpp/absl/synchronization:thread_pool", 290 ] 291} 292