]> git.sur5r.net Git - bacula/bacula/blobdiff - bacula/autoconf/configure.in
Fix batch insert detection on SLES 11
[bacula/bacula] / bacula / autoconf / configure.in
index 05ce2f01bdac4605d2179d3ac23fec2238ad6e09..b15ec2315279247a092c84189765639d024f93eb 100644 (file)
@@ -2,6 +2,8 @@ dnl
 dnl
 dnl Process this file with autoconf to produce a configure script.
 dnl
+dnl require a recent autoconf
+AC_PREREQ(2.61)
 AC_INIT(src/version.h)
 BUILD_DIR=`pwd`
 cd ..
@@ -10,7 +12,7 @@ cd ${BUILD_DIR}
 AC_SUBST(BUILD_DIR)
 AC_SUBST(TOP_DIR)
 AC_CONFIG_AUX_DIR(${BUILD_DIR}/autoconf)
-AC_CONFIG_HEADER(src/config.h:autoconf/config.h.in)
+AC_CONFIG_HEADERS(src/config.h:autoconf/config.h.in)
 
 dnl minimal Win32 stuff for "make clean"
 WIN32BUILDDIR=${BUILD_DIR}/src/win32
@@ -20,10 +22,6 @@ AC_SUBST(WIN32BUILDDIR)
 AC_SUBST(WIN32MAINDIR)
 AC_SUBST(WIN32TOPDIR)
 
-dnl require a recent autoconf
-AC_PREREQ(2.61)
-
-
 dnl search for true and false programs.
 AC_PATH_PROGS(TRUEPRG, true, :)
 AC_PATH_PROGS(FALSEPRG, false, :)
@@ -38,13 +36,47 @@ BACULA=${BACULA:-Bacula}
 VERSION=`sed -n -e 's/^.*VERSION.*"\(.*\)"$/\1/p' ${srcdir}/src/version.h`
 DATE=`sed -n -e 's/^.*[ \t]*BDATE.*"\(.*\)"$/\1/p' ${srcdir}/src/version.h`
 LSMDATE=`sed -n -e 's/^.*LSMDATE.*"\(.*\)"$/\1/p' ${srcdir}/src/version.h`
+BDB_VERSION=`sed -n -e 's/^.*BDB_VERSION \(.*\)$/\1/p' ${srcdir}/src/cats/cats.h`
 AC_SUBST(VERSION)dnl 
 AC_SUBST(DATE)dnl 
 AC_SUBST(LSMDATE)dnl 
 AC_SUBST(BACULA)dnl
 AC_SUBST(post_host)dnl
+AC_SUBST(BDB_VERSION)dnl
+
+dnl src/lib
+dnl can be overwritten by specific values from version.h
+LIBBAC_LT_RELEASE=`sed -n -e 's/^#.*LIBBAC_LT_RELEASE.*"\(.*\)"$/\1/p' ${srcdir}/src/version.h`
+LIBBACCFG_LT_RELEASE=`sed -n -e 's/^#.*LIBBACCFG_LT_RELEASE.*"\(.*\)"$/\1/p' ${srcdir}/src/version.h`
+LIBBACPY_LT_RELEASE=`sed -n -e 's/^#.*LIBBACPY_LT_RELEASE.*"\(.*\)"$/\1/p' ${srcdir}/src/version.h`
+
+LIBBAC_LT_RELEASE=${LIBBAC_LT_RELEASE:-$VERSION}
+LIBBACCFG_LT_RELEASE=${LIBBACCFG_LT_RELEASE:-$VERSION}
+LIBBACPY_LT_RELEASE=${LIBBACPY_LT_RELEASE:-$VERSION}
+
+AC_SUBST(LIBBAC_LT_RELEASE)dnl
+AC_SUBST(LIBBACCFG_LT_RELEASE)dnl
+AC_SUBST(LIBBACPY_LT_RELEASE)dnl
+
+dnl src/cats
+dnl can be overwritten by specific values from version.h
+LIBBACSQL_LT_RELEASE=`sed -n -e 's/^#.*LIBBACSQL_LT_RELEASE.*"\(.*\)"$/\1/p' ${srcdir}/src/version.h`
+
+LIBBACSQL_LT_RELEASE=${LIBBACSQL_LT_RELEASE:-$VERSION}
+
+AC_SUBST(LIBBACSQL_LT_RELEASE)dnl
+
+dnl src/findlib
+dnl can be overwritten by specific values from version.h
+LIBBACFIND_LT_RELEASE=`sed -n -e 's/^#.*LIBBACFIND_LT_RELEASE.*"\(.*\)"$/\1/p' ${srcdir}/src/version.h`
+
+LIBBACFIND_LT_RELEASE=${LIBBACFIND_LT_RELEASE:-$VERSION}
+
+AC_SUBST(LIBBACFIND_LT_RELEASE)dnl
+
 echo "configuring for ${BACULA} $VERSION ($DATE)"
 
