[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