]> begriffs open source - meson-wrap/blob - packagefiles/freertos/meson.build
Fix cmsis-driver-validation for use
[meson-wrap] / packagefiles / freertos / meson.build
1 project('freertos', 'c',
2   version: '11.2.0',
3   license: 'MIT')
4
5 # For now Cortex M4 is our hardcoded port, and heap_3 our allocator.
6 # TODO: make it configurable, including static memory.
7
8 freertos_inc = include_directories('include')
9 freertos_inc_internal = include_directories(
10   '.', 'portable'/'GCC'/'ARM_CM4F')
11
12 # the linker can prune whatever core sources are unused
13 freertos_src_core = files(
14   'tasks.c', 'list.c', 'queue.c', 'port.c', 'timers.c',
15   'event_groups.c', 'stream_buffer.c', 'croutine.c')
16 freertos_src_mem  = files('portable'/'MemMang'/'heap_3.c')
17 freertos_src_port = files('portable'/'GCC'/'ARM_CM4F'/'port.c')
18
19 # again, Cortex M4
20 cmsis_dfp_dep =
21   subproject('cmsis-dfp-stm32f4').get_variable('cmsis_dfp_stm32f4_dep')
22
23 freertos_conf =  configure_file(
24   input: 'armv7m'/'cortex-m4'/'FreeRTOSConfig.h.in',
25   output: 'FreeRTOSConfig.h',
26   install: false,
27   configuration: {
28     'MIN_STACK_SIZE': get_property('freertos_min_stack_size'),
29     'USE_PREEMPTION': get_property('freertos_use_preemption'),
30     'USE_IDLE_HOOK':  get_property('freertos_use_idle_hook'),
31     'USE_TICK_HOOK':  get_property('freertos_use_tick_hook'),
32     'TICK_RATE_HSZ':  get_property('freertos_tick_rate_hz')})
33
34 freertos_lib = library(
35   'freertos',
36   freertos_src_core + freertos_src_mem + freertos_src_port,
37   include_directories: freertos_inc + freertos_inc_internal,
38   dependencies: [cmsis_dfp_dep, freertos_conf])
39
40 freertos_dep = declare_dependency(
41   include_directories: freertos_inc,
42   link_with: freertos_lib)