+
 dnl -------------------------------------------------------
 dnl Check for compiler.
 dnl ------------------------------------------------------
@@ -92,7 +124,6 @@ AC_PATH_PROG(DVDRWMEDIAINFO, dvd+rw-mediainfo, dvd+rw-mediainfo)
 AC_PATH_PROG(DVDRWFORMAT, dvd+rw-format, dvd+rw-format)
 AC_PATH_PROG(PKGCONFIG, pkg-config, pkg-config)
 AC_PATH_PROG(QMAKE, qmake, none)
-AC_PATH_PROG(QMAKEQT4, qmake-qt4, none)
 AC_PATH_PROG(GMAKE, gmake, none)
 AC_ARG_VAR(WXCONFIG, [wx-config command. On some systems, you must set it to wx-config-2.6 to use wxWidgets 2.6.])
 if test "x$WXCONFIG" = x; then
@@ -153,6 +184,8 @@ if test x$use_libtool != xno; then
    LIBTOOL_UNINSTALL_TARGET="libtool-uninstall"
    LIBTOOL_CLEAN_TARGET="libtool-clean"
    QMAKE_LIBTOOL="${BUILD_DIR}/libtool"
+   FD_PLUGIN_DIR="src/plugins/fd"
+   have_plugins=yes
 else
    DEFAULT_OBJECT_TYPE=".o"
    DEFAULT_ARCHIVE_TYPE=".a"
@@ -162,6 +195,8 @@ else
    LIBTOOL_UNINSTALL_TARGET=""
    LIBTOOL_CLEAN_TARGET=""
    QMAKE_LIBTOOL="# ${BUILD_DIR}/libtool"
+   FD_PLUGIN_DIR=""
+   have_plugins=no
 fi
 
 AC_SUBST(DEFAULT_OBJECT_TYPE)
@@ -172,6 +207,7 @@ AC_SUBST(LIBTOOL_INSTALL_TARGET)
 AC_SUBST(LIBTOOL_UNINSTALL_TARGET)
 AC_SUBST(LIBTOOL_CLEAN_TARGET)
 AC_SUBST(QMAKE_LIBTOOL)
+AC_SUBST(FD_PLUGIN_DIR)
 
 dnl --------------------------------------------------
 dnl Include file handling
@@ -322,6 +358,7 @@ support_mysql=no
 support_sqlite=no
 support_sqlite3=no
 support_postgresql=no
+support_ingres=no
 support_dbi=no
 support_smartalloc=yes
 support_readline=yes
@@ -396,7 +433,7 @@ if test x$support_bat = xyes; then
 fi
 
 dnl 
-dnl  If bat is enabled, we need the qwt library
+dnl  The qwt library was used with bat, but that is no longer the case
 dnl 
 got_qwt=no
 QWT_INC=
@@ -404,59 +441,59 @@ QWT_LDFLAGS=
 QWT_LIB=
 QWT=
 no_qwt=no
