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::core_headers 153 absl::memory 154 absl::raw_logging_internal 155 absl::time 156 gmock_main 157) 158 159absl_cc_test( 160 NAME 161 notification_test 162 SRCS 163 "notification_test.cc" 164 COPTS 165 ${ABSL_TEST_COPTS} 166 DEPS 167 absl::synchronization 168 absl::time 169 gmock_main 170) 171 172absl_cc_library( 173 NAME 174 per_thread_sem_test_common 175 SRCS 176 "internal/per_thread_sem_test.cc" 177 COPTS 178 ${ABSL_TEST_COPTS} 179 DEPS 180 absl::synchronization 181 absl::base 182 absl::strings 183 absl::time 184 gmock 185 TESTONLY 186) 187 188absl_cc_test( 189 NAME 190 per_thread_sem_test 191 SRCS 192 "internal/per_thread_sem_test.cc" 193 COPTS 194 ${ABSL_TEST_COPTS} 195 DEPS 196 absl::per_thread_sem_test_common 197 absl::synchronization 198 absl::strings 199 absl::time 200 gmock_main 201) 202 203absl_cc_test( 204 NAME 205 lifetime_test 206 SRCS 207 "lifetime_test.cc" 208 COPTS 209 ${ABSL_TEST_COPTS} 210 DEPS 211 absl::synchronization 212 absl::core_headers 213 absl::raw_logging_internal 214) 215