xref: /aosp_15_r20/external/pigweed/third_party/freertos/freertos.gni (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 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