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