summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--package/mesa3d/Config.in11
-rw-r--r--package/mesa3d/mesa3d.mk2
-rw-r--r--package/x11r7/xlib_libxshmfence/Config.in1
-rw-r--r--package/x11r7/xserver_xorg-server/Config.in3
-rw-r--r--package/x11r7/xserver_xorg-server/xserver_xorg-server.mk2
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)
OpenPOWER on IntegriCloud