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::check 155 absl::core_headers 156 absl::graphcycles_internal 157 absl::log 158 GTest::gmock_main 159) 160 161# Internal-only target, do not depend on directly. 162absl_cc_library( 163 NAME 164 thread_pool 165 HDRS 166 "internal/thread_pool.h" 167 COPTS 168 ${ABSL_DEFAULT_COPTS} 169 DEPS 170 absl::any_invocable 171 absl::core_headers 172 absl::synchronization 173 TESTONLY 174) 175 176absl_cc_test( 177 NAME 178 mutex_test 179 SRCS 180 "mutex_test.cc" 181 COPTS 182 ${ABSL_TEST_COPTS} 183 DEPS 184 absl::synchronization 185 absl::thread_pool 186 absl::base 187 absl::check 188 absl::config 189 absl::core_headers 190 absl::log 191 absl::memory 192 absl::time 193 GTest::gmock_main 194) 195 196absl_cc_test( 197 NAME 198 mutex_method_pointer_test 199 SRCS 200 "mutex_method_pointer_test.cc" 201 COPTS 202 ${ABSL_TEST_COPTS} 203 DEPS 204 absl::base 205 absl::config 206 absl::synchronization 207 GTest::gmock_main 208) 209 210absl_cc_test( 211 NAME 212 notification_test 213 SRCS 214 "notification_test.cc" 215 COPTS 216 ${ABSL_TEST_COPTS} 217 DEPS 218 absl::synchronization 219 absl::time 220 GTest::gmock_main 221) 222 223# Internal-only target, do not depend on directly. 224absl_cc_library( 225 NAME 226 per_thread_sem_test_common 227 SRCS 228 "internal/per_thread_sem_test.cc" 229 COPTS 230 ${ABSL_TEST_COPTS} 231 DEPS 232 absl::synchronization 233 absl::base 234 absl::config 235 absl::strings 236 absl::time 237 GTest::gmock 238 TESTONLY 239) 240 241absl_cc_test( 242 NAME 243 per_thread_sem_test 244 SRCS 245 "internal/per_thread_sem_test.cc" 246 COPTS 247 ${ABSL_TEST_COPTS} 248 DEPS 249 absl::per_thread_sem_test_common 250 absl::synchronization 251 absl::strings 252 absl::time 253 GTest::gmock_main 254) 255 256absl_cc_test( 257 NAME 258 waiter_test 259 SRCS 260 "internal/waiter_test.cc" 261 COPTS 262 ${ABSL_TEST_COPTS} 263 DEPS 264 absl::config 265 absl::kernel_timeout_internal 266 absl::random_random 267 absl::synchronization 268 absl::thread_pool 269 absl::time 270 GTest::gmock_main 271) 272 273absl_cc_test( 274 NAME 275 lifetime_test 276 SRCS 277 "lifetime_test.cc" 278 COPTS 279 ${ABSL_TEST_COPTS} 280 DEPS 281 absl::synchronization 282 absl::core_headers 283 absl::check 284) 285