-if test x$support_bat = xyes; then
-   AC_MSG_CHECKING(for qwt support)
-   AC_ARG_WITH(qwt,
-      AC_HELP_STRING([--with-qwt@<:@=DIR@:>@], [specify qwt library directory]),
-      [
-         case "$with_qwt" in
-         no)
-            no_qwt=yes
-            ;;
-         yes|*)
-            if test -f ${with_qwt}/include/qwt.h; then
-               QWT_INC="${with_qwt}/include"
-               QWT_LDFLAGS="-L${with_qwt}/lib"
-               QWT_LIB="-lqwt"
-               QWT="qwt"
-            fi
-            ;;
-         esac
-      ]    
-   )
-
-   dnl
-   dnl Search in standard places, or --with-qwt not specified
-   dnl
-   if test $no_qwt = no; then 
-      if test x$QWT_INC = x; then
-        for root in /usr /usr/local; do
-           for ver in qwt qwt5 qwt-qt4; do
-              if test -f ${root}/include/${ver}/qwt.h; then
-                 QWT_INC="${root}/include/${ver}"
-                 if test -d ${root}/lib64/; then
-                    QWT_LDFLAGS="-L${root}/lib64"
-                 elif test -d ${root}/lib/64/; then
-                    QWT_LDFLAGS="-L${root}/64"
-                 else
-                    QWT_LDFLAGS="-L${root}/lib"
-                 fi
-                 QWT_LIB="-lqwt"
-                 QWT="qwt"
-                 got_qwt=yes
-                 break;
-              fi
-           done
-        done
-      fi
-   fi
-   if test x$QWT_INC = x; then
-      AC_MSG_RESULT(no)
-   else
-      AC_DEFINE(HAVE_QWT, 1, [Set if bat QWT library found])
-      AC_MSG_RESULT(yes)
-   fi
-fi
+dnl if test x$support_bat = xyes; then
+dnl    AC_MSG_CHECKING(for qwt support)
+dnl    AC_ARG_WITH(qwt,
+dnl      AC_HELP_STRING([--with-qwt@<:@=DIR@:>@], [specify qwt library directory]),
+dnl      [
+dnl          case "$with_qwt" in
+dnl          no)
+dnl             no_qwt=yes
+dnl             ;;
+dnl          yes|*)
+dnl             if test -f ${with_qwt}/include/qwt.h; then
+dnl                QWT_INC="${with_qwt}/include"
+dnl                QWT_LDFLAGS="-L${with_qwt}/lib"
+dnl                QWT_LIB="-lqwt"
+dnl                QWT="qwt"
+dnl             fi
+dnl             ;;
+dnl          esac
+dnl      ]    
+dnl    )
+
+dnl    dnl
+dnl    dnl Search in standard places, or --with-qwt not specified
+dnl    dnl
+dnl    if test $no_qwt = no; then 
+dnl      if test x$QWT_INC = x; then
+dnl         for root in /usr /usr/local; do
+dnl            for ver in qwt qwt5 qwt-qt4; do
+dnl               if test -f ${root}/include/${ver}/qwt.h; then
+dnl                  QWT_INC="${root}/include/${ver}"
+dnl                  if test -d ${root}/lib64/; then
+dnl                     QWT_LDFLAGS="-L${root}/lib64"
+dnl                  elif test -d ${root}/lib/64/; then
+dnl                     QWT_LDFLAGS="-L${root}/64"
+dnl                  else
+dnl                     QWT_LDFLAGS="-L${root}/lib"
+dnl                  fi
+dnl                  QWT_LIB="-lqwt"
+dnl                  QWT="qwt"
+dnl                  got_qwt=yes
+dnl                  break;
+dnl               fi
+dnl            done
+dnl         done
+dnl      fi
+dnl    fi
+dnl    if test x$QWT_INC = x; then
+dnl      AC_MSG_RESULT(no)
+dnl    else
+dnl      AC_DEFINE(HAVE_QWT, 1, [Set if bat QWT library found])
+dnl      AC_MSG_RESULT(yes)
+dnl    fi
+dnl fi
 
 AC_SUBST(BAT_DIR)
 AC_SUBST(QWT_INC)
@@ -775,45 +812,33 @@ if test x$support_ipv6 = xyes; then
    AC_DEFINE(HAVE_IPV6,1,[Whether to enable IPv6 support])
 fi
 
+TERM_LIB=""
+AC_CHECK_HEADER(curses.h, 
+  [ AC_CHECK_LIB(ncurses, tgetent, 
+    [ TERM_LIB="-lncurses" ],
+    [ AC_CHECK_LIB(termcap, tgetent, [ TERM_LIB="-ltermcap" ])
+    ])
+  ],
+  [  AC_CHECK_HEADERS(curses.h)
+     AC_CHECK_HEADER(term.h,
+       [ AC_CHECK_LIB(curses, tgetent, 
+        [ TERM_LIB="-lcurses" ] )
+       ])
+  ])
+
+
 got_conio="no"
 if test x$support_conio = xyes; then
-   AC_CHECK_HEADER(termcap.h, 
-     [ AC_CHECK_LIB(termcap, tgetent, 
-       [ CONS_LIBS="-ltermcap"
-    CONS_OBJ="conio.o"
-    CONS_SRC="conio.c"
-    got_conio="yes"
-    support_readline=no
-    AC_DEFINE(HAVE_CONIO, 1, [Set if Bacula conio support enabled]) 
-       ],   
-       [ AC_CHECK_LIB(ncurses, tgetent,
-    [ CONS_LIBS="-lncurses"
+   if test x$TERM_LIB != x; then
+      CONS_LIBS=$TERM_LIB
       CONS_OBJ="conio.o"
       CONS_SRC="conio.c"
       got_conio="yes"
       support_readline=no
       AC_DEFINE(HAVE_CONIO, 1, [Set if Bacula conio support enabled]) 
-    ])
-       ])
-     ],
-     [
-    AC_CHECK_HEADERS(curses.h)
-    AC_CHECK_HEADER(term.h,
-         [ AC_CHECK_LIB(curses, tgetent, 
-       [ CONS_LIBS="-lcurses"
-        CONS_OBJ="conio.o"
-        CONS_SRC="conio.c"
-        got_conio="yes"
-        support_readline=no
-        AC_DEFINE(HAVE_CONIO, 1, [Set if Bacula conio support enabled]) 
-       ])
-         ],
-         [ echo " "; echo "Required libraries not found. CONIO turned off ..."; echo " "],
-[#if HAVE_CURSES_H
-#include <curses.h>
-#endif
-])
-     ])
+   else
+      echo " "; echo "Required libraries not found. CONIO turned off ..."; echo " "],
+   fi
 fi
 
 
