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