diff mbox

xserver_xorg-server: add explicit handling for xwayland

Message ID 1464095077-9405-1-git-send-email-gustavo@zacarias.com.ar
State Accepted
Commit 1370fcaeb7c88e958a967594596769c71a4526f9
Headers show

Commit Message

Gustavo Zacarias May 24, 2016, 1:04 p.m. UTC
It's normally autodetected, which can lead to unexpected/unhandled
results.
configure checks for libdrm, libepoxy and wayland, however a proper
libxcomposite check is missing thus it can lead to build failure under
some odd conditions.
There's no autobuilder failure to quote here, however there's a mailing
list post that exemplifies this:
http://lists.busybox.net/pipermail/buildroot/2016-May/161793.html

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
---
 package/x11r7/xserver_xorg-server/xserver_xorg-server.mk | 8 ++++++++
 1 file changed, 8 insertions(+)

Comments

Peter Korsgaard May 24, 2016, 3:43 p.m. UTC | #1
>>>>> "Gustavo" == Gustavo Zacarias <gustavo@zacarias.com.ar> writes:

 > It's normally autodetected, which can lead to unexpected/unhandled
 > results.
 > configure checks for libdrm, libepoxy and wayland, however a proper
 > libxcomposite check is missing thus it can lead to build failure under
 > some odd conditions.
 > There's no autobuilder failure to quote here, however there's a mailing
 > list post that exemplifies this:
 > http://lists.busybox.net/pipermail/buildroot/2016-May/161793.html

 > Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
 > ---
 >  package/x11r7/xserver_xorg-server/xserver_xorg-server.mk | 8 ++++++++
 >  1 file changed, 8 insertions(+)

 > diff --git a/package/x11r7/xserver_xorg-server/xserver_xorg-server.mk b/package/x11r7/xserver_xorg-server/xserver_xorg-server.mk
 > index 31f6d0d..69e9151 100644
 > --- a/package/x11r7/xserver_xorg-server/xserver_xorg-server.mk
 > +++ b/package/x11r7/xserver_xorg-server/xserver_xorg-server.mk
 > @@ -80,6 +80,14 @@ XSERVER_XORG_SERVER_CONF_OPTS += \
 >  	--disable-systemd-logind
 >  endif
 
 > +# Xwayland support needs libdrm, libepoxy, wayland and libxcomposite
 > +ifeq ($(BR2_PACKAGE_LIBDRM)$(BR2_PACKAGE_LIBEPOXY)$(BR2_PACKAGE_WAYLAND)$(BR2_PACKAGE_XLIB_LIBXCOMPOSITE),yyyy)
 > +XSERVER_XORG_SERVER_CONF_OPTS += --enable-wayland
 > +XSERVER_XORG_SERVER_DEPENDENCIES += libdrm libepoxy wayland xlib_libXcomposite

Thanks. Except for libepoxy (and wayland) these are just normal
libraries. Would it make sense to pull them in in Config.in:

E.G.:

        select BR2_PACKAGE_LIBDRM if BR2_PACKAGE_WAYLAND
        select BR2_PACKAGE_XLIB_LIBXCOMPOSITE if BR2_PACKAGE_WAYLAND

But ok, that can be done as a followup patch. Committed, thanks!
Gustavo Zacarias May 24, 2016, 5:51 p.m. UTC | #2
On 24/05/16 12:43, Peter Korsgaard wrote:

> Thanks. Except for libepoxy (and wayland) these are just normal
> libraries. Would it make sense to pull them in in Config.in:
>
> E.G.:
>
>          select BR2_PACKAGE_LIBDRM if BR2_PACKAGE_WAYLAND
>          select BR2_PACKAGE_XLIB_LIBXCOMPOSITE if BR2_PACKAGE_WAYLAND
>
> But ok, that can be done as a followup patch. Committed, thanks!

Hi.
Ideally this should be an option together with "classic" X server (since 
they're both different binaries).
Xwayland (X on top of wayland) doesn't need/have use for all the xorg 
drivers, and doesn't need the classic server either, but that's material 
for 2016.08+
This solves the corner case where all of the automatic deps trigger a 
failure because configure isn't complete.
Regards.
diff mbox

Patch

diff --git a/package/x11r7/xserver_xorg-server/xserver_xorg-server.mk b/package/x11r7/xserver_xorg-server/xserver_xorg-server.mk
index 31f6d0d..69e9151 100644
--- a/package/x11r7/xserver_xorg-server/xserver_xorg-server.mk
+++ b/package/x11r7/xserver_xorg-server/xserver_xorg-server.mk
@@ -80,6 +80,14 @@  XSERVER_XORG_SERVER_CONF_OPTS += \
 	--disable-systemd-logind
 endif
 
+# Xwayland support needs libdrm, libepoxy, wayland and libxcomposite
+ifeq ($(BR2_PACKAGE_LIBDRM)$(BR2_PACKAGE_LIBEPOXY)$(BR2_PACKAGE_WAYLAND)$(BR2_PACKAGE_XLIB_LIBXCOMPOSITE),yyyy)
+XSERVER_XORG_SERVER_CONF_OPTS += --enable-wayland
+XSERVER_XORG_SERVER_DEPENDENCIES += libdrm libepoxy wayland xlib_libXcomposite
+else
+XSERVER_XORG_SERVER_CONF_OPTS += --disable-wayland
+endif
+
 # Present protocol only required for xserver 1.15+, but does not matter if
 # enabled for older versions as they don't use it (not even optionally).
 ifeq ($(BR2_PACKAGE_XPROTO_PRESENTPROTO),y)