+dnl *@-mdw_MXD-@*
+dnl
+dnl Author: Mark Wooding
+dnl
+dnl Synopsis: mdw_MXD(VERSION, IF-FOUND, IF-NOT-FOUND
+dnl
+dnl Arguments: VERSION = version of library required
+dnl IF-FOUND = what to do if found
+dnl IF-NOT-FOUND = what to do if not found
+dnl
+dnl Use: Configures an MXD client program. The default
+dnl version is 1.0.0pre0; the default action is to add
+dnl everything to the CFLAGS and LIBS variables, and complain
+dnl if the library couldn't be found.
+dnl
+dnl The variable MXD_VERSION contains the version number of
+dnl the library; MXD_CFLAGS is the C compiler flags required
+dnl and MXD_LIBS is the linker flags.
+
+AC_DEFUN([mdw_MXD],
+[AC_MSG_CHECKING([for MXD library])
+if mxd-config --check $1 >/dev/null 2>&1; then
+ MXD_VERSION=`mxd-config --version`
+ MXD_CFLAGS=`mxd-config --cflags`
+ MXD_LIBS=`mxd-config --libs`
+ AC_SUBST(MXD_VERSION) AC_SUBST(MXD_CFLAGS) AC_SUBST(MXD_LIBS)
+ ifelse([$2], [],
+ [CFLAGS="$CFLAGS $MXD_CFLAGS"
+ LIBS="$MXD_LIBS $LIBS"],
+ $2)
+ AC_MSG_RESULT([$MXD_VERSION])
+else
+ ifelse([$3], [],
+ AC_MSG_ERROR([MXD library not found or too old.]),
+ $3)
+ AC_MSG_RESULT([not found])
+fi])
+