[PATCH][V4][xserver] configure.ac: add option for xshmfence

Ross Burton ross.burton at intel.com
Wed Jul 9 03:33:23 PDT 2014


xshmfence is usable outside of DRI3, and is currently autodetected which isn't
good for distributions where deterministic builds are desired.

Signed-off-by: Ross Burton <ross.burton at intel.com>
---
 configure.ac |   26 +++++++++++++++-----------
 1 file changed, 15 insertions(+), 11 deletions(-)

diff --git a/configure.ac b/configure.ac
index c214638..8420d18 100644
--- a/configure.ac
+++ b/configure.ac
@@ -648,6 +648,7 @@ AC_ARG_ENABLE(kdrive-kbd,     AS_HELP_STRING([--enable-kdrive-kbd], [Build kbd d
 AC_ARG_ENABLE(kdrive-mouse,   AS_HELP_STRING([--enable-kdrive-mouse], [Build mouse driver for kdrive (default: auto)]), [KDRIVE_MOUSE=$enableval], [KDRIVE_MOUSE=auto])
 AC_ARG_ENABLE(kdrive-evdev,   AS_HELP_STRING([--enable-kdrive-evdev], [Build evdev driver for kdrive (default: auto)]), [KDRIVE_EVDEV=$enableval], [KDRIVE_EVDEV=auto])
 AC_ARG_ENABLE(libunwind,      AS_HELP_STRING([--enable-libunwind], [Use libunwind for backtracing (default: auto)]), [LIBUNWIND="$enableval"], [LIBUNWIND="auto"])
+AC_ARG_ENABLE(xshmfence,      AS_HELP_STRING([--disable-xshmfence], [Disable xshmfence (default: auto)]), [XSHMFENCE="$enableval"], [XSHMFENCE="auto"])
 
 
 dnl chown/chmod to be setuid root as part of build
@@ -787,7 +788,7 @@ DMXPROTO="dmxproto >= 2.2.99.1"
 VIDMODEPROTO="xf86vidmodeproto >= 2.2.99.1"
 WINDOWSWMPROTO="windowswmproto"
 APPLEWMPROTO="applewmproto >= 1.4"
-XSHMFENCE="xshmfence >= 1.1"
+LIBXSHMFENCE="xshmfence >= 1.1"
 
 dnl Required modules
 XPROTO="xproto >= 7.0.26"
@@ -1235,20 +1236,23 @@ esac
 
 AM_CONDITIONAL(BUSFAULT, test x"$BUSFAULT" = xyes)
 
-PKG_CHECK_MODULES([XSHMFENCE], $XSHMFENCE,
-		  [HAVE_XSHMFENCE=yes], [HAVE_XSHMFENCE=no])
 
-AM_CONDITIONAL(XSHMFENCE, test "x$HAVE_XSHMFENCE" = xyes)
+PKG_CHECK_MODULES([XSHMFENCE], $LIBXSHMFENCE, [HAVE_XSHMFENCE=yes], [HAVE_XSHMFENCE=no])
+if test "x$XSHMFENCE" = "xauto"; then
+    XSHMFENCE="$HAVE_XSHMFENCE"
+fi
 
-case x"$HAVE_XSHMFENCE" in
-	xyes)
-		AC_DEFINE(HAVE_XSHMFENCE, 1, [Have X Shared Memory Fence library])
-		REQUIRED_LIBS="$REQUIRED_LIBS xshmfence"
-		;;
-esac
+if test "x$XSHMFENCE" = "xyes"; then
+    if test "x$HAVE_XSHMFENCE" != "xyes"; then
+        AC_MSG_ERROR([xshmfence requested but not installed.])
+    fi
+    AC_DEFINE(HAVE_XSHMFENCE, 1, [Have xshmfence support])
+    REQUIRED_LIBS="$REQUIRED_LIBS $LIBXSHMFENCE"
+fi
 
+AM_CONDITIONAL(XSHMFENCE, [test "x$XSHMFENCE" = xyes])
 
-case "$DRI3,$HAVE_XSHMFENCE" in
+case "$DRI3,$XSHMFENCE" in
 	yes,yes | auto,yes)
 		;;
 	yes,no)
-- 
1.7.10.4



More information about the xorg-devel mailing list