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
1 changed files with 18 additions and 15 deletions

View File

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