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 19absl_cc_library( 20 NAME 21 atomic_hook 22 HDRS 23 "internal/atomic_hook.h" 24 DEPS 25 absl::config 26 absl::core_headers 27 COPTS 28 ${ABSL_DEFAULT_COPTS} 29) 30 31absl_cc_library( 32 NAME 33 errno_saver 34 HDRS 35 "internal/errno_saver.h" 36 DEPS 37 absl::config 38 COPTS 39 ${ABSL_DEFAULT_COPTS} 40) 41 42absl_cc_library( 43 NAME 44 log_severity 45 HDRS 46 "log_severity.h" 47 SRCS 48 "log_severity.cc" 49 DEPS 50 absl::core_headers 51 COPTS 52 ${ABSL_DEFAULT_COPTS} 53) 54 55absl_cc_library( 56 NAME 57 raw_logging_internal 58 HDRS 59 "internal/raw_logging.h" 60 SRCS 61 "internal/raw_logging.cc" 62 DEPS 63 absl::atomic_hook 64 absl::config 65 absl::core_headers 66 absl::log_severity 67 COPTS 68 ${ABSL_DEFAULT_COPTS} 69) 70 71absl_cc_library( 72 NAME 73 spinlock_wait 74 HDRS 75 "internal/spinlock_wait.h" 76 SRCS 77 "internal/spinlock_akaros.inc" 78 "internal/spinlock_linux.inc" 79 "internal/spinlock_posix.inc" 80 "internal/spinlock_wait.cc" 81 "internal/spinlock_win32.inc" 82 COPTS 83 ${ABSL_DEFAULT_COPTS} 84 DEPS 85 absl::base_internal 86 absl::core_headers 87 absl::errno_saver 88) 89 90absl_cc_library( 91 NAME 92 config 93 HDRS 94 "config.h" 95 "options.h" 96 "policy_checks.h" 97 COPTS 98 ${ABSL_DEFAULT_COPTS} 99 PUBLIC 100) 101 102absl_cc_library( 103 NAME 104 dynamic_annotations 105 HDRS 106 "dynamic_annotations.h" 107 SRCS 108 "dynamic_annotations.cc" 109 COPTS 110 ${ABSL_DEFAULT_COPTS} 111 DEFINES 112 "__CLANG_SUPPORT_DYN_ANNOTATION__" 113 PUBLIC 114) 115 116absl_cc_library( 117 NAME 118 core_headers 119 HDRS 120 "attributes.h" 121 "const_init.h" 122 "macros.h" 123 "optimization.h" 124 "port.h" 125 "thread_annotations.h" 126 "internal/thread_annotations.h" 127 COPTS 128 ${ABSL_DEFAULT_COPTS} 129 DEPS 130 absl::config 131 PUBLIC 132) 133 134absl_cc_library( 135 NAME 136 malloc_internal 137 HDRS 138 "internal/direct_mmap.h" 139 "internal/low_level_alloc.h" 140 SRCS 141 "internal/low_level_alloc.cc" 142 COPTS 143 ${ABSL_DEFAULT_COPTS} 144 DEPS 145 absl::base 146 absl::base_internal 147 absl::config 148 absl::core_headers 149 absl::dynamic_annotations 150 absl::raw_logging_internal 151 Threads::Threads 152) 153 154absl_cc_library( 155 NAME 156 base_internal 157 HDRS 158 "internal/hide_ptr.h" 159 "internal/identity.h" 160 "internal/inline_variable.h" 161 "internal/invoke.h" 162 "internal/scheduling_mode.h" 163 COPTS 164 ${ABSL_DEFAULT_COPTS} 165 DEPS 166 absl::config 167 absl::type_traits 168) 169 170absl_cc_library( 171 NAME 172 base 173 HDRS 174 "call_once.h" 175 "casts.h" 176 "internal/cycleclock.h" 177 "internal/low_level_scheduling.h" 178 "internal/per_thread_tls.h" 179 "internal/spinlock.h" 180 "internal/sysinfo.h" 181 "internal/thread_identity.h" 182 "internal/tsan_mutex_interface.h" 183 "internal/unscaledcycleclock.h" 184 SRCS 185 "internal/cycleclock.cc" 186 "internal/spinlock.cc" 187 "internal/sysinfo.cc" 188 "internal/thread_identity.cc" 189 "internal/unscaledcycleclock.cc" 190 COPTS 191 ${ABSL_DEFAULT_COPTS} 192 LINKOPTS 193 ${ABSL_DEFAULT_LINKOPTS} 194 $<$<BOOL:${LIBRT}>:${LIBRT}> 195 $<$<BOOL:${MINGW}>:"advapi32"> 196 DEPS 197 absl::atomic_hook 198 absl::base_internal 199 absl::config 200 absl::core_headers 201 absl::dynamic_annotations 202 absl::log_severity 203 absl::raw_logging_internal 204 absl::spinlock_wait 205 absl::type_traits 206 Threads::Threads 207 PUBLIC 208) 209 210absl_cc_library( 211 NAME 212 throw_delegate 213 HDRS 214 "internal/throw_delegate.h" 215 SRCS 216 "internal/throw_delegate.cc" 217 COPTS 218 ${ABSL_DEFAULT_COPTS} 219 DEPS 220 absl::config 221 absl::raw_logging_internal 222) 223 224absl_cc_library( 225 NAME 226 exception_testing 227 HDRS 228 "internal/exception_testing.h" 229 COPTS 230 ${ABSL_DEFAULT_COPTS} 231 DEPS 232 absl::config 233 gtest 234 TESTONLY 235) 236 237absl_cc_library( 238 NAME 239 pretty_function 240 HDRS 241 "internal/pretty_function.h" 242 COPTS 243 ${ABSL_DEFAULT_COPTS} 244) 245 246absl_cc_library( 247 NAME 248 exception_safety_testing 249 HDRS 250 "internal/exception_safety_testing.h" 251 SRCS 252 "internal/exception_safety_testing.cc" 253 COPTS 254 ${ABSL_TEST_COPTS} 255 DEPS 256 absl::config 257 absl::pretty_function 258 absl::memory 259 absl::meta 260 absl::strings 261 absl::utility 262 gtest 263 TESTONLY 264) 265 266absl_cc_test( 267 NAME 268 absl_exception_safety_testing_test 269 SRCS 270 "exception_safety_testing_test.cc" 271 COPTS 272 ${ABSL_TEST_COPTS} 273 DEPS 274 absl::exception_safety_testing 275 absl::memory 276 gtest_main 277) 278 279absl_cc_library( 280 NAME 281 atomic_hook_test_helper 282 SRCS 283 "internal/atomic_hook_test_helper.cc" 284 COPTS 285 ${ABSL_TEST_COPTS} 286 DEPS 287 absl::atomic_hook 288 absl::core_headers 289 TESTONLY 290) 291 292absl_cc_test( 293 NAME 294 atomic_hook_test 295 SRCS 296 "internal/atomic_hook_test.cc" 297 COPTS 298 ${ABSL_TEST_COPTS} 299 DEPS 300 absl::atomic_hook_test_helper 301 absl::atomic_hook 302 absl::core_headers 303 gmock 304 gtest_main 305) 306 307absl_cc_test( 308 NAME 309 bit_cast_test 310 SRCS 311 "bit_cast_test.cc" 312 COPTS 313 ${ABSL_TEST_COPTS} 314 DEPS 315 absl::base 316 absl::core_headers 317 gtest_main 318) 319 320absl_cc_test( 321 NAME 322 errno_saver_test 323 SRCS 324 "internal/errno_saver_test.cc" 325 COPTS 326 ${ABSL_TEST_COPTS} 327 DEPS 328 absl::errno_saver 329 gmock 330 gtest_main 331) 332 333absl_cc_test( 334 NAME 335 throw_delegate_test 336 SRCS 337 "throw_delegate_test.cc" 338 COPTS 339 ${ABSL_TEST_COPTS} 340 DEPS 341 absl::base 342 absl::config 343 absl::throw_delegate 344 gtest_main 345) 346 347absl_cc_test( 348 NAME 349 inline_variable_test 350 SRCS 351 "internal/inline_variable_testing.h" 352 "inline_variable_test.cc" 353 "inline_variable_test_a.cc" 354 "inline_variable_test_b.cc" 355 COPTS 356 ${ABSL_TEST_COPTS} 357 DEPS 358 absl::base_internal 359 gtest_main 360) 361 362absl_cc_test( 363 NAME 364 invoke_test 365 SRCS 366 "invoke_test.cc" 367 COPTS 368 ${ABSL_TEST_COPTS} 369 DEPS 370 absl::base_internal 371 absl::memory 372 absl::strings 373 gmock 374 gtest_main 375) 376 377absl_cc_library( 378 NAME 379 spinlock_test_common 380 SRCS 381 "spinlock_test_common.cc" 382 COPTS 383 ${ABSL_TEST_COPTS} 384 DEPS 385 absl::base 386 absl::base_internal 387 absl::core_headers 388 absl::synchronization 389 gtest 390 TESTONLY 391) 392 393# On bazel BUILD this target use "alwayslink = 1" which is not implemented here 394absl_cc_test( 395 NAME 396 spinlock_test 397 SRCS 398 "spinlock_test_common.cc" 399 COPTS 400 ${ABSL_TEST_COPTS} 401 DEPS 402 absl::base 403 absl::base_internal 404 absl::core_headers 405 absl::synchronization 406 gtest_main 407) 408 409absl_cc_library( 410 NAME 411 endian 412 HDRS 413 "internal/endian.h" 414 "internal/unaligned_access.h" 415 COPTS 416 ${ABSL_DEFAULT_COPTS} 417 DEPS 418 absl::config 419 absl::core_headers 420 PUBLIC 421) 422 423absl_cc_test( 424 NAME 425 endian_test 426 SRCS 427 "internal/endian_test.cc" 428 COPTS 429 ${ABSL_TEST_COPTS} 430 DEPS 431 absl::base 432 absl::config 433 absl::endian 434 gtest_main 435) 436 437absl_cc_test( 438 NAME 439 config_test 440 SRCS 441 "config_test.cc" 442 COPTS 443 ${ABSL_TEST_COPTS} 444 DEPS 445 absl::config 446 absl::synchronization 447 gtest_main 448) 449 450absl_cc_test( 451 NAME 452 call_once_test 453 SRCS 454 "call_once_test.cc" 455 COPTS 456 ${ABSL_TEST_COPTS} 457 DEPS 458 absl::base 459 absl::core_headers 460 absl::synchronization 461 gtest_main 462) 463 464absl_cc_test( 465 NAME 466 raw_logging_test 467 SRCS 468 "raw_logging_test.cc" 469 COPTS 470 ${ABSL_TEST_COPTS} 471 DEPS 472 absl::raw_logging_internal 473 absl::strings 474 gtest_main 475) 476 477absl_cc_test( 478 NAME 479 sysinfo_test 480 SRCS 481 "internal/sysinfo_test.cc" 482 COPTS 483 ${ABSL_TEST_COPTS} 484 DEPS 485 absl::base 486 absl::synchronization 487 gtest_main 488) 489 490absl_cc_test( 491 NAME 492 low_level_alloc_test 493 SRCS 494 "internal/low_level_alloc_test.cc" 495 COPTS 496 ${ABSL_TEST_COPTS} 497 DEPS 498 absl::malloc_internal 499 Threads::Threads 500) 501 502absl_cc_test( 503 NAME 504 thread_identity_test 505 SRCS 506 "internal/thread_identity_test.cc" 507 COPTS 508 ${ABSL_TEST_COPTS} 509 DEPS 510 absl::base 511 absl::core_headers 512 absl::synchronization 513 Threads::Threads 514 gtest_main 515) 516 517absl_cc_library( 518 NAME 519 bits 520 HDRS 521 "internal/bits.h" 522 COPTS 523 ${ABSL_DEFAULT_COPTS} 524 DEPS 525 absl::config 526 absl::core_headers 527) 528 529absl_cc_test( 530 NAME 531 bits_test 532 SRCS 533 "internal/bits_test.cc" 534 COPTS 535 ${ABSL_TEST_COPTS} 536 DEPS 537 absl::bits 538 gtest_main 539) 540 541absl_cc_library( 542 NAME 543 exponential_biased 544 SRCS 545 "internal/exponential_biased.cc" 546 HDRS 547 "internal/exponential_biased.h" 548 COPTS 549 ${ABSL_DEFAULT_COPTS} 550 DEPS 551 absl::config 552 absl::core_headers 553) 554 555absl_cc_test( 556 NAME 557 exponential_biased_test 558 SRCS 559 "internal/exponential_biased_test.cc" 560 COPTS 561 ${ABSL_TEST_COPTS} 562 DEPS 563 absl::exponential_biased 564 absl::strings 565 gmock_main 566) 567 568absl_cc_library( 569 NAME 570 periodic_sampler 571 SRCS 572 "internal/periodic_sampler.cc" 573 HDRS 574 "internal/periodic_sampler.h" 575 COPTS 576 ${ABSL_DEFAULT_COPTS} 577 DEPS 578 absl::core_headers 579 absl::exponential_biased 580) 581 582absl_cc_test( 583 NAME 584 periodic_sampler_test 585 SRCS 586 "internal/periodic_sampler_test.cc" 587 COPTS 588 ${ABSL_TEST_COPTS} 589 DEPS 590 absl::core_headers 591 absl::periodic_sampler 592 gmock_main 593) 594 595absl_cc_library( 596 NAME 597 scoped_set_env 598 SRCS 599 "internal/scoped_set_env.cc" 600 HDRS 601 "internal/scoped_set_env.h" 602 COPTS 603 ${ABSL_DEFAULT_COPTS} 604 DEPS 605 absl::config 606 absl::raw_logging_internal 607) 608 609absl_cc_test( 610 NAME 611 scoped_set_env_test 612 SRCS 613 "internal/scoped_set_env_test.cc" 614 COPTS 615 ${ABSL_TEST_COPTS} 616 DEPS 617 absl::scoped_set_env 618 gtest_main 619) 620 621absl_cc_test( 622 NAME 623 cmake_thread_test 624 SRCS 625 "internal/cmake_thread_test.cc" 626 COPTS 627 ${ABSL_TEST_COPTS} 628 DEPS 629 absl::base 630) 631 632absl_cc_test( 633 NAME 634 log_severity_test 635 SRCS 636 "log_severity_test.cc" 637 DEPS 638 absl::flags_internal 639 absl::flags_marshalling 640 absl::log_severity 641 absl::strings 642 gmock 643 gtest_main 644) 645