From 4da9b32a154901bd8d74a80162ce3962eefbc29f Mon Sep 17 00:00:00 2001 From: Simon Ser Date: Fri, 25 Nov 2022 18:05:17 +0100 Subject: [PATCH] xwayland: use internal_config Avoids the need to have a separate config.h, and removes C compiler arguments. --- include/meson.build | 2 -- include/xwayland/meson.build | 30 ------------------------------ xwayland/meson.build | 31 +++++++++++++++++++++++++++---- xwayland/server.c | 2 +- 4 files changed, 28 insertions(+), 37 deletions(-) delete mode 100644 include/xwayland/meson.build diff --git a/include/meson.build b/include/meson.build index bc91a7660..f97e76ac2 100644 --- a/include/meson.build +++ b/include/meson.build @@ -13,8 +13,6 @@ if not features.get('x11-backend') endif if not features.get('xwayland') exclude_files += 'xwayland.h' -else - subdir('xwayland') endif if not features.get('gles2-renderer') exclude_files += ['render/egl.h', 'render/gles2.h'] diff --git a/include/xwayland/meson.build b/include/xwayland/meson.build deleted file mode 100644 index fcc5bd3af..000000000 --- a/include/xwayland/meson.build +++ /dev/null @@ -1,30 +0,0 @@ -xwayland_feature_names = [ - 'listenfd', - 'no_touch_pointer_emulation', - 'force_xrandr_emulation', - 'terminate_delay', -] - -xwayland_features = {} -if xwayland.found() - xwayland_path = xwayland.get_variable('xwayland') - 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) -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, -) diff --git a/xwayland/meson.build b/xwayland/meson.build index 0e36b61e1..5a8c732dd 100644 --- a/xwayland/meson.build +++ b/xwayland/meson.build @@ -62,6 +62,32 @@ foreach lib, desc : xwayland_optional xwayland_libs += dep endforeach +xwayland_feature_names = [ + 'listenfd', + 'no_touch_pointer_emulation', + 'force_xrandr_emulation', + 'terminate_delay', +] + +xwayland_features = {} +if xwayland.found() + xwayland_path = xwayland.get_variable('xwayland') + 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 + +internal_config.set_quoted('XWAYLAND_PATH', xwayland_path) +foreach name, have : xwayland_features + internal_config.set10('HAVE_XWAYLAND_' + name.to_upper(), have) +endforeach + wlr_files += files( 'selection/dnd.c', 'selection/incoming.c', @@ -77,7 +103,4 @@ wlr_deps += xwayland_libs features += { 'xwayland': true } have = cc.has_function('xcb_xfixes_set_client_disconnect_mode', dependencies: xwayland_libs) -add_project_arguments( - '-DHAS_XCB_XFIXES_SET_CLIENT_DISCONNECT_MODE=@0@'.format(have.to_int()), - language: 'c', -) +internal_config.set10('HAS_XCB_XFIXES_SET_CLIENT_DISCONNECT_MODE', have) diff --git a/xwayland/server.c b/xwayland/server.c index 3b34bd575..aee150022 100644 --- a/xwayland/server.c +++ b/xwayland/server.c @@ -15,8 +15,8 @@ #include #include #include +#include "config.h" #include "sockets.h" -#include "xwayland/config.h" static void safe_close(int fd) { if (fd >= 0) {