@@ -829,6 +854,9 @@ AC_ARG_ENABLE(readline,
        fi
    ]
 )
+if test x$TERM_LIB = x ; then
+   support_readline=no
+fi
 
 got_readline="no"
 READLINE_SRC=
@@ -855,7 +883,7 @@ if test x$support_readline = xyes; then
             AC_CHECK_HEADER(${with_readline}/readline.h, 
                [
                    AC_DEFINE(HAVE_READLINE, 1, [Set to enable readline support])
-                   CONS_LIBS="-lreadline -lhistory -ltermcap"
+                   CONS_LIBS="-lreadline -lhistory $TERM_LIB"
                    got_readline="yes"   
                ], [
                    echo " "
@@ -872,7 +900,7 @@ if test x$support_readline = xyes; then
                AC_DEFINE(HAVE_READLINE, 1, [Set to enable readline support])
                got_readline="yes"
                CONS_INC="-I/usr/include/readline"
-               CONS_LIBS="-lreadline -ltermcap"
+               CONS_LIBS="-lreadline $TERM_LIB"
            ], [
                dnl Did not find standard library, so try Bacula's default
                AC_CHECK_HEADER(${TOP_DIR}/depkgs/readline/readline.h, 
@@ -880,7 +908,7 @@ if test x$support_readline = xyes; then
                        AC_DEFINE(HAVE_READLINE, 1, [Set to enable readline support])
                        got_readline="yes"   
                        CONS_INC="-I${TOP_DIR}/depkgs/readline"
-                       CONS_LIBS="-lreadline -lhistory -ltermcap"
+                       CONS_LIBS="-lreadline -lhistory $TERM_LIB"
                        CONS_LDFLAGS="-L${TOP_DIR}/depkgs/readline"
                        PRTREADLINE_SRC="${TOP_DIR}/depkgs/readline"
                    ], [
@@ -1113,6 +1141,7 @@ if test "x$with_openssl_directory" != "xno"; then
          support_crypto="yes"
       ], [
          support_tls="no"
+         support_crypto="no"
       ]
    )
 
@@ -1144,9 +1173,6 @@ if test "x$with_openssl_directory" != "xno"; then
       ]
    )
 
-   LIBS="${saved_LIBS}"
-   CFLAGS="${saved_CFLAGS}"
-
    if test "$support_tls" = "yes"; then
       AC_DEFINE(HAVE_OPENSSL, 1, [Define if OpenSSL library is available])
       AC_DEFINE(HAVE_TLS, 1, [Define if TLS support should be enabled])
@@ -1160,19 +1186,30 @@ if test "x$with_openssl_directory" != "xno"; then
    if test "$ac_cv_openssl_export" = "yes"; then
       AC_DEFINE(HAVE_OPENSSL_EXPORT_LIBRARY, 1, [Define if the OpenSSL library is export-contrained to 128bit ciphers])
    fi
+
+   if test "$support_crypto" = "yes"; then
+      AC_CHECK_LIB(ssl, EVP_PKEY_encrypt_old, AC_DEFINE(HAVE_OPENSSLv1, 1, [Set if have OpenSSL version 1.x]))
+   fi
+
+   LIBS="${saved_LIBS}"
+   CFLAGS="${saved_CFLAGS}"
 else
    support_tls="no"
    support_crypto="no"
    OPENSSL_LIBS=""
    OPENSSL_INC=""
 fi
+AC_MSG_RESULT([$support_tls])
 
 if test "$support_tls" = "no"; then
    OPENSSL_LIBS=""
    OPENSSL_INC=""
 fi  
+if test "$support_crypto" = "no"; then
+   OPENSSL_LIBS=""
+   OPENSSL_INC=""
+fi  
 
-AC_MSG_RESULT([$support_tls])
 AC_SUBST(OPENSSL_LIBS)
 AC_SUBST(OPENSSL_INC)
 
