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 17# Internal-only target, do not depend on directly. 18absl_cc_library( 19 NAME 20 graphcycles_internal 21 HDRS 22 "internal/graphcycles.h" 23 SRCS 24 "internal/graphcycles.cc" 25 COPTS 26 ${ABSL_DEFAULT_COPTS} 27 DEPS 28 absl::base 29 absl::base_internal 30 absl::config 31 absl::core_headers 32 absl::malloc_internal 33 absl::raw_logging_internal 34) 35 36# Internal-only target, do not depend on directly. 37absl_cc_library( 38 NAME 39 kernel_timeout_internal 40 HDRS 41 "internal/kernel_timeout.h" 42 SRCS 43 "internal/kernel_timeout.cc" 44 COPTS 45 ${ABSL_DEFAULT_COPTS} 46 DEPS 47 absl::base 48 absl::config 49 absl::core_headers 50 absl::raw_logging_internal 51 absl::time 52) 53 54absl_cc_test( 55 NAME 56 kernel_timeout_internal_test 57 SRCS 58 "internal/kernel_timeout_test.cc" 59 COPTS 60 ${ABSL_TEST_COPTS} 61 DEPS 62 absl::kernel_timeout_internal 63 absl::config 64 absl::random_random 65 absl::time 66 GTest::gmock_main 67) 68 69absl_cc_library( 70 NAME 71 synchronization 72 HDRS 73 "barrier.h" 74 "blocking_counter.h" 75 "internal/create_thread_identity.h" 76 "internal/futex.h" 77 "internal/futex_waiter.h" 78 "internal/per_thread_sem.h" 79 "internal/pthread_waiter.h" 80 "internal/sem_waiter.h" 81 "internal/stdcpp_waiter.h" 82 "internal/waiter.h" 83 "internal/waiter_base.h" 84 "internal/win32_waiter.h" 85 "mutex.h" 86 "notification.h" 87 SRCS 88 "barrier.cc" 89 "blocking_counter.cc" 90 "internal/create_thread_identity.cc" 91 "internal/futex_waiter.cc" 92 "internal/per_thread_sem.cc" 93 "internal/pthread_waiter.cc" 94 "internal/sem_waiter.cc" 95 "internal/stdcpp_waiter.cc" 96 "internal/waiter_base.cc" 97 "internal/win32_waiter.cc" 98 "notification.cc" 99 "mutex.cc" 100 COPTS 101 ${ABSL_DEFAULT_COPTS} 102 DEPS 103 absl::graphcycles_internal 104 absl::kernel_timeout_internal 105 absl::atomic_hook 106 absl::base 107 absl::base_internal 108 absl::config 109 absl::core_headers 110 absl::dynamic_annotations 111 absl::malloc_internal 112 absl::raw_logging_internal 113 absl::stacktrace 114 absl::symbolize 115 absl::time 116 Threads::Threads 117 PUBLIC 118) 119 120absl_cc_test( 121 NAME 122 barrier_test 123 SRCS 124 "barrier_test.cc" 125 COPTS 126 ${ABSL_TEST_COPTS} 127 DEPS 128 absl::synchronization 129 absl::time 130 GTest::gmock_main 131) 132 133absl_cc_test( 134 NAME 135 blocking_counter_test 136 SRCS 137 "blocking_counter_test.cc" 138 COPTS 139 ${ABSL_TEST_COPTS} 140 DEPS 141 absl::synchronization 142 absl::time 143 GTest::gmock_main 144) 145 146absl_cc_test( 147 NAME 148 graphcycles_test 149 SRCS 150 "internal/graphcycles_test.cc" 151 COPTS 152 ${ABSL_TEST_COPTS} 153 DEPS 154 absl::graphcycles_internal 155 absl::core_headers 156 absl::raw_logging_internal 157 GTest::gmock_main 158) 159 160# Internal-only target, do not depend on directly. 161absl_cc_library( 162 NAME 163 thread_pool 164 HDRS 165 "internal/thread_pool.h" 166 COPTS 167 ${ABSL_DEFAULT_COPTS} 168 DEPS 169 absl::any_invocable 170 absl::core_headers 171 absl::synchronization 172 TESTONLY 173) 174 175absl_cc_test( 176 NAME 177 mutex_test 178 SRCS 179 "mutex_test.cc" 180 COPTS 181 ${ABSL_TEST_COPTS} 182 DEPS 183 absl::synchronization 184 absl::thread_pool 185 absl::base 186 absl::config 187 absl::core_headers 188 absl::memory 189 absl::raw_logging_internal 190 absl::time 191 GTest::gmock_main 192) 193 194absl_cc_test( 195 NAME 196 mutex_method_pointer_test 197 SRCS 198 "mutex_method_pointer_test.cc" 199 COPTS 200 ${ABSL_TEST_COPTS} 201 DEPS 202 absl::base 203 absl::config 204 absl::synchronization 205 GTest::gmock_main 206) 207 208absl_cc_test( 209 NAME 210 notification_test 211 SRCS 212 "notification_test.cc" 213 COPTS 214 ${ABSL_TEST_COPTS} 215 DEPS 216 absl::synchronization 217 absl::time 218 GTest::gmock_main 219) 220 221# Internal-only target, do not depend on directly. 222absl_cc_library( 223 NAME 224 per_thread_sem_test_common 225 SRCS 226 "internal/per_thread_sem_test.cc" 227 COPTS 228 ${ABSL_TEST_COPTS} 229 DEPS 230 absl::synchronization 231 absl::base 232 absl::config 233 absl::strings 234 absl::time 235 GTest::gmock 236 TESTONLY 237) 238 239absl_cc_test( 240 NAME 241 per_thread_sem_test 242 SRCS 243 "internal/per_thread_sem_test.cc" 244 COPTS 245 ${ABSL_TEST_COPTS} 246 DEPS 247 absl::per_thread_sem_test_common 248 absl::synchronization 249 absl::strings 250 absl::time 251 GTest::gmock_main 252) 253 254absl_cc_test( 255 NAME 256 waiter_test 257 SRCS 258 "internal/waiter_test.cc" 259 COPTS 260 ${ABSL_TEST_COPTS} 261 DEPS 262 absl::config 263 absl::kernel_timeout_internal 264 absl::random_random 265 absl::synchronization 266 absl::thread_pool 267 absl::time 268 GTest::gmock_main 269) 270 271absl_cc_test( 272 NAME 273 lifetime_test 274 SRCS 275 "lifetime_test.cc" 276 COPTS 277 ${ABSL_TEST_COPTS} 278 DEPS 279 absl::synchronization 280 absl::core_headers 281 absl::raw_logging_internal 282) 283