config: default option for enable-dri3 is not implemented

The first symptom is the help text:

  --enable-dri3     Build XCB DRI3 Extension (default: "$sendfds")

The implementation variable $sendfds leaked into the user interface.
Testing the various user inputs:
  <nothing>                DRI3 is enabled     PASS
  --enable-dri3		   DRI3 is enabled     PASS
  --enable-dri3=yes        DRI3 is enabled     PASS
  --enable-dri3=no         DRI3 is disabled    PASS
  --disable-dri3           DRI3 is disabled    PASS
  --enable-dri3=$sendfds   DRI3 is disabled    FAIL

This patch implements the usual idiom for features that are enabled by
default if the various conditions are met (sendfds is available).
New help text:

  --enable-dri3     Build XCB DRI3 Extension (default: auto)

With the additional user input:

  --enable-dri3=auto

which is equivalent to providing no input at all.

Reviewed-by: Josh Triplett <josh@joshtriplett.org>
Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
Signed-off-by: Uli Schlachter <psychon@znc.in>
This commit is contained in:
Gaetan Nadon 2014-03-26 15:24:44 -04:00 committed by Uli Schlachter
parent d1e8ec96fc
commit 7f07b57be5
2 changed files with 41 additions and 29 deletions

View File

@ -212,32 +212,32 @@ case $host_os in
;; ;;
esac esac
XCB_EXTENSION(Composite, "yes") XCB_EXTENSION(Composite, yes)
XCB_EXTENSION(Damage, "yes") XCB_EXTENSION(Damage, yes)
XCB_EXTENSION(DPMS, "yes") XCB_EXTENSION(DPMS, yes)
XCB_EXTENSION(DRI2, "yes") XCB_EXTENSION(DRI2, yes)
XCB_EXTENSION(DRI3, "$sendfds") XCB_EXTENSION(DRI3, $sendfds)
XCB_EXTENSION(GLX, "yes") XCB_EXTENSION(GLX, yes)
XCB_EXTENSION(Present, "yes") XCB_EXTENSION(Present, yes)
XCB_EXTENSION(RandR, "yes") XCB_EXTENSION(RandR, yes)
XCB_EXTENSION(Record, "yes") XCB_EXTENSION(Record, yes)
XCB_EXTENSION(Render, "yes") XCB_EXTENSION(Render, yes)
XCB_EXTENSION(Resource, "yes") XCB_EXTENSION(Resource, yes)
XCB_EXTENSION(Screensaver, "yes") XCB_EXTENSION(Screensaver, yes)
XCB_EXTENSION(Shape, "yes") XCB_EXTENSION(Shape, yes)
XCB_EXTENSION(Shm, "yes") XCB_EXTENSION(Shm, yes)
XCB_EXTENSION(Sync, "yes") XCB_EXTENSION(Sync, yes)
XCB_EXTENSION(Xevie, "yes") XCB_EXTENSION(Xevie, yes)
XCB_EXTENSION(XFixes, "yes") XCB_EXTENSION(XFixes, yes)
XCB_EXTENSION(XFree86-DRI, "yes") XCB_EXTENSION(XFree86-DRI, yes)
XCB_EXTENSION(Xinerama, "yes") XCB_EXTENSION(Xinerama, yes)
XCB_EXTENSION(XInput, "no") XCB_EXTENSION(XInput, no)
XCB_EXTENSION(XKB, "yes") XCB_EXTENSION(XKB, yes)
XCB_EXTENSION(Xprint, "yes") XCB_EXTENSION(Xprint, yes)
XCB_EXTENSION(SELinux, "no") XCB_EXTENSION(SELinux, no)
XCB_EXTENSION(XTest, "yes") XCB_EXTENSION(XTest, yes)
XCB_EXTENSION(Xv, "yes") XCB_EXTENSION(Xv, yes)
XCB_EXTENSION(XvMC, "yes") XCB_EXTENSION(XvMC, yes)
AC_ARG_WITH(launchd, AS_HELP_STRING([--with-launchd], [Build with support for Apple's launchd (default: auto)]), [LAUNCHD=$withval], [LAUNCHD=auto]) AC_ARG_WITH(launchd, AS_HELP_STRING([--with-launchd], [Build with support for Apple's launchd (default: auto)]), [LAUNCHD=$withval], [LAUNCHD=auto])
if test "x$LAUNCHD" = xauto; then if test "x$LAUNCHD" = xauto; then

View File

@ -38,15 +38,27 @@ dnl XCB_EXTENSION(name, default)
dnl set the X extension dnl set the X extension
dnl dnl
AC_DEFUN([XCB_EXTENSION], AC_DEFUN([XCB_EXTENSION],
[ [dnl
pushdef([UP], translit([$1], [-a-z], [_A-Z]))dnl pushdef([UP], translit([$1], [-a-z], [_A-Z]))dnl
pushdef([DOWN], translit([$1], [A-Z], [a-z]))dnl pushdef([DOWN], translit([$1], [A-Z], [a-z]))dnl
dnl
m4_if([$2], [yes], [m4_define([xcb_defopt], [yes])],
[$2], [no], [m4_define([xcb_defopt], [no])],
m4_define([xcb_defopt], [auto]))dnl
AC_ARG_ENABLE(DOWN, AC_ARG_ENABLE(DOWN,
[AS_HELP_STRING([--enable-[]DOWN], [Build XCB $1 Extension (default: $2)])], [AS_HELP_STRING([--enable-[]DOWN],
[Build XCB $1 Extension (default: ]xcb_defopt[)])],
[BUILD_[]UP=$enableval], [BUILD_[]UP=$enableval],
[BUILD_[]UP=$2]) [BUILD_[]UP=xcb_defopt])
dnl
m4_if(xcb_defopt, [auto], [
# This extension has a default value of "auto" and depends on the value of $2
if test "x$BUILD_[]UP" = "xauto" ; then
BUILD_[]UP=$2
fi])
m4_undefine([xcb_defopt])dnl
AM_CONDITIONAL(BUILD_[]UP, [test "x$BUILD_[]UP" = "xyes"]) AM_CONDITIONAL(BUILD_[]UP, [test "x$BUILD_[]UP" = "xyes"])
]) ])