@@ -1659,9 +1696,9 @@ AC_SUBST(fd_group)
 dnl
 dnl allow setting default executable permissions
 dnl
-SBINPERM=0754
+SBINPERM=0750
 AC_ARG_WITH(sbin-perm,
-   AC_HELP_STRING([--with-sbin-perm=MODE], [specify permissions for sbin binaries @<:@default=0754@:>@]),
+   AC_HELP_STRING([--with-sbin-perm=MODE], [specify permissions for sbin binaries @<:@default=0750@:>@]),
    [
        if test "x$withval" != "x" ; then   
          SBINPERM=$withval
@@ -1679,6 +1716,8 @@ BA_CHECK_POSTGRESQL_DB
 
 BA_CHECK_MYSQL_DB
 
+BA_CHECK_INGRES_DB
+
 BA_CHECK_SQLITE3_DB
 
 # BA_CHECK_SQLITE_DB
@@ -1709,13 +1748,28 @@ if test $pkg = 0; then
       ]
    )
 fi
+
+dnl For postgresql checking
+saved_LIBS="${LIBS}"
+LIBS="${saved_LIBS} ${SQL_LFLAGS}"
    
-dnl Check if postgresql support batch mode   
+dnl Check if postgresql can support batch mode
 if test x$DB_TYPE = xpostgresql; then
-   A=`test -f $SQL_LIB && nm $SQL_LIB | grep PQputCopyData`
+   AC_CHECK_LIB(pq, PQisthreadsafe, AC_DEFINE(HAVE_PQISTHREADSAFE, 1, [Set if have PQisthreadsafe]))
+   AC_CHECK_LIB(pq, PQputCopyData, AC_DEFINE(HAVE_PQ_COPY, 1, [Set if have PQputCopyData]))
+   test "x$ac_cv_lib_pq_PQputCopyData" != "xyes"
    pkg=$?
-   if test $pkg != 0; then
-      support_batch_insert=no
+   if test $pkg = 0; then
+      AC_ARG_ENABLE(batch-insert,
+        AC_HELP_STRING([--enable-batch-insert], [enable the DB batch insert code @<:@default=no@:>@]),
+        [
+            if test x$enableval = xno; then
+               support_batch_insert=no
+            else
+               support_batch_insert=yes
+            fi
+        ]
+      )
    fi
 fi
 
@@ -1725,7 +1779,9 @@ if test x$DB_TYPE = xdbi; then
    pkg=1
    dnl Check for batch insert
    if test $DB_PROG = postgresql; then
-      A=`test -f $SQL_LIB && nm $SQL_LIB | grep PQputCopyData`
+      AC_CHECK_LIB(pq, PQisthreadsafe, AC_DEFINE(HAVE_PQISTHREADSAFE))
+      AC_CHECK_LIB(pq, PQputCopyData, AC_DEFINE(HAVE_PQ_COPY))
+      test "x$ac_cv_lib_pq_PQputCopyData" != "xyes"
       pkg=$?
    fi
 
@@ -1737,6 +1793,7 @@ if test x$DB_TYPE = xdbi; then
    if test $DB_PROG = sqlite3; then
       A=`test -f $SQL_LIB && nm $DB_PROG_LIB | grep pthread_mutex_lock`
       pkg=$?
+      AC_CHECK_LIB(sqlite3, sqlite3_threadsafe, AC_DEFINE(HAVE_SQLITE3_THREADSAFE, 1, [Set if have sqlite3_threadsafe]))
    fi
 
    if test $pkg = 0; then
@@ -1756,8 +1813,16 @@ else
    uncomment_dbi="#"  
 fi
 
+dnl revert after postgresql checks
+LIBS="${saved_LIBS}"
+
 AC_SUBST(uncomment_dbi)
 
+dnl For Ingres always enable batch inserts.
+if test x$DB_TYPE = xingres; then
+   support_batch_insert=yes
+fi
+
 if test $support_batch_insert = yes ; then
    AC_DEFINE(HAVE_BATCH_FILE_INSERT, 1, [Set if DB batch insert code enabled])
 fi
@@ -1867,7 +1932,36 @@ AC_CACHE_CHECK(for socklen_t, ba_cv_header_socklen_t,
        )
    ]
 )
