xwayland: use dict to collect supported features

This commit is contained in:
Simon Ser 2022-05-23 09:44:39 +02:00
parent 9cae874513
commit cde3700386

View File

@ -1,26 +1,29 @@
have_listenfd = false
have_no_touch_pointer_emulation = false
have_force_xrandr_emulation = false
have_terminate_delay = false
xwayland_feature_names = [
'listenfd',
'no_touch_pointer_emulation',
'force_xrandr_emulation',
'terminate_delay',
]
xwayland_features = {}
if xwayland.found()
xwayland_path = xwayland.get_variable('xwayland')
have_listenfd = xwayland.get_variable('have_listenfd',
default_value: 'false') == 'true'
have_no_touch_pointer_emulation = xwayland.get_variable(
'have_no_touch_pointer_emulation', default_value: 'false') == 'true'
have_force_xrandr_emulation = xwayland.get_variable(
'have_force_xrandr_emulation', default_value: 'false') == 'true'
have_terminate_delay = xwayland.get_variable(pkgconfig: 'have_terminate_delay') == 'true'
foreach name : xwayland_feature_names
have = xwayland.get_variable('have_' + name, default_value: 'false') == 'true'
xwayland_features += { name: have }
endforeach
else
xwayland_path = xwayland_prog.full_path()
foreach name : xwayland_feature_names
xwayland_features += { name: false }
endforeach
endif
xwayland_config_data = configuration_data()
xwayland_config_data.set_quoted('XWAYLAND_PATH', xwayland_path)
xwayland_config_data.set10('HAVE_XWAYLAND_LISTENFD', have_listenfd)
xwayland_config_data.set10('HAVE_XWAYLAND_NO_TOUCH_POINTER_EMULATION', have_no_touch_pointer_emulation)
xwayland_config_data.set10('HAVE_XWAYLAND_FORCE_XRANDR_EMULATION', have_force_xrandr_emulation)
xwayland_config_data.set10('HAVE_XWAYLAND_TERMINATE_DELAY', have_terminate_delay)
foreach name, have : xwayland_features
xwayland_config_data.set10('HAVE_XWAYLAND_' + name.to_upper(), have)
endforeach
configure_file(
output: 'config.h',
configuration: xwayland_config_data,