aboutsummaryrefslogtreecommitdiff
path: root/configure.ac
diff options
context:
space:
mode:
authorSergey Poznyakoff <gray@gnu.org.ua>2016-01-20 14:10:33 +0200
committerSergey Poznyakoff <gray@gnu.org.ua>2016-01-20 14:10:33 +0200
commit741817ac5372c374b52b710dd8a4b0cc463ade99 (patch)
tree46343899a7e7249c8306e227a59dabc4e9e04dec /configure.ac
parent67731a160cc7c3e090236316af459f695593fc55 (diff)
downloadvmod-tbf-741817ac5372c374b52b710dd8a4b0cc463ade99.tar.gz
vmod-tbf-741817ac5372c374b52b710dd8a4b0cc463ade99.tar.bz2
Drop support for Varnish 3
* configure.ac: Use pkg-config. Save Varnishapi version in VARNISHAPI_MAJOR, VARNISHAPI_MINOR, VARNISHAPI_PATCH Refuse to run if it is prior to 4.1 * src/Makefile.am: Remove conditionals * src/tbf.h: Remove Varnish 3.0 defines * src/vmod-tbf.3: Update * tests/Makefile.am: Remove conditionals * tests/test00.vti: Rename to tests/test00.vtc * tests/test02.vti: Rename to tests/test02.vtc
Diffstat (limited to 'configure.ac')
-rw-r--r--configure.ac52
1 files changed, 37 insertions, 15 deletions
diff --git a/configure.ac b/configure.ac
index f8e19de..8041a57 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,5 +1,5 @@
# This file is part of vmod-tbf -*- autoconf -*-
-# Copyright (C) 2013-2014 Sergey Poznyakoff
+# Copyright (C) 2013-2016 Sergey Poznyakoff
#
# Vmod-tbf is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -67,17 +67,37 @@ case "$VARNISHSRC" in
esac
VARNISHSRC=`cd $VARNISHSRC && pwd`
-VARNISHVERSION=
-AC_CHECK_FILE([$VARNISHSRC/include/varnishapi.h],
- [VARNISHVERSION=3],
- [AC_CHECK_FILE([$VARNISHSRC/include/vapi/vsm.h],
- [VARNISHVERSION=4],
- [AC_MSG_FAILURE(["$VARNISHSRC" is not a Varnish source directory])]) ])
-AC_SUBST([VARNISHVERSION],$VARNISHVERSION)
-
-AC_DEFINE_UNQUOTED([VARNISHVERSION],$VARNISHVERSION,[Varnish major version number])
-AM_CONDITIONAL([VARNISH3],[test $VARNISHVERSION -eq 3])
-AM_CONDITIONAL([VARNISH4],[test $VARNISHVERSION -eq 4])
+
+
+# pkg-config
+PKG_PROG_PKG_CONFIG
+PKG_CHECK_MODULES([libvarnishapi], [varnishapi])
+
+varnishapi_version() {
+ VARNISHAPI_MAJOR=$1
+ VARNISHAPI_MINOR=$2
+ VARNISHAPI_PATCH=$3
+}
+
+v=$($PKG_CONFIG --modversion varnishapi)
+if test -n "$v"; then
+ save_IFS=$IFS
+ IFS='.'
+ varnishapi_version $v
+ IFS=$save_IFS
+else
+ AC_MSG_ERROR([unknown varnishapi version])
+fi
+
+if test $VARNISHAPI_MAJOR -ne 4; then
+ AC_MSG_ERROR([unsupported varnishapi version])
+fi
+
+case $VARNISHAPI_MINOR in
+0) AC_MSG_ERROR([unsupported varnishapi version]);;
+1) ;;
+*) AC_MSG_WARN([varnishapi minor version probably unsupported])
+esac
# Check that varnishtest is built in the varnish source directory
AC_CHECK_FILE([$VARNISHSRC/bin/varnishtest/varnishtest],
@@ -94,7 +114,7 @@ AC_ARG_WITH([vmoddir],
/*) VMODDIR=$withval;;
no) unset VMODDIR;;
*) AC_MSG_ERROR([argument to --with-vmoddir must be absolute pathname])
- esac],[VMODDIR=`pkg-config --variable=vmoddir varnishapi`
+ esac],[VMODDIR=$($PKG_CONFIG --variable=vmoddir varnishapi)
if test -z "$VMODDIR"; then
AC_MSG_FAILURE([cannot determine vmod installation directory])
fi])
@@ -126,10 +146,12 @@ AC_CONFIG_COMMANDS([status],[
delim="-------------------------------------------------------------------"
echo ""
echo $delim
-echo "Building for Varnish version $VARNISHVERSION"
+echo "Building for Varnish version $VARNISHAPI_MAJOR.$VARNISHAPI_MINOR"
echo $delim
],
-[VARNISHVERSION=$VARNISHVERSION])
+[VARNISHAPI_MAJOR=$VARNISHAPI_MAJOR
+VARNISHAPI_MINOR=$VARNISHAPI_MINOR
+])
AC_CONFIG_FILES([
Makefile

Return to:

Send suggestions and report system problems to the System administrator.