-test $ba_cv_header_socklen_t = yes && AC_DEFINE(HAVE_SOCKLEN_T)
+test $ba_cv_header_socklen_t = yes && AC_DEFINE(HAVE_SOCKLEN_T, 1, [Set if socklen_t exists])
+
+dnl --------------------------------------------------------------------------
+dnl Check for ioctl request type
+dnl --------------------------------------------------------------------------
+AC_LANG(C++)
+AC_CACHE_CHECK(for ioctl_req_t, ba_cv_header_ioctl_req_t,
+   [
+       AC_TRY_COMPILE(
+         [
+             #include <unistd.h>
+             #include <sys/types.h>
+             #include <sys/ioctl.h>
+         ], [
+             int (*d_ioctl)(int fd, unsigned long int request, ...);
+             d_ioctl = ::ioctl;
+         ], [
+            ba_cv_header_ioctl_req_t=yes
+         ], [
+            ba_cv_header_ioctl_req_t=no
+         ]
+       )
+   ]
+)
+test $ba_cv_header_ioctl_req_t = yes && AC_DEFINE(HAVE_IOCTL_ULINT_REQUEST, 1, [Set if ioctl request is unsigned long int])
+
+dnl Note: it is more correct to use AC_LANG(C++) but some of the older
+dnl   *BSD systems still use old style C prototypes, which are wrong with
+dnl   compiled with a C++ compiler. 
+AC_LANG(C)
 
 dnl --------------------------------------------------------------------------
 dnl Check for typeof()
@@ -2312,6 +2406,7 @@ AC_FUNC_STRFTIME
 AC_FUNC_VPRINTF
 AC_FUNC_ALLOCA
 AC_FUNC_GETMNTENT
+AC_CHECK_FUNCS(getmntinfo, [AC_DEFINE(HAVE_GETMNTINFO)])
 AC_FUNC_CLOSEDIR_VOID
 AC_FUNC_SETPGRP            dnl check for BSD setpgrp.
 # AC_FUNC_FNMATCH    dnl use local version
@@ -2321,12 +2416,89 @@ AC_CHECK_LIB(intl, gettext, [LIBS="$LIBS -lintl"])
 AC_CHECK_LIB(sun, getpwnam)
 
 AC_CHECK_HEADERS(zlib.h)
-AC_CHECK_LIB(z, deflate, [FDLIBS="-lz"])
+AC_CHECK_LIB(z, deflate, [ZLIBS="-lz"])
 have_zlib=no
-if test x$FDLIBS = x-lz; then
+if test x$ZLIBS = x-lz; then
    AC_DEFINE(HAVE_LIBZ)
    have_zlib=yes
 fi
+AC_SUBST(ZLIBS)
+
+dnl
+dnl Check if we have AFS on this system
+dnl
+AFS_CFLAGS=""
+AFS_LIBS=""
+support_afs=auto
+AC_ARG_ENABLE(afs,
+   AC_HELP_STRING([--disable-afs], [disable afs support @<:@default=auto@:>@]),
+   [
+       if test x$enableval = xyes; then
+         support_afs=yes
+       elif test x$enableval = xno; then
+         support_afs=no
+       fi
+   ]
+)
+
+have_afs=no
+if test x$support_afs = xyes -o x$support_afs = xauto; then
+   AC_ARG_WITH(afsdir,
+      AC_HELP_STRING([--with-afsdir@<:@=DIR@:>@], [Directory holding AFS includes/libs]),
+      with_afsdir=$withval
+   )
+
+   dnl
+   dnl Search in standard places, or --with-afsdir not specified
+   dnl
+   if test x$with_afsdir = x; then
+      for root in /usr /usr/local; do
+        if test -d ${root}/include/afs/ ; then
+           with_afsdir=${root}
+           break
+        fi
+      done
+   fi
+
+   AFS_CFLAGS="-I${with_afsdir}/include"
+
+   saved_CFLAGS="${CFLAGS}"
+   CFLAGS="${AFS_CFLAGS} ${saved_CFLAGS}"
+
+   AC_CHECK_HEADERS(afs/stds.h)
+
+   CFLAGS="${saved_CFLAGS}"
+
+   dnl
+   dnl See if we can find a libsys with the pioctl symbol in there
+   dnl
+   for dir in ${with_afsdir}/lib ${with_afsdir}/lib/afs
+   do
+      for arch_type in .a .so
+      do
+        A=`test -f ${dir}/libsys${arch_type} && nm ${dir}/libsys${arch_type} | grep pioctl`
+        pkg=$?
+        if test $pkg = 0; then
+           have_afs=yes
+           AFS_LIBS="-L${dir} -lsys -lrx -llwp ${dir}/util.a"
+           break
+        fi
+      done
+   done
+
+   if test x$support_afs = xyes -a $have_afs != yes; then
+      AC_MSG_ERROR([afs support explicitly enabled but no supported afs implementation found, 
+  please either load the afs libraries or rerun configure without --enable-afs])
+   else
+      if test $have_afs = yes; then
+        AC_DEFINE([HAVE_AFS],1,[Defines if your system has AFS support])
+        AC_DEFINE([HAVE_AFS_ACL],1,[Andrew FileSystem ACL support])
+      fi
+   fi
+fi
+
+AC_SUBST(AFS_CFLAGS)
+AC_SUBST(AFS_LIBS)
 
 dnl
 dnl Check for ACL support and libraries
@@ -2354,7 +2526,18 @@ if test x$support_acl = xyes -o x$support_acl = xauto; then
          AC_CHECK_LIB(acl, acl_get_file,
             [
                 have_acl=yes;
-                FDLIBS="-lacl $FDLIBS"
+                if test $have_afs = yes; then
+                   dnl
+                   dnl Because of possible naming conflict with AFS libacl make sure we use the one in /usr/lib64 or /usr/lib !!!
+                   dnl
+                   if test -d /usr/lib64/; then
+                      FDLIBS="-L/usr/lib64 -lacl $FDLIBS"
+                   else
+                      FDLIBS="-L/usr/lib -lacl $FDLIBS"
+                   fi
+                else
+                   FDLIBS="-lacl $FDLIBS"
+                fi
             ], [
                 AC_CHECK_LIB(pacl, acl_get_file,
                    [
@@ -2797,7 +2980,6 @@ mandrake)
        platforms/mandrake/bacula-fd \
        platforms/mandrake/bacula-sd \
        platforms/mandrake/bacula-dir \
-       platforms/mandrake/bacula.spec \
        "
   ;;
 gentoo)
@@ -2834,7 +3016,7 @@ solaris)
    if test x$DISTVER = x5.6 ; then
        AC_DEFINE(HAVE_OLD_SOCKOPT)
    fi
-   LIBS="$LIBS -lresolv"
+   LIBS="$LIBS -lresolv -lrt"
   ;;
 suse)
    DISTVER=`cat /etc/SuSE-release |grep VERSION|\
@@ -2846,8 +3028,7 @@ suse)
        platforms/suse/bacula-fd \
        platforms/suse/bacula-sd \
        platforms/suse/bacula-dir \
-       platforms/suse/bacula \
-       platforms/suse/bacula.spec"
+       platforms/suse/bacula"
   ;;
 suse5)
    DISTNAME=suse
@@ -2958,6 +3139,7 @@ AC_OUTPUT([autoconf/Make.common \
           src/filed/Makefile \
           src/filed/bacula-fd.conf \
           src/cats/Makefile \
+          src/cats/make_catalog_backup.pl \
           src/cats/make_catalog_backup \
           src/cats/delete_catalog_backup \
           src/cats/create_postgresql_database \
@@ -2978,14 +3160,14 @@ AC_OUTPUT([autoconf/Make.common \
           src/cats/grant_sqlite3_privileges \
           src/cats/drop_sqlite3_tables \
           src/cats/drop_sqlite3_database \
+          src/cats/create_ingres_database \
+          src/cats/update_ingres_tables \
+          src/cats/make_ingres_tables \
+          src/cats/grant_ingres_privileges \
+          src/cats/drop_ingres_tables \
+          src/cats/drop_ingres_database \
           src/cats/sqlite \
           src/cats/mysql \
-          src/cats/create_bdb_database \
-          src/cats/update_bdb_tables \
-          src/cats/make_bdb_tables \
-          src/cats/grant_bdb_privileges \
-          src/cats/drop_bdb_tables \
-          src/cats/drop_bdb_database \
           src/cats/create_bacula_database \
           src/cats/update_bacula_tables \
           src/cats/grant_bacula_privileges \
@@ -3011,20 +3193,16 @@ AC_OUTPUT([autoconf/Make.common \
 )
 
 if test "${support_bat}" = "yes" ; then
-   if test "x$QMAKE" = "xnone" && test "x$QMAKEQT4" = "xnone"; then
-      AC_MSG_ERROR([Could not find qmake or qmake-qt4 in $PATH. Check your Qt installation])
+   if test "x$QMAKE" = "xnone"; then
+      AC_MSG_ERROR([Could not find qmake $PATH. Check your Qt installation])
    fi
 
    QMAKEBIN="qmake"
-
-   if test "x$QMAKEQT4" != "xnone"; then
-       QMAKEBIN=qmake-qt4
-   fi
-  
    cd src/qt-console
    echo "Creating bat Makefile"
    touch bat
    chmod 755 bat
+   rm -f Makefile
    $QMAKEBIN
    ${MAKE:-make} clean
    cd ${BUILD_DIR}
@@ -3045,7 +3223,7 @@ cd ${BUILD_DIR}
 
 cd scripts
 chmod 755 startmysql stopmysql bacula startit stopit btraceback mtx-changer
-chmod 755 dvd-handler dvd-simulator breload make_catalog_backup.pl
+chmod 755 dvd-handler dvd-simulator
 chmod 755 bconsole gconsole mtx-changer devel_bacula logrotate
 cd ..
 
@@ -3053,14 +3231,12 @@ c=updatedb
 chmod 755 $c/update_mysql_tables_10_to_11   $c/update_sqlite3_tables_10_to_11
 chmod 755 $c/update_postgresql_tables_10_to_11
 
+
 c=src/cats
 
 chmod 755 $c/create_bacula_database   $c/update_bacula_tables  $c/make_bacula_tables
 chmod 755 $c/grant_bacula_privileges  $c/drop_bacula_tables    $c/drop_bacula_database
 
-chmod 755 $c/create_bdb_database      $c/update_bdb_tables     $c/make_bdb_tables
-chmod 755 $c/grant_bdb_privileges     $c/drop_bdb_tables       $c/drop_bdb_database
-
 chmod 755 $c/create_mysql_database    $c/update_mysql_tables   $c/make_mysql_tables
 chmod 755 $c/grant_mysql_privileges   $c/drop_mysql_tables     $c/drop_mysql_database
 
@@ -3070,7 +3246,11 @@ chmod 755 $c/grant_sqlite3_privileges  $c/drop_sqlite3_tables     $c/drop_sqlite3_d
 chmod 755 $c/create_postgresql_database  $c/update_postgresql_tables $c/make_postgresql_tables
 chmod 755 $c/grant_postgresql_privileges $c/drop_postgresql_tables   $c/drop_postgresql_database
 
-chmod 755 $c/make_catalog_backup $c/delete_catalog_backup
+chmod 755 $c/create_ingres_database  $c/update_ingres_tables $c/make_ingres_tables
+chmod 755 $c/grant_ingres_privileges $c/drop_ingres_tables   $c/drop_ingres_database
+
+
+chmod 755 $c/make_catalog_backup $c/delete_catalog_backup  $c/make_catalog_backup.pl
 chmod 755 $c/sqlite
 chmod 755 $c/mysql
 
@@ -3106,7 +3286,7 @@ if test "x${db_type}" = "xInternal" ; then
    echo " "
    echo " "
    echo "You have not specified either --enable-client-only or one of the"
-   echo "  supported databases: MySQL, PostgreSQL, SQLite3, SQLite or DBI."
+   echo "  supported databases: MySQL, PostgreSQL, Ingres, SQLite3 or DBI."
    echo "  This is not permitted. Please reconfigure."
    echo " "
    echo "Aborting the configuration ..."
@@ -3174,13 +3354,15 @@ Configuration on `date`:
    ZLIB support:           ${have_zlib}
    enable-smartalloc:      ${support_smartalloc} 
    enable-lockmgr:         ${support_lockmgr}
-   bat support:            ${support_bat} ${QWT_LDFLAGS}
+   bat support:            ${support_bat}
    enable-gnome:           ${support_gnome} ${gnome_version}
    enable-bwx-console:     ${support_wx_console} ${wx_version}
    enable-tray-monitor:     ${support_tray_monitor}
    client-only:            ${build_client_only}
    build-dird:             ${build_dird}
    build-stored:           ${build_stored}
+   Plugin support:         ${have_plugins}
+   AFS support:            ${have_afs}
    ACL support:            ${have_acl}
    XATTR support:          ${have_xattr}
    Python support:         ${support_python} ${PYTHON_LIBS}
@@ -3188,4 +3370,25 @@ Configuration on `date`:
 
   " > config.out
 
+# create a small shell script useful for support with
+# configure options and config.out info
+cat > scripts/bacula_config << EOF
+#!/bin/sh
+cat << __EOC__
+$ $0 $ac_configure_args
+EOF
+cat config.out >> scripts/bacula_config
+echo __EOC__ >> scripts/bacula_config
+chmod 755 scripts/bacula_config
+
 cat config.out
+
+# Display a warning message if postgresql client lib is <= 8.1
+if test x$DB_TYPE = xpostgresql -a x$ac_cv_lib_pq_PQisthreadsafe != xyes \
+       -a x$support_batch_insert = xyes
+then
+       echo "WARNING: Your PostgreSQL client library is too old to detect "
+       echo " if it was compiled with --enable-thread-safety, consider to"
+       echo " upgrade it in order to avoid problems with Batch insert mode"
+       echo
+fi