]> git.sur5r.net Git - bacula/bacula/blobdiff - bacula/autoconf/configure.in
Integrate the libdbi changes from Joao Henrique Freitas
[bacula/bacula] / bacula / autoconf / configure.in
index cdfc17f97bfadb37fcab416a346f610f189109d2..74e394571be8f7ab38cd60b51aaca2c7ae450719 100644 (file)
@@ -165,13 +165,6 @@ if test x$sbindir = x'${exec_prefix}/sbin' ; then
 fi
 sbindir=`eval echo ${sbindir}`
 
-# ------------------------------------------------------------------
-# If the user has not set --archivedir, we set our default as /tmp
-# ------------------------------------------------------------------
-if test x$archivedir = x'${archivedir}' ; then
-    archivedir=${archivedir}
-fi
-archivedir=`eval echo ${archivedir}`
 
 # -------------------------------------------------------------------------
 #  If the user has not set --mandir, we default to /usr/share/man
@@ -196,6 +189,7 @@ support_mysql=no
 support_sqlite=no
 support_sqlite3=no
 support_postgresql=no
+support_dbi=no
 support_smartalloc=yes
 support_readline=yes
 support_conio=yes
@@ -927,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
@@ -949,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)
@@ -1323,6 +1330,10 @@ BA_CHECK_SQLITE3_DB
 
 BA_CHECK_SQLITE_DB
 
+BA_CHECK_DBI_DB
+
+BA_CHECK_DBI_DRIVER
+
 AC_SUBST(cats)
 AC_SUBST(DB_TYPE)
 
@@ -1352,6 +1363,32 @@ if test x$DB_TYPE = xpostgresql; then
    fi
 fi
 
+if test x$DB_TYPE = xdbi; then
+   DB_TYPE=$DB_PROG
+   db_type=$DB_PROG
+   pkg=1
+   # Check for batch insert
+   if test $DB_PROG = postgresql; then
+      A=`nm $DB_PROG_LIB | grep PQputCopyData`
+      pkg=$?
+   fi
+
+   if test $DB_PROG = mysql; then
+      A=`nm $DB_PROG_LIB | grep pthread_mutex_lock`
+      pkg=$?     
+   fi
+
+   if test $pkg = 0; then
+      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  
+fi
+
 if test $support_batch_insert = yes ; then
    AC_DEFINE(HAVE_BATCH_FILE_INSERT, 1, [Set if DB batch insert code enabled])
 fi
@@ -1394,6 +1431,7 @@ AC_CHECK_HEADERS( \
        stdlib.h \
        stdint.h \
        string.h \
+       strings.h \
        termios.h \
        termcap.h \
        term.h \
@@ -1402,9 +1440,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 \
@@ -1925,9 +1965,37 @@ darwin)
           platforms/darwin/Makefile"
   ;;
 debian)
+       if `grep -q ubuntu /etc/apt/sources.list`; then
+          DISTNAME="ubuntu"
+       fi
        DISTVER=`cat /etc/debian_version`
-       TAPEDRIVE="/dev/nrst0"
+       if test -f /etc/lsb-release ; then
+          . /etc/lsb-release
+          if test "x$DISTRIB_ID" != "x" ; then
+             DISTNAME=$DISTRIB_ID
+          fi
+          if test "x$DISTRIB_RELEASE" != "x" ; then
+             DISTVER=$DISTRIB_RELEASE
+          fi
+       fi
+       if test "$DISTNAME" = "Ubuntu" ; then
+          DISTNAME="ubuntu"
+       fi
+       TAPEDRIVE="/dev/nst0"
        PSCMD="ps -e -o pid,command"
+       if test "$DISTNAME" = "ubuntu" ; then
+          PFILES="${PFILES} \
+             platforms/ubuntu/Makefile \
+             platforms/ubuntu/bacula-fd \
+             platforms/ubuntu/bacula-sd \
+             platforms/ubuntu/bacula-dir"
+       else 
+          PFILES="${PFILES} \
+             platforms/debian/Makefile \
+             platforms/debian/bacula-fd \
+             platforms/debian/bacula-sd \
+             platforms/debian/bacula-dir"
+       fi
   ;;
 freebsd)
        DISTVER=`uname -a |awk '{print $3}'`
@@ -2227,6 +2295,10 @@ AC_OUTPUT([autoconf/Make.common \
           src/findlib/Makefile \
           src/tools/Makefile \
           po/Makefile.in \
+          updatedb/update_mysql_tables_10_to_11 \
+          updatedb/update_sqlite3_tables_10_to_11 \
+          updatedb/update_postgresql_tables_10_to_11 \
+          updatedb/update_sqlite_tables_10_to_11 \
           $PFILES ],  
          [ ]
 )
@@ -2261,6 +2333,10 @@ chmod 755 dvd-handler dvd-simulator
 chmod 755 bconsole gconsole mtx-changer devel_bacula logrotate
 cd ..
 
+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/update_sqlite_tables_10_to_11
+
 c=src/cats
 
 chmod 755 $c/create_bacula_database   $c/update_bacula_tables  $c/make_bacula_tables
@@ -2323,7 +2399,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 or SQLite."
+   echo "  supported databases: MySQL, PostgreSQL, SQLite3, SQLite or DBI."
    echo "  This is not permitted. Please reconfigure."
    echo " "
    echo "Aborting the configuration ..."