fi
      uncomment_dbi=" "
 
+     dnl -------------------------------------------
+     dnl Push the DB_PROG onto the stack of supported database backends for DBI
+     dnl -------------------------------------------
+     DB_BACKENDS="${DB_BACKENDS} ${DB_PROG}"
+
+     dnl -------------------------------------------
+     dnl Check if dbi supports batch mode
+     dnl -------------------------------------------
+     if test "x$support_batch_insert" = "xyes"; then
+         if test $DB_PROG = postgresql; then
+             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=$?
+             if test $pkg = 0; then
+                 AC_DEFINE(HAVE_DBI_BATCH_FILE_INSERT, 1, [Set if DBI DB batch insert code enabled])
+             fi
+         fi
+     fi
   else
      AC_MSG_RESULT(no)
   fi
 AC_SUBST(DBI_INCLUDE)
 AC_SUBST(DBI_BINDIR)
 AC_SUBST(DBI_DBD_DRIVERDIR)  
-AC_SUBST(uncomment_dbi)
 
 ])
 
         ;;
         "postgresql")
            db_prog="postgresql"
-           PG_CONFIG=`which pg_config`
+           PG_CONFIG=`which pg_config 2>/dev/null`
            if test -n "$PG_CONFIG"; then
               POSTGRESQL_BINDIR=`"$PG_CONFIG" --bindir`
               POSTGRESQL_LIBDIR=`"$PG_CONFIG" --libdir`
         else
            MYSQL_LIBS="-L$MYSQL_LIBDIR -lmysqlclient_r -lz"
         fi
-        MYSQL_LFLAGS="-L$MYSQL_LIBDIR -lmysqlclient_r -lz"
         AC_DEFINE(HAVE_THREAD_SAFE_MYSQL, 1, [Set if Thread Safe MySQL can be checked using mysql_thread_safe])
         DB_LIBS="${DB_LIBS} ${MYSQL_LIBS}"
      fi
      else
          DB_BACKENDS="${DB_BACKENDS} mysql"
      fi
+
+     dnl -------------------------------------------
+     dnl Check if mysql supports batch mode
+     dnl -------------------------------------------
+     if test "x$support_batch_insert" = "xyes"; then
+         dnl For mysql checking
+         saved_LDFLAGS="${LDFLAGS}"
+         LDFLAGS="${saved_LDFLAGS} -L$MYSQL_LIBDIR"
+         saved_LIBS="${LIBS}"
+         LIBS="${saved_LIBS} -lz"
+
+         AC_CHECK_LIB(mysqlclient_r, mysql_thread_safe, AC_DEFINE(HAVE_MYSQL_THREAD_SAFE, 1, [Set if have mysql_thread_safe]))
+         if test "x$ac_cv_lib_mysqlclient_r_mysql_thread_safe" = "xyes"; then
+             if test -z "${batch_insert_db_backends}"; then
+                 batch_insert_db_backends="MySQL"
+             else
+                 batch_insert_db_backends="${batch_insert_db_backends} MySQL"
+             fi
+         fi
+
+         dnl Revert after mysql checks
+         LDFLAGS="${saved_LDFLAGS}"
+         LIBS="${saved_LIBS}"
+     fi
   else
      AC_MSG_RESULT(no)
   fi
      else
         MYSQL_LIBS="-L$MYSQL_LIBDIR -lmysqld -lz -lm -lcrypt"
      fi
-     MYSQL_LFLAGS="-L$MYSQL_LIBDIR -lmysqld -lz -lm -lcrypt"
      MYSQL_LIB=$MYSQL_LIBDIR/libmysqld.a
      DB_LIBS="${DB_LIBS} ${MYSQL_LIBS}"
 
      else
          DB_BACKENDS="${DB_BACKENDS} mysql"
      fi
