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("compressed_tuple") { 8 public = [ "internal/compressed_tuple.h" ] 9 deps = [ "//third_party/abseil-cpp/absl/utility" ] 10} 11 12absl_source_set("fixed_array") { 13 public = [ "fixed_array.h" ] 14 deps = [ 15 ":compressed_tuple", 16 "//third_party/abseil-cpp/absl/algorithm", 17 "//third_party/abseil-cpp/absl/base:config", 18 "//third_party/abseil-cpp/absl/base:core_headers", 19 "//third_party/abseil-cpp/absl/base:dynamic_annotations", 20 "//third_party/abseil-cpp/absl/base:throw_delegate", 21 "//third_party/abseil-cpp/absl/memory", 22 ] 23} 24 25absl_test("fixed_array_test") { 26 sources = [ "fixed_array_test.cc" ] 27 deps = [ 28 ":fixed_array", 29 ":test_allocator", 30 ":test_instance_tracker", 31 "//third_party/abseil-cpp/absl/base:config", 32 "//third_party/abseil-cpp/absl/base:exception_testing", 33 "//third_party/abseil-cpp/absl/hash:hash_testing", 34 "//third_party/abseil-cpp/absl/memory", 35 ] 36} 37 38absl_source_set("inlined_vector_internal") { 39 public = [ "internal/inlined_vector.h" ] 40 deps = [ 41 ":compressed_tuple", 42 "//third_party/abseil-cpp/absl/base:core_headers", 43 "//third_party/abseil-cpp/absl/memory", 44 "//third_party/abseil-cpp/absl/meta:type_traits", 45 "//third_party/abseil-cpp/absl/types:span", 46 ] 47} 48 49absl_source_set("inlined_vector") { 50 public = [ "inlined_vector.h" ] 51 deps = [ 52 ":inlined_vector_internal", 53 "//third_party/abseil-cpp/absl/algorithm", 54 "//third_party/abseil-cpp/absl/base:core_headers", 55 "//third_party/abseil-cpp/absl/base:throw_delegate", 56 "//third_party/abseil-cpp/absl/memory", 57 "//third_party/abseil-cpp/absl/meta:type_traits", 58 ] 59} 60 61absl_source_set("test_allocator") { 62 testonly = true 63 public = [ "internal/test_allocator.h" ] 64 deps = [ 65 "//third_party/abseil-cpp/absl/base:config", 66 "//third_party/googletest:gtest", 67 ] 68 visibility = [ ":*" ] 69} 70 71absl_test("inlined_vector_test") { 72 sources = [ "inlined_vector_test.cc" ] 73 deps = [ 74 ":inlined_vector", 75 ":test_allocator", 76 ":test_instance_tracker", 77 "//third_party/abseil-cpp/absl/base:config", 78 "//third_party/abseil-cpp/absl/base:core_headers", 79 "//third_party/abseil-cpp/absl/base:exception_testing", 80 "//third_party/abseil-cpp/absl/hash:hash_testing", 81 "//third_party/abseil-cpp/absl/log:check", 82 "//third_party/abseil-cpp/absl/memory", 83 "//third_party/abseil-cpp/absl/strings", 84 ] 85} 86 87absl_source_set("test_instance_tracker") { 88 testonly = true 89 sources = [ "internal/test_instance_tracker.cc" ] 90 public = [ "internal/test_instance_tracker.h" ] 91 deps = [ "//third_party/abseil-cpp/absl/types:compare" ] 92 visibility = [ "//third_party/abseil-cpp/absl/*" ] 93} 94 95absl_source_set("flat_hash_map") { 96 public = [ "flat_hash_map.h" ] 97 deps = [ 98 ":container_memory", 99 ":hash_function_defaults", 100 ":raw_hash_map", 101 "//third_party/abseil-cpp/absl/algorithm:container", 102 "//third_party/abseil-cpp/absl/base:core_headers", 103 "//third_party/abseil-cpp/absl/memory", 104 ] 105} 106 107absl_test("flat_hash_map_test") { 108 sources = [ "flat_hash_map_test.cc" ] 109 deps = [ 110 ":flat_hash_map", 111 ":hash_generator_testing", 112 ":unordered_map_constructor_test", 113 ":unordered_map_lookup_test", 114 ":unordered_map_members_test", 115 ":unordered_map_modifiers_test", 116 "//third_party/abseil-cpp/absl/log:check", 117 "//third_party/abseil-cpp/absl/meta:type_traits", 118 "//third_party/abseil-cpp/absl/types:any", 119 ] 120} 121 122absl_source_set("flat_hash_set") { 123 public = [ "flat_hash_set.h" ] 124 deps = [ 125 ":container_memory", 126 ":hash_function_defaults", 127 ":raw_hash_set", 128 "//third_party/abseil-cpp/absl/algorithm:container", 129 "//third_party/abseil-cpp/absl/base:core_headers", 130 "//third_party/abseil-cpp/absl/memory", 131 ] 132} 133 134absl_test("flat_hash_set_test") { 135 sources = [ "flat_hash_set_test.cc" ] 136 deps = [ 137 ":container_memory", 138 ":flat_hash_set", 139 ":hash_generator_testing", 140 ":unordered_set_constructor_test", 141 ":unordered_set_lookup_test", 142 ":unordered_set_members_test", 143 ":unordered_set_modifiers_test", 144 "//third_party/abseil-cpp/absl/base:config", 145 "//third_party/abseil-cpp/absl/log:check", 146 "//third_party/abseil-cpp/absl/memory", 147 "//third_party/abseil-cpp/absl/strings", 148 ] 149} 150 151absl_source_set("node_hash_map") { 152 public = [ "node_hash_map.h" ] 153 deps = [ 154 ":container_memory", 155 ":hash_function_defaults", 156 ":node_slot_policy", 157 ":raw_hash_map", 158 "//third_party/abseil-cpp/absl/algorithm:container", 159 "//third_party/abseil-cpp/absl/base:core_headers", 160 "//third_party/abseil-cpp/absl/memory", 161 ] 162} 163 164absl_source_set("node_hash_set") { 165 public = [ "node_hash_set.h" ] 166 deps = [ 167 ":container_memory", 168 ":hash_function_defaults", 169 ":node_slot_policy", 170 ":raw_hash_set", 171 "//third_party/abseil-cpp/absl/algorithm:container", 172 "//third_party/abseil-cpp/absl/base:core_headers", 173 "//third_party/abseil-cpp/absl/memory", 174 ] 175} 176 177absl_source_set("container_memory") { 178 public = [ "internal/container_memory.h" ] 179 deps = [ 180 "//third_party/abseil-cpp/absl/base:config", 181 "//third_party/abseil-cpp/absl/memory", 182 "//third_party/abseil-cpp/absl/meta:type_traits", 183 "//third_party/abseil-cpp/absl/utility", 184 ] 185} 186 187# Disabled because container_memory_test requires -frtti 188# absl_test("container_memory_test") { 189# sources = [ "internal/container_memory_test.cc" ] 190# deps = [ 191# ":container_memory", 192# ":test_instance_tracker", 193# "//third_party/abseil-cpp/absl/meta:type_traits", 194# "//third_party/abseil-cpp/absl/strings", 195# ] 196# } 197 198absl_source_set("hash_function_defaults") { 199 public = [ "internal/hash_function_defaults.h" ] 200 visibility = [ "//third_party/abseil-cpp/absl/container:*" ] 201 deps = [ 202 "//third_party/abseil-cpp/absl/base:config", 203 "//third_party/abseil-cpp/absl/hash", 204 "//third_party/abseil-cpp/absl/strings", 205 "//third_party/abseil-cpp/absl/strings:cord", 206 "//third_party/abseil-cpp/absl/strings:string_view", 207 ] 208} 209 210absl_source_set("hash_generator_testing") { 211 testonly = true 212 sources = [ "internal/hash_generator_testing.cc" ] 213 public = [ "internal/hash_generator_testing.h" ] 214 deps = [ 215 ":hash_policy_testing", 216 "//third_party/abseil-cpp/absl/memory", 217 "//third_party/abseil-cpp/absl/meta:type_traits", 218 "//third_party/abseil-cpp/absl/strings:string_view", 219 ] 220} 221 222absl_source_set("hash_policy_testing") { 223 testonly = true 224 public = [ "internal/hash_policy_testing.h" ] 225 deps = [ 226 "//third_party/abseil-cpp/absl/hash", 227 "//third_party/abseil-cpp/absl/strings:string_view", 228 ] 229} 230 231absl_source_set("hash_policy_traits") { 232 public = [ "internal/hash_policy_traits.h" ] 233 deps = [ 234 ":common_policy_traits", 235 "//third_party/abseil-cpp/absl/meta:type_traits", 236 ] 237} 238 239absl_source_set("common_policy_traits") { 240 public = [ "internal/common_policy_traits.h" ] 241 visibility = [ "//third_party/abseil-cpp/absl/container:*" ] 242 deps = [ "//third_party/abseil-cpp/absl/meta:type_traits" ] 243} 244 245absl_test("common_policy_traits_test") { 246 sources = [ "internal/common_policy_traits_test.cc" ] 247 deps = [ 248 ":common_policy_traits", 249 "//third_party/abseil-cpp/absl/base:config", 250 ] 251} 252 253absl_source_set("hashtable_debug") { 254 public = [ "internal/hashtable_debug.h" ] 255 deps = [ ":hashtable_debug_hooks" ] 256} 257 258absl_source_set("hashtable_debug_hooks") { 259 public = [ "internal/hashtable_debug_hooks.h" ] 260 deps = [ "//third_party/abseil-cpp/absl/base:config" ] 261} 262 263absl_source_set("hashtablez_sampler") { 264 public = [ "internal/hashtablez_sampler.h" ] 265 sources = [ 266 "internal/hashtablez_sampler.cc", 267 "internal/hashtablez_sampler_force_weak_definition.cc", 268 ] 269 deps = [ 270 "//third_party/abseil-cpp/absl/base", 271 "//third_party/abseil-cpp/absl/base:config", 272 "//third_party/abseil-cpp/absl/base:core_headers", 273 "//third_party/abseil-cpp/absl/base:raw_logging_internal", 274 "//third_party/abseil-cpp/absl/debugging:stacktrace", 275 "//third_party/abseil-cpp/absl/memory", 276 "//third_party/abseil-cpp/absl/profiling:exponential_biased", 277 "//third_party/abseil-cpp/absl/profiling:sample_recorder", 278 "//third_party/abseil-cpp/absl/synchronization", 279 "//third_party/abseil-cpp/absl/time", 280 "//third_party/abseil-cpp/absl/utility", 281 ] 282} 283 284absl_source_set("node_slot_policy") { 285 public = [ "internal/node_slot_policy.h" ] 286 deps = [ "//third_party/abseil-cpp/absl/base:config" ] 287} 288 289absl_test("node_slot_policy_test") { 290 sources = [ "internal/node_slot_policy_test.cc" ] 291 deps = [ 292 ":hash_policy_traits", 293 ":node_slot_policy", 294 "//third_party/abseil-cpp/absl/base:config", 295 ] 296} 297 298absl_source_set("raw_hash_map") { 299 public = [ "internal/raw_hash_map.h" ] 300 deps = [ 301 ":container_memory", 302 ":raw_hash_set", 303 "//third_party/abseil-cpp/absl/base:config", 304 "//third_party/abseil-cpp/absl/base:core_headers", 305 "//third_party/abseil-cpp/absl/base:throw_delegate", 306 ] 307} 308 309absl_source_set("common") { 310 public = [ "internal/common.h" ] 311 deps = [ 312 "//third_party/abseil-cpp/absl/meta:type_traits", 313 "//third_party/abseil-cpp/absl/types:optional", 314 ] 315} 316 317absl_source_set("raw_hash_set") { 318 sources = [ "internal/raw_hash_set.cc" ] 319 public = [ "internal/raw_hash_set.h" ] 320 deps = [ 321 ":common", 322 ":compressed_tuple", 323 ":container_memory", 324 ":hash_policy_traits", 325 ":hashtable_debug_hooks", 326 ":hashtablez_sampler", 327 "//third_party/abseil-cpp/absl/base:config", 328 "//third_party/abseil-cpp/absl/base:core_headers", 329 "//third_party/abseil-cpp/absl/base:dynamic_annotations", 330 "//third_party/abseil-cpp/absl/base:endian", 331 "//third_party/abseil-cpp/absl/base:prefetch", 332 "//third_party/abseil-cpp/absl/base:raw_logging_internal", 333 "//third_party/abseil-cpp/absl/hash", 334 "//third_party/abseil-cpp/absl/memory", 335 "//third_party/abseil-cpp/absl/meta:type_traits", 336 "//third_party/abseil-cpp/absl/numeric:bits", 337 "//third_party/abseil-cpp/absl/utility", 338 ] 339} 340 341absl_test("raw_hash_set_test") { 342 sources = [ "internal/raw_hash_set_test.cc" ] 343 deps = [ 344 ":container_memory", 345 ":flat_hash_map", 346 ":flat_hash_set", 347 ":hash_function_defaults", 348 ":hash_policy_testing", 349 ":hashtable_debug", 350 ":raw_hash_set", 351 ":test_allocator", 352 "//third_party/abseil-cpp/absl/base", 353 "//third_party/abseil-cpp/absl/base:config", 354 "//third_party/abseil-cpp/absl/base:core_headers", 355 "//third_party/abseil-cpp/absl/base:prefetch", 356 "//third_party/abseil-cpp/absl/log", 357 "//third_party/abseil-cpp/absl/strings", 358 ] 359} 360 361absl_test("raw_hash_set_allocator_test") { 362 sources = [ "internal/raw_hash_set_allocator_test.cc" ] 363 deps = [ 364 ":raw_hash_set", 365 ":tracked", 366 "//third_party/abseil-cpp/absl/base:config", 367 ] 368} 369 370absl_source_set("layout") { 371 public = [ "internal/layout.h" ] 372 deps = [ 373 "//third_party/abseil-cpp/absl/base:config", 374 "//third_party/abseil-cpp/absl/base:core_headers", 375 "//third_party/abseil-cpp/absl/debugging:demangle_internal", 376 "//third_party/abseil-cpp/absl/meta:type_traits", 377 "//third_party/abseil-cpp/absl/strings", 378 "//third_party/abseil-cpp/absl/types:span", 379 "//third_party/abseil-cpp/absl/utility", 380 ] 381} 382 383absl_test("layout_test") { 384 sources = [ "internal/layout_test.cc" ] 385 deps = [ 386 ":layout", 387 "//third_party/abseil-cpp/absl/base:config", 388 "//third_party/abseil-cpp/absl/log:check", 389 "//third_party/abseil-cpp/absl/types:span", 390 "//third_party/abseil-cpp/absl/utility", 391 ] 392} 393 394absl_source_set("tracked") { 395 testonly = true 396 public = [ "internal/tracked.h" ] 397 deps = [ "//third_party/abseil-cpp/absl/base:config" ] 398} 399 400absl_source_set("unordered_map_constructor_test") { 401 testonly = true 402 public = [ "internal/unordered_map_constructor_test.h" ] 403 deps = [ 404 ":hash_generator_testing", 405 ":hash_policy_testing", 406 "//third_party/googletest:gtest", 407 ] 408} 409 410absl_source_set("unordered_map_lookup_test") { 411 testonly = true 412 public = [ "internal/unordered_map_lookup_test.h" ] 413 deps = [ 414 ":hash_generator_testing", 415 ":hash_policy_testing", 416 "//third_party/googletest:gtest", 417 ] 418} 419 420absl_source_set("unordered_map_modifiers_test") { 421 testonly = true 422 public = [ "internal/unordered_map_modifiers_test.h" ] 423 deps = [ 424 ":hash_generator_testing", 425 ":hash_policy_testing", 426 "//third_party/googletest:gtest", 427 ] 428} 429 430absl_source_set("unordered_set_constructor_test") { 431 testonly = true 432 public = [ "internal/unordered_set_constructor_test.h" ] 433 deps = [ 434 ":hash_generator_testing", 435 ":hash_policy_testing", 436 "//third_party/abseil-cpp/absl/meta:type_traits", 437 "//third_party/googletest:gtest", 438 ] 439} 440 441absl_source_set("unordered_set_members_test") { 442 testonly = true 443 public = [ "internal/unordered_set_members_test.h" ] 444 deps = [ 445 "//third_party/abseil-cpp/absl/meta:type_traits", 446 "//third_party/googletest:gtest", 447 ] 448} 449 450absl_source_set("unordered_map_members_test") { 451 testonly = true 452 public = [ "internal/unordered_map_members_test.h" ] 453 deps = [ 454 "//third_party/abseil-cpp/absl/meta:type_traits", 455 "//third_party/googletest:gtest", 456 ] 457} 458 459absl_source_set("unordered_set_lookup_test") { 460 testonly = true 461 public = [ "internal/unordered_set_lookup_test.h" ] 462 deps = [ 463 ":hash_generator_testing", 464 ":hash_policy_testing", 465 "//third_party/googletest:gtest", 466 ] 467} 468 469absl_source_set("unordered_set_modifiers_test") { 470 testonly = true 471 public = [ "internal/unordered_set_modifiers_test.h" ] 472 deps = [ 473 ":hash_generator_testing", 474 ":hash_policy_testing", 475 "//third_party/googletest:gtest", 476 ] 477} 478 479absl_test("sample_element_size_test") { 480 public = [ "sample_element_size_test.cc" ] 481 deps = [ 482 ":flat_hash_map", 483 ":flat_hash_set", 484 ":node_hash_map", 485 ":node_hash_set", 486 ] 487} 488 489absl_source_set("btree") { 490 sources = [ 491 "internal/btree.h", 492 "internal/btree_container.h", 493 ] 494 public = [ 495 "btree_map.h", 496 "btree_set.h", 497 ] 498 deps = [ 499 ":common", 500 ":common_policy_traits", 501 ":compressed_tuple", 502 ":container_memory", 503 ":layout", 504 "//third_party/abseil-cpp/absl/base:core_headers", 505 "//third_party/abseil-cpp/absl/base:raw_logging_internal", 506 "//third_party/abseil-cpp/absl/base:throw_delegate", 507 "//third_party/abseil-cpp/absl/memory", 508 "//third_party/abseil-cpp/absl/meta:type_traits", 509 "//third_party/abseil-cpp/absl/strings:cord", 510 "//third_party/abseil-cpp/absl/strings:string_view", 511 "//third_party/abseil-cpp/absl/types:compare", 512 "//third_party/abseil-cpp/absl/utility", 513 ] 514} 515 516absl_source_set("btree_test_common") { 517 testonly = true 518 public = [ "btree_test.h" ] 519 deps = [ 520 ":btree", 521 ":flat_hash_set", 522 "//third_party/abseil-cpp/absl/strings", 523 "//third_party/abseil-cpp/absl/strings:cord", 524 "//third_party/abseil-cpp/absl/time", 525 ] 526} 527# TODO(mbonadei): Fix issue with EXPECT_DEATH and uncomment. 528# absl_test("btree_test") { 529# sources = [ "btree_test.cc" ] 530# deps = [ 531# ":btree", 532# ":btree_test_common", 533# ":test_allocator", 534# ":test_instance_tracker", 535# "//third_party/abseil-cpp/absl/algorithm:container", 536# "//third_party/abseil-cpp/absl/base:core_headers", 537# "//third_party/abseil-cpp/absl/base:raw_logging_internal", 538# "//third_party/abseil-cpp/absl/flags:flag", 539# "//third_party/abseil-cpp/absl/hash:hash_testing", 540# "//third_party/abseil-cpp/absl/memory", 541# "//third_party/abseil-cpp/absl/random", 542# "//third_party/abseil-cpp/absl/strings", 543# "//third_party/abseil-cpp/absl/types:compare", 544# "//third_party/abseil-cpp/absl/types:optional", 545# ] 546# } 547