From a345d23ed0835e32c92b134fccc6bf7aa2ebe5d0 Mon Sep 17 00:00:00 2001 From: Marek Kasik Date: Mon, 7 Feb 2011 15:07:35 +0100 Subject: [PATCH] printers: Check that cups is recent enough Check that cups version is greater than 1.4 or equal to 1.4. --- configure.ac | 29 ++++++++++++++++++++++++----- 1 file changed, 24 insertions(+), 5 deletions(-) diff --git a/configure.ac b/configure.ac index 422370942..c3acea369 100644 --- a/configure.ac +++ b/configure.ac @@ -108,12 +108,31 @@ PKG_CHECK_MODULES(PULSEAUDIO, AC_SUBST(PULSEAUDIO_CFLAGS) AC_SUBST(PULSEAUDIO_LIBS) -AC_CHECK_HEADERS([cups/cups.h cups/http.h cups/ipp.h], have_cups=yes, have_cups=no) -if test x$have_cups = xyes ; then - CUPS_LIBS=-lcups - AC_SUBST(CUPS_LIBS) +# Check for CUPS 1.4 or newer +AC_PATH_PROG(CUPS_CONFIG, cups-config, no) +if test "x$CUPS_CONFIG" != "xno"; then + CUPS_API_VERSION=`$CUPS_CONFIG --api-version` + CUPS_API_MAJOR=`echo $ECHO_N $CUPS_API_VERSION | sed -e "s/\./\n/g" | sed -n "1p"` + CUPS_API_MINOR=`echo $ECHO_N $CUPS_API_VERSION | sed -e "s/\./\n/g" | sed -n "2p"` + + AC_CHECK_HEADERS([cups/cups.h cups/http.h cups/ipp.h], have_cups_headers=yes, have_cups_headers=no) + if test x$have_cups_headers = xyes ; then + if test $CUPS_API_MAJOR -gt 1 -o \ + $CUPS_API_MAJOR -eq 1 -a $CUPS_API_MINOR -ge 4; then + have_cups=yes + CUPS_LIBS=-lcups + AC_SUBST(CUPS_LIBS) + else + have_cups=no + AC_MSG_WARN(*** Printers panel will not be built (CUPS 1.4 or newer not found) ***) + fi + else + have_cups=no + AC_MSG_WARN(*** Printers panel will not be built (CUPS header files not found) ***) + fi else - AC_MSG_WARN(*** Printers panel will not be built (CUPS header files not found) ***) + have_cups=no + AC_MSG_WARN(*** Printers panel will not be built (cups-config not found) ***) fi AM_CONDITIONAL(BUILD_PRINTERS, [test x$have_cups = xyes])