[Buildroot] [PATCH v1 1/2] package/wayland: make libdrm and xlib_libxshemfence optional

Raphael Pavlidis raphael.pavlidis at gmail.com
Fri Oct 3 13:51:19 UTC 2025


To build XWayland with the DRI3 extension requires libdrm,
xlib_libxshmfence and libepoxy. This is the same as with the glamour
extension. Therefore, make the libdrm and xlib_libxshemfence optional
and merge the checks together.

Signed-off-by: Raphael Pavlidis <raphael.pavlidis at gmail.com>
---
 package/x11r7/xwayland/Config.in   |  4 ----
 package/x11r7/xwayland/xwayland.mk | 11 ++++-------
 2 files changed, 4 insertions(+), 11 deletions(-)

diff --git a/package/x11r7/xwayland/Config.in b/package/x11r7/xwayland/Config.in
index 311dae25ec..4f14f2cc36 100644
--- a/package/x11r7/xwayland/Config.in
+++ b/package/x11r7/xwayland/Config.in
@@ -6,8 +6,6 @@ config BR2_PACKAGE_XWAYLAND
 	# We need a SHA1 implementation. If either openssl or
 	# libgcrypt are already part of the build, we'll use one of
 	# them, otherwise, use the small libsha1 library.
-	depends on BR2_TOOLCHAIN_HAS_SYNC_4 # xlib_libxshmfence
-	select BR2_PACKAGE_LIBDRM
 	select BR2_PACKAGE_LIBSHA1 if (!BR2_PACKAGE_OPENSSL && !BR2_PACKAGE_LIBGCRYPT)
 	select BR2_PACKAGE_PIXMAN
 	select BR2_PACKAGE_WAYLAND
@@ -16,7 +14,6 @@ config BR2_PACKAGE_XWAYLAND
 	select BR2_PACKAGE_XLIB_LIBXFONT2
 	select BR2_PACKAGE_XLIB_LIBXKBFILE
 	select BR2_PACKAGE_XLIB_LIBXRANDR
-	select BR2_PACKAGE_XLIB_LIBXSHMFENCE
 	select BR2_PACKAGE_XLIB_XTRANS
 	select BR2_PACKAGE_XORGPROTO
 	help
@@ -26,5 +23,4 @@ config BR2_PACKAGE_XWAYLAND
 
 comment "xwayland 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
diff --git a/package/x11r7/xwayland/xwayland.mk b/package/x11r7/xwayland/xwayland.mk
index e3b6727c19..a6d584705b 100644
--- a/package/x11r7/xwayland/xwayland.mk
+++ b/package/x11r7/xwayland/xwayland.mk
@@ -12,7 +12,6 @@ XWAYLAND_LICENSE_FILES = COPYING
 XWAYLAND_CPE_ID_VENDOR = x.org
 XWAYLAND_INSTALL_STAGING = YES
 XWAYLAND_DEPENDENCIES = \
-	libdrm \
 	pixman \
 	wayland \
 	wayland-protocols \
@@ -20,21 +19,19 @@ XWAYLAND_DEPENDENCIES = \
 	xlib_libXfont2 \
 	xlib_libxkbfile \
 	xlib_libXrandr \
-	xlib_libxshmfence \
 	xlib_xtrans \
 	xorgproto
 XWAYLAND_CONF_OPTS = \
-	-Ddri3=true \
 	-Dxvfb=false \
 	-Ddefault_font_path=/usr/share/fonts/X11/ \
 	-Ddtrace=false \
 	-Ddocs=false
 
-ifeq ($(BR2_PACKAGE_LIBEPOXY),y)
-XWAYLAND_CONF_OPTS += -Dglamor=true
-XWAYLAND_DEPENDENCIES += libepoxy
+ifeq ($(BR2_PACKAGE_LIBDRM)$(BR2_PACKAGE_XLIB_LIBXSHMFENCE)$(BR2_PACKAGE_LIBEPOXY),yyy)
+XWAYLAND_CONF_OPTS += -Ddri3=true -Dglamor=true
+XWAYLAND_DEPENDENCIES += libdrm xlib_libxshmfence libepoxy
 else
-XWAYLAND_CONF_OPTS += -Dglamor=false
+XWAYLAND_CONF_OPTS += -Dglamor=false -Ddri3=false
 endif
 
 ifeq ($(BR2_PACKAGE_HAS_LIBGL),y)
-- 
2.51.0



More information about the buildroot mailing list