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 17absl_cc_library( 18 NAME 19 graphcycles_internal 20 HDRS 21 "internal/graphcycles.h" 22 SRCS 23 "internal/graphcycles.cc" 24 COPTS 25 ${ABSL_DEFAULT_COPTS} 26 DEPS 27 absl::base 28 absl::base_internal 29 absl::config 30 absl::core_headers 31 absl::malloc_internal 32 absl::raw_logging_internal 33) 34 35absl_cc_library( 36 NAME 37 kernel_timeout_internal 38 HDRS 39 "internal/kernel_timeout.h" 40 COPTS 41 ${ABSL_DEFAULT_COPTS} 42 DEPS 43 absl::core_headers 44 absl::raw_logging_internal 45 absl::time 46) 47 48absl_cc_library( 49 NAME 50 synchronization 51 HDRS 52 "barrier.h" 53 "blocking_counter.h" 54 "internal/create_thread_identity.h" 55 "internal/mutex_nonprod.inc" 56 "internal/per_thread_sem.h" 57 "internal/waiter.h" 58 "mutex.h" 59 "notification.h" 60 SRCS 61 "barrier.cc" 62 "blocking_counter.cc" 63 "internal/create_thread_identity.cc" 64 "internal/per_thread_sem.cc" 65 "internal/waiter.cc" 66 "notification.cc" 67 "mutex.cc" 68 COPTS 69 ${ABSL_DEFAULT_COPTS} 70 DEPS 71 absl::graphcycles_internal 72 absl::kernel_timeout_internal 73 absl::atomic_hook 74 absl::base 75 absl::base_internal 76 absl::config 77 absl::core_headers 78 absl::dynamic_annotations 79 absl::malloc_internal 80 absl::raw_logging_internal 81 absl::stacktrace 82 absl::symbolize 83 absl::time 84 Threads::Threads 85 PUBLIC 86) 87 88absl_cc_test( 89 NAME 90 barrier_test 91 SRCS 92 "barrier_test.cc" 93 COPTS 94 ${ABSL_TEST_COPTS} 95 DEPS 96 absl::synchronization 97 absl::time 98 gmock_main 99) 100 101absl_cc_test( 102 NAME 103 blocking_counter_test 104 SRCS 105 "blocking_counter_test.cc" 106 COPTS 107 ${ABSL_TEST_COPTS} 108 DEPS 109 absl::synchronization 110 absl::time 111 gmock_main 112) 113 114absl_cc_test( 115 NAME 116 graphcycles_test 117 SRCS 118 "internal/graphcycles_test.cc" 119 COPTS 120 ${ABSL_TEST_COPTS} 121 DEPS 122 absl::graphcycles_internal 123 absl::core_headers 124 absl::raw_logging_internal 125 gmock_main 126) 127 128absl_cc_library( 129 NAME 130 thread_pool 131 HDRS 132 "internal/thread_pool.h" 133 COPTS 134 ${ABSL_DEFAULT_COPTS} 135 DEPS 136 absl::synchronization 137 absl::core_headers 138 TESTONLY 139) 140 141absl_cc_test( 142 NAME 143 mutex_test 144 SRCS 145 "mutex_test.cc" 146 COPTS 147 ${ABSL_TEST_COPTS} 148 DEPS 149 absl::synchronization 150 absl::thread_pool 151 absl::base 152 absl::config 153 absl::core_headers 154 absl::memory 155 absl::raw_logging_internal 156 absl::time 157 gmock_main 158) 159 160absl_cc_test( 161 NAME 162 notification_test 163 SRCS 164 "notification_test.cc" 165 COPTS 166 ${ABSL_TEST_COPTS} 167 DEPS 168 absl::synchronization 169 absl::time 170 gmock_main 171) 172 173absl_cc_library( 174 NAME 175 per_thread_sem_test_common 176 SRCS 177 "internal/per_thread_sem_test.cc" 178 COPTS 179 ${ABSL_TEST_COPTS} 180 DEPS 181 absl::synchronization 182 absl::base 183 absl::config 184 absl::strings 185 absl::time 186 gmock 187 TESTONLY 188) 189 190absl_cc_test( 191 NAME 192 per_thread_sem_test 193 SRCS 194 "internal/per_thread_sem_test.cc" 195 COPTS 196 ${ABSL_TEST_COPTS} 197 DEPS 198 absl::per_thread_sem_test_common 199 absl::synchronization 200 absl::strings 201 absl::time 202 gmock_main 203) 204 205absl_cc_test( 206 NAME 207 lifetime_test 208 SRCS 209 "lifetime_test.cc" 210 COPTS 211 ${ABSL_TEST_COPTS} 212 DEPS 213 absl::synchronization 214 absl::core_headers 215 absl::raw_logging_internal 216) 217