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
|
--- a/meson.build
+++ b/meson.build
@@ -98,11 +98,28 @@ if build_wayland
cc.find_library('rt'),
]
- wl_mod = import('unstable-wayland')
- targets_wayland = [
- wl_mod.scan_xml(wl_mod.find_protocol('xdg-shell')),
- wl_mod.scan_xml(wl_mod.find_protocol(
- 'pointer-gestures',
- state: 'unstable',
- version: 1,
- )),
- ]
+ # muon compatibility: generate protocol files without external module
+ wayland_protocols_dep = dependency('wayland-protocols')
+ wayland_protocols_datadir = wayland_protocols_dep.get_pkgconfig_variable('pkgdatadir')
+ wayland_scanner = find_program('wayland-scanner')
+
+ gen_client_header = generator(wayland_scanner,
+ output: '@BASENAME@-client-protocol.h',
+ arguments: ['client-header', '@INPUT@', '@OUTPUT@'])
+ gen_private_code = generator(wayland_scanner,
+ output: '@BASENAME@-protocol.c',
+ arguments: ['private-code', '@INPUT@', '@OUTPUT@'])
+
+ xdg_shell_xml = join_paths(wayland_protocols_datadir, 'stable/xdg-shell/xdg-shell.xml')
+ xdg_shell_client_h = gen_client_header.process(xdg_shell_xml)
+ xdg_shell_code = gen_private_code.process(xdg_shell_xml)
+
+ pointer_gestures_xml = join_paths(wayland_protocols_datadir, 'unstable/pointer-gestures/pointer-gestures-unstable-v1.xml')
+ pointer_gestures_client_h = gen_client_header.process(pointer_gestures_xml)
+ pointer_gestures_code = gen_private_code.process(pointer_gestures_xml)
+
+ targets_wayland = [
+ xdg_shell_client_h, xdg_shell_code,
+ pointer_gestures_client_h, pointer_gestures_code,
+ ]
|