summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEmil Velikov <[email protected]>2014-07-11 23:17:48 +0100
committerEmil Velikov <[email protected]>2014-09-05 23:17:49 +0100
commitda029f80818cf9cf5084473804b0faf2bc641775 (patch)
tree92564e5e860582351db7e63f9595b2da9e9e3b9a
parent7599886b26853163ef354476be70aa7fd9ae35c5 (diff)
configure: check for core xcb and link libGL against it
Make sure to check the presence of the module in order to pick the correct libs flag and before feeding them to the compiler/linker. Current libGL depends conditionally (when building with dri3) upon xcb 1.9.3 and unconditionally on ancient xcb functions - xcb_generate_id and xcb_request_check amongst others. v2: Use PKG_CHECK_EXISTS() when checking for dri3 xcb. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=80848 Signed-off-by: Emil Velikov <[email protected]>
-rw-r--r--configure.ac9
1 files changed, 6 insertions, 3 deletions
diff --git a/configure.ac b/configure.ac
index f7525fe77a4..c800f258eaf 100644
--- a/configure.ac
+++ b/configure.ac
@@ -41,6 +41,7 @@ GLPROTO_REQUIRED=1.4.14
LIBOMXIL_BELLAGIO_REQUIRED=0.0
VDPAU_REQUIRED=0.4.1
WAYLAND_REQUIRED=1.2.0
+XCB_REQUIRED=1.9.3
XCBDRI2_REQUIRED=1.8
XCBGLX_REQUIRED=1.8.1
XSHMFENCE_REQUIRED=1.1
@@ -906,8 +907,9 @@ dnl
case "x$enable_glx$enable_xlib_glx" in
xyesyes)
# Xlib-based GLX
- PKG_CHECK_MODULES([XLIBGL], [x11 xext])
- GL_PC_REQ_PRIV="x11 xext"
+ dri_modules="x11 xext xcb"
+ PKG_CHECK_MODULES([XLIBGL], [$dri_modules])
+ GL_PC_REQ_PRIV="$GL_PC_REQ_PRIV $dri_modules"
X11_INCLUDES="$X11_INCLUDES $XLIBGL_CFLAGS"
GL_LIB_DEPS="$XLIBGL_LIBS"
GL_LIB_DEPS="$GL_LIB_DEPS $SELINUX_LIBS -lm $PTHREAD_LIBS $DLOPEN_LIBS"
@@ -918,7 +920,7 @@ xyesno)
PKG_CHECK_MODULES([GLPROTO], [glproto >= $GLPROTO_REQUIRED])
# find the DRI deps for libGL
- dri_modules="x11 xext xdamage xfixes x11-xcb xcb-glx >= $XCBGLX_REQUIRED"
+ dri_modules="x11 xext xdamage xfixes x11-xcb xcb xcb-glx >= $XCBGLX_REQUIRED"
if test x"$driglx_direct" = xyes; then
if test x"$dri_platform" = xdrm ; then
@@ -939,6 +941,7 @@ xyesno)
fi
if test x"$enable_dri3" = xyes; then
+ PKG_CHECK_EXISTS([xcb >= $XCB_REQUIRED], [], AC_MSG_ERROR([DRI3 requires xcb >= $XCB_REQUIRED]))
dri_modules="$dri_modules xcb-dri3 xcb-present xcb-sync xshmfence >= $XSHMFENCE_REQUIRED"
fi
fi