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