select BR2_PACKAGE_LIBDRM
# Runtime dependency
select BR2_PACKAGE_XKEYBOARD_CONFIG
- # Make sure at least one compositor is selected.
- select BR2_PACKAGE_WESTON_FBDEV if !BR2_PACKAGE_WESTON_HAS_COMPOSITOR
help
Weston is the reference implementation of a Wayland
compositor, and a useful compositor in its own right.
if BR2_PACKAGE_WESTON
-# Helper to make sure at least one compositor is selected.
-config BR2_PACKAGE_WESTON_HAS_COMPOSITOR
- bool
+choice
+ prompt "default compositor"
+
+config BR2_PACKAGE_WESTON_DEFAULT_FBDEV
+ bool "fbdev"
+ select BR2_PACKAGE_WESTON_FBDEV
+
+config BR2_PACKAGE_WESTON_DEFAULT_DRM
+ bool "drm"
+ depends on BR2_PACKAGE_MESA3D_OPENGL_EGL
+ select BR2_PACKAGE_WESTON_DRM
+
+comment "drm backend needs mesa3d w/ EGL driver"
+ depends on !BR2_PACKAGE_MESA3D_OPENGL_EGL
+
+config BR2_PACKAGE_WESTON_DEFAULT_X11
+ bool "X11"
+ depends on BR2_PACKAGE_XORG7
+ select BR2_PACKAGE_WESTON_X11
+
+comment "X11 backend needs X.org"
+ depends on !BR2_PACKAGE_XORG7
+
+endchoice
+
+config BR2_PACKAGE_WESTON_DEFAULT_COMPOSITOR
+ string
+ default "fbdev" if BR2_PACKAGE_WESTON_DEFAULT_FBDEV
+ default "drm" if BR2_PACKAGE_WESTON_DEFAULT_DRM
+ default "x11" if BR2_PACKAGE_WESTON_DEFAULT_X11
config BR2_PACKAGE_WESTON_DRM
bool "DRM compositor"
depends on BR2_PACKAGE_MESA3D_OPENGL_EGL
- select BR2_PACKAGE_WESTON_HAS_COMPOSITOR
# Uses libgbm from mesa3d
comment "DRM compositor needs an OpenGL EGL backend provided by mesa3d"
depends on BR2_USE_WCHAR # freerdp
depends on BR2_INSTALL_LIBSTDCPP # freerdp
select BR2_PACKAGE_FREERDP
- select BR2_PACKAGE_WESTON_HAS_COMPOSITOR
help
This enables the RDP backend, which allows accessing weston
through the network with any RDP-compliant client.
depends on BR2_PACKAGE_XORG7
select BR2_PACKAGE_LIBXCB
select BR2_PACKAGE_XLIB_LIBX11
- select BR2_PACKAGE_WESTON_HAS_COMPOSITOR
comment "X11 compositor needs X.org enabled"
depends on !BR2_PACKAGE_XORG7
endif
ifeq ($(BR2_PACKAGE_WESTON_FBDEV),y)
-WESTON_CONF_OPTS += \
- --enable-fbdev-compositor \
- WESTON_NATIVE_BACKEND=fbdev-backend.so
+WESTON_CONF_OPTS += --enable-fbdev-compositor
else
WESTON_CONF_OPTS += --disable-fbdev-compositor
endif
ifeq ($(BR2_PACKAGE_WESTON_DRM),y)
-WESTON_CONF_OPTS += \
- --enable-drm-compositor \
- WESTON_NATIVE_BACKEND=drm-backend.so
+WESTON_CONF_OPTS += --enable-drm-compositor
else
WESTON_CONF_OPTS += --disable-drm-compositor
endif
ifeq ($(BR2_PACKAGE_WESTON_X11),y)
-WESTON_CONF_OPTS += \
- --enable-x11-compositor \
- WESTON_NATIVE_BACKEND=x11-backend.so
+WESTON_CONF_OPTS += --enable-x11-compositor
WESTON_DEPENDENCIES += libxcb xlib_libX11
else
WESTON_CONF_OPTS += --disable-x11-compositor
endif
+# We're guaranteed to have at least one backend
+WESTON_CONF_OPTS += WESTON_NATIVE_BACKEND=$(call qstrip,$(BR2_PACKAGE_WESTON_DEFAULT_COMPOSITOR))
+
ifeq ($(BR2_PACKAGE_WESTON_XWAYLAND),y)
WESTON_CONF_OPTS += --enable-xwayland
WESTON_DEPENDENCIES += cairo libepoxy libxcb xlib_libX11 xlib_libXcursor