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 Workerdeclare_args() { 16*61c4878aSAndroid Build Coastguard Worker # If compiling backends with freertos, this variable is set to the path to the 17*61c4878aSAndroid Build Coastguard Worker # freertos installation. When set, a pw_source_set for the freertos library is 18*61c4878aSAndroid Build Coastguard Worker # created at "$dir_pw_third_party/freertos". 19*61c4878aSAndroid Build Coastguard Worker dir_pw_third_party_freertos = "" 20*61c4878aSAndroid Build Coastguard Worker 21*61c4878aSAndroid Build Coastguard Worker # The pw_source_set which provides the FreeRTOS config header. 22*61c4878aSAndroid Build Coastguard Worker pw_third_party_freertos_CONFIG = "" 23*61c4878aSAndroid Build Coastguard Worker 24*61c4878aSAndroid Build Coastguard Worker # The pw_source_set which provides the port specific includes and sources. 25*61c4878aSAndroid Build Coastguard Worker pw_third_party_freertos_PORT = "" 26*61c4878aSAndroid Build Coastguard Worker 27*61c4878aSAndroid Build Coastguard Worker # In order to link against internal kernel data structures through the use of 28*61c4878aSAndroid Build Coastguard Worker # extern "C", statics can be optionally disabled for the tasks.c source file 29*61c4878aSAndroid Build Coastguard Worker # to enable use of things like pw_thread_freertos/util.h's ForEachThread. 30*61c4878aSAndroid Build Coastguard Worker # 31*61c4878aSAndroid Build Coastguard Worker # WARNING: If you use this, make sure that your FreeRTOSConfig.h and port 32*61c4878aSAndroid Build Coastguard Worker # does not rely on any statics inside of tasks.c. For example, you cannot use 33*61c4878aSAndroid Build Coastguard Worker # PW_CHECK for configASSERT when this is enabled. 34*61c4878aSAndroid Build Coastguard Worker # 35*61c4878aSAndroid Build Coastguard Worker # As a helper PW_THIRD_PARTY_FREERTOS_NO_STATICS=1 is defined when statics are 36*61c4878aSAndroid Build Coastguard Worker # disabled to help manage conditional configuration. In addition a helper 37*61c4878aSAndroid Build Coastguard Worker # pw_third_party_freertos/assert_config.h header is provided which correctly 38*61c4878aSAndroid Build Coastguard Worker # sets configASSERT to use PW_CHECK or PW_ASSERT for you. 39*61c4878aSAndroid Build Coastguard Worker pw_third_party_freertos_DISABLE_TASKS_STATICS = false 40*61c4878aSAndroid Build Coastguard Worker} 41