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 <ofourdan@redhat.com>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
This commit is contained in:
Olivier Fourdan 2023-11-17 11:54:54 +01:00
parent a797776ff2
commit 411a61f571
2 changed files with 6 additions and 1 deletions

View File

@ -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()))

View File

@ -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)