xref: /aosp_15_r20/external/cronet/third_party/abseil-cpp/absl/synchronization/BUILD.gn (revision 6777b5387eb2ff775bb5750e3f5d96f37fb7352b)
1# Copyright 2018 The Chromium Authors
2# Use of this source code is governed by a BSD-style license that can be
3# found in the LICENSE file.
4
5import("//third_party/abseil-cpp/absl.gni")
6
7absl_source_set("graphcycles_internal") {
8  sources = [ "internal/graphcycles.cc" ]
9  public = [ "internal/graphcycles.h" ]
10  deps = [
11    "//third_party/abseil-cpp/absl/base",
12    "//third_party/abseil-cpp/absl/base:base_internal",
13    "//third_party/abseil-cpp/absl/base:config",
14    "//third_party/abseil-cpp/absl/base:core_headers",
15    "//third_party/abseil-cpp/absl/base:malloc_internal",
16    "//third_party/abseil-cpp/absl/base:raw_logging_internal",
17  ]
18  visibility = [ ":*" ]
19}
20
21absl_source_set("kernel_timeout_internal") {
22  sources = [ "internal/kernel_timeout.cc" ]
23  public = [ "internal/kernel_timeout.h" ]
24  deps = [
25    "//third_party/abseil-cpp/absl/base",
26    "//third_party/abseil-cpp/absl/base:config",
27    "//third_party/abseil-cpp/absl/base:core_headers",
28    "//third_party/abseil-cpp/absl/base:raw_logging_internal",
29    "//third_party/abseil-cpp/absl/time",
30  ]
31  visibility = [ ":*" ]
32}
33
34absl_test("kernel_timeout_internal_test") {
35  sources = [ "internal/kernel_timeout_test.cc" ]
36  deps = [
37    ":kernel_timeout_internal",
38    "//third_party/abseil-cpp/absl/base:config",
39    "//third_party/abseil-cpp/absl/random",
40    "//third_party/abseil-cpp/absl/time",
41  ]
42}
43
44absl_source_set("synchronization") {
45  sources = [
46    "barrier.cc",
47    "blocking_counter.cc",
48    "internal/create_thread_identity.cc",
49    "internal/futex_waiter.cc",
50    "internal/per_thread_sem.cc",
51    "internal/pthread_waiter.cc",
52    "internal/sem_waiter.cc",
53    "internal/stdcpp_waiter.cc",
54    "internal/waiter_base.cc",
55    "internal/win32_waiter.cc",
56    "mutex.cc",
57    "notification.cc",
58  ]
59  public = [
60    "barrier.h",
61    "blocking_counter.h",
62    "internal/create_thread_identity.h",
63    "internal/futex.h",
64    "internal/futex_waiter.h",
65    "internal/per_thread_sem.h",
66    "internal/pthread_waiter.h",
67    "internal/sem_waiter.h",
68    "internal/stdcpp_waiter.h",
69    "internal/waiter.h",
70    "internal/waiter_base.h",
71    "internal/win32_waiter.h",
72    "mutex.h",
73    "notification.h",
74  ]
75  deps = [
76    ":graphcycles_internal",
77    ":kernel_timeout_internal",
78    "//third_party/abseil-cpp/absl/base",
79    "//third_party/abseil-cpp/absl/base:atomic_hook",
80    "//third_party/abseil-cpp/absl/base:base_internal",
81    "//third_party/abseil-cpp/absl/base:config",
82    "//third_party/abseil-cpp/absl/base:core_headers",
83    "//third_party/abseil-cpp/absl/base:dynamic_annotations",
84    "//third_party/abseil-cpp/absl/base:malloc_internal",
85    "//third_party/abseil-cpp/absl/base:raw_logging_internal",
86    "//third_party/abseil-cpp/absl/debugging:stacktrace",
87    "//third_party/abseil-cpp/absl/debugging:symbolize",
88    "//third_party/abseil-cpp/absl/time",
89  ]
90}
91
92absl_test("waiter_test") {
93  sources = [ "internal/waiter_test.cc" ]
94  deps = [
95    ":kernel_timeout_internal",
96    ":synchronization",
97    ":thread_pool",
98    "//third_party/abseil-cpp/absl/base:config",
99    "//third_party/abseil-cpp/absl/random",
100    "//third_party/abseil-cpp/absl/time",
101  ]
102}
103
104absl_source_set("thread_pool") {
105  testonly = true
106  public = [ "internal/thread_pool.h" ]
107  deps = [
108    ":synchronization",
109    "//third_party/abseil-cpp/absl/base:core_headers",
110    "//third_party/abseil-cpp/absl/functional:any_invocable",
111  ]
112  visibility = [ "//third_party/abseil-cpp/absl/*" ]
113}
114
115absl_source_set("per_thread_sem_test_common") {
116  testonly = true
117  sources = [ "internal/per_thread_sem_test.cc" ]
118  deps = [
119    ":synchronization",
120    "//third_party/abseil-cpp/absl/base",
121    "//third_party/abseil-cpp/absl/base:config",
122    "//third_party/abseil-cpp/absl/strings",
123    "//third_party/abseil-cpp/absl/time",
124    "//third_party/googletest:gtest",
125  ]
126  visibility = [ ":*" ]
127}
128
129# absl_test("mutex_method_pointer_test") {
130#   sources = [ "mutex_method_pointer_test.cc" ]
131#   deps = [
132#     ":synchronization",
133#     "//third_party/abseil-cpp/absl/base:config",
134#   ]
135# }
136