mirror of
				https://gitlab.freedesktop.org/wlroots/wlroots.git
				synced 2025-11-03 09:01:40 -05:00 
			
		
		
		
	Split the server part of wlr_xwayland into wlr_xwayland_server. This allows compositors to implement their own XWM when wlroots' isn't a good fit.
		
			
				
	
	
		
			63 lines
		
	
	
	
		
			1.3 KiB
		
	
	
	
		
			Meson
		
	
	
	
	
	
			
		
		
	
	
			63 lines
		
	
	
	
		
			1.3 KiB
		
	
	
	
		
			Meson
		
	
	
	
	
	
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)
 |