1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
| | # SPDX-License-Identifier: EUPL-1.2+
# SPDX-FileCopyrightText: 2024-2025 Alyssa Ross <hi@alyssa.is>
project('spectrum-tools', 'c',
default_options : {
'c_std': 'c23',
'rust_std': '2024',
'warning_level': '3',
})
add_project_arguments('-Wno-error=attributes', language : 'c')
add_project_arguments('-Werror=missing-prototypes', language : 'c')
add_project_arguments('-Werror=missing-declarations', language : 'c')
if not get_option('unwind')
add_project_arguments('-C', 'panic=abort', language : 'rust')
endif
if get_option('host')
add_languages('rust')
add_project_arguments('-W', 'clippy::map-unwrap-or', language : 'rust')
add_project_arguments('-W', 'clippy::ptr-as-ptr', language : 'rust')
miniserde_dep = dependency('miniserde-rs')
executable('lsvm', 'lsvm.rs',
dependencies : miniserde_dep,
install : true)
executable('sd-notify-adapter', 'sd-notify-adapter.c',
c_args : '-D_GNU_SOURCE',
install: true)
subdir('start-vmm')
executable('updates-dir-check', 'updates-dir-check.c',
c_args : '-D_GNU_SOURCE',
install: true)
endif
if get_option('build')
executable('lseek', 'lseek.c', c_args : '-D_XOPEN_SOURCE', install : true)
endif
if get_option('app')
subdir('xdg-desktop-portal-spectrum')
endif
if get_option('driver')
subdir('xdp-forwarder')
endif
|