comment "wlroots needs udev, EGL and OpenGL ES support"
	depends on !BR2_PACKAGE_HAS_LIBEGL || \
		!BR2_PACKAGE_HAS_LIBEGL || \
		!BR2_PACKAGE_HAS_LIBGLES || \
		!BR2_PACKAGE_HAS_UDEV

comment "wlroots needs a toolchain w/ threads, dynamic library"
	depends on !BR2_TOOLCHAIN_HAS_THREADS || \
		BR2_STATIC_LIBS

config BR2_PACKAGE_WLROOTS
	bool "wlroots"
	depends on !BR2_STATIC_LIBS # wayland
	depends on BR2_TOOLCHAIN_HAS_THREADS # libdrm, wayland
	depends on BR2_PACKAGE_HAS_UDEV # libinput
	depends on BR2_PACKAGE_HAS_LIBEGL
	depends on BR2_PACKAGE_HAS_LIBGLES
	select BR2_PACKAGE_HWDATA
	select BR2_PACKAGE_HWDATA_PNP_IDS
	select BR2_PACKAGE_LIBDRM
	select BR2_PACKAGE_LIBINPUT
	select BR2_PACKAGE_LIBXKBCOMMON
	select BR2_PACKAGE_PIXMAN
	select BR2_PACKAGE_SEATD
	select BR2_PACKAGE_WAYLAND
	select BR2_PACKAGE_WAYLAND_PROTOCOLS
	help
	  wlroots is a modular Wayland library for building compositors
	  which implements many of their common features.

	  https://gitlab.freedesktop.org/wlroots/wlroots

if BR2_PACKAGE_WLROOTS

config BR2_PACKAGE_WLROOTS_X11
	bool "X11 backend"
	depends on BR2_PACKAGE_XORG7
	select BR2_PACKAGE_LIBXCB
	select BR2_PACKAGE_XCB_UTIL_RENDERUTIL
	select BR2_PACKAGE_XCB_UTIL_WM
	select BR2_PACKAGE_XLIB_LIBX11
	help
	  Support Wayland sessions nested inside a X11 window

config BR2_PACKAGE_WLROOTS_XWAYLAND
	bool "XWayland support"
	depends on BR2_PACKAGE_XORG7 # libxcb, xcb-util-wm, xwayland
	depends on BR2_USE_MMU # xwayland
	depends on !BR2_STATIC_LIBS # xwayland
	depends on BR2_TOOLCHAIN_HAS_THREADS # xwayland
	depends on BR2_TOOLCHAIN_HAS_SYNC_4 # xwayland -> xlib_libxshmfence
	select BR2_PACKAGE_LIBXCB
	select BR2_PACKAGE_XCB_UTIL_WM
	select BR2_PACKAGE_XWAYLAND
	help
	  Support for running X11 applications under wayland

comment "XWayland support needs X.org enabled"
	depends on !BR2_PACKAGE_XORG7

comment "XWayland support needs a toolchain w/ threads, dynamic library"
	depends on BR2_USE_MMU
	depends on BR2_TOOLCHAIN_HAS_SYNC_4
	depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS

endif
