]> git.sur5r.net Git - bacula/bacula/blobdiff - bacula/autoconf/configure.in
After working on increasing the performance of the sql commands.
[bacula/bacula] / bacula / autoconf / configure.in
index 3ddacdbac5305fbf039f645dbfc6f90e78ba3c90..7044b0257b822d897db29921bd85af6b42c0681a 100644 (file)
@@ -8,11 +8,12 @@ cd ..
 TOP_DIR=`pwd`
 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)
 
 dnl require a recent autoconf
-AC_PREREQ(2.13)
+AC_PREREQ(2.59)
 
 
 dnl search for true and false programs.
@@ -40,8 +41,11 @@ AC_PROG_CXX
 AC_PROG_CC_C_O                 dnl Determine if C compiler support -c -o.
 AC_PROG_GCC_TRADITIONAL        dnl Determine if ioctl() need -traditional.
 
-if test "x$CC" = xgcc; then
+BASECC=`basename $CC`
+have_gcc=no
+if test "x$BASECC" = xgcc; then
    AC_DEFINE(HAVE_GCC)
+   have_gcc=yes
 fi
 AC_PATH_PROG(CXX, $CXX, $CXX)
 if test ! -e $CXX; then
@@ -64,11 +68,12 @@ AC_PATH_PROG(AR, ar, ar)
 dnl AC_PATH_PROG(RANLIB, ranlib, ranlib)
 AC_PATH_PROG(OPENSSL, openssl, none)
 AC_PATH_PROG(MTX, mtx, mtx)
-AC_PATH_PROG(DF, df, df)
+AC_PATH_PROG(DD, dd, dd)
 AC_PATH_PROG(MKISOFS, mkisofs, mkisofs)
 AC_PATH_PROG(PYTHON, python, python)
 AC_PATH_PROG(GROWISOFS, growisofs, growisofs)
 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_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
@@ -104,8 +109,6 @@ AC_SUBST(LOCAL_CFLAGS)
 AC_SUBST(LOCAL_LDFLAGS)
 AC_SUBST(LOCAL_DEFS)
 
-
-
 dnl --------------------------------------------------
 dnl Bacula OP Sys determination (see aclocal.m4)
 dnl --------------------------------------------------
@@ -116,10 +119,16 @@ dnl Bacula OPSys Distribution determination (see aclocal.m4)
 # ----------------------------------------------------------
 BA_CHECK_OPSYS_DISTNAME
 
-# -----------------------------------------------------------
-dnl Check for gnome stuff for gnome-console
-# ----------------------------------------------------------
-AM_ACLOCAL_INCLUDE(gnome-macros)
+# --------------------------------------------------
+# Suppport for gettext (translations)
+# By default, $datadir is ${prefix}/share
+# --------------------------------------------------
+AM_GNU_GETTEXT([external])
+if test x${prefix} = xNONE ; then
+   if test `eval echo ${datadir}` = NONE/share ; then
+      datadir=/usr/share
+   fi
+fi
 
 # ------------------------------------------------------------------
 #  If the user has not set --prefix, we set our default to nothing.
@@ -134,6 +143,10 @@ if test x${prefix} = xNONE ; then
     prefix=
 fi
 sysconfdir=`eval echo ${sysconfdir}`
+datadir=`eval echo ${datadir}`
+localedir=`eval echo ${datadir}/locale`
+AC_DEFINE_UNQUOTED(LOCALEDIR, "$localedir") 
+AC_DEFINE_UNQUOTED(SYSCONFDIR, "$sysconfdir")
 
 # -------------------------------------------------------------------------
 #  If the user has not set --exec-prefix, we default to ${prefix}
@@ -171,7 +184,7 @@ then
    USE_NLS=no
    USE_INCLUDED_LIBINTL=no
 #else
-#   AM_GNU_GETTEXT
+    AM_GNU_GETTEXT
 fi
 
 
@@ -183,8 +196,10 @@ support_smartalloc=yes
 support_readline=yes
 support_conio=yes
 support_gnome=no
+support_bat=no
 support_wx_console=no
 support_tls=no
+support_crypto=no
 gnome_version=
 wx_version=
 support_static_tools=no
@@ -194,9 +209,11 @@ support_static_dir=no
 support_static_cons=no
 support_python=no
 build_client_only=no
+build_dird=yes
+build_stored=yes
 cats=
-db_name=Internal
-DB_NAME=bdb
+db_type=Internal
+DB_TYPE=bdb
 
 dnl# --------------------------------------------------------------------------
 dnl# CHECKING COMMAND LINE OPTIONS
@@ -206,7 +223,7 @@ dnl# --------------------------------------------------------------------------
 # gnome (default off)
 # -------------------------------------------
 AC_ARG_ENABLE(gnome,
-  [  --enable-gnome      enable build of gnome-console GUI [disabled]],
+  [  --enable-gnome      enable build of bgnome-console GUI [disabled]],
   [if test x$enableval = xyes; then
     support_gnome=yes
   fi])
@@ -232,12 +249,88 @@ if test x$support_gnome = xyes; then
 fi
 AC_SUBST(GNOME_DIR)
 
