1 # Copyright 2020 The Pigweed Authors
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
7 # https://www.apache.org/licenses/LICENSE-2.0
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
16 "//pw_build:pigweed.bzl",
20 package(default_visibility = ["//visibility:public"])
22 licenses(["notice"]) # Apache License 2.0
25 name = "binary_semaphore_headers",
27 "public/pw_sync_stl/binary_semaphore_inline.h",
28 "public/pw_sync_stl/binary_semaphore_native.h",
29 "public_overrides/pw_sync_backend/binary_semaphore_inline.h",
30 "public_overrides/pw_sync_backend/binary_semaphore_native.h",
37 "//pw_chrono:system_clock",
42 name = "binary_semaphore",
44 "binary_semaphore.cc",
47 ":binary_semaphore_headers",
48 "//pw_chrono:system_clock",
49 "//pw_sync:binary_semaphore_facade",
54 name = "counting_semaphore_headers",
56 "public/pw_sync_stl/counting_semaphore_inline.h",
57 "public/pw_sync_stl/counting_semaphore_native.h",
58 "public_overrides/pw_sync_backend/counting_semaphore_inline.h",
59 "public_overrides/pw_sync_backend/counting_semaphore_native.h",
66 "//pw_chrono:system_clock",
71 name = "counting_semaphore",
73 "counting_semaphore.cc",
76 ":counting_semaphore_headers",
77 "//pw_chrono:system_clock",
78 "//pw_sync:counting_semaphore_facade",
83 name = "mutex_headers",
85 "public/pw_sync_stl/mutex_inline.h",
86 "public/pw_sync_stl/mutex_native.h",
87 "public_overrides/pw_sync_backend/mutex_inline.h",
88 "public_overrides/pw_sync_backend/mutex_native.h",
95 "//pw_chrono:system_clock",
103 "//pw_chrono:system_clock",
104 "//pw_sync:mutex_facade",
109 name = "spin_lock_headers",
111 "public/pw_sync_stl/spin_lock_inline.h",
112 "public/pw_sync_stl/spin_lock_native.h",
113 "public_overrides/pw_sync_backend/spin_lock_inline.h",
114 "public_overrides/pw_sync_backend/spin_lock_native.h",
125 ":spin_lock_headers",
126 "//pw_sync:spin_lock_facade",
127 "//pw_sync:yield_core",