• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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