+# -------------------------------------------
+# bat (default off)
+# -------------------------------------------
+AC_ARG_ENABLE(bat,
+  [  --enable-bat      enable build of bat Qt4 GUI [disabled]],
+  [if test x$enableval = xyes; then
+    AC_DEFINE(HAVE_BAT, 1, [Set if Bacula bat Qt4 GUI support enabled]) 
+    support_bat=yes
+  fi])
+
+BAT_DIR=
+if test x$support_bat = xyes; then
+  abc=`$PKGCONFIG --atleast-version=4.2 QtGui`
+  pkg=$?
+  if test $pkg = 0; then
+     BAT_DIR=src/qt-console
+  else
+     AC_MSG_ERROR(Unable to find Qt4 installation needed by bat)
+  fi
+fi
+
+# 
+#  If bat is enabled, we need the qwt library
+got_qwt=no
+QWT_INC=
+QWT_LDFLAGS=
+if test x$support_bat = xyes; then
+   AC_MSG_CHECKING(for qwt support)
+   AC_ARG_WITH(qwt,
+     [ --with-qwt@<:@=DIR@:>@            specify qwt library directory],
+     [
+       case "$with_qwt" in
+       no)
+         ;;
+       yes|*)
+         if test -f ${with_qwt}/include/qwt.h; then
+            QWT_INC="${with_qwt}/include"
+            QWT_LDFLAGS="-L${with_qwt}/lib"
+         fi
+         ;;
+       esac
+     ]  
+   )
+#
+# Search in standard places, or --with-qwt not specified
+#
+   if test x$QWT_INC = x; then
+      for root in /usr /usr/local; do
+        for ver in qwt qwt5; 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"
+              else
+                 QWT_LDFLAGS="-L${root}/lib"
+              fi
+              got_qwt=yes
+              break;
+           fi
+        done
+      done
+   fi
+   if test x$QWT_INC = x; then
+      AC_MSG_RESULT(no)
+      AC_MSG_ERROR(Unable to find qwt package needed by bat)
+      BAT_DIR=
+      support_bat=no
+   else
+      AC_MSG_RESULT(yes)
+   fi
+fi
+
+AC_SUBST(BAT_DIR)
+AC_SUBST(QWT_INC)
+AC_SUBST(QWT_LDFLAGS)
+
 
 # -------------------------------------------
-# wx-console (default off)
+# bwx-console (default off)
 # -------------------------------------------
