1# Copyright 2024 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 15import("//build_overrides/pigweed.gni") 16 17import("$dir_pw_chrono/backend.gni") 18import("$dir_pw_sync/backend.gni") 19import("$dir_pw_thread/backend.gni") 20 21pw_chrono_stl_BACKENDS = { 22 pw_chrono_SYSTEM_CLOCK_BACKEND = "$dir_pw_chrono_stl:system_clock" 23 pw_chrono_SYSTEM_TIMER_BACKEND = "$dir_pw_chrono_stl:system_timer" 24} 25 26pw_sync_stl_BACKENDS = { 27 pw_sync_BINARY_SEMAPHORE_BACKEND = "$dir_pw_sync_stl:binary_semaphore_backend" 28 pw_sync_CONDITION_VARIABLE_BACKEND = 29 "$dir_pw_sync_stl:condition_variable_backend" 30 pw_sync_COUNTING_SEMAPHORE_BACKEND = 31 "$dir_pw_sync_stl:counting_semaphore_backend" 32 pw_sync_INTERRUPT_SPIN_LOCK_BACKEND = "$dir_pw_sync_stl:interrupt_spin_lock" 33 pw_sync_MUTEX_BACKEND = "$dir_pw_sync_stl:mutex_backend" 34 pw_sync_RECURSIVE_MUTEX_BACKEND = "$dir_pw_sync_stl:recursive_mutex_backend" 35 pw_sync_TIMED_MUTEX_BACKEND = "$dir_pw_sync_stl:timed_mutex_backend" 36 pw_sync_THREAD_NOTIFICATION_BACKEND = 37 "$dir_pw_sync:binary_semaphore_thread_notification_backend" 38 pw_sync_TIMED_THREAD_NOTIFICATION_BACKEND = 39 "$dir_pw_sync:binary_semaphore_timed_thread_notification_backend" 40} 41 42pw_thread_stl_BACKENDS = { 43 pw_thread_ID_BACKEND = "$dir_pw_thread_stl:id" 44 pw_thread_SLEEP_BACKEND = "$dir_pw_thread_stl:sleep" 45 pw_thread_THREAD_BACKEND = "$dir_pw_thread_stl:thread" 46 pw_thread_THREAD_ITERATION_BACKEND = "$dir_pw_thread_stl:thread_iteration" 47 pw_thread_YIELD_BACKEND = "$dir_pw_thread_stl:yield" 48 pw_thread_TEST_THREAD_CONTEXT_BACKEND = 49 "$dir_pw_thread_stl:test_thread_context" 50} 51 52pw_targets_STL_BACKEND_GROUP = { 53 forward_variables_from(pw_chrono_stl_BACKENDS, "*") 54 forward_variables_from(pw_sync_stl_BACKENDS, "*") 55 forward_variables_from(pw_thread_stl_BACKENDS, "*") 56} 57