• 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
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