1# 2# Copyright 2017 The Abseil Authors. 3# 4# Licensed under the Apache License, Version 2.0 (the "License"); 5# you may not use this file except in compliance with the License. 6# You may obtain a copy of the License at 7# 8# https://www.apache.org/licenses/LICENSE-2.0 9# 10# Unless required by applicable law or agreed to in writing, software 11# distributed under the License is distributed on an "AS IS" BASIS, 12# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13# See the License for the specific language governing permissions and 14# limitations under the License. 15# 16 17find_library(LIBRT rt) 18 19# Internal-only target, do not depend on directly. 20absl_cc_library( 21 NAME 22 atomic_hook 23 HDRS 24 "internal/atomic_hook.h" 25 DEPS 26 absl::config 27 absl::core_headers 28 COPTS 29 ${ABSL_DEFAULT_COPTS} 30) 31 32# Internal-only target, do not depend on directly. 33absl_cc_library( 34 NAME 35 errno_saver 36 HDRS 37 "internal/errno_saver.h" 38 DEPS 39 absl::config 40 COPTS 41 ${ABSL_DEFAULT_COPTS} 42) 43 44absl_cc_library( 45 NAME 46 log_severity 47 HDRS 48 "log_severity.h" 49 SRCS 50 "log_severity.cc" 51 DEPS 52 absl::config 53 absl::core_headers 54 COPTS 55 ${ABSL_DEFAULT_COPTS} 56) 57 58absl_cc_library( 59 NAME 60 no_destructor 61 HDRS 62 "no_destructor.h" 63 DEPS 64 absl::config 65 COPTS 66 ${ABSL_DEFAULT_COPTS} 67) 68 69absl_cc_library( 70 NAME 71 nullability 72 HDRS 73 "nullability.h" 74 SRCS 75 "internal/nullability_impl.h" 76 DEPS 77 absl::core_headers 78 absl::type_traits 79 COPTS 80 ${ABSL_DEFAULT_COPTS} 81) 82 83absl_cc_test( 84 NAME 85 nullability_test 86 SRCS 87 "nullability_test.cc" 88 COPTS 89 ${ABSL_TEST_COPTS} 90 DEPS 91 absl::core_headers 92 absl::nullability 93 GTest::gtest_main 94) 95 96# Internal-only target, do not depend on directly. 97absl_cc_library( 98 NAME 99 raw_logging_internal 100 HDRS 101 "internal/raw_logging.h" 102 SRCS 103 "internal/raw_logging.cc" 104 DEPS 105 absl::atomic_hook 106 absl::config 107 absl::core_headers 108 absl::errno_saver 109 absl::log_severity 110 COPTS 111 ${ABSL_DEFAULT_COPTS} 112) 113 114# Internal-only target, do not depend on directly. 115absl_cc_library( 116 NAME 117 spinlock_wait 118 HDRS 119 "internal/spinlock_wait.h" 120 SRCS 121 "internal/spinlock_akaros.inc" 122 "internal/spinlock_linux.inc" 123 "internal/spinlock_posix.inc" 124 "internal/spinlock_wait.cc" 125 "internal/spinlock_win32.inc" 126 COPTS 127 ${ABSL_DEFAULT_COPTS} 128 DEPS 129 absl::base_internal 130 absl::core_headers 131 absl::errno_saver 132) 133 134absl_cc_library( 135 NAME 136 config 137 HDRS 138 "config.h" 139 "options.h" 140 "policy_checks.h" 141 COPTS 142 ${ABSL_DEFAULT_COPTS} 143 PUBLIC 144) 145 146absl_cc_library( 147 NAME 148 dynamic_annotations 149 HDRS 150 "dynamic_annotations.h" 151 SRCS 152 "internal/dynamic_annotations.h" 153 COPTS 154 ${ABSL_DEFAULT_COPTS} 155 DEPS 156 absl::config 157 PUBLIC 158) 159 160absl_cc_library( 161 NAME 162 core_headers 163 HDRS 164 "attributes.h" 165 "const_init.h" 166 "macros.h" 167 "optimization.h" 168 "port.h" 169 "thread_annotations.h" 170 COPTS 171 ${ABSL_DEFAULT_COPTS} 172 DEPS 173 absl::config 174 PUBLIC 175) 176 177# Internal-only target, do not depend on directly. 178absl_cc_library( 179 NAME 180 malloc_internal 181 HDRS 182 "internal/direct_mmap.h" 183 "internal/low_level_alloc.h" 184 SRCS 185 "internal/low_level_alloc.cc" 186 COPTS 187 ${ABSL_DEFAULT_COPTS} 188 DEPS 189 absl::base 190 absl::base_internal 191 absl::config 192 absl::core_headers 193 absl::dynamic_annotations 194 absl::raw_logging_internal 195 Threads::Threads 196) 197 198# Internal-only target, do not depend on directly. 199absl_cc_library( 200 NAME 201 base_internal 202 HDRS 203 "internal/hide_ptr.h" 204 "internal/identity.h" 205 "internal/inline_variable.h" 206 "internal/invoke.h" 207 "internal/scheduling_mode.h" 208 COPTS 209 ${ABSL_DEFAULT_COPTS} 210 DEPS 211 absl::config 212 absl::type_traits 213) 214 215absl_cc_library( 216 NAME 217 base 218 HDRS 219 "call_once.h" 220 "casts.h" 221 "internal/cycleclock.h" 222 "internal/cycleclock_config.h" 223 "internal/low_level_scheduling.h" 224 "internal/per_thread_tls.h" 225 "internal/spinlock.h" 226 "internal/sysinfo.h" 227 "internal/thread_identity.h" 228 "internal/tsan_mutex_interface.h" 229 "internal/unscaledcycleclock.h" 230 "internal/unscaledcycleclock_config.h" 231 SRCS 232 "internal/cycleclock.cc" 233 "internal/spinlock.cc" 234 "internal/sysinfo.cc" 235 "internal/thread_identity.cc" 236 "internal/unscaledcycleclock.cc" 237 COPTS 238 ${ABSL_DEFAULT_COPTS} 239 LINKOPTS 240 ${ABSL_DEFAULT_LINKOPTS} 241 $<$<BOOL:${LIBRT}>:-lrt> 242 $<$<BOOL:${MINGW}>:-ladvapi32> 243 DEPS 244 absl::atomic_hook 245 absl::base_internal 246 absl::config 247 absl::core_headers 248 absl::dynamic_annotations 249 absl::log_severity 250 absl::nullability 251 absl::raw_logging_internal 252 absl::spinlock_wait 253 absl::type_traits 254 Threads::Threads 255 PUBLIC 256) 257 258# Internal-only target, do not depend on directly. 259absl_cc_library( 260 NAME 261 throw_delegate 262 HDRS 263 "internal/throw_delegate.h" 264 SRCS 265 "internal/throw_delegate.cc" 266 COPTS 267 ${ABSL_DEFAULT_COPTS} 268 DEPS 269 absl::config 270 absl::raw_logging_internal 271) 272 273# Internal-only target, do not depend on directly. 274absl_cc_library( 275 NAME 276 exception_testing 277 HDRS 278 "internal/exception_testing.h" 279 COPTS 280 ${ABSL_DEFAULT_COPTS} 281 DEPS 282 absl::config 283 GTest::gtest 284 TESTONLY 285) 286 287# Internal-only target, do not depend on directly. 288absl_cc_library( 289 NAME 290 pretty_function 291 HDRS 292 "internal/pretty_function.h" 293 COPTS 294 ${ABSL_DEFAULT_COPTS} 295) 296 297# Internal-only target, do not depend on directly. 298absl_cc_library( 299 NAME 300 exception_safety_testing 301 HDRS 302 "internal/exception_safety_testing.h" 303 SRCS 304 "internal/exception_safety_testing.cc" 305 COPTS 306 ${ABSL_TEST_COPTS} 307 DEPS 308 absl::config 309 absl::pretty_function 310 absl::memory 311 absl::meta 312 absl::strings 313 absl::utility 314 GTest::gtest 315 TESTONLY 316) 317 318absl_cc_test( 319 NAME 320 absl_exception_safety_testing_test 321 SRCS 322 "exception_safety_testing_test.cc" 323 COPTS 324 ${ABSL_TEST_COPTS} 325 DEPS 326 absl::exception_safety_testing 327 absl::memory 328 GTest::gtest_main 329) 330 331# Internal-only target, do not depend on directly. 332absl_cc_library( 333 NAME 334 atomic_hook_test_helper 335 SRCS 336 "internal/atomic_hook_test_helper.cc" 337 COPTS 338 ${ABSL_TEST_COPTS} 339 DEPS 340 absl::atomic_hook 341 absl::core_headers 342 TESTONLY 343) 344 345absl_cc_test( 346 NAME 347 atomic_hook_test 348 SRCS 349 "internal/atomic_hook_test.cc" 350 COPTS 351 ${ABSL_TEST_COPTS} 352 DEPS 353 absl::atomic_hook_test_helper 354 absl::atomic_hook 355 absl::core_headers 356 GTest::gmock 357 GTest::gtest_main 358) 359 360absl_cc_test( 361 NAME 362 bit_cast_test 363 SRCS 364 "bit_cast_test.cc" 365 COPTS 366 ${ABSL_TEST_COPTS} 367 DEPS 368 absl::base 369 absl::core_headers 370 GTest::gtest_main 371) 372 373absl_cc_test( 374 NAME 375 errno_saver_test 376 SRCS 377 "internal/errno_saver_test.cc" 378 COPTS 379 ${ABSL_TEST_COPTS} 380 DEPS 381 absl::errno_saver 382 absl::strerror 383 GTest::gmock 384 GTest::gtest_main 385) 386 387absl_cc_test( 388 NAME 389 throw_delegate_test 390 SRCS 391 "throw_delegate_test.cc" 392 COPTS 393 ${ABSL_TEST_COPTS} 394 DEPS 395 absl::base 396 absl::config 397 absl::throw_delegate 398 GTest::gtest_main 399) 400 401absl_cc_test( 402 NAME 403 inline_variable_test 404 SRCS 405 "internal/inline_variable_testing.h" 406 "inline_variable_test.cc" 407 "inline_variable_test_a.cc" 408 "inline_variable_test_b.cc" 409 COPTS 410 ${ABSL_TEST_COPTS} 411 DEPS 412 absl::base_internal 413 GTest::gtest_main 414) 415 416absl_cc_test( 417 NAME 418 invoke_test 419 SRCS 420 "invoke_test.cc" 421 COPTS 422 ${ABSL_TEST_COPTS} 423 DEPS 424 absl::base_internal 425 absl::memory 426 absl::strings 427 GTest::gmock 428 GTest::gtest_main 429) 430 431# Internal-only target, do not depend on directly. 432absl_cc_library( 433 NAME 434 spinlock_test_common 435 SRCS 436 "spinlock_test_common.cc" 437 COPTS 438 ${ABSL_TEST_COPTS} 439 DEPS 440 absl::base 441 absl::config 442 absl::base_internal 443 absl::core_headers 444 absl::synchronization 445 GTest::gtest 446 TESTONLY 447) 448 449# On bazel BUILD this target use "alwayslink = 1" which is not implemented here 450absl_cc_test( 451 NAME 452 spinlock_test 453 SRCS 454 "spinlock_test_common.cc" 455 COPTS 456 ${ABSL_TEST_COPTS} 457 DEPS 458 absl::base 459 absl::base_internal 460 absl::config 461 absl::core_headers 462 absl::synchronization 463 GTest::gtest_main 464) 465 466# Internal-only target, do not depend on directly. 467absl_cc_library( 468 NAME 469 endian 470 HDRS 471 "internal/endian.h" 472 "internal/unaligned_access.h" 473 COPTS 474 ${ABSL_DEFAULT_COPTS} 475 DEPS 476 absl::base 477 absl::config 478 absl::core_headers 479 absl::nullability 480 PUBLIC 481) 482 483absl_cc_test( 484 NAME 485 endian_test 486 SRCS 487 "internal/endian_test.cc" 488 COPTS 489 ${ABSL_TEST_COPTS} 490 DEPS 491 absl::base 492 absl::config 493 absl::endian 494 GTest::gtest_main 495) 496 497absl_cc_test( 498 NAME 499 config_test 500 SRCS 501 "config_test.cc" 502 COPTS 503 ${ABSL_TEST_COPTS} 504 DEPS 505 absl::config 506 absl::synchronization 507 GTest::gtest_main 508) 509 510absl_cc_test( 511 NAME 512 call_once_test 513 SRCS 514 "call_once_test.cc" 515 COPTS 516 ${ABSL_TEST_COPTS} 517 DEPS 518 absl::base 519 absl::core_headers 520 absl::synchronization 521 GTest::gtest_main 522) 523 524absl_cc_test( 525 NAME 526 no_destructor_test 527 SRCS 528 "no_destructor_test.cc" 529 COPTS 530 ${ABSL_TEST_COPTS} 531 DEPS 532 absl::no_destructor 533 absl::config 534 absl::raw_logging_internal 535 GTest::gtest_main 536) 537 538absl_cc_test( 539 NAME 540 raw_logging_test 541 SRCS 542 "raw_logging_test.cc" 543 COPTS 544 ${ABSL_TEST_COPTS} 545 DEPS 546 absl::raw_logging_internal 547 absl::strings 548 GTest::gtest_main 549) 550 551absl_cc_test( 552 NAME 553 sysinfo_test 554 SRCS 555 "internal/sysinfo_test.cc" 556 COPTS 557 ${ABSL_TEST_COPTS} 558 DEPS 559 absl::base 560 absl::synchronization 561 GTest::gtest_main 562) 563 564absl_cc_test( 565 NAME 566 low_level_alloc_test 567 SRCS 568 "internal/low_level_alloc_test.cc" 569 COPTS 570 ${ABSL_TEST_COPTS} 571 DEPS 572 absl::malloc_internal 573 absl::node_hash_map 574 Threads::Threads 575) 576 577absl_cc_test( 578 NAME 579 thread_identity_test 580 SRCS 581 "internal/thread_identity_test.cc" 582 COPTS 583 ${ABSL_TEST_COPTS} 584 DEPS 585 absl::base 586 absl::core_headers 587 absl::synchronization 588 Threads::Threads 589 GTest::gtest_main 590) 591 592# Internal-only target, do not depend on directly. 593absl_cc_library( 594 NAME 595 scoped_set_env 596 SRCS 597 "internal/scoped_set_env.cc" 598 HDRS 599 "internal/scoped_set_env.h" 600 COPTS 601 ${ABSL_DEFAULT_COPTS} 602 DEPS 603 absl::config 604 absl::raw_logging_internal 605) 606 607absl_cc_test( 608 NAME 609 scoped_set_env_test 610 SRCS 611 "internal/scoped_set_env_test.cc" 612 COPTS 613 ${ABSL_TEST_COPTS} 614 DEPS 615 absl::scoped_set_env 616 GTest::gtest_main 617) 618 619absl_cc_test( 620 NAME 621 cmake_thread_test 622 SRCS 623 "internal/cmake_thread_test.cc" 624 COPTS 625 ${ABSL_TEST_COPTS} 626 DEPS 627 absl::base 628) 629 630absl_cc_test( 631 NAME 632 log_severity_test 633 SRCS 634 "log_severity_test.cc" 635 DEPS 636 absl::flags_internal 637 absl::flags_marshalling 638 absl::log_severity 639 absl::strings 640 GTest::gmock 641 GTest::gtest_main 642) 643 644# Internal-only target, do not depend on directly. 645absl_cc_library( 646 NAME 647 strerror 648 SRCS 649 "internal/strerror.cc" 650 HDRS 651 "internal/strerror.h" 652 COPTS 653 ${ABSL_DEFAULT_COPTS} 654 LINKOPTS 655 ${ABSL_DEFAULT_LINKOPTS} 656 DEPS 657 absl::config 658 absl::core_headers 659 absl::errno_saver 660) 661 662absl_cc_test( 663 NAME 664 strerror_test 665 SRCS 666 "internal/strerror_test.cc" 667 COPTS 668 ${ABSL_TEST_COPTS} 669 DEPS 670 absl::strerror 671 absl::strings 672 GTest::gmock 673 GTest::gtest_main 674) 675 676# Internal-only target, do not depend on directly. 677absl_cc_library( 678 NAME 679 fast_type_id 680 HDRS 681 "internal/fast_type_id.h" 682 COPTS 683 ${ABSL_DEFAULT_COPTS} 684 LINKOPTS 685 ${ABSL_DEFAULT_LINKOPTS} 686 DEPS 687 absl::config 688) 689 690absl_cc_test( 691 NAME 692 fast_type_id_test 693 SRCS 694 "internal/fast_type_id_test.cc" 695 COPTS 696 ${ABSL_TEST_COPTS} 697 DEPS 698 absl::fast_type_id 699 GTest::gtest_main 700) 701 702absl_cc_library( 703 NAME 704 prefetch 705 HDRS 706 "prefetch.h" 707 COPTS 708 ${ABSL_DEFAULT_COPTS} 709 LINKOPTS 710 ${ABSL_DEFAULT_LINKOPTS} 711 DEPS 712 absl::config 713 absl::core_headers 714) 715 716absl_cc_test( 717 NAME 718 prefetch_test 719 SRCS 720 "prefetch_test.cc" 721 COPTS 722 ${ABSL_TEST_COPTS} 723 DEPS 724 absl::prefetch 725 GTest::gtest_main 726) 727 728absl_cc_test( 729 NAME 730 optimization_test 731 SRCS 732 "optimization_test.cc" 733 COPTS 734 ${ABSL_TEST_COPTS} 735 DEPS 736 absl::core_headers 737 absl::optional 738 GTest::gtest_main 739) 740