-AC_ARG_ENABLE(wx-console,
-  [  --enable-wx-console     enable build of wxWidgets console [disabled]],
+AC_ARG_ENABLE(bwx-console,
+  [  --enable-bwx-console     enable build of wxWidgets console [disabled]],
   [if test x$enableval = xyes; then
     support_wx_console=yes
   fi])
@@ -256,7 +349,7 @@ if test x$support_wx_console = xyes; then
      WX_DIR=src/wx-console
   else
      echo " "
-     echo "wx-config program not found. wx-console disabled."
+     echo "wx-config program not found. bwx-console disabled."
      echo " "
      support_wx_console=no
   fi
@@ -286,7 +379,7 @@ if test x$support_tray_monitor = xyes; then
      abc=`$PKGCONFIG --atleast-version=2.4 gtk+-2.0`
      pkg=$?
      if test $pkg = 0; then
-       AC_DEFINE(HAVE_GTK_2_4)
+     AC_DEFINE(HAVE_GTK_2_4)
      fi
   fi
 fi
@@ -379,8 +472,8 @@ STATIC_GNOME_CONS=
 STATIC_WX_CONS=
 if test x$support_static_cons = xyes; then
    STATIC_CONS="static-bconsole"
-   STATIC_GNOME_CONS="static-gnome-console"
-   STATIC_WX_CONS="static-wx-console"
+   STATIC_GNOME_CONS="static-bgnome-console"
+   STATIC_WX_CONS="static-bwx-console"
 fi
 AC_SUBST(STATIC_CONS)
 AC_SUBST(STATIC_GNOME_CONS)
@@ -392,9 +485,9 @@ AC_SUBST(STATIC_WX_CONS)
 AC_ARG_ENABLE(client-only,
    [  --enable-client-only    build client (File daemon) only [disabled]],
    [if test x$enableval = xyes; then
-     build_client_only=yes
-    db_name=None
-    DB_NAME=none
+      build_client_only=yes
+      db_type=None
+      DB_TYPE=none
    fi])
 if test x$build_client_only = xno; then
    ALL_DIRS="subdirs"
@@ -403,16 +496,77 @@ else
 fi
 AC_SUBST(ALL_DIRS)
 
+# -------------------------------------------
+# director  (default on)
+# -------------------------------------------
+AC_ARG_ENABLE(build-dird,
+   [  --enable-build-dird     enable building of dird (Director) [enabled]],
+   [if test x$enableval = xno; then
+      build_dird=no
+   fi])
+if test x$build_dird = xyes; then
+   DIRD_DIR="src/dird"
+   DIR_TOOLS="DIRTOOLS"
+else
+   DIRD_DIR=""
+   DIR_TOOLS="NODIRTOOLS"
+fi
+AC_SUBST(DIRD_DIR)
+AC_SUBST(DIR_TOOLS)
+
+# -------------------------------------------
+# stored  (default on)
+# -------------------------------------------
+AC_ARG_ENABLE(build-stored,
+   [  --enable-build-stored   enable building of stored (Storage daemon) [enabled]],
+   [if test x$enableval = xno; then
+      build_stored=no
+   fi])
+if test x$build_stored = xyes; then
+   STORED_DIR="src/stored"
+else
+   STORED_DIR=""
+fi
+AC_SUBST(STORED_DIR)
+
 # ---------------------------------------------------
 # Check for conio (Bacula readline substitute)(
 # ---------------------------------------------------
 # this allows you to turn it completely off
-AC_ARG_ENABLE(conio,   
-  [  --disable-conio        disable conio support [enabled]
+AC_ARG_ENABLE(conio,
+  [ --disable-conio disable conio support [enabled]
+                                             ],
+  [if test x$enableval = xno; then
+     support_conio=no
+  fi]
+)
+  
+
+# ---------------------------------------------------
+# Check for IPv6 support
+# ---------------------------------------------------
+# this allows you to turn it completely off
+support_ipv6=yes
+AC_ARG_ENABLE(ipv6,   
+  [  --enable-ipv6                 enable ipv6 support [enabled]
                                                      ],
   [if test x$enableval = xno; then
-    support_conio=no
-  fi])
+     support_ipv6=no  
+  fi]
+)
+
+if test x$support_ipv6 = xyes; then
+    AC_TRY_LINK([ #include <sys/types.h>
+#include <sys/socket.h>
+#include <netinet/in.h>], [struct sockaddr_in6 s; struct in6_addr t=in6addr_any; int i=AF_INET6; s; t.s6_addr[0] = 0;],
+      [support_ipv6=yes], [support_ipv6=no])
+fi
+
+if test x$support_ipv6 = xyes; then
+   AC_DEFINE(HAVE_IPV6,1,[Whether to enable IPv6 support])
+fi
+
+
 
 got_conio="no"
 if test x$support_conio = xyes; then
@@ -471,20 +625,24 @@ got_readline="no"
 READLINE_SRC=
 if test x$support_readline = xyes; then
    AC_ARG_WITH(readline,
-     [ --with-readline=DIR              specify readline library directory],
+     [ --with-readline@<:@=DIR@:>@            specify readline library directory],
      [
        case "$with_readline" in
        no) : ;;
        yes|*)
-         if test "$with_readline" != "yes"; then
-           CONS_INC="-I${with_readline}"
-           CONS_LDFLAGS="-L$with_readline"
+         if test -f ${with_readline}/readline.h; then
+            CONS_INC="-I${with_readline}"
+            CONS_LDFLAGS="-L$with_readline"
+         elif test -f ${with_readline}/include/readline/readline.h; then
+            CONS_INC="-I${with_readline}/include/readline"
+            CONS_LDFLAGS="-L${with_readline}/lib"
+            with_readline="${with_readline}/include/readline"
          else
             with_readline="/usr/include/readline" 
          fi
          AC_CHECK_HEADER(${with_readline}/readline.h, 
             [ AC_DEFINE(HAVE_READLINE) 
-              CONS_LIBS="-lreadline -ltermcap"
+              CONS_LIBS="-lreadline -lhistory -ltermcap"
               got_readline="yes"   
             ],
             [ echo " "
@@ -536,7 +694,7 @@ MAKE_SHELL=/bin/sh
 AC_SUBST(MAKE_SHELL)
 AC_HEADER_STAT
 AC_HEADER_DIRENT
-AC_CHECK_FUNCS(strcasecmp select setenv putenv tcgetattr setlocale lstat lchown)
+AC_CHECK_FUNCS(strcasecmp select setenv putenv tcgetattr lstat lchown)
 AC_CHECK_FUNCS(nanosleep nl_langinfo)
 AC_CHECK_HEADERS(varargs.h)
 
@@ -549,7 +707,7 @@ AC_CHECK_HEADERS(varargs.h)
 AC_MSG_CHECKING(for Python support)
 AC_ARG_WITH(python,
 [
-  --with-python[=DIR]    Include Python support.  DIR is the Python base
+  --with-python@<:@=DIR@:>@    Include Python support.  DIR is the Python base
                          install directory, default is to search through
                          a number of common places for the Python files.],
 [
@@ -557,29 +715,50 @@ AC_ARG_WITH(python,
   PYTHON_LIBS=
   if test "$withval" != "no"; then
      if test "$withval" = "yes"; then
-       if test -f /usr/include/python2.2/Python.h; then
-          PYTHON_INCDIR=-I/usr/include/python2.2
-          PYTHON_LIBS="-L/usr/lib/python2.2/config -lpython2.2 -lutil -ldl"
-       elif test -f /usr/include/python2.3/Python.h; then
-          PYTHON_INCDIR=-I/usr/include/python2.3
-          PYTHON_LIBS="-L/usr/lib/python2.3/config -lpython2.3 -lutil -ldl"
-       elif test -f /usr/include/python2.4/Python.h; then
-          PYTHON_INCDIR=-I/usr/include/python2.4
-          PYTHON_LIBS="-L/usr/lib/python2.4/config -lpython2.4 -lutil -ldl"
-       elif test -f $prefix/include/Python.h; then
-          PYTHON_INCDIR=-I$prefix/include
-          PYTHON_LIBS="-L$prefix/lib/config -lpython -lutil -ldl"
-       else
+       for python_root in /usr /usr/local /usr/sfw; do
+         for ver in python2.2 python2.3 python2.4 python2.5; do
+            if test -f $python_root/include/${ver}/Python.h; then
+               PYTHON_INCDIR=-I$python_root/include/${ver}
+               if test -d $python_root/lib64/${ver}/config; then
+                  PYTHON_LIBS="-L$python_root/lib64/${ver}/config -l${ver}"
+               else
+                  PYTHON_LIBS="-L$python_root/lib/${ver}/config -l${ver}"
+               fi
+               break 
+            fi
+         done
+       done
+       if test x$PYTHON_INCDIR = x; then
+         if test -f $prefix/include/Python.h; then
+            PYTHON_INCDIR=-I$prefix/include
+            if test -d $prefix/lib64/config; then
+               PYTHON_LIBS="-L$prefix/lib64/config -lpython"
+            else
+               PYTHON_LIBS="-L$prefix/lib/config -lpython"
+            fi
+         else
           AC_MSG_RESULT(no)
           AC_MSG_ERROR(Unable to find Python.h in standard locations)
+         fi
        fi
      else
        if test -f $withval/Python.h; then
           PYTHON_INCDIR=-I$withval
-          PYTHON_LIBS="-L$withval/config -lpython -lutil -ldl"
+          PYTHON_LIBS="-L$withval/config -lpython"
        elif test -f $withval/include/Python.h; then
           PYTHON_INCDIR=-I$withval/include
-          PYTHON_LIBS="-L$withval/lib/config -lpython -lutil -ldl"
+          if test -d $withval/lib64/config; then
+             PYTHON_LIBS="-L$withval/lib64/config -lpython"
+          else
+             PYTHON_LIBS="-L$withval/lib/config -lpython"
+          fi
+       elif test -f $withval/include/python/Python.h; then
+          PYTHON_INCDIR=-I$withval/include/python
+          if test -d $withval/lib64/python/config; then
+             PYTHON_LIBS="-L$withval/lib64/python/config -lpython"
+          else
+             PYTHON_LIBS="-L$withval/lib/python/config -lpython"
+          fi
        else
           AC_MSG_RESULT(no)
           AC_MSG_ERROR(Invalid Python directory $withval - unable to find Python.h under $withval)
@@ -588,7 +767,12 @@ AC_ARG_WITH(python,
      AC_DEFINE([HAVE_PYTHON], 1)
      AC_MSG_RESULT(yes)
      support_python=yes
-
+     AC_MSG_NOTICE(checking for more Python libs)
+     saved_LIBS="$LIBS"; LIBS=
+     AC_SEARCH_LIBS(shm_open, [rt])
+     AC_CHECK_LIB(util, openpty)
+     PYTHON_LIBS="$PYTHON_LIBS $LIBS"
+     LIBS="$saved_LIBS"
   else
      AC_MSG_RESULT(no)
   fi
@@ -597,7 +781,6 @@ AC_ARG_WITH(python,
 ])
 AC_SUBST(PYTHON_LIBS)
 AC_SUBST(PYTHON_INCDIR)
-  
 
 #
 # Find where sockets are (especially for Solaris)
@@ -615,15 +798,18 @@ AC_CHECK_FUNC(socket,
 # Check whether user wants TCP wrappers support (default off)
 # -----------------------------------------------------------
 TCPW_MSG="no" 
+WRAPLIBS=""
 AC_ARG_WITH(tcp-wrappers,
-  [  --with-tcp-wrappers=DIR    enable tcpwrappers support],
+  [  --with-tcp-wrappers@<:@=DIR@:>@   enable tcpwrappers support],
   [
     if test "x$withval" != "xno" ; then
        saved_LIBS="$LIBS"
        LIBS="$saved_LIBS -lwrap"
        AC_MSG_CHECKING(for libwrap)
+       AC_SEARCH_LIBS(nanosleep, [rt])
        AC_TRY_LINK(
-         [ #include <tcpd.h>
+         [ #include <sys/types.h>
+           #include <tcpd.h>
             int deny_severity = 0;
             int allow_severity = 0;
             struct request_info *req; ],
@@ -632,10 +818,14 @@ AC_ARG_WITH(tcp-wrappers,
            AC_MSG_RESULT(yes)
            AC_DEFINE(HAVE_LIBWRAP)
            TCPW_MSG="yes" 
+           LIBS="$saved_LIBS"
+           WRAPLIBS="-lwrap"
          ], [
            LIBS="$saved_LIBS -lwrap -lnsl"
+           WRAPLIBS="$saved_LIBS -lwrap -lnsl"
            AC_TRY_LINK(
-             [ #include <tcpd.h>
+             [ #include <sys/types.h>
+                #include <tcpd.h>
                 int deny_severity = 0;
                 int allow_severity = 0;
                 struct request_info *req; ],
@@ -644,6 +834,8 @@ AC_ARG_WITH(tcp-wrappers,
                 AC_MSG_RESULT(yes)
                 AC_DEFINE(HAVE_LIBWRAP)
                 TCPW_MSG="yes" 
+                LIBS="$saved_LIBS"
+                WRAPLIBS="-lwrap"
              ],
              [AC_MSG_ERROR([*** libwrap missing]) ] ]
            )
@@ -672,26 +864,55 @@ if test "x$with_openssl_directory" != "x"; then
                OPENSSL_INC="-I$with_openssl_directory/include $OPENSSL_INC"
        fi
 
-       saved_LIBS="$LIBS"
-       saved_CFLAGS="$CFLAGS"
-       LIBS="$saved_LIBS $OPENSSL_LIBS"
-       CFLAGS="$saved_CFLAGS $OPENSSL_INC"
+       saved_LIBS="${LIBS}"
+       saved_CFLAGS="${CFLAGS}"
+       LIBS="${saved_LIBS} ${OPENSSL_LIBS}"
+       CFLAGS="${saved_CFLAGS} ${OPENSSL_INC}"
 
        AC_TRY_LINK([ #include <openssl/ssl.h> ],
                [ CRYPTO_set_id_callback(NULL); ],
-               [ support_tls="yes" ],
+               [
+                       support_tls="yes"
+                       support_crypto="yes"
+               ],
                [ support_tls="no" ]
        )
 
-       LIBS="$saved_LIBS"
-       CFLAGS="$saved_CFLAGS"
+       AC_TRY_LINK([ #include <openssl/evp.h> ],
+               [ EVP_sha512(); ],
+               [ ac_cv_openssl_sha2="yes" ],
+               [ ac_cv_openssl_sha2="no" ]
+       )
+
+       # Solaris disables greater than 128+ bit encryption in their OpenSSL
+       # implementation, presumably for export reasons. If 192bit AES
+       # is available, we assume that we're running with a 'non-export'
+       # openssl library.
+       AC_TRY_LINK([ #include <openssl/evp.h> ],
+               [ EVP_aes_192_cbc(); ],
+               [ ac_cv_openssl_export="no" ],
+               [ ac_cv_openssl_export="yes" ]
+       )
+
+       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])
+               AC_DEFINE(HAVE_CRYPTO, 1, [Define if encryption support should be enabled])
+       fi
+
+       if test "$ac_cv_openssl_sha2" = "yes"; then
+               AC_DEFINE(HAVE_SHA2, 1, [Define if the SHA-2 family of digest algorithms is available])
+       fi
+
+       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
 else
        support_tls="no"
+       support_crypto="no"
        OPENSSL_LIBS=""
        OPENSSL_INC=""
 fi
@@ -701,6 +922,13 @@ AC_SUBST(OPENSSL_LIBS)
 AC_SUBST(OPENSSL_INC)
 
 
+# -----------------------------------------------------------
+# Python and OpenSSL are using dlopen
+# -----------------------------------------------------------
+
+if test "$support_python" = "yes" -o "$support_tls" = "yes"; then
+   AC_SEARCH_LIBS(dlopen, [dl])
+fi
 
 # ------------------------------------------
 # Where to place working dir
@@ -801,6 +1029,13 @@ AC_SUBST(piddir)
 # Where to place subsys "lock file"
 # ------------------------------------
 subsysdir=/var/run/subsys
+if test -d /var/run/subsys; then
+   subsysdir=/var/run/subsys
+elif test -d /var/lock/subsys; then
+   subsysdir=/var/lock/subsys
+else
+   subsysdir=/var/run/subsys
+fi
 AC_ARG_WITH(subsys-dir,
     [  --with-subsys-dir=PATH   specify location of Bacula subsys file],
     [
@@ -961,6 +1196,31 @@ AC_SUBST(mon_dir_password)
 AC_SUBST(mon_fd_password)
 AC_SUBST(mon_sd_password)
 
+#
+# Pickup any database name
+#
+db_name=bacula
+AC_ARG_WITH(db_name,
+    [  --with-db-name=DBNAME          specify database name (default bacula)],
+    [
+       if test "x$withval" != "x" ; then       
+            db_name=$withval
+       fi
+    ]
+)
+AC_SUBST(db_name)
+
+db_user=bacula
+AC_ARG_WITH(db_user,
+    [  --with-db-user=UNAME           specify database user (default bacula)],
+    [
+       if test "x$withval" != "x" ; then       
+            db_user=$withval
+       fi
+    ]
+)
+AC_SUBST(db_user)
+
 
 #
 # Handle users and groups for each daemon
@@ -1025,9 +1285,6 @@ AC_ARG_WITH(fd_group,
     ]
 )
 
-
-
-
 AC_SUBST(dir_user)
 AC_SUBST(dir_group)
 AC_SUBST(sd_user)
@@ -1053,6 +1310,7 @@ AC_SUBST(SBINPERM)
 # ------------------------------------------------
 # Bacula check for various SQL database engines
 # ------------------------------------------------
+SQL_LIB=
 BA_CHECK_POSTGRESQL_DB
 
 BA_CHECK_MYSQL_DB
@@ -1062,7 +1320,29 @@ BA_CHECK_SQLITE3_DB
 BA_CHECK_SQLITE_DB
 
 AC_SUBST(cats)
-AC_SUBST(DB_NAME)
+AC_SUBST(DB_TYPE)
+
+# -------------------------------------------
+# enable batch attribute DB insert (default on)
+# -------------------------------------------
+support_batch_insert=no
+A=`nm $SQL_LIB | grep pthread_mutex_lock`
+pkg=$?
+if test $pkg = 0; then
+   support_batch_insert=yes
+   AC_ARG_ENABLE(batch-insert,
+     [ --enable-batch-insert       enable the DB batch insert code [disabled]],
+     [if test x$enableval = xno; then
+       support_batch_insert=no
+      else
+       support_batch_insert=yes
+     fi])
+fi
+                                                         
+if test $support_batch_insert = yes ; then
+   AC_DEFINE(HAVE_BATCH_FILE_INSERT, 1, [Set if DB batch insert code enabled])
+fi
+
 
 AC_DEFINE(PROTOTYPES)
 
@@ -1161,6 +1441,18 @@ AC_CACHE_CHECK([for bigendian], ba_cv_bigendian,
     [ba_cv_bigendian=no])])
 test $ba_cv_bigendian = yes && AC_DEFINE(HAVE_BIGENDIAN)
 
+dnl# --------------------------------------------------------------------------
+dnl# Check for typeof()
+dnl# --------------------------------------------------------------------------
+AC_LANG_PUSH(C++)
+AC_CACHE_CHECK(for typeof, ba_cv_have_typeof,
+  [AC_TRY_RUN(
+    [main(){char *a = 0; a = (typeof a)a;}],
+    [ba_cv_have_typeof=yes],
+    [ba_cv_have_typeof=no],
+    [ba_cv_have_typeof=no])])
+test $ba_cv_have_typeof = yes && AC_DEFINE([HAVE_TYPEOF], 1, [Defind to 1 if compiler has typeof])
+AC_LANG_POP(C++)
 
 AC_C_CONST
 
@@ -1193,6 +1485,8 @@ AC_TRY_CPP([#include <sys/mount.h>
 fi
 AC_MSG_RESULT($fstype)
 
+AC_CHECK_HEADER(sys/statvfs.h, [ AC_DEFINE(HAVE_SYS_STATVFS_H,1,[Defines if your system have the sys/statvfs.h header file])] , )
+
 dnl# --------------------------------------------------------------------------
 dnl# CHECKING FOR TYPEDEFS, STRUCTURES, AND COMPILER CHARACTERISTICS.
 dnl# --------------------------------------------------------------------------
@@ -1419,6 +1713,8 @@ AC_CHECK_FUNCS( \
 
 AC_CHECK_FUNCS(fchdir, [AC_DEFINE(HAVE_FCHDIR)])
 AC_CHECK_FUNCS(strtoll, [AC_DEFINE(HAVE_STRTOLL)])
+AC_CHECK_FUNCS(posix_fadvise)
+AC_CHECK_FUNCS(fdatasync)
 
 AC_CHECK_FUNCS(chflags) 
 
@@ -1453,18 +1749,6 @@ AC_CACHE_CHECK(for struct sockaddr has a sa_len field, ac_cv_struct_sockaddr_sa_
  fi
 
 
-dnl Check for IPv6 support
-AC_CACHE_CHECK([for IPv6 support], ac_cv_ipv6_support,
-[AC_TRY_LINK([ #include <sys/types.h>
-#include <sys/socket.h>
-#include <netinet/in.h>], [struct sockaddr_in6 s; struct in6_addr t=in6addr_any; int i=AF_INET6; s; t.s6_addr[0] =
- 0;],
-  [ac_cv_ipv6_support=yes], [ac_cv_ipv6_support=no])])
-
-if test "$ac_cv_ipv6_support" = yes; then
-  AC_DEFINE(HAVE_IPV6,1,[Whether to enable IPv6 support])
-fi
-
 
 
 AC_FUNC_STRFTIME
@@ -1476,8 +1760,7 @@ AC_FUNC_SETPGRP                 dnl check for BSD setpgrp.
 # AC_FUNC_FNMATCH    dnl use local version
 
 
-dnl# FreeBSD needs to link libxpg4
-AC_CHECK_LIB(xpg4, setlocale, [LIBS="$LIBS -lxpg4"])
+AC_CHECK_LIB(intl, gettext, [LIBS="$LIBS -lintl"])
 
 
 AC_CHECK_LIB(sun, getpwnam)
@@ -1490,22 +1773,28 @@ if test x$FDLIBS = x-lz; then
   have_zlib=yes
 fi
 
-AC_CHECK_HEADER(sys/acl.h)
-AC_CHECK_LIB(acl, acl_get_file, [FDLIBS="-lacl $FDLIBS"])
+#
+# Check for ACL libraries
+#
 have_acl=no
-if test $ac_cv_lib_acl_acl_get_file = yes; then
+AC_CHECK_HEADER(sys/acl.h)
+AC_CHECK_FUNC(acl_get_file, [have_acl=yes],
+   [AC_CHECK_LIB(acl, acl_get_file, [have_acl=yes; FDLIBS="-lacl $FDLIBS"], 
+      [AC_CHECK_LIB(sec, acltotext, [have_acl=yes; FDLIBS="-lsec $FDLIBS"])]
+    )]
+)
+if test $have_acl = yes; then
    AC_DEFINE(HAVE_ACL)
-   have_acl=yes
 fi
 
 dnl Check for pthread libraries
 PTHREAD_LIB=""
 AC_CHECK_LIB(pthread, pthread_create, PTHREAD_LIB="-lpthread",
-       [AC_CHECK_LIB(pthreads, pthread_create, PTHREAD_LIB="-lpthreads",
-           [AC_CHECK_LIB(c_r, pthread_create, PTHREAD_LIB="-lc_r",
-               [AC_CHECK_FUNC(pthread_create)]
-           )]
-       )]
+   [AC_CHECK_LIB(pthreads, pthread_create, PTHREAD_LIB="-lpthreads",
+      [AC_CHECK_LIB(c_r, pthread_create, PTHREAD_LIB="-lc_r",
+           [AC_CHECK_FUNC(pthread_create)]
+       )]
+    )]
 )
 
 AC_SUBST(FDLIBS)
@@ -1513,16 +1802,22 @@ AC_DEFINE(FDLIBS)
 
 
 CFLAGS=${CFLAGS--O}
+
+if test x$have_gcc = xyes ; then
+   CPPFLAGS="$CPPFLAGS -fno-strict-aliasing -fno-exceptions -fno-rtti"
+   CFLAGS="$CFLAGS -fno-strict-aliasing -fno-exceptions -fno-rtti"
+fi
 LDFLAGS=${LDFLAGS--O}
 DB_LIBS="${SQL_LFLAGS}"
-
 CPPFLAGS="$CPPFLAGS"
+CFLAGS="$CFLAGS"
 AC_SUBST(DEBUG)
 AC_SUBST(DINCLUDE)
 AC_SUBST(CFLAGS)
 AC_SUBST(CPPFLAGS)
 AC_SUBST(LDFLAGS)
 AC_SUBST(X_CFLAGS)
+AC_SUBST(DEFS)
 AC_SUBST(LIBS)
 AC_SUBST(DLIB)
 AC_SUBST(DB_LIBS)
@@ -1530,6 +1825,7 @@ AC_SUBST(X_LIBS)
 AC_SUBST(X_EXTRA_LIBS)
 AC_SUBST(WCFLAGS)
 AC_SUBST(WLDFLAGS)
+AC_SUBST(WRAPLIBS)
 
 dnl# extra configurable objects
 OBJLIST=
@@ -1551,6 +1847,9 @@ PSCMD="ps -e"
 WIN32=
 MACOSX=
 hostname=`uname -n | cut -d '.' -f 1`
+if test x${hostname} = x ; then
+  hostname="localhost"
+fi
 case "$DISTNAME" in
 aix)
        DISTVER=`uname -r`
@@ -1610,8 +1909,8 @@ freebsd)
        DISTVER=`uname -a |awk '{print $3}'`
        VER=`echo $DISTVER | cut -c 1`
        if test x$VER = x4 ; then
-          PTHREAD_LIB="-pthread"
-          CFLAGS="${CFLAGS} -pthread"
+          PTHREAD_LIB="${PTHREAD_LIBS:--pthread}"
+          CFLAGS="${CFLAGS} ${PTHREAD_CFLAGS:--pthread}"
        fi
        lld="qd"
        llu="qu"
@@ -1625,8 +1924,8 @@ freebsd)
        largefile_support="yes"
   ;;
 hpux)
-       PSCMD="UNIX95=1 ps -e -o pid,comm"
-       CFLAGS="$(CFLAGS) -D_XOPEN_SOURCE_EXTENDED=1"
+       PSCMD="UNIX95=1; ps -e -o pid,comm"
+       CFLAGS="${CFLAGS} -D_XOPEN_SOURCE_EXTENDED=1"
        DISTVER=`uname -r`
        TAPEDRIVE="/dev/rmt/0hnb"
        PTHREAD_LIB="-lpthread"
@@ -1688,7 +1987,6 @@ redhat)
            platforms/redhat/bacula-dir \
            platforms/redhat/bacula.spec \
            "
-       hostname=`hostname -s`
   ;;
 mandrake)
        DISTVER=`cat /etc/mandrake-release | grep release |\
@@ -1805,6 +2103,7 @@ fi
 
 AC_OUTPUT([autoconf/Make.common \
           Makefile \
+          manpages/Makefile \
           scripts/startmysql \
           scripts/stopmysql \
           scripts/btraceback \
@@ -1813,6 +2112,9 @@ AC_OUTPUT([autoconf/Make.common \
           scripts/bconsole \
           scripts/gconsole \
           scripts/bacula \
+          scripts/bacula-ctl-dir \
+          scripts/bacula-ctl-fd \
+          scripts/bacula-ctl-sd \
           scripts/devel_bacula \
           scripts/Makefile \
           scripts/logrotate \
@@ -1822,21 +2124,32 @@ AC_OUTPUT([autoconf/Make.common \
           scripts/bacula.desktop.gnome2.consolehelper \
           scripts/bacula.desktop.gnome1.xsu \
           scripts/bacula.desktop.gnome2.xsu \
-          scripts/gnome-console.console_apps \
+          scripts/bgnome-console.console_apps \
           scripts/mtx-changer \
-          scripts/dvd-writepart \
-          scripts/dvd-freespace \
+          scripts/disk-changer \
+          scripts/dvd-handler \
+          scripts/dvd-simulator \
           scripts/bacula-tray-monitor.desktop \
           scripts/logwatch/Makefile \
           scripts/logwatch/logfile.bacula.conf \
+          scripts/wxconsole.console_apps \
+          scripts/wxconsole.desktop.consolehelper \
+          scripts/wxconsole.desktop.xsu \
+          scripts/bat.desktop \
+          scripts/bat.desktop.xsu \
+          scripts/bat.desktop.consolehelper \
+          scripts/bat.console_apps \
           src/Makefile \
           src/host.h \
           src/console/Makefile \
           src/console/bconsole.conf \
           src/gnome2-console/Makefile \
-          src/gnome2-console/gnome-console.conf \
+          src/gnome2-console/bgnome-console.conf \
+          src/qt-console/bat.conf \
+          src/qt-console/bat.pro \
+          src/qt-console/install_conf_file \
           src/wx-console/Makefile \
-          src/wx-console/wx-console.conf \
+          src/wx-console/bwx-console.conf \
           src/tray-monitor/Makefile \
           src/tray-monitor/tray-monitor.conf \
           src/dird/Makefile \
@@ -1846,7 +2159,6 @@ AC_OUTPUT([autoconf/Make.common \
           src/stored/bacula-sd.conf \
           src/filed/Makefile \
           src/filed/bacula-fd.conf \
-          src/filed/win32/Makefile \
           src/cats/Makefile \
           src/cats/make_catalog_backup \
           src/cats/delete_catalog_backup \
@@ -1890,19 +2202,25 @@ AC_OUTPUT([autoconf/Make.common \
           src/cats/drop_bacula_database \
           src/findlib/Makefile \
           src/tools/Makefile \
-          src/win32/winbacula.nsi \
-          src/win32/baculafd/bacula-fd.conf \
-          src/win32/Makefile \
-          src/win32/console/bconsole.conf \
-          src/win32/wx-console/wx-console.conf \
-          src/win32/pebuilder/Makefile \
+          po/Makefile.in \
           $PFILES ],  
-         [(echo "Doing make of dependencies"; ${MAKE:-make} depend;) ]
+         [ ]
 )
 
+if test "${support_bat}" = "yes" ; then
+  cd src/qt-console
+  chmod 755 install_conf_file build-depkgs-qt-console
+  echo "Creating bat Makefile" 
+  qmake
+  cd ${BUILD_DIR}
+fi
+
+echo "Doing make of dependencies"
+${MAKE:-make} depend
+
 cd scripts
 chmod 755 startmysql stopmysql bacula startit stopit btraceback mtx-changer
-chmod 755 dvd-writepart dvd-freespace
+chmod 755 dvd-handler dvd-simulator
 chmod 755 bconsole gconsole mtx-changer devel_bacula logrotate
 cd ..
 
@@ -1920,6 +2238,9 @@ chmod 755 $c/grant_mysql_privileges   $c/drop_mysql_tables     $c/drop_mysql_dat
 chmod 755 $c/create_sqlite_database   $c/update_sqlite_tables  $c/make_sqlite_tables
 chmod 755 $c/grant_sqlite_privileges  $c/drop_sqlite_tables    $c/drop_sqlite_database
 
+chmod 755 $c/create_sqlite3_database   $c/update_sqlite3_tables  $c/make_sqlite3_tables
+chmod 755 $c/grant_sqlite3_privileges  $c/drop_sqlite3_tables   $c/drop_sqlite3_database
+
 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
 
@@ -1927,6 +2248,10 @@ chmod 755 $c/make_catalog_backup $c/delete_catalog_backup
 chmod 755 $c/sqlite
 chmod 755 $c/mysql
 
+chmod 755 src/win32/build-depkgs-mingw32
+
+
+
 if test "x$ac_cv_sys_largefile_CFLAGS" != "xno" ; then
    largefile_support="yes"
 fi
@@ -1957,7 +2282,7 @@ if test "x${subsysdir}" = "x${sbindir}" ; then
    exit 1
 fi 
 
-if test "x${db_name}" = "xInternal" ; then
+if test "x${db_type}" = "xInternal" ; then
    echo " "
    echo " "
    echo "You have not specified either --enable-client-only or one of the"
@@ -1983,6 +2308,7 @@ Configuration on `date`:
   PID directory:             ${piddir}
   Subsys directory:          ${subsysdir}
   Man directory:             ${mandir}
+  Data directory:            ${datadir}
   C Compiler:                ${CC} ${CCVERSION}
   C++ Compiler:              ${CXX} ${CXXVERSION}
   Compiler flags:            ${WCFLAGS} ${CFLAGS} 
@@ -1993,8 +2319,10 @@ Configuration on `date`:
   Statically Linked SD:       ${support_static_sd}
   Statically Linked DIR:      ${support_static_dir}
   Statically Linked CONS:     ${support_static_cons}
-  Database type:             ${db_name}
+  Database type:             ${db_type}
   Database lib:              ${DB_LIBS}
+  Database name:             ${db_name}
+  Database user:             ${db_user}
 
   Job Output Email:          ${job_email}
   Traceback Email:           ${dump_email}
@@ -2016,16 +2344,21 @@ Configuration on `date`:
   Large file support:        $largefile_support
   Bacula conio support:       ${got_conio} ${CONS_LIBS}
   readline support:          ${got_readline} ${PRTREADLINE_SRC}
-  TCP Wrappers support:       ${TCPW_MSG}
+  TCP Wrappers support:       ${TCPW_MSG} ${WRAPLIBS}
   TLS support:               ${support_tls}
+  Encryption support:        ${support_crypto} 
   ZLIB support:              ${have_zlib}
   enable-smartalloc:         ${support_smartalloc} 
+  bat support:               ${support_bat} ${QWT_LDFLAGS}
   enable-gnome:              ${support_gnome} ${gnome_version}
-  enable-wx-console:         ${support_wx_console} ${wx_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}
   ACL support:               ${have_acl}
   Python support:            ${support_python} ${PYTHON_LIBS}
+  Batch insert enabled:       ${support_batch_insert}
 
   " > config.out