+
+     dnl -------------------------------------------
+     dnl Check if mysql supports batch mode
+     dnl -------------------------------------------
+     if test "x$support_batch_insert" = "xyes"; then
+         dnl For mysql checking
+         saved_LDFLAGS="${LDFLAGS}"
+         LDFLAGS="${saved_LDFLAGS} -L$MYSQL_LIBDIR"
+         saved_LIBS="${LIBS}"
+         LIBS="${saved_LIBS} -lz -lm -lcrypt"
+
+         AC_CHECK_LIB(mysqlclient_r, mysql_thread_safe, AC_DEFINE(HAVE_MYSQL_THREAD_SAFE, 1, [Set if have mysql_thread_safe]))
+         if test "x$ac_cv_lib_mysqlclient_r_mysql_thread_safe" = "xyes"; then
+             if test -z "${batch_insert_db_backends}"; then
+                 batch_insert_db_backends="MySQL"
+             else
+                 batch_insert_db_backends="${batch_insert_db_backends} MySQL"
+             fi
+         fi
+
+         dnl Revert after mysql checks
+         LDFLAGS="${saved_LDFLAGS}"
+         LIBS="${saved_LIBS}"
+     fi
   else
      AC_MSG_RESULT(no)
   fi
      else
         SQLITE_LIBS="-L$SQLITE_LIBDIR -lsqlite3"
      fi
-     SQLITE_LFLAGS="-L$SQLITE_LIBDIR -lsqlite3"
      SQLITE_LIB=$SQLITE_LIBDIR/libsqlite3.a
      DB_LIBS="${DB_LIBS} ${SQLITE_LIBS}"
 
      else
          DB_BACKENDS="${DB_BACKENDS} sqlite3"
      fi
+
+     dnl -------------------------------------------
+     dnl Check if sqlite supports batch mode
+     dnl -------------------------------------------
+     if test "x$support_batch_insert" = "xyes"; then
+         dnl For sqlite checking
+         saved_LDFLAGS="${LDFLAGS}"
+         LDFLAGS="${saved_LDFLAGS} -L$SQLITE_LIBDIR"
+
+         AC_CHECK_LIB(sqlite3, sqlite3_threadsafe, AC_DEFINE(HAVE_SQLITE3_THREADSAFE, 1, [Set if have sqlite3_threadsafe]))
+         if test "x$ac_cv_lib_sqlite3_sqlite3_threadsafe" = "xyes"; then
+             if test -z "${batch_insert_db_backends}"; then
+                 batch_insert_db_backends="SQLite3"
+             else
+                 batch_insert_db_backends="${batch_insert_db_backends} SQLite3"
+             fi
+         fi
+
+         dnl Revert after sqlite checks
+         LDFLAGS="${saved_LDFLAGS}"
+     fi
   else
      AC_MSG_RESULT(no)
   fi
 [
   if test "$withval" != "no"; then
       if test "$withval" = "yes"; then
-          PG_CONFIG=`which pg_config`
+          PG_CONFIG=`which pg_config 2>/dev/null`
           if test -n "$PG_CONFIG"; then
               POSTGRESQL_INCDIR=`"$PG_CONFIG" --includedir`
               POSTGRESQL_LIBDIR=`"$PG_CONFIG" --libdir`
         POSTGRESQL_LIBS="-L$POSTGRESQL_LIBDIR -lpq"
      fi
      AC_CHECK_FUNC(crypt, , AC_CHECK_LIB(crypt, crypt, [POSTGRESQL_LIBS="$POSTGRESQL_LIBS -lcrypt"]))
-     if test x$use_libtool != xno; then
-        POSTGRESQL_LFLAGS=`echo ${POSTGRESQL_LIBS} | sed -e "s#-R $POSTGRESQL_LIBDIR##"`
-     else
-        POSTGRESQL_LFLAGS="${POSTGRESQL_LIBS}"
-     fi
      POSTGRESQL_LIB=$POSTGRESQL_LIBDIR/libpq.a
      DB_LIBS="${DB_LIBS} ${POSTGRESQL_LIBS}"
 
      else
          DB_BACKENDS="${DB_BACKENDS} postgresql"
      fi
+
+     dnl -------------------------------------------
+     dnl Check if postgresql supports batch mode
+     dnl -------------------------------------------
+     if test "x$support_batch_insert" = "xyes"; then
+         dnl For postgresql checking
+         saved_LDFLAGS="${LDFLAGS}"
+         LDFLAGS="${saved_LDFLAGS} -L$POSTGRESQL_LIBDIR"
+         saved_LIBS="${LIBS}"
+         if test "x$ac_cv_lib_crypt_crypt" = "xyes" ; then
+            LIBS="${saved_LIBS} -lcrypt"
+         fi
+
+         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]))
+         if test "x$ac_cv_lib_pq_PQputCopyData" = "xyes"; then
+             if test $support_batch_insert = yes ; then
+                 AC_DEFINE(HAVE_POSTGRESQL_BATCH_FILE_INSERT, 1, [Set if PostgreSQL DB batch insert code enabled])
+                 if test -z "${batch_insert_db_backends}"; then
+                     batch_insert_db_backends="PostgreSQL"
+                 else
+                     batch_insert_db_backends="${batch_insert_db_backends} PostgreSQL"
+                 fi
+             fi
+         fi
+
+         if test 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"
+         fi
+
+         dnl Revert after postgresql checks
+         LDFLAGS="${saved_LDFLAGS}"
+         LIBS="${saved_LIBS}"
+     fi
   else
      AC_MSG_RESULT(no)
   fi
 
 build_dird=yes
 build_stored=yes
 db_backends=""
+batch_insert_db_backends=""
 support_lockmgr=no
 
 dnl --------------------------------------------------------------------------
 
 AC_SUBST(SBINPERM)
 
+dnl -------------------------------------------
+dnl enable batch attribute DB insert (default on)
+dnl -------------------------------------------
+support_batch_insert=yes
+AC_ARG_ENABLE(batch-insert,
+   AC_HELP_STRING([--enable-batch-insert], [enable the DB batch insert code @<:@default=yes@:>@]),
+   [
+       if test x$enableval = xno; then
+         support_batch_insert=no
+       fi
+   ]
+)
+
+if test x$support_batch_insert = xyes; then
+   AC_DEFINE(USE_BATCH_FILE_INSERT, 1, [Set if DB batch insert code enabled])
+fi
+
 dnl ------------------------------------------------
 dnl Bacula check for various SQL database engines
 dnl ------------------------------------------------
+
+dnl
+dnl Set uncomment_dbi by default to '#' if DBI is enabled this will get reset
+dnl
+uncomment_dbi="#"
+
 BA_CHECK_POSTGRESQL_DB
 
 BA_CHECK_MYSQL_DB
 
 #BA_CHECK_DBI_DRIVER
 
+dnl -------------------------------------------
+dnl If no batch insert backend are enable set
+dnl variable to None
+dnl -------------------------------------------
+if test -z "${batch_insert_db_backends}"; then
+   batch_insert_db_backends="None"
+fi
+
 dnl -------------------------------------------
 dnl Make sure at least one database backend is found
 dnl -------------------------------------------
    DB_LIBS=""
 fi
 
+AC_SUBST(uncomment_dbi)
 AC_SUBST(DB_BACKENDS)
 AC_SUBST(DB_LIBS)
 AC_SUBST(DEFAULT_DB_TYPE)
 AC_SUBST(SHARED_CATALOG_TARGETS)
 
-dnl -------------------------------------------
-dnl enable batch attribute DB insert (default on)
-dnl -------------------------------------------
-support_batch_insert=yes
-AC_ARG_ENABLE(batch-insert,
-   AC_HELP_STRING([--enable-batch-insert], [enable the DB batch insert code @<:@default=yes@:>@]),
-   [
-       if test x$enableval = xno; then
-         support_batch_insert=no
-       fi
-   ]
-)
-
-if test x$support_batch_insert = xyes; then
-   AC_DEFINE(USE_BATCH_FILE_INSERT, 1, [Set if DB batch insert code enabled])
-fi
-
-dnl -------------------------------------------
-dnl Check if mysql supports batch mode  
-dnl -------------------------------------------
-if test ! -z "$MYSQL_LIB"; then
-   dnl For mysql checking
-   saved_LIBS="${LIBS}"
-   LIBS="${saved_LIBS} ${MYSQL_LFLAGS}"
-
-   AC_CHECK_LIB(mysqlclient_r, mysql_thread_safe, AC_DEFINE(HAVE_MYSQL_THREAD_SAFE, 1, [Set if have mysql_thread_safe]))
-
-   dnl Revert after mysql checks
-   LIBS="${saved_LIBS}"
-fi
-
-dnl -------------------------------------------
-dnl Check if sqlite supports batch mode   
-dnl -------------------------------------------
-if test ! -z "SQLITE_LIB"; then
-   dnl For sqlite checking
-   saved_LIBS="${LIBS}"
-   LIBS="${saved_LIBS} ${SQLITE_LFLAGS}"
-
-   AC_CHECK_LIB(sqlite3, sqlite3_threadsafe, AC_DEFINE(HAVE_SQLITE3_THREADSAFE, 1, [Set if have sqlite3_threadsafe]))
-
-   dnl Revert after sqlite checks
-   LIBS="${saved_LIBS}"
-fi
-
-dnl -------------------------------------------
-dnl Check if postgresql supports batch mode   
-dnl -------------------------------------------
-if test ! -z "$POSTGRESQL_LIB"; then
-   dnl For postgresql checking
-   saved_LIBS="${LIBS}"
-   LIBS="${saved_LIBS} ${POSTGRESQL_LFLAGS}"
-   
-   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]))
-   if test "x$ac_cv_lib_pq_PQputCopyData" = "xyes"; then
-      if test $support_batch_insert = yes ; then
-        AC_DEFINE(HAVE_POSTGRESQL_BATCH_FILE_INSERT, 1, [Set if PostgreSQL DB batch insert code enabled])
-      fi
-   fi
-
-   if test 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
-
-   dnl Revert after postgresql checks
-   LIBS="${saved_LIBS}"
-fi
-
-dnl -------------------------------------------
-dnl Check if dbi supports batch mode   
-dnl -------------------------------------------
-if test ! -z "$DBI_LIBS"; then
-   dnl -------------------------------------------
-   dnl Push the DB_PROG onto the stack of supported database backends for DBI
-   dnl -------------------------------------------
-   DB_BACKENDS="${DB_BACKENDS} ${DB_PROG}"
-
-   dnl -------------------------------------------
-   dnl Check for batch insert
-   dnl -------------------------------------------
-   if test $DB_PROG = postgresql; then
-      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=$?
-      if test $pkg = 0; then
-        if test $support_batch_insert = yes ; then
-           AC_DEFINE(HAVE_DBI_BATCH_FILE_INSERT, 1, [Set if DBI DB batch insert code enabled])
-        fi
-      fi
-   fi
-else 
-   dnl -------------------------------------------
-   dnl If dbi was not chosen, let the comment in file
-   dnl -------------------------------------------
-   uncomment_dbi="#"  
-fi
-
-AC_SUBST(uncomment_dbi)
-
 AC_DEFINE(PROTOTYPES)
 
 dnl --------------------------------------------------------------------------
    File Daemon User:        ${fd_user}
    File Daemon Group:       ${fd_group}
  
-   Large file support:     $largefile_support
-   Bacula conio support:    ${got_conio} ${CONS_LIBS}
-   readline support:       ${got_readline} ${PRTREADLINE_SRC}
-   TCP Wrappers support:    ${TCPW_MSG} ${WRAPLIBS}
-   TLS support:            ${support_tls}
-   Encryption support:     ${support_crypto} 
-   ZLIB support:           ${have_zlib}
-   LZO support:            ${have_lzo}
-   enable-smartalloc:      ${support_smartalloc} 
-   enable-lockmgr:         ${support_lockmgr}
-   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}
-   ACL support:            ${have_acl}
-   XATTR support:          ${have_xattr}
-   Python support:         ${support_python} ${PYTHON_LIBS}
-   Batch insert enabled:    ${support_batch_insert}
+   Large file support:      $largefile_support
+   Bacula conio support:     ${got_conio} ${CONS_LIBS}
+   readline support:        ${got_readline} ${PRTREADLINE_SRC}
+   TCP Wrappers support:     ${TCPW_MSG} ${WRAPLIBS}
+   TLS support:             ${support_tls}
+   Encryption support:      ${support_crypto} 
+   ZLIB support:            ${have_zlib}
+   LZO support:             ${have_lzo}
+   enable-smartalloc:       ${support_smartalloc} 
+   enable-lockmgr:          ${support_lockmgr}
+   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}
+   ACL support:             ${have_acl}
+   XATTR support:           ${have_xattr}
+   Python support:          ${support_python} ${PYTHON_LIBS}
+   Batch insert enabled:     ${batch_insert_db_backends}
 
   " > config.out