summaryrefslogtreecommitdiffstats
path: root/contrib/dlz/config.dlz.in
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/dlz/config.dlz.in')
-rw-r--r--contrib/dlz/config.dlz.in478
1 files changed, 478 insertions, 0 deletions
diff --git a/contrib/dlz/config.dlz.in b/contrib/dlz/config.dlz.in
new file mode 100644
index 0000000..f78e907
--- /dev/null
+++ b/contrib/dlz/config.dlz.in
@@ -0,0 +1,478 @@
+# Copyright (C) 2005 Internet Systems Consortium, Inc. ("ISC")
+#
+# Permission to use, copy, modify, and distribute this software for any
+# purpose with or without fee is hereby granted, provided that the above
+# copyright notice and this permission notice appear in all copies.
+#
+# THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
+# REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+# AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
+# INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+# LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
+# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+# PERFORMANCE OF THIS SOFTWARE.
+
+#
+# Shorthand. Note quoting: DLZ_DRIVER_DIR expanded in Makefile, not here.
+#
+dlzdir='${DLZ_DRIVER_DIR}'
+
+#
+# Private autoconf macro to simplify configuring drivers:
+#
+# DLZ_ADD_DRIVER(DEFINE, DRIVER, INCLUDES, LIBS)
+#
+# where:
+# DEFINE is FOO (to define -DDLZ_FOO)
+# DRIVER is dlz_foo_driver (sources without the .c)
+# INCLUDES is any necessary include definitions
+# LIBS is any necessary library definitions
+#
+AC_DEFUN(DLZ_ADD_DRIVER, [
+ USE_DLZ="$USE_DLZ -DDLZ_$1"
+ for i in $2
+ do
+ DLZ_DRIVER_SRCS="$DLZ_DRIVER_SRCS $dlzdir/$i.c"
+ DLZ_DRIVER_OBJS="$DLZ_DRIVER_OBJS $i.$O"
+ done
+ if test -n "$3"
+ then
+ DLZ_DRIVER_INCLUDES="$DLZ_DRIVER_INCLUDES $3"
+ fi
+ if test -n "$4"
+ then
+ DLZ_DRIVER_LIBS="$DLZ_DRIVER_LIBS $4"
+ fi
+])
+
+#
+# Check for the various DLZ drivers
+#
+
+#
+# Was --with-dlz-postgres specified?
+#
+
+AC_MSG_CHECKING(for Postgres DLZ driver)
+AC_ARG_WITH(dlz_postgres,
+[ --with-dlz-postgres[=PATH] Build with Postgres DLZ driver [yes|no|path].
+ (Required to use Postgres with DLZ)],
+ use_dlz_postgres="$withval", use_dlz_postgres="no")
+
+if test "$use_dlz_postgres" = "yes"
+then
+ # User did not specify a path - guess it
+ # Ask Postgres to tell us where it is
+
+ AC_PATH_PROGS(PG_CONFIG, pg_config, [not found])
+
+ if test "$PG_CONFIG" != "not found"
+ then
+ use_dlz_postgres=`$PG_CONFIG --includedir`
+ use_dlz_postgres_lib=`$PG_CONFIG --libdir`
+ fi
+fi
+
+if test "$use_dlz_postgres" = "yes"
+then
+ # User did not specify path and Postgres didn't say - guess it
+
+ pgdirs="/usr /usr/local /usr/local/pgsql /usr/pkg"
+ for d in $pgdirs
+ do
+ if test -f $d/include/libpq-fe.h
+ then
+ use_dlz_postgres=$d/include
+ use_dlz_postgres_lib=$d/lib
+ break
+ fi
+ done
+fi
+
+if test "$use_dlz_postgres" = "yes"
+then
+ # Still no joy, give up
+
+ AC_MSG_RESULT(not found)
+ AC_MSG_ERROR(
+[No pg_config and PostgreSQL was not found in any of $pgdirs; use --with-dlz-postgres=/path or put pg_config in your path])
+fi
+
+case "$use_dlz_postgres" in
+ no)
+ AC_MSG_RESULT(no)
+ ;;
+ *)
+ DLZ_ADD_DRIVER(POSTGRES, dlz_postgres_driver,
+ [-I$use_dlz_postgres],
+ [-L$use_dlz_postgres_lib -lpq])
+
+ AC_MSG_RESULT(
+[using PostgreSQL from $use_dlz_postgres_lib and $use_dlz_postgres])
+ ;;
+esac
+
+
+#
+# Was --with-dlz-mysql specified?
+#
+
+AC_MSG_CHECKING(for MySQL DLZ driver)
+AC_ARG_WITH(dlz_mysql,
+[ --with-dlz-mysql[=PATH] Build with MySQL DLZ driver [yes|no|path].
+ (Required to use MySQL with DLZ)],
+ use_dlz_mysql="$withval", use_dlz_mysql="no")
+
+mysql_include=""
+mysql_lib=""
+if test "$use_dlz_mysql" = "yes"
+then
+ # User did not specify a path - guess it
+ mysqldirs="/usr /usr/local /usr/local/mysql /usr/pkg"
+ for d in $mysqldirs
+ do
+ if test -f $d/include/mysql/mysql.h
+ then
+ use_dlz_mysql=$d
+ mysql_include=$d/include/mysql
+ if test -d $d/lib/mysql
+ then
+ mysql_lib=$d/lib/mysql
+ else
+ mysql_lib=$d/lib
+ fi
+ break
+ elif test -f $d/include/mysql.h
+ then
+ use_dlz_mysql=$d
+ mysql_include=$d/include
+ if test -d $d/lib/mysql
+ then
+ mysql_lib=$d/lib/mysql
+ else
+ mysql_lib=$d/lib
+ fi
+ break
+ fi
+ done
+elif test "$use_dlz_mysql" != "no"
+then
+ d=$use_dlz_mysql
+ if test -f $d/include/mysql/mysql.h
+ then
+ mysql_include=$d/include/mysql
+ if test -d $d/lib/mysql
+ then
+ mysql_lib=$d/lib/mysql
+ else
+ mysql_lib=$d/lib
+ fi
+ elif test -f $d/include/mysql.h
+ then
+ mysql_include=$d/include
+ if test -d $d/lib/mysql
+ then
+ mysql_lib=$d/lib/mysql
+ else
+ mysql_lib=$d/lib
+ fi
+ fi
+fi
+
+if test "$use_dlz_mysql" = "yes"
+then
+ AC_MSG_RESULT(not found)
+ AC_MSG_ERROR(
+[MySQL was not found in any of $mysqldirs; use --with-dlz-mysql=/path])
+fi
+
+case "$use_dlz_mysql" in
+ no)
+ AC_MSG_RESULT(no)
+ ;;
+ *)
+ DLZ_ADD_DRIVER(MYSQL, dlz_mysql_driver,
+ [-I${mysql_include}],
+ [-L${mysql_lib} -lmysqlclient -lz -lcrypt -lm])
+
+ AC_MSG_RESULT(
+[using mysql from ${mysql_lib} and ${mysql_include}])
+ ;;
+esac
+
+
+#
+# Was --with-dlz-bdb specified?
+#
+
+AC_MSG_CHECKING(for Berkeley DB DLZ driver)
+AC_ARG_WITH(dlz_bdb,
+[ --with-dlz-bdb[=PATH] Build with Berkeley DB DLZ driver [yes|no|path].
+ (Required to use Berkeley DB with DLZ)],
+ use_dlz_bdb="$withval", use_dlz_bdb="no")
+
+case "$use_dlz_bdb" in
+ no)
+ AC_MSG_RESULT(no)
+ ;;
+ *)
+ if test "$use_dlz_bdb" = "yes"
+ then
+ # User did not specify a path - guess directories
+ bdbdirs="/usr/local /usr/pkg /usr"
+ elif test -d "$use_dlz_bdb"
+ then
+ # User specified directory and it exists
+ bdbdirs="$use_dlz_bdb"
+ else
+ AC_MSG_RESULT(not found)
+ AC_MSG_ERROR([path $use_dlz_bdb does not exist])
+ bdbdirs=""
+ fi
+
+ # Use path we were given or guessed. This is insanely
+ # complicated because we have to search for a bunch of
+ # platform-specific variations and have to check
+ # separately for include and library directories.
+
+ # Set both to yes, so we can check them later
+ dlz_bdb_inc="yes"
+ dlz_bdb_libs="yes"
+
+ for dd in $bdbdirs
+ do
+ # Skip nonexistant directories
+ if test ! -d "$dd"
+ then
+ continue
+ fi
+
+ # Check other locations for includes.
+ # Order is important (sigh).
+
+ bdb_incdirs="/ /db42/ /db41/ /db4/ /db/"
+ for d in $bdb_incdirs
+ do
+ if test -f "$dd/include${d}db.h"
+ then
+ dlz_bdb_inc="-I$dd/include${d}"
+ break
+ fi
+ done
+
+ # Give up on this directory if we couldn't
+ # find the include subdir
+
+ if test "$dlz_bdb_inc" = "yes"
+ then
+ continue
+ fi
+
+ # Look for libname other than libdb.so.
+ # Order is important (sigh).
+
+ bdb_libnames="db42 db-4.2 db41 db-4.1 db"
+ for d in $bdb_libnames
+ do
+ if test -f "$dd/lib/lib${d}.so"
+ then
+ if test "$dd" != "/usr"
+ then
+ dlz_bdb_libs="-L${dd}/lib "
+ else
+ dlz_bdb_libs=""
+ fi
+ dlz_bdb_libs="${dlz_bdb_libs}-l${d}"
+ break
+ fi
+ done
+
+ # If we found both incdir and lib, we're done
+ if test "$dlz_bdb_libs" != "yes"
+ then
+ break
+ fi
+
+ # Otherwise, we're starting over
+
+ dlz_bdb_inc="yes"
+ dlz_bdb_libs="yes"
+ done
+
+ # Done searching, now make sure we got everything.
+
+ if test "$dlz_bdb_inc" = "yes"
+ then
+ AC_MSG_RESULT(not found)
+ AC_MSG_ERROR([could not find Berkeley DB include directory])
+ fi
+
+ if test "$dlz_bdb_libs" = "yes"
+ then
+ AC_MSG_RESULT(not found)
+ AC_MSG_ERROR([could not find Berkeley DB library])
+ fi
+
+ DLZ_ADD_DRIVER(BDB, dlz_bdb_driver dlz_bdbhpt_driver,
+ [$dlz_bdb_inc], [$dlz_bdb_libs])
+
+ AC_MSG_RESULT([using Berkeley DB: $dlz_bdb_inc $dlz_bdb_libs])
+
+ AC_CONFIG_FILES([contrib/dlz/bin/dlzbdb/Makefile])
+ ;;
+esac
+
+
+#
+# Was --with-dlz-filesystem specified?
+#
+
+AC_MSG_CHECKING(for file system DLZ driver)
+AC_ARG_WITH(dlz_filesystem,
+[ --with-dlz-filesystem[=PATH] Build with filesystem DLZ driver [yes|no].
+ (Required to use file system driver with DLZ)],
+ use_dlz_filesystem="$withval", use_dlz_filesystem="no")
+
+case "$use_dlz_filesystem" in
+ no)
+ AC_MSG_RESULT(no)
+ ;;
+ *)
+ DLZ_ADD_DRIVER(FILESYSTEM, dlz_filesystem_driver)
+
+ AC_MSG_RESULT(yes)
+ ;;
+esac
+
+
+#
+# Was --with-dlz-ldap specified?
+#
+
+AC_MSG_CHECKING(for LDAP DLZ driver)
+AC_ARG_WITH(dlz_ldap,
+[ --with-dlz-ldap[=PATH] Build with LDAP DLZ driver [yes|no|path].
+ (Required to use LDAP with DLZ)],
+ use_dlz_ldap="$withval", use_dlz_ldap="no")
+
+if test "$use_dlz_ldap" = "yes"
+then
+ # User did not specify a path - guess it
+ ldapdirs="/usr /usr/local /usr/pkg"
+ for d in $ldapdirs
+ do
+ if test -f $d/include/ldap.h
+ then
+ use_dlz_ldap=$d
+ break
+ fi
+ done
+fi
+
+if test "$use_dlz_ldap" = "yes"
+then
+ AC_MSG_RESULT(not found)
+ AC_MSG_ERROR(
+[LDAP headers were not found in any of $ldapdirs; use --with-dlz-ldap=/path])
+fi
+
+case "$use_dlz_ldap" in
+ no)
+ AC_MSG_RESULT(no)
+ ;;
+ *)
+ DLZ_ADD_DRIVER(LDAP, dlz_ldap_driver,
+ [-I$use_dlz_ldap/include],
+ [-L$use_dlz_ldap/lib -lldap -llber])
+
+ AC_MSG_RESULT(
+[using LDAP from $use_dlz_ldap/lib and $use_dlz_ldap/include])
+ ;;
+esac
+
+
+#
+# Was --with-dlz-odbc specified?
+#
+
+AC_MSG_CHECKING(for ODBC DLZ driver)
+AC_ARG_WITH(dlz_odbc,
+[ --with-dlz-odbc[=PATH] Build with ODBC DLZ driver [yes|no|path].
+ (Required to use ODBC with DLZ)],
+ use_dlz_odbc="$withval", use_dlz_odbc="no")
+
+if test "$use_dlz_odbc" = "yes"
+then
+ # User did not specify a path - guess it
+ odbcdirs="/usr /usr/local /usr/pkg"
+ for d in $odbcdirs
+ do
+ if test -f $d/include/sql.h -a -f $d/lib/libodbc.a
+ then
+ use_dlz_odbc=$d
+ break
+ fi
+ done
+fi
+
+case "$use_dlz_odbc" in
+ no)
+ AC_MSG_RESULT(no)
+ ;;
+ yes)
+ AC_MSG_RESULT(not found)
+ AC_MSG_ERROR(
+[ODBC headers were not found in any of $odbcdirs; use --with-dlz-odbc=/path])
+ ;;
+ *)
+ DLZ_ADD_DRIVER(ODBC, dlz_odbc_driver,
+ [-I$use_dlz_odbc/include],
+ [-L$use_dlz_odbc/lib -lodbc])
+
+ AC_MSG_RESULT([using ODBC from $use_dlz_odbc])
+ ;;
+esac
+
+
+#
+# Was --with-dlz-stub specified?
+#
+
+AC_MSG_CHECKING(for stub DLZ driver)
+AC_ARG_WITH(dlz_stub,
+[ --with-dlz-stub[=PATH] Build with stub DLZ driver [yes|no].
+ (Required to use stub driver with DLZ)],
+ use_dlz_stub="$withval", use_dlz_stub="no")
+
+case "$use_dlz_stub" in
+ no)
+ AC_MSG_RESULT(no)
+ ;;
+ *)
+
+ DLZ_ADD_DRIVER(STUB, dlz_stub_driver)
+
+ AC_MSG_RESULT(yes)
+ ;;
+esac
+
+
+# Add any additional DLZ drivers here.
+
+#
+# Finally, some generic stuff that applies to all drivers, assuming
+# we're compiling DLZ at all.
+#
+if test -n "$USE_DLZ"
+then
+ #
+ # Where to find DLZ driver header files.
+ #
+ DLZ_DRIVER_INCLUDES="-I$dlzdir/include $DLZ_DRIVER_INCLUDES"
+
+ #
+ # Initialization and shutdown wrappers, helper functions.
+ #
+ DLZ_DRIVER_SRCS="$dlzdir/dlz_drivers.c $dlzdir/sdlz_helper.c $DLZ_DRIVER_SRCS"
+ DLZ_DRIVER_OBJS="dlz_drivers.$O sdlz_helper.$O $DLZ_DRIVER_OBJS"
+fi