scx/meson.options
likewhatevs bf68679d35
Setup "debugging" and misc cleanup (#695)
* Fix a couple of misc errors in build scripts.
* Tweak scripts/kconfigs to make bpftrace work.
* Update how CI caching works to make builds faster (6 minute turnaround
  time)
* Update CI config to generate per-scheduler debug archives w/ guest
  dmesg/scheduler stdout, guest stdout, bpftrace script output,
  veristat output.

* Update build scripts to accept the following:
** VNG RW -- write to host filesystem (better caching, logging).
* For stress tests in particular (via ini config):
** QEMU Opts -- to facilitate reproducing bugs (i.e. high core count).
** bpftrace scripts -- specify bpftrace scripts to run during stress
tests.
2024-09-26 11:11:10 -04:00

56 lines
2.3 KiB
Plaintext

option('bpf_clang', type: 'string', value: 'clang',
description: 'clang to use when compiling .bpf.c')
option('bpftool', type: 'string',
description: 'bpftool to use when generating .bpf.skel.h. By default, bpftool is automatically downloaded and built during setup. To use an existing bpftool binary, point this to the bpftool path or set it to "disabled" to have meson try to find it automatically')
option('libbpf_a', type: 'string',
description: 'By default, libbpf is automatically downloaded and built during setup. To use an existing static library, point this to the libbpf.a file or set it to "disabled" to use dynamic linking')
option('libbpf_h', type: 'array',
description: 'libbpf header directories, only meaningful with libbpf_a option')
option('cargo', type: 'string', value: 'cargo',
description: 'cargo to use when building rust sub-projects')
option('cargo_home', type: 'string',
description: 'CARGO_HOME env to use when invoking cargo')
option('offline', type: 'boolean', value: false,
description: 'Compilation step should not access the internet')
option('enable_rust', type: 'boolean', value: true,
description: 'Enable rust sub-projects')
option('enable_stress', type: 'boolean', value: true,
description: 'Enable stress tests')
option('kernel', type: 'string', value: 'vmlinuz',
description: 'kernel image used to test schedulers')
option('veristat_scheduler', type: 'string', value: '',
description: 'veristat scheduler to test')
option('veristat_diff_dir', type: 'string', value: '',
description: 'veristat diff dir')
option('kernel_headers', type: 'string', value: '',
description: 'kernel headers to build the schedulers')
option(
'systemd',
type: 'feature',
value: 'auto',
description: 'sd-notify support via libsystemd and install systemd unit files'
)
option(
'openrc',
type: 'feature',
value: 'auto',
description: 'openrc init.d service file'
)
option(
'libalpm',
type: 'feature',
value: 'auto',
description: 'install pacman hooks'
)
option(
'build_outside_src',
type: 'boolean',
value: false,
description: 'enable build cmds to work outside of src dir',
)
option(
'vng_rw_mount',
type: 'boolean',
value: false,
description: 'make vng builds mount rw (for log upload)',
)