blob: 837ed0f01d92912a10a3c99d75dea7abecef15cf [file] [log] [blame]
Ewout van Bekkum5bcd8c42020-11-23 10:46:16 -08001# Copyright 2020 The Pigweed Authors
2#
3# Licensed under the Apache License, Version 2.0 (the "License"); you may not
4# use this file except in compliance with the License. You may obtain a copy of
5# the License at
6#
7# https://www.apache.org/licenses/LICENSE-2.0
8#
9# Unless required by applicable law or agreed to in writing, software
10# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
11# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
12# License for the specific language governing permissions and limitations under
13# the License.
14
15load(
16 "//pw_build:pigweed.bzl",
17 "pw_cc_library",
18)
19
20package(default_visibility = ["//visibility:public"])
21
22licenses(["notice"]) # Apache License 2.0
23
24pw_cc_library(
Ewout van Bekkumf7e38b32020-11-16 11:56:41 -080025 name = "binary_semaphore_headers",
26 hdrs = [
27 "public/pw_sync_threadx/binary_semaphore_inline.h",
28 "public/pw_sync_threadx/binary_semaphore_native.h",
29 "public_overrides/pw_sync_backend/binary_semaphore_inline.h",
30 "public_overrides/pw_sync_backend/binary_semaphore_native.h",
31 ],
32 includes = [
33 "public",
34 "public_overrides",
35 ],
36 deps = [
37 # TODO: This should depend on ThreadX but our third parties currently
38 # do not have Bazel support.
39 "//pw_chrono:system_clock",
40 ],
41)
42
43pw_cc_library(
44 name = "binary_semaphore",
45 srcs = [
46 "binary_semaphore.cc",
47 ],
48 deps = [
49 ":binary_semaphore_headers",
50 "//pw_chrono_threadx:system_clock_headers",
51 "//pw_interrupt:context",
52 "//pw_sync:binary_semaphore_facade",
53 ],
54)
55
56pw_cc_library(
57 name = "counting_semaphore_headers",
58 hdrs = [
59 "public/pw_sync_threadx/counting_semaphore_inline.h",
60 "public/pw_sync_threadx/counting_semaphore_native.h",
61 "public_overrides/pw_sync_backend/counting_semaphore_inline.h",
62 "public_overrides/pw_sync_backend/counting_semaphore_native.h",
63 ],
64 includes = [
65 "public",
66 "public_overrides",
67 ],
68 deps = [
69 # TODO: This should depend on ThreadX but our third parties currently
70 # do not have Bazel support.
71 "//pw_chrono:system_clock",
72 ],
73)
74
75pw_cc_library(
76 name = "counting_semaphore",
77 srcs = [
78 "counting_semaphore.cc",
79 ],
80 deps = [
81 ":counting_semaphore_headers",
82 "//pw_chrono_threadx:system_clock_headers",
83 "//pw_interrupt:context",
84 "//pw_sync:counting_semaphore_facade",
85 ],
86)
87
88pw_cc_library(
89 name = "mutex_headers",
90 hdrs = [
91 "public/pw_sync_threadx/mutex_inline.h",
92 "public/pw_sync_threadx/mutex_native.h",
93 "public_overrides/pw_sync_backend/mutex_inline.h",
94 "public_overrides/pw_sync_backend/mutex_native.h",
95 ],
96 includes = [
97 "public",
98 "public_overrides",
99 ],
100 deps = [
101 # TODO: This should depend on ThreadX but our third parties currently
102 # do not have Bazel support.
103 "//pw_chrono:system_clock",
104 ],
105)
106
107pw_cc_library(
108 name = "mutex",
109 srcs = [
110 "mutex.cc",
111 ],
112 deps = [
113 ":mutex_headers",
114 "//pw_chrono_threadx:system_clock_headers",
115 "//pw_interrupt:context",
116 "//pw_sync:mutex_facade",
117 ],
118)
119
120pw_cc_library(
Ewout van Bekkum126e0112021-03-12 10:59:49 -0800121 name = "interrupt_spin_lock_headers",
Ewout van Bekkum5bcd8c42020-11-23 10:46:16 -0800122 hdrs = [
Ewout van Bekkum126e0112021-03-12 10:59:49 -0800123 "public/pw_sync_threadx/interrupt_spin_lock_inline.h",
124 "public/pw_sync_threadx/interrupt_spin_lock_native.h",
125 "public_overrides/pw_sync_backend/interrupt_spin_lock_inline.h",
126 "public_overrides/pw_sync_backend/interrupt_spin_lock_native.h",
Ewout van Bekkum5bcd8c42020-11-23 10:46:16 -0800127 ],
128 includes = [
129 "public",
130 "public_overrides",
131 ],
132 # TODO: This should depend on ThreadX but our third parties currently
133 # do not have Bazel support.
134)
135
136pw_cc_library(
Ewout van Bekkum126e0112021-03-12 10:59:49 -0800137 name = "interrupt_spin_lock",
Ewout van Bekkum5bcd8c42020-11-23 10:46:16 -0800138 srcs = [
Ewout van Bekkum126e0112021-03-12 10:59:49 -0800139 "interrupt_spin_lock.cc",
Ewout van Bekkum5bcd8c42020-11-23 10:46:16 -0800140 ],
141 deps = [
Ewout van Bekkum126e0112021-03-12 10:59:49 -0800142 ":interrupt_spin_lock_headers",
143 "//pw_sync:interrupt_spin_lock_facade",
Ewout van Bekkum5bcd8c42020-11-23 10:46:16 -0800144 ],
145)