xref: /aosp_15_r20/external/pigweed/pw_sync_freertos/BUILD.gn (revision 61c4878ac05f98d0ceed94b57d316916de578985)
1*61c4878aSAndroid Build Coastguard Worker# Copyright 2020 The Pigweed Authors
2*61c4878aSAndroid Build Coastguard Worker#
3*61c4878aSAndroid Build Coastguard Worker# Licensed under the Apache License, Version 2.0 (the "License"); you may not
4*61c4878aSAndroid Build Coastguard Worker# use this file except in compliance with the License. You may obtain a copy of
5*61c4878aSAndroid Build Coastguard Worker# the License at
6*61c4878aSAndroid Build Coastguard Worker#
7*61c4878aSAndroid Build Coastguard Worker#     https://www.apache.org/licenses/LICENSE-2.0
8*61c4878aSAndroid Build Coastguard Worker#
9*61c4878aSAndroid Build Coastguard Worker# Unless required by applicable law or agreed to in writing, software
10*61c4878aSAndroid Build Coastguard Worker# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
11*61c4878aSAndroid Build Coastguard Worker# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
12*61c4878aSAndroid Build Coastguard Worker# License for the specific language governing permissions and limitations under
13*61c4878aSAndroid Build Coastguard Worker# the License.
14*61c4878aSAndroid Build Coastguard Worker
15*61c4878aSAndroid Build Coastguard Workerimport("//build_overrides/pigweed.gni")
16*61c4878aSAndroid Build Coastguard Worker
17*61c4878aSAndroid Build Coastguard Workerimport("$dir_pw_build/error.gni")
18*61c4878aSAndroid Build Coastguard Workerimport("$dir_pw_build/module_config.gni")
19*61c4878aSAndroid Build Coastguard Workerimport("$dir_pw_build/target_types.gni")
20*61c4878aSAndroid Build Coastguard Workerimport("$dir_pw_chrono/backend.gni")
21*61c4878aSAndroid Build Coastguard Workerimport("$dir_pw_docgen/docs.gni")
22*61c4878aSAndroid Build Coastguard Workerimport("$dir_pw_sync/backend.gni")
23*61c4878aSAndroid Build Coastguard Workerimport("$dir_pw_thread/backend.gni")
24*61c4878aSAndroid Build Coastguard Workerimport("$dir_pw_unit_test/test.gni")
25*61c4878aSAndroid Build Coastguard Worker
26*61c4878aSAndroid Build Coastguard Workerdeclare_args() {
27*61c4878aSAndroid Build Coastguard Worker  # The build target that overrides the default configuration options for this
28*61c4878aSAndroid Build Coastguard Worker  # module. This should point to a source set that provides defines through a
29*61c4878aSAndroid Build Coastguard Worker  # public config (which may -include a file or add defines directly).
30*61c4878aSAndroid Build Coastguard Worker  pw_sync_freertos_CONFIG = pw_build_DEFAULT_MODULE_CONFIG
31*61c4878aSAndroid Build Coastguard Worker}
32*61c4878aSAndroid Build Coastguard Worker
33*61c4878aSAndroid Build Coastguard Workerconfig("public_include_path") {
34*61c4878aSAndroid Build Coastguard Worker  include_dirs = [ "public" ]
35*61c4878aSAndroid Build Coastguard Worker  visibility = [ ":*" ]
36*61c4878aSAndroid Build Coastguard Worker}
37*61c4878aSAndroid Build Coastguard Worker
38*61c4878aSAndroid Build Coastguard Workerconfig("backend_config") {
39*61c4878aSAndroid Build Coastguard Worker  include_dirs = [ "public_overrides" ]
40*61c4878aSAndroid Build Coastguard Worker  visibility = [ ":*" ]
41*61c4878aSAndroid Build Coastguard Worker}
42*61c4878aSAndroid Build Coastguard Worker
43*61c4878aSAndroid Build Coastguard Workerpw_source_set("config") {
44*61c4878aSAndroid Build Coastguard Worker  public = [ "public/pw_sync_freertos/config.h" ]
45*61c4878aSAndroid Build Coastguard Worker  public_configs = [ ":public_include_path" ]
46*61c4878aSAndroid Build Coastguard Worker  public_deps = [
47*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_third_party/freertos",
48*61c4878aSAndroid Build Coastguard Worker    pw_sync_freertos_CONFIG,
49*61c4878aSAndroid Build Coastguard Worker  ]
50*61c4878aSAndroid Build Coastguard Worker}
51*61c4878aSAndroid Build Coastguard Worker
52*61c4878aSAndroid Build Coastguard Workerpw_build_assert("check_system_clock_backend") {
53*61c4878aSAndroid Build Coastguard Worker  condition =
54*61c4878aSAndroid Build Coastguard Worker      pw_chrono_SYSTEM_CLOCK_BACKEND == "" ||
55*61c4878aSAndroid Build Coastguard Worker      pw_chrono_SYSTEM_CLOCK_BACKEND == "$dir_pw_chrono_freertos:system_clock"
56*61c4878aSAndroid Build Coastguard Worker  message = "The FreeRTOS pw_sync backends only work with the FreeRTOS " +
57*61c4878aSAndroid Build Coastguard Worker            "pw::chrono::SystemClock backend."
58*61c4878aSAndroid Build Coastguard Worker  visibility = [ ":*" ]
59*61c4878aSAndroid Build Coastguard Worker}
60*61c4878aSAndroid Build Coastguard Worker
61*61c4878aSAndroid Build Coastguard Worker# This target provides the backend for pw::sync::BinarySemaphore.
62*61c4878aSAndroid Build Coastguard Workerpw_source_set("binary_semaphore") {
63*61c4878aSAndroid Build Coastguard Worker  public_configs = [
64*61c4878aSAndroid Build Coastguard Worker    ":public_include_path",
65*61c4878aSAndroid Build Coastguard Worker    ":backend_config",
66*61c4878aSAndroid Build Coastguard Worker  ]
67*61c4878aSAndroid Build Coastguard Worker  public = [
68*61c4878aSAndroid Build Coastguard Worker    "public/pw_sync_freertos/binary_semaphore_inline.h",
69*61c4878aSAndroid Build Coastguard Worker    "public/pw_sync_freertos/binary_semaphore_native.h",
70*61c4878aSAndroid Build Coastguard Worker    "public_overrides/pw_sync_backend/binary_semaphore_inline.h",
71*61c4878aSAndroid Build Coastguard Worker    "public_overrides/pw_sync_backend/binary_semaphore_native.h",
72*61c4878aSAndroid Build Coastguard Worker  ]
73*61c4878aSAndroid Build Coastguard Worker  public_deps = [
74*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_assert",
75*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_chrono:system_clock",
76*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_chrono_freertos:system_clock",
77*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_interrupt:context",
78*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_third_party/freertos",
79*61c4878aSAndroid Build Coastguard Worker  ]
80*61c4878aSAndroid Build Coastguard Worker  sources = [ "binary_semaphore.cc" ]
81*61c4878aSAndroid Build Coastguard Worker  deps = [
82*61c4878aSAndroid Build Coastguard Worker    ":check_system_clock_backend",
83*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_sync:binary_semaphore.facade",
84*61c4878aSAndroid Build Coastguard Worker  ]
85*61c4878aSAndroid Build Coastguard Worker}
86*61c4878aSAndroid Build Coastguard Worker
87*61c4878aSAndroid Build Coastguard Worker# This target provides the backend for pw::sync::CountingSemaphore.
88*61c4878aSAndroid Build Coastguard Workerpw_source_set("counting_semaphore") {
89*61c4878aSAndroid Build Coastguard Worker  public_configs = [
90*61c4878aSAndroid Build Coastguard Worker    ":public_include_path",
91*61c4878aSAndroid Build Coastguard Worker    ":backend_config",
92*61c4878aSAndroid Build Coastguard Worker  ]
93*61c4878aSAndroid Build Coastguard Worker  public = [
94*61c4878aSAndroid Build Coastguard Worker    "public/pw_sync_freertos/counting_semaphore_inline.h",
95*61c4878aSAndroid Build Coastguard Worker    "public/pw_sync_freertos/counting_semaphore_native.h",
96*61c4878aSAndroid Build Coastguard Worker    "public_overrides/pw_sync_backend/counting_semaphore_inline.h",
97*61c4878aSAndroid Build Coastguard Worker    "public_overrides/pw_sync_backend/counting_semaphore_native.h",
98*61c4878aSAndroid Build Coastguard Worker  ]
99*61c4878aSAndroid Build Coastguard Worker  public_deps = [
100*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_assert",
101*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_chrono:system_clock",
102*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_chrono_freertos:system_clock",
103*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_interrupt:context",
104*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_third_party/freertos",
105*61c4878aSAndroid Build Coastguard Worker  ]
106*61c4878aSAndroid Build Coastguard Worker  sources = [ "counting_semaphore.cc" ]
107*61c4878aSAndroid Build Coastguard Worker  deps = [
108*61c4878aSAndroid Build Coastguard Worker    ":check_system_clock_backend",
109*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_sync:counting_semaphore.facade",
110*61c4878aSAndroid Build Coastguard Worker  ]
111*61c4878aSAndroid Build Coastguard Worker}
112*61c4878aSAndroid Build Coastguard Worker
113*61c4878aSAndroid Build Coastguard Worker# This target provides the backend for pw::sync::Mutex.
114*61c4878aSAndroid Build Coastguard Workerpw_source_set("mutex") {
115*61c4878aSAndroid Build Coastguard Worker  public_configs = [
116*61c4878aSAndroid Build Coastguard Worker    ":public_include_path",
117*61c4878aSAndroid Build Coastguard Worker    ":backend_config",
118*61c4878aSAndroid Build Coastguard Worker  ]
119*61c4878aSAndroid Build Coastguard Worker  public = [
120*61c4878aSAndroid Build Coastguard Worker    "public/pw_sync_freertos/mutex_inline.h",
121*61c4878aSAndroid Build Coastguard Worker    "public/pw_sync_freertos/mutex_native.h",
122*61c4878aSAndroid Build Coastguard Worker    "public_overrides/pw_sync_backend/mutex_inline.h",
123*61c4878aSAndroid Build Coastguard Worker    "public_overrides/pw_sync_backend/mutex_native.h",
124*61c4878aSAndroid Build Coastguard Worker  ]
125*61c4878aSAndroid Build Coastguard Worker  public_deps = [
126*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_assert",
127*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_interrupt:context",
128*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_sync:mutex.facade",
129*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_third_party/freertos",
130*61c4878aSAndroid Build Coastguard Worker  ]
131*61c4878aSAndroid Build Coastguard Worker}
132*61c4878aSAndroid Build Coastguard Worker
133*61c4878aSAndroid Build Coastguard Worker# This target provides the backend for pw::sync::TimedMutex.
134*61c4878aSAndroid Build Coastguard Workerpw_source_set("timed_mutex") {
135*61c4878aSAndroid Build Coastguard Worker  public_configs = [
136*61c4878aSAndroid Build Coastguard Worker    ":public_include_path",
137*61c4878aSAndroid Build Coastguard Worker    ":backend_config",
138*61c4878aSAndroid Build Coastguard Worker  ]
139*61c4878aSAndroid Build Coastguard Worker  public = [
140*61c4878aSAndroid Build Coastguard Worker    "public/pw_sync_freertos/timed_mutex_inline.h",
141*61c4878aSAndroid Build Coastguard Worker    "public_overrides/pw_sync_backend/timed_mutex_inline.h",
142*61c4878aSAndroid Build Coastguard Worker  ]
143*61c4878aSAndroid Build Coastguard Worker  public_deps = [
144*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_chrono:system_clock",
145*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_sync:timed_mutex.facade",
146*61c4878aSAndroid Build Coastguard Worker  ]
147*61c4878aSAndroid Build Coastguard Worker  sources = [ "timed_mutex.cc" ]
148*61c4878aSAndroid Build Coastguard Worker  deps = [
149*61c4878aSAndroid Build Coastguard Worker    ":check_system_clock_backend",
150*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_assert",
151*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_chrono_freertos:system_clock",
152*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_interrupt:context",
153*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_third_party/freertos",
154*61c4878aSAndroid Build Coastguard Worker  ]
155*61c4878aSAndroid Build Coastguard Worker}
156*61c4878aSAndroid Build Coastguard Worker
157*61c4878aSAndroid Build Coastguard Workerconfig("public_overrides_thread_notification_include_path") {
158*61c4878aSAndroid Build Coastguard Worker  include_dirs = [ "public_overrides/thread_notification" ]
159*61c4878aSAndroid Build Coastguard Worker  visibility = [ ":thread_notification" ]
160*61c4878aSAndroid Build Coastguard Worker}
161*61c4878aSAndroid Build Coastguard Worker
162*61c4878aSAndroid Build Coastguard Worker# This target provides the backend for pw::sync::ThreadNotification based on
163*61c4878aSAndroid Build Coastguard Worker# task notifications.
164*61c4878aSAndroid Build Coastguard Workerpw_source_set("thread_notification") {
165*61c4878aSAndroid Build Coastguard Worker  public_configs = [
166*61c4878aSAndroid Build Coastguard Worker    ":public_include_path",
167*61c4878aSAndroid Build Coastguard Worker    ":public_overrides_thread_notification_include_path",
168*61c4878aSAndroid Build Coastguard Worker  ]
169*61c4878aSAndroid Build Coastguard Worker  public = [
170*61c4878aSAndroid Build Coastguard Worker    "public/pw_sync_freertos/thread_notification_inline.h",
171*61c4878aSAndroid Build Coastguard Worker    "public/pw_sync_freertos/thread_notification_native.h",
172*61c4878aSAndroid Build Coastguard Worker    "public_overrides/thread_notification/pw_sync_backend/thread_notification_inline.h",
173*61c4878aSAndroid Build Coastguard Worker    "public_overrides/thread_notification/pw_sync_backend/thread_notification_native.h",
174*61c4878aSAndroid Build Coastguard Worker  ]
175*61c4878aSAndroid Build Coastguard Worker  public_deps = [
176*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_assert",
177*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_interrupt:context",
178*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_polyfill",
179*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_sync:interrupt_spin_lock",
180*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_sync:lock_annotations",
181*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_sync:thread_notification.facade",
182*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_third_party/freertos",
183*61c4878aSAndroid Build Coastguard Worker  ]
184*61c4878aSAndroid Build Coastguard Worker  sources = [ "thread_notification.cc" ]
185*61c4878aSAndroid Build Coastguard Worker  deps = [ ":config" ]
186*61c4878aSAndroid Build Coastguard Worker}
187*61c4878aSAndroid Build Coastguard Worker
188*61c4878aSAndroid Build Coastguard Workerconfig("public_overrides_timed_thread_notification_include_path") {
189*61c4878aSAndroid Build Coastguard Worker  include_dirs = [ "public_overrides/timed_thread_notification" ]
190*61c4878aSAndroid Build Coastguard Worker  visibility = [ ":timed_thread_notification" ]
191*61c4878aSAndroid Build Coastguard Worker}
192*61c4878aSAndroid Build Coastguard Worker
193*61c4878aSAndroid Build Coastguard Worker# This target provides the backend for pw::sync::TimedThreadNotification based
194*61c4878aSAndroid Build Coastguard Worker# on task notifications.
195*61c4878aSAndroid Build Coastguard Workerpw_source_set("timed_thread_notification") {
196*61c4878aSAndroid Build Coastguard Worker  public_configs = [
197*61c4878aSAndroid Build Coastguard Worker    ":public_include_path",
198*61c4878aSAndroid Build Coastguard Worker    ":public_overrides_timed_thread_notification_include_path",
199*61c4878aSAndroid Build Coastguard Worker  ]
200*61c4878aSAndroid Build Coastguard Worker  public = [
201*61c4878aSAndroid Build Coastguard Worker    "public/pw_sync_freertos/timed_thread_notification_inline.h",
202*61c4878aSAndroid Build Coastguard Worker    "public_overrides/timed_thread_notification/pw_sync_backend/timed_thread_notification_inline.h",
203*61c4878aSAndroid Build Coastguard Worker  ]
204*61c4878aSAndroid Build Coastguard Worker  public_deps = [
205*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_chrono:system_clock",
206*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_sync:interrupt_spin_lock",
207*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_sync:timed_thread_notification.facade",
208*61c4878aSAndroid Build Coastguard Worker  ]
209*61c4878aSAndroid Build Coastguard Worker  sources = [ "timed_thread_notification.cc" ]
210*61c4878aSAndroid Build Coastguard Worker  deps = [
211*61c4878aSAndroid Build Coastguard Worker    ":check_system_clock_backend",
212*61c4878aSAndroid Build Coastguard Worker    ":config",
213*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_assert",
214*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_chrono_freertos:system_clock",
215*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_interrupt:context",
216*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_third_party/freertos",
217*61c4878aSAndroid Build Coastguard Worker  ]
218*61c4878aSAndroid Build Coastguard Worker}
219*61c4878aSAndroid Build Coastguard Worker
220*61c4878aSAndroid Build Coastguard Worker# This target provides the backend for pw::sync::InterruptSpinLock.
221*61c4878aSAndroid Build Coastguard Workerpw_source_set("interrupt_spin_lock") {
222*61c4878aSAndroid Build Coastguard Worker  public_configs = [
223*61c4878aSAndroid Build Coastguard Worker    ":public_include_path",
224*61c4878aSAndroid Build Coastguard Worker    ":backend_config",
225*61c4878aSAndroid Build Coastguard Worker  ]
226*61c4878aSAndroid Build Coastguard Worker  public = [
227*61c4878aSAndroid Build Coastguard Worker    "public/pw_sync_freertos/interrupt_spin_lock_inline.h",
228*61c4878aSAndroid Build Coastguard Worker    "public/pw_sync_freertos/interrupt_spin_lock_native.h",
229*61c4878aSAndroid Build Coastguard Worker    "public_overrides/pw_sync_backend/interrupt_spin_lock_inline.h",
230*61c4878aSAndroid Build Coastguard Worker    "public_overrides/pw_sync_backend/interrupt_spin_lock_native.h",
231*61c4878aSAndroid Build Coastguard Worker  ]
232*61c4878aSAndroid Build Coastguard Worker  public_deps = [ "$dir_pw_third_party/freertos" ]
233*61c4878aSAndroid Build Coastguard Worker  sources = [ "interrupt_spin_lock.cc" ]
234*61c4878aSAndroid Build Coastguard Worker  deps = [
235*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_assert",
236*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_interrupt:context",
237*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_sync:interrupt_spin_lock.facade",
238*61c4878aSAndroid Build Coastguard Worker  ]
239*61c4878aSAndroid Build Coastguard Worker}
240*61c4878aSAndroid Build Coastguard Worker
241*61c4878aSAndroid Build Coastguard Workerpw_test_group("tests") {
242*61c4878aSAndroid Build Coastguard Worker  tests = [
243*61c4878aSAndroid Build Coastguard Worker    ":thread_notification_test_with_static_threads",
244*61c4878aSAndroid Build Coastguard Worker    ":timed_thread_notification_test_with_static_threads",
245*61c4878aSAndroid Build Coastguard Worker  ]
246*61c4878aSAndroid Build Coastguard Worker}
247*61c4878aSAndroid Build Coastguard Worker
248*61c4878aSAndroid Build Coastguard Worker# You can instantiate this with your own provided "$dir_pw_thread:non_portable_test_thread_options",
249*61c4878aSAndroid Build Coastguard Worker# see ":thread_notification_test_with_static_threads" below as an example.
250*61c4878aSAndroid Build Coastguard Workerpw_source_set("thread_notification_test") {
251*61c4878aSAndroid Build Coastguard Worker  sources = [ "thread_notification_test.cc" ]
252*61c4878aSAndroid Build Coastguard Worker  deps = [
253*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_chrono:system_clock",
254*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_sync:thread_notification",
255*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_third_party/freertos",
256*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_thread:non_portable_test_thread_options",
257*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_thread:sleep",
258*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_thread:thread",
259*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_unit_test",
260*61c4878aSAndroid Build Coastguard Worker  ]
261*61c4878aSAndroid Build Coastguard Worker}
262*61c4878aSAndroid Build Coastguard Worker
263*61c4878aSAndroid Build Coastguard Workerpw_test("thread_notification_test_with_static_threads") {
264*61c4878aSAndroid Build Coastguard Worker  enable_if = pw_sync_THREAD_NOTIFICATION_BACKEND ==
265*61c4878aSAndroid Build Coastguard Worker              "$dir_pw_sync_freertos:thread_notification" &&
266*61c4878aSAndroid Build Coastguard Worker              pw_chrono_SYSTEM_CLOCK_BACKEND != "" &&
267*61c4878aSAndroid Build Coastguard Worker              pw_thread_THREAD_BACKEND != "" && pw_thread_SLEEP_BACKEND != ""
268*61c4878aSAndroid Build Coastguard Worker  deps = [
269*61c4878aSAndroid Build Coastguard Worker    ":thread_notification_test",
270*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_thread_freertos:static_test_threads",
271*61c4878aSAndroid Build Coastguard Worker  ]
272*61c4878aSAndroid Build Coastguard Worker}
273*61c4878aSAndroid Build Coastguard Worker
274*61c4878aSAndroid Build Coastguard Worker# You can instantiate this with your own provided "$dir_pw_thread:non_portable_test_thread_options",
275*61c4878aSAndroid Build Coastguard Worker# see ":timed_thread_notification_test_with_static_threads" below as an example.
276*61c4878aSAndroid Build Coastguard Workerpw_source_set("timed_thread_notification_test") {
277*61c4878aSAndroid Build Coastguard Worker  sources = [ "timed_thread_notification_test.cc" ]
278*61c4878aSAndroid Build Coastguard Worker  deps = [
279*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_chrono:system_clock",
280*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_sync:timed_thread_notification",
281*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_third_party/freertos",
282*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_thread:non_portable_test_thread_options",
283*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_thread:sleep",
284*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_thread:thread",
285*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_unit_test",
286*61c4878aSAndroid Build Coastguard Worker  ]
287*61c4878aSAndroid Build Coastguard Worker}
288*61c4878aSAndroid Build Coastguard Worker
289*61c4878aSAndroid Build Coastguard Workerpw_test("timed_thread_notification_test_with_static_threads") {
290*61c4878aSAndroid Build Coastguard Worker  enable_if = pw_sync_TIMED_THREAD_NOTIFICATION_BACKEND ==
291*61c4878aSAndroid Build Coastguard Worker              "$dir_pw_sync_freertos:timed_thread_notification" &&
292*61c4878aSAndroid Build Coastguard Worker              pw_chrono_SYSTEM_CLOCK_BACKEND != "" &&
293*61c4878aSAndroid Build Coastguard Worker              pw_thread_THREAD_BACKEND != "" && pw_thread_SLEEP_BACKEND != ""
294*61c4878aSAndroid Build Coastguard Worker  deps = [
295*61c4878aSAndroid Build Coastguard Worker    ":timed_thread_notification_test",
296*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_thread_freertos:static_test_threads",
297*61c4878aSAndroid Build Coastguard Worker  ]
298*61c4878aSAndroid Build Coastguard Worker}
299*61c4878aSAndroid Build Coastguard Worker
300*61c4878aSAndroid Build Coastguard Workerpw_doc_group("docs") {
301*61c4878aSAndroid Build Coastguard Worker  sources = [ "docs.rst" ]
302*61c4878aSAndroid Build Coastguard Worker}
303