From 411a61f571aa1dde54d52b0200a4e1a9d0def336 Mon Sep 17 00:00:00 2001 From: Olivier Fourdan Date: Fri, 17 Nov 2023 11:54:54 +0100 Subject: [PATCH] build: Allow for custom server config directory Most X servers, even those which do not have specific configuration files, can use the directory specified by SERVER_MISC_CONFIG_PATH when they have either the XSECURITY or XSELINUX extensions enabled, or when support for DTRACE is enabled at build time, because this is also where the "protocol.txt" file is searched for at runtime. Unfortunately, the SERVER_MISC_CONFIG_PATH is set from serverconfigdir which is hardcoded in the build system to "$prefix/$libdir/xorg", and all X server builds share the same path. That makes it harder for different X servers such as Xwayland to install in the same path without sharing the same server configuration path (and hence the same "protocol.txt" file). Allow for the customization of server configuration path from the build options so that different X servers can use completely different and independent paths. Signed-off-by: Olivier Fourdan Reviewed-by: Peter Hutterer --- meson.build | 5 ++++- meson_options.txt | 2 ++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/meson.build b/meson.build index 0279ea211..6a695d182 100644 --- a/meson.build +++ b/meson.build @@ -691,7 +691,10 @@ glx_inc = include_directories('glx') top_dir_inc = include_directories('.') -serverconfigdir = join_paths(get_option('prefix'), get_option('libdir'), 'xorg') +serverconfigdir = get_option('serverconfigdir') +if serverconfigdir == '' + serverconfigdir = join_paths(get_option('prefix'), get_option('libdir'), 'xorg') +endif manpage_config = configuration_data() manpage_config.set('vendorversion', '"xorg-server @0@" "X Version 11"'.format(meson.project_version())) diff --git a/meson_options.txt b/meson_options.txt index e972717b9..7872d1d20 100644 --- a/meson_options.txt +++ b/meson_options.txt @@ -29,6 +29,8 @@ option('module_dir', type: 'string', value: 'xorg/modules', option('default_font_path', type: 'string') option('fontrootdir', type: 'string', description: 'Root directory for legacy fonts. Default: from font-utils.pc or $datadir/fonts/X11') +option('serverconfigdir', type: 'string', + description: 'Miscellaneous server configuration files path. Default: $libdir/xorg') option('glx', type: 'boolean', value: true) option('xdmcp', type: 'boolean', value: true)