BUILD.gn (18330B)
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 5 import("//third_party/abseil-cpp/absl.gni") 6 7 absl_source_set("compressed_tuple") { 8 public = [ "internal/compressed_tuple.h" ] 9 deps = [ "//third_party/abseil-cpp/absl/utility" ] 10 } 11 12 absl_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 26 absl_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 40 absl_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 53 absl_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 66 absl_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 76 absl_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 93 absl_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 101 absl_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 113 absl_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 131 absl_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 144 absl_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 164 absl_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 178 absl_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 192 absl_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 206 absl_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 221 absl_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 243 absl_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 257 absl_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 266 absl_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 280 absl_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 293 absl_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 302 absl_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 310 absl_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 316 absl_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 324 absl_source_set("hashtable_debug") { 325 public = [ "internal/hashtable_debug.h" ] 326 deps = [ ":hashtable_debug_hooks" ] 327 } 328 329 absl_source_set("hashtable_debug_hooks") { 330 public = [ "internal/hashtable_debug_hooks.h" ] 331 deps = [ "//third_party/abseil-cpp/absl/base:config" ] 332 } 333 334 absl_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 356 absl_source_set("node_slot_policy") { 357 public = [ "internal/node_slot_policy.h" ] 358 deps = [ "//third_party/abseil-cpp/absl/base:config" ] 359 } 360 361 absl_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 370 absl_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 383 absl_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 391 absl_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 401 absl_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 432 absl_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 442 absl_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 455 absl_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 466 absl_source_set("tracked") { 467 testonly = true 468 public = [ "internal/tracked.h" ] 469 deps = [ "//third_party/abseil-cpp/absl/base:config" ] 470 } 471 472 absl_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 482 absl_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 492 absl_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 502 absl_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 513 absl_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 522 absl_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 531 absl_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 541 absl_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 551 absl_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 562 absl_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 589 absl_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 # }