[Buildroot] [PATCH 1/1] package/weston: add selection menu for default backend
James Hilliard
james.hilliard1 at gmail.com
Mon Feb 3 01:54:28 UTC 2020
Signed-off-by: James Hilliard <james.hilliard1 at gmail.com>
---
package/weston/Config.in | 38 ++++++++++++++++++++++++++++++--------
package/weston/weston.mk | 11 +++++------
2 files changed, 35 insertions(+), 14 deletions(-)
diff --git a/package/weston/Config.in b/package/weston/Config.in
index f874b0cc6a..265588f865 100644
--- a/package/weston/Config.in
+++ b/package/weston/Config.in
@@ -21,8 +21,6 @@ config BR2_PACKAGE_WESTON
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.
@@ -33,14 +31,40 @@ config BR2_PACKAGE_WESTON
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_BACKEND_FBDEV
+ bool "fbdev"
+ select BR2_PACKAGE_WESTON_FBDEV
+
+config BR2_PACKAGE_WESTON_DEFAULT_BACKEND_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_BACKEND_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_BACKEND_FBDEV
+ default "drm" if BR2_PACKAGE_WESTON_DEFAULT_BACKEND_DRM
+ default "x11" if BR2_PACKAGE_WESTON_DEFAULT_BACKEND_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"
@@ -57,7 +81,6 @@ config BR2_PACKAGE_WESTON_RDP
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.
@@ -81,7 +104,6 @@ config BR2_PACKAGE_WESTON_X11
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
diff --git a/package/weston/weston.mk b/package/weston/weston.mk
index 154ae38b83..751cf21f67 100644
--- a/package/weston/weston.mk
+++ b/package/weston/weston.mk
@@ -70,29 +70,28 @@ endif
ifeq ($(BR2_PACKAGE_WESTON_FBDEV),y)
WESTON_CONF_OPTS += \
- --enable-fbdev-compositor \
- WESTON_NATIVE_BACKEND=fbdev-backend.so
+ --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
+ --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
+ --enable-x11-compositor
WESTON_DEPENDENCIES += libxcb xlib_libX11
else
WESTON_CONF_OPTS += --disable-x11-compositor
endif
+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
--
2.20.1
More information about the buildroot
mailing list