]> git.sur5r.net Git - bacula/bacula/blobdiff - bacula/autoconf/configure.in
Apply patch (with some difficulties) from Joao Henrique Freitas
[bacula/bacula] / bacula / autoconf / configure.in
index 1844cb79fe6254857e236b14a9fa98d0d94ceab8..ad7144a1030c0d0dc26165175bcb2e77808f910d 100644 (file)
@@ -8,6 +8,7 @@ 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)
 
@@ -19,7 +20,6 @@ dnl search for true and false programs.
 AC_PATH_PROGS(TRUEPRG, true, :)
 AC_PATH_PROGS(FALSEPRG, false, :)
 
-#AC_CANONICAL_HOST
 
 dnl bacula version
 VERSION=`sed -n -e 's/^.*VERSION.*"\(.*\)"$/\1/p' ${srcdir}/src/version.h`
@@ -40,8 +40,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
@@ -71,6 +74,8 @@ 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_PATH_PROG(QMAKE, qmake, none)
+AC_PATH_PROG(QMAKEQT4, qmake-qt4, 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
   WXCONFIG=wx-config
@@ -94,6 +99,7 @@ fi
 THE_AWK=$AWK
 AC_PATH_PROG(AWK, $THE_AWK, $THE_AWK)
 
+
 test -n "$ARFLAG" || ARFLAGS="cr"
 AC_SUBST(ARFLAGS)
 
@@ -142,6 +148,7 @@ 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}
@@ -158,6 +165,7 @@ if test x$sbindir = x'${exec_prefix}/sbin' ; then
 fi
 sbindir=`eval echo ${sbindir}`
 
+
 # -------------------------------------------------------------------------
 #  If the user has not set --mandir, we default to /usr/share/man
 # -------------------------------------------------------------------------
@@ -166,12 +174,6 @@ if test x$mandir = x'${prefix}/man' ; then
 fi
 
                      
-# ------------------------------------------------------------------
-# All list of languages for which a translation exist. Each
-#  language is separated by a space.
-# ------------------------------------------------------------------
-ALL_LINGUAS=""
-
 AC_PATH_PROGS(MSGFMT, msgfmt, no)
 if test "$MSGFMT" = "no"
 then
@@ -187,12 +189,15 @@ support_mysql=no
 support_sqlite=no
 support_sqlite3=no
 support_postgresql=no
+support_dbi=no
 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
@@ -205,8 +210,8 @@ 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
@@ -216,7 +221,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])
@@ -242,12 +247,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 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"
+              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])
@@ -266,7 +347,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
@@ -296,7 +377,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, 1, [Set if you have GTK 4.2 or greater loaded])
      fi
   fi
 fi
@@ -312,7 +393,7 @@ AC_ARG_ENABLE(smartalloc,
   fi])
 
 if test x$support_smartalloc = xyes; then
-   AC_DEFINE(SMARTALLOC)
+   AC_DEFINE(SMARTALLOC, 1, [Set if you want Smartalloc enabled])
 fi
 
 # -------------------------------------------
@@ -389,8 +470,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)
@@ -403,8 +484,8 @@ 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
+      db_type=None
+      DB_TYPE=none
    fi])
 if test x$build_client_only = xno; then
    ALL_DIRS="subdirs"
@@ -450,12 +531,40 @@ 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
@@ -514,7 +623,7 @@ 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) : ;;
@@ -530,7 +639,7 @@ if test x$support_readline = xyes; then
             with_readline="/usr/include/readline" 
          fi
          AC_CHECK_HEADER(${with_readline}/readline.h, 
-            [ AC_DEFINE(HAVE_READLINE
+            [ AC_DEFINE(HAVE_READLINE, 1, [Set to enable readline support])
               CONS_LIBS="-lreadline -lhistory -ltermcap"
               got_readline="yes"   
             ],
@@ -544,14 +653,14 @@ if test x$support_readline = xyes; then
      ],[
        # check for standard readline library
        AC_CHECK_HEADER(/usr/include/readline/readline.h, 
-        [ AC_DEFINE(HAVE_READLINE)
+        [ AC_DEFINE(HAVE_READLINE, 1, [Set to enable readline support])
           got_readline="yes"
           CONS_INC="-I/usr/include/readline"
           CONS_LIBS="-lreadline -ltermcap"
         ], [
           # Did not find standard library, so try Bacula's default
            AC_CHECK_HEADER(${TOP_DIR}/depkgs/readline/readline.h, 
-             [ AC_DEFINE(HAVE_READLINE
+             [ 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"
@@ -596,7 +705,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.],
 [
@@ -605,24 +714,26 @@ AC_ARG_WITH(python,
   if test "$withval" != "no"; then
      if test "$withval" = "yes"; then
        for python_root in /usr /usr/local /usr/sfw; do
-         if test -f $python_root/include/python2.2/Python.h; then
-            PYTHON_INCDIR=-I$python_root/include/python2.2
-            PYTHON_LIBS="-L$python_root/lib/python2.2/config -lpython2.2"
-            break
-         elif test -f $python_root/include/python2.3/Python.h; then
-            PYTHON_INCDIR=-I$python_root/include/python2.3
-            PYTHON_LIBS="-L$python_root/lib/python2.3/config -lpython2.3"
-            break
-         elif test -f $python_root/include/python2.4/Python.h; then
-            PYTHON_INCDIR=-I$python_root/include/python2.4
-            PYTHON_LIBS="-L$python_root/lib/python2.4/config -lpython2.4"
-            break
-         fi
+         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
-            PYTHON_LIBS="-L$prefix/lib/config -lpython"
+            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)
@@ -634,10 +745,18 @@ AC_ARG_WITH(python,
           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"
+          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
-          PYTHON_LIBS="-L$withval/lib/python/config -lpython"
+          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)
@@ -660,7 +779,6 @@ AC_ARG_WITH(python,
 ])
 AC_SUBST(PYTHON_LIBS)
 AC_SUBST(PYTHON_INCDIR)
-  
 
 #
 # Find where sockets are (especially for Solaris)
@@ -680,7 +798,7 @@ AC_CHECK_FUNC(socket,
 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"
@@ -696,7 +814,7 @@ AC_ARG_WITH(tcp-wrappers,
          [ hosts_access(req); ],
          [
            AC_MSG_RESULT(yes)
-           AC_DEFINE(HAVE_LIBWRAP)
+           AC_DEFINE(HAVE_LIBWRAP, 1, [Set to enable libwraper support])
            TCPW_MSG="yes" 
            LIBS="$saved_LIBS"
            WRAPLIBS="-lwrap"
@@ -712,7 +830,7 @@ AC_ARG_WITH(tcp-wrappers,
              [ hosts_access(req); ],
              [
                 AC_MSG_RESULT(yes)
-                AC_DEFINE(HAVE_LIBWRAP)
+                AC_DEFINE(HAVE_LIBWRAP, 1, [Set to enable libwraper support])
                 TCPW_MSG="yes" 
                 LIBS="$saved_LIBS"
                 WRAPLIBS="-lwrap"
@@ -744,26 +862,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
@@ -774,12 +921,9 @@ AC_SUBST(OPENSSL_INC)
 
 
 # -----------------------------------------------------------
-# Python and OpenSSL are using dlopen
+# dlopen is needed for plugins
 # -----------------------------------------------------------
-
-if test "$support_python" = "yes" -o "$support_tls" = "yes"; then
-   AC_SEARCH_LIBS(dlopen, [dl])
-fi
+AC_SEARCH_LIBS(dlopen, [dl])
 
 # ------------------------------------------
 # Where to place working dir
@@ -796,6 +940,22 @@ AC_ARG_WITH(working-dir,
 
 AC_SUBST(working_dir)
 
+# ------------------------------------------------------------------
+# If the user has not set archivedir, we set our default as /tmp
+# ------------------------------------------------------------------
+archive_dir=/tmp
+AC_ARG_WITH(archivedir,
+   [  --with-archivedir=PATH   specify path of SD archive directory],
+   [
+       if test "x$withval" != "xno" ; then     
+             archivedir=$withval
+       fi
+   ]
+)
+
+AC_SUBST(archivedir)
+
+
 
 # ------------------------------------------
 # Where to place scriptdir (script files)
@@ -880,6 +1040,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],
     [
@@ -1040,6 +1207,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
@@ -1104,9 +1296,6 @@ AC_ARG_WITH(fd_group,
     ]
 )
 
-
-
-
 AC_SUBST(dir_user)
 AC_SUBST(dir_group)
 AC_SUBST(sd_user)
@@ -1132,6 +1321,7 @@ AC_SUBST(SBINPERM)
 # ------------------------------------------------
 # Bacula check for various SQL database engines
 # ------------------------------------------------
+SQL_LIB=
 BA_CHECK_POSTGRESQL_DB
 
 BA_CHECK_MYSQL_DB
@@ -1140,8 +1330,41 @@ BA_CHECK_SQLITE3_DB
 
 BA_CHECK_SQLITE_DB
 
+BA_CHECK_DBI_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
+       
+# Check if postgresql support batch mode       
+if test x$DB_TYPE = xpostgresql; then
+   A=`nm $SQL_LIB | grep PQputCopyData`
+   pkg=$?
+   if test $pkg != 0; then
+      support_batch_insert=no
+   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)
 
@@ -1180,6 +1403,7 @@ AC_CHECK_HEADERS( \
        stdlib.h \
        stdint.h \
        string.h \
+       strings.h \
        termios.h \
        termcap.h \
        term.h \
@@ -1188,9 +1412,11 @@ AC_CHECK_HEADERS( \
        sys/byteorder.h \
        sys/ioctl.h \
        sys/select.h \
+       sys/socket.h \
        sys/sockio.h \
+       sys/stat.h \
        sys/time.h \
-       sys/socket.h \
+       sys/types.h \
        arpa/nameser.h \
        resolv.h \
        mtio.h \
@@ -1216,7 +1442,7 @@ AC_CACHE_CHECK(for utime.h, ba_cv_header_utime_h,
 #include <sys/types.h>
 #include <utime.h>], [struct utimbuf foo],
   ba_cv_header_utime_h=yes, ba_cv_header_utime_h=no)])
-test $ba_cv_header_utime_h = yes && AC_DEFINE(HAVE_UTIME_H)
+test $ba_cv_header_utime_h = yes && AC_DEFINE(HAVE_UTIME_H, 1, [Set if utime.h exists])
 
 dnl# --------------------------------------------------------------------------
 dnl# Check for socklen_t
@@ -1240,6 +1466,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
 
@@ -1500,11 +1738,24 @@ 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) 
 
 AC_CHECK_FUNCS(snprintf vsnprintf gethostid fseeko)
 
+AC_CACHE_CHECK(for va_copy, ba_cv_va_copy,
+  [AC_TRY_LINK([
+#include <stdarg.h>
+void use_va_copy(va_list args){va_list args2; va_copy(args2,args); va_end(args2);}
+void call_use_va_copy(int junk,...){va_list args; va_start(args,junk); use_va_copy(args); va_end(args);}
+],
+  [call_use_va_copy(1,2,3)],
+  ba_cv_va_copy=yes, ba_cv_va_copy=no)])
+test $ba_cv_va_copy = yes && AC_DEFINE(HAVE_VA_COPY, 1, [Set if va_copy exists])
+
+
 dnl# --------------------------------------------------------------------------
 dnl# CHECKING FOR THREAD SAFE FUNCTIONS
 dnl# --------------------------------------------------------------------------
@@ -1534,18 +1785,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
@@ -1557,8 +1796,6 @@ 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"])
 
 
@@ -1601,10 +1838,15 @@ 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)
@@ -1641,6 +1883,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`
@@ -1700,8 +1945,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"
@@ -1715,8 +1960,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"
@@ -1778,7 +2023,6 @@ redhat)
            platforms/redhat/bacula-dir \
            platforms/redhat/bacula.spec \
            "
-       hostname=`hostname -s`
   ;;
 mandrake)
        DISTVER=`cat /etc/mandrake-release | grep release |\
@@ -1895,6 +2139,7 @@ fi
 
 AC_OUTPUT([autoconf/Make.common \
           Makefile \
+          manpages/Makefile \
           scripts/startmysql \
           scripts/stopmysql \
           scripts/btraceback \
@@ -1903,6 +2148,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 \
@@ -1912,20 +2160,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/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 \
@@ -1935,7 +2195,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 \
@@ -1979,20 +2238,38 @@ 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
+  if test "x$QMAKE" = "xnone" && test "x$QMAKEQT4" = "xnone"; then
+  echo "Could not find qmake or qmake-qt4 in $PATH. Check your Qt installation"
+  exit 1
+  fi
+
+  QMAKEBIN="qmake"
+
+  if test "x$QMAKEQT4" != "xnone"; then
+    QMAKEBIN=qmake-qt4
+  fi
+
+
+  
+  cd src/qt-console
+  chmod 755 install_conf_file build-depkgs-qt-console
+  echo "Creating bat Makefile"
+  $QMAKEBIN
+  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-handler
+chmod 755 dvd-handler dvd-simulator
 chmod 755 bconsole gconsole mtx-changer devel_bacula logrotate
 cd ..
 
@@ -2020,6 +2297,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
@@ -2050,11 +2331,11 @@ 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"
-   echo "  supported databases: MySQL, PostgreSQL, SQLite3 or SQLite."
+   echo "  supported databases: MySQL, PostgreSQL, SQLite3, SQLite or DBI."
    echo "  This is not permitted. Please reconfigure."
    echo " "
    echo "Aborting the configuration ..."
@@ -2072,6 +2353,7 @@ Configuration on `date`:
   Install binaries:          ${sbindir}
   Install config files:       ${sysconfdir}
   Scripts directory:         ${scriptdir}
+  Archive directory:         ${archivedir}
   Working directory:         ${working_dir}
   PID directory:             ${piddir}
   Subsys directory:          ${subsysdir}
@@ -2087,8 +2369,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}
@@ -2112,16 +2396,19 @@ Configuration on `date`:
   readline support:          ${got_readline} ${PRTREADLINE_SRC}
   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