aboutsummaryrefslogtreecommitdiff
path: root/configure.ac
diff options
context:
space:
mode:
Diffstat (limited to 'configure.ac')
-rw-r--r--configure.ac189
1 files changed, 189 insertions, 0 deletions
diff --git a/configure.ac b/configure.ac
new file mode 100644
index 0000000..be6e8f5
--- /dev/null
+++ b/configure.ac
@@ -0,0 +1,189 @@
+# This file is part of vmod-sql -*- autoconf -*-
+# Copyright (C) 2013 Sergey Poznyakoff
+#
+# Vmod-dbrw is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3, or (at your option)
+# any later version.
+#
+# Vmod-dbrw is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with vmod-sql. If not, see <http://www.gnu.org/licenses/>.
+AC_PREREQ(2.69)
+AC_INIT([vmod-sql], 1.0, [gray@gnu.org])
+AC_CONFIG_AUX_DIR([build-aux])
+AC_CONFIG_MACRO_DIR([m4])
+AC_CONFIG_SRCDIR(src/vmod-sql.c)
+AM_CONFIG_HEADER(config.h)
+
+AC_CANONICAL_SYSTEM
+AC_LANG(C)
+
+AM_INIT_AUTOMAKE([gnu tar-ustar])
+
+AC_GNU_SOURCE
+AC_PROG_CC
+AC_PROG_CC_STDC
+if test "x$ac_cv_prog_cc_c99" = xno; then
+ AC_MSG_ERROR([could not find a C99 compatible compiler])
+fi
+AC_PROG_CPP
+
+AC_PROG_INSTALL
+AC_PROG_LIBTOOL
+AC_PROG_MAKE_SET
+
+# Check for pkg-config
+PKG_PROG_PKG_CONFIG
+
+# Checks for header files.
+AC_HEADER_STDC
+AC_CHECK_HEADERS([sys/stdlib.h])
+
+# Check for python
+AC_CHECK_PROGS(PYTHON, [python], [
+ AC_MSG_ERROR([python is not found.])])
+
+# Varnish source tree
+AC_ARG_VAR([VARNISHSRC], [path to Varnish source tree])
+AC_ARG_WITH([varnish-source],
+ AC_HELP_STRING([--with-varnish-source=DIR],
+ [Varnish sources are located in DIR]),
+ [VARNISHSRC=$withval])
+
+if test -z "$VARNISHSRC"; then
+ AC_MSG_ERROR([no Varnish source tree specified])
+fi
+case "$VARNISHSRC" in
+/*) ;;
+*) AC_MSG_ERROR([varnish source path must be absolute pathname])
+esac
+
+VARNISHSRC=`cd $VARNISHSRC && pwd`
+AC_CHECK_FILE([$VARNISHSRC/include/varnishapi.h],
+ [],
+ [AC_MSG_FAILURE(["$VARNISHSRC" is not a Varnish source directory])])
+
+# Check that varnishtest is built in the varnish source directory
+AC_CHECK_FILE([$VARNISHSRC/bin/varnishtest/varnishtest],
+ [],
+ [AC_MSG_FAILURE([cannot find "$VARNISHSRC/bin/varnishtest/varnishtest". Please build your varnish source directory])]
+)
+
+# vmod installation dir
+AC_ARG_VAR([VMODDIR],
+ [vmod installation directory @<:@LIBDIR/varnish/vmods@:>@])
+AC_ARG_WITH([vmod-dir],
+ AC_HELP_STRING([--with-vmod-dir@<:@=DIR@:>@],
+ [install modules to DIR; if used without arguments, install them to the varnish module directory]),
+ [case "$withval" in
+ yes)
+ VMODDIR=`pkg-config --variable=vmoddir varnishapi`
+ if test -z "$VMODDIR"; then
+ AC_MSG_FAILURE([cannot determine vmod installation directory])
+ fi;;
+ /*) VMODDIR=$withval;;
+ *) AC_MSG_ERROR([argument to --with-vmod-dir must be absolute pathname])
+ esac])
+
+if test -z "$VMODDIR"; then
+ VMODDIR='$(libdir)/varnish/mods'
+fi
+
+###########
+# Check for SQL support
+build_mysql=probe
+build_pgsql=probe
+
+AC_ARG_WITH(mysql,
+ AC_HELP_STRING([--without-mysql],
+ [Configure to work without MySQL]),
+ [build_mysql=$withval])
+AC_ARG_WITH(pgsql,
+ AC_HELP_STRING([--without-pgsql],
+ [Configure to work without Postgres]),
+ [build_pgsql=$withval])
+AC_ARG_WITH(postgres,
+ AC_HELP_STRING([--without-postgres],
+ [Same as --without-pgsql]),
+ [build_pgsql=$withval])
+
+GR_ENABLE(mysql, [
+ GR_CHECK_LIB(mysqlclient, mysql_real_connect, "-lm",
+ [ AC_DEFINE(USE_SQL_MYSQL,1,
+ [Define this if you are going to use MySQL])
+ AC_DEFINE(HAVE_LIBMYSQL,1,
+ [Define this if you have mysqlclient library])
+ MYSQLLIBS="$pm_cv_lib_mysqlclient"
+ build_mysql=yes ],
+ [ test "$build_mysql" = yes && AC_MSG_ERROR([MySQL support cannot be built because MySQL libraries are not present])
+ build_mysql=no ],
+ [/usr/lib/mysql /usr/local/lib/mysql])], $build_mysql)
+
+GR_ENABLE(pgsql, [
+ GR_CHECK_LIB(pq, PQconnectStart, [],
+ [ save_CPPFLAGS=$CPPFLAGS
+ for dir in /usr/local/pgsql/include /usr/pgsql/include
+ do
+ CPPFLAGS="$save_CPPFLAGS -I$dir"
+ AC_CHECK_HEADER([libpq-fe.h], [break])
+ CPPFLAGS="$save_CPPFLAGS"
+ done
+ if test $ac_cv_header_libpq_fe_h != yes; then
+ test "$build_pgsql" = yes &&
+ AC_MSG_ERROR([PostgreSQL support cannot be built because PostgreSQL headers are not present])
+ else
+ AC_DEFINE(USE_SQL_PGSQL,1,
+ [Define this if you are going to use PostgreSQL])
+ AC_DEFINE(HAVE_LIBPQ,1,
+ [Define this if you have libpq])
+ PGSQLLIBS="$pm_cv_lib_pq"
+ build_pgsql=yes
+ fi],
+ [ test "$build_pgsql" = yes && AC_MSG_ERROR([PostgreSQL support cannot be built because PostgreSQL libraries are not present])
+ build_pgsql=no ],
+ [/usr/pgsql/lib /usr/local/pgsql/lib])], $build_pgsql)
+
+AC_SUBST(MYSQLLIBS)
+AC_SUBST(PGSQLLIBS)
+
+AM_CONDITIONAL([USE_MYSQL],[test $build_mysql = yes])
+AM_CONDITIONAL([USE_PGSQL],[test $build_pgsql = yes])
+
+AC_CONFIG_COMMANDS([status],[
+echo ""
+delim="-------------------------------------------------------------------"
+echo $delim | tr '-' '*'
+echo "Backends to build:"
+res=
+for module in mysql pgsql
+do
+ eval enable=\${build_$module}
+ str=`echo ${module}" yes" | sed 's/./-/g'`
+ dstr=`echo $delim | sed "s/^$str//" | tr '-' '.'`
+ echo ${module}$dstr $enable
+ res="$res$enable"
+done
+echo $delim | tr '-' '*'
+case "$res" in
+*yes*) ;;
+*)
+ AC_MSG_ERROR([Nothing to build?])
+esac
+],[
+build_pgsql=$build_pgsql
+build_mysql=$build_mysql])
+
+
+dnl FIXME: tests/Makefile
+dnl FIXME: doc/Makefile
+AC_CONFIG_FILES([
+ Makefile
+ src/Makefile
+])
+AC_OUTPUT
+

Return to:

Send suggestions and report system problems to the System administrator.