From 3b7af7fca9fb600b2e86834c2b48cb97725fcb27 Mon Sep 17 00:00:00 2001 From: Bernd Kuhls Date: Sun, 21 May 2017 13:30:56 +0200 Subject: [PATCH] package/x11r7/xlib_libxshmfence: needs sync_4 Also propagate reverse dependency to mesa3d and xserver_xorg-server. Fixes xserver_xorg-server build http://autobuild.buildroot.net/results/7da/7da8b46cda8786422e8293f26b79582b35a433d6/ For patch discussion refer to http://patchwork.ozlabs.org/patch/674595/ Signed-off-by: Bernd Kuhls [Thomas: only select BR2_PACKAGE_XPROTO_PRESENTPROTO if BR2_TOOLCHAIN_HAS_SYNC_4 is available, add comment explaining why.] Signed-off-by: Thomas Petazzoni --- package/mesa3d/Config.in | 11 +++++++++-- package/mesa3d/mesa3d.mk | 2 +- package/x11r7/xlib_libxshmfence/Config.in | 1 + package/x11r7/xserver_xorg-server/Config.in | 3 ++- .../x11r7/xserver_xorg-server/xserver_xorg-server.mk | 2 +- 5 files changed, 14 insertions(+), 5 deletions(-) diff --git a/package/mesa3d/Config.in b/package/mesa3d/Config.in index 36a0304e27..ad41b1cd2a 100644 --- a/package/mesa3d/Config.in +++ b/package/mesa3d/Config.in @@ -31,8 +31,15 @@ config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER config BR2_PACKAGE_MESA3D_DRI_DRIVER bool select BR2_PACKAGE_MESA3D_DRIVER - select BR2_PACKAGE_XLIB_LIBXSHMFENCE if BR2_PACKAGE_XPROTO_DRI3PROTO - select BR2_PACKAGE_XPROTO_PRESENTPROTO if BR2_PACKAGE_XPROTO_DRI3PROTO + # xlib-libxshmfence needs sync_4, so we cannot select it if + # BR2_TOOLCHAIN_HAS_SYNC_4 is false. xproto-presentproto + # doesn't need sync_4, but it is only needed in conjunction + # with xlib-libxshmfence and dri3proto to provide dri3 + # support, so we also only select it if sync_4 is available. + select BR2_PACKAGE_XLIB_LIBXSHMFENCE if \ + (BR2_PACKAGE_XPROTO_DRI3PROTO && BR2_TOOLCHAIN_HAS_SYNC_4) + select BR2_PACKAGE_XPROTO_PRESENTPROTO if \ + (BR2_PACKAGE_XPROTO_DRI3PROTO && BR2_TOOLCHAIN_HAS_SYNC_4) config BR2_PACKAGE_MESA3D_VULKAN_DRIVER bool diff --git a/package/mesa3d/mesa3d.mk b/package/mesa3d/mesa3d.mk index a5ab84b160..9f190ba538 100644 --- a/package/mesa3d/mesa3d.mk +++ b/package/mesa3d/mesa3d.mk @@ -91,7 +91,7 @@ ifeq ($(BR2_PACKAGE_MESA3D_DRI_DRIVER),) MESA3D_CONF_OPTS += \ --without-dri-drivers --disable-dri3 else -ifeq ($(BR2_PACKAGE_XPROTO_DRI3PROTO),y) +ifeq ($(BR2_PACKAGE_XLIB_LIBXSHMFENCE)$(BR2_PACKAGE_XPROTO_DRI3PROTO),yy) MESA3D_DEPENDENCIES += xlib_libxshmfence xproto_dri3proto xproto_presentproto MESA3D_CONF_OPTS += --enable-dri3 else diff --git a/package/x11r7/xlib_libxshmfence/Config.in b/package/x11r7/xlib_libxshmfence/Config.in index d0595f6d67..d4e87b3e81 100644 --- a/package/x11r7/xlib_libxshmfence/Config.in +++ b/package/x11r7/xlib_libxshmfence/Config.in @@ -1,5 +1,6 @@ config BR2_PACKAGE_XLIB_LIBXSHMFENCE bool "libxshmfence" + depends on BR2_TOOLCHAIN_HAS_SYNC_4 select BR2_PACKAGE_XPROTO_XPROTO help X.Org shmfence library diff --git a/package/x11r7/xserver_xorg-server/Config.in b/package/x11r7/xserver_xorg-server/Config.in index b04ccf4d75..5971e13f54 100644 --- a/package/x11r7/xserver_xorg-server/Config.in +++ b/package/x11r7/xserver_xorg-server/Config.in @@ -114,7 +114,8 @@ config BR2_PACKAGE_XSERVER_XORG_SERVER_MODULAR select BR2_PACKAGE_LIBDRM if (BR2_PACKAGE_XPROTO_XF86DRIPROTO || \ BR2_PACKAGE_XPROTO_DRI2PROTO) select BR2_PACKAGE_LIBPCIACCESS - select BR2_PACKAGE_XLIB_LIBXSHMFENCE if BR2_PACKAGE_XPROTO_DRI3PROTO + select BR2_PACKAGE_XLIB_LIBXSHMFENCE if \ + (BR2_PACKAGE_XPROTO_DRI3PROTO && BR2_TOOLCHAIN_HAS_SYNC_4) help This variant of the X.org server is the full-blown variant, as used by desktop GNU/Linux distributions. The drivers (for diff --git a/package/x11r7/xserver_xorg-server/xserver_xorg-server.mk b/package/x11r7/xserver_xorg-server/xserver_xorg-server.mk index 306e9d03e0..12c3ed06c1 100644 --- a/package/x11r7/xserver_xorg-server/xserver_xorg-server.mk +++ b/package/x11r7/xserver_xorg-server/xserver_xorg-server.mk @@ -220,7 +220,7 @@ XSERVER_XORG_SERVER_CONF_OPTS += --enable-dri2 else XSERVER_XORG_SERVER_CONF_OPTS += --disable-dri2 endif -ifeq ($(BR2_PACKAGE_XPROTO_DRI3PROTO),y) +ifeq ($(BR2_PACKAGE_XLIB_LIBXSHMFENCE)$(BR2_PACKAGE_XPROTO_DRI3PROTO),yy) XSERVER_XORG_SERVER_DEPENDENCIES += xlib_libxshmfence xproto_dri3proto XSERVER_XORG_SERVER_CONF_OPTS += --enable-dri3 ifeq ($(BR2_PACKAGE_HAS_LIBGL)$(BR2_PACKAGE_LIBEPOXY),yy)