xwayland: add dependency on xwayland

Check that the pkg-config file is available. This will be required
in the future to check whether xwayland supports features such as
-listenfd, -initfd or -verbose.

If there's no pkg-config file, check that the Xwayland executable
is available.

This effectively makes our relationship with xwayland closer to what
a dynamic library is: checked at build-time, but can be overridden
at run-time.
This commit is contained in:
Simon Ser 2021-02-04 17:31:12 +01:00
parent 73137ace84
commit 3504bb587d
5 changed files with 17 additions and 0 deletions

View File

@ -13,6 +13,7 @@ packages:
- xcb-util-image-dev
- xcb-util-renderutil-dev
- xcb-util-wm-dev
- xorg-server-xwayland
sources:
- https://github.com/swaywm/wlroots
tasks:

View File

@ -13,6 +13,7 @@ packages:
- xcb-util-image
- xcb-util-renderutil
- xcb-util-wm
- xorg-xwayland
- seatd
sources:
- https://github.com/swaywm/wlroots

View File

@ -20,6 +20,7 @@ packages:
- x11/xcb-util-errors
- x11/xcb-util-renderutil
- x11/xcb-util-wm
- x11-servers/xwayland
- sysutils/seatd
- gmake
sources:

View File

@ -56,6 +56,7 @@ Install dependencies:
If you choose to enable X11 support:
* xwayland (build-time only, optional at runtime)
* xcb
* xcb-composite
* xcb-xfixes

View File

@ -18,6 +18,19 @@ if not get_option('xwayland').disabled()
msg += 'Required for Xwayland support.'
endif
xwayland = dependency('xwayland', required: false)
if not xwayland.found()
# There's no Xwayland release with the pkg-config file shipped yet.
xwayland_prog = find_program('Xwayland', required: false)
if not xwayland_prog.found()
if get_option('xwayland').enabled()
error('\n'.join(msg).format('xwayland'))
else
subdir_done()
endif
endif
endif
foreach lib : xwayland_required
dep = dependency(lib,
required: get_option('xwayland'),