You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

64 lines
1.3 KiB

xwayland_libs = []
xwayland_required = [
'xcb',
'xcb-composite',
'xcb-render',
'xcb-xfixes',
]
xwayland_optional = {
'xcb-errors': 'Required for printing X11 errors.',
'xcb-icccm': 'Required for extended X11 window manager hints.',
}
msg = []
if get_option('xwayland').enabled()
msg += 'Install "@0@" or pass "-Dxwayland=disabled".'
endif
if not get_option('xwayland').disabled()
msg += 'Required for Xwayland support.'
endif
foreach lib : xwayland_required
dep = dependency(lib,
required: get_option('xwayland'),
not_found_message: '\n'.join(msg).format(lib),
)
if not dep.found()
subdir_done()
endif
xwayland_libs += dep
endforeach
foreach lib, desc : xwayland_optional
msg = []
if get_option(lib).enabled()
msg += 'Install "@0@" or pass "-D@0@=disabled".'
endif
if not get_option(lib).disabled()
msg += desc
endif
dep = dependency(lib,
required: get_option(lib),
not_found_message: '\n'.join(msg).format(lib),
)
if dep.found()
xwayland_libs += dep
conf_data.set10('WLR_HAS_' + lib.underscorify().to_upper(), true)
endif
endforeach
wlr_files += files(
'selection/dnd.c',
'selection/incoming.c',
'selection/outgoing.c',
'selection/selection.c',
'server.c',
'sockets.c',
'xwayland.c',
'xwm.c',
)
wlr_deps += xwayland_libs
conf_data.set10('WLR_HAS_XWAYLAND', true)