2024-04-23 01:06:27 +01:00
|
|
|
# the previous scheduler in the compile sequence
|
|
|
|
sched = []
|
|
|
|
|
2024-04-23 01:30:38 +01:00
|
|
|
# Since meson and cargo tries build in parallel, this can cause significant load
|
|
|
|
# when meson tries to launch N instances of cargo and cargo tries to compile N files
|
|
|
|
# in parallel (N*N compiler instances in total).
|
|
|
|
#
|
|
|
|
# To prevent this from happening, we try to force meson to build them sequentially
|
|
|
|
# by making the "current" scheduler depend on another scheduler.
|
|
|
|
# To add a new scheduler, assign the output of your custom_target to sched
|
2024-04-23 01:06:27 +01:00
|
|
|
# and add sched as a dependency to your custom_target. For example:
|
|
|
|
#
|
|
|
|
# sched = custom_target('scx_mysched',
|
|
|
|
# ...
|
|
|
|
# depends: [mydep, sched],
|
|
|
|
# build_always_stale: true)
|
2023-12-01 21:58:56 +00:00
|
|
|
subdir('scx_layered')
|
|
|
|
subdir('scx_rusty')
|
2023-12-21 23:20:14 +00:00
|
|
|
subdir('scx_rustland')
|
2024-02-24 22:04:04 +00:00
|
|
|
subdir('scx_rlfifo')
|
2024-03-16 01:55:37 +00:00
|
|
|
subdir('scx_lavd')
|
2024-04-23 01:06:27 +01:00
|
|
|
|
|
|
|
# the target to compile all rust schedulers
|
|
|
|
custom_target('rust_scheds',
|
|
|
|
input: 'meson.build',
|
|
|
|
output: '@PLAINNAME@.__PHONY__',
|
|
|
|
command: ['touch', '@PLAINNAME@.__PHONY__'],
|
|
|
|
depends: sched,
|
|
|
|
build_by_default: true)
|