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