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