aboutsummaryrefslogtreecommitdiff
path: root/libxcb/m4
diff options
context:
space:
mode:
Diffstat (limited to 'libxcb/m4')
-rw-r--r--libxcb/m4/xcb.m423
1 files changed, 20 insertions, 3 deletions
diff --git a/libxcb/m4/xcb.m4 b/libxcb/m4/xcb.m4
index 32e852dd5..a43082a8e 100644
--- a/libxcb/m4/xcb.m4
+++ b/libxcb/m4/xcb.m4
@@ -38,15 +38,32 @@ dnl XCB_EXTENSION(name, default)
dnl set the X extension
dnl
AC_DEFUN([XCB_EXTENSION],
-[
+[dnl
pushdef([UP], 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,
- [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=$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
+if test "x$BUILD_[]UP" = "xyes" ; then
+ if test "x$2" = "xno" ; then
+ AC_MSG_ERROR([Extension []UP requested, but dependencies are not met])
+ fi
+fi])
+m4_undefine([xcb_defopt])dnl
AM_CONDITIONAL(BUILD_[]UP, [test "x$BUILD_[]UP" = "xyes"])
])