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`
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
THE_AWK=$AWK
AC_PATH_PROG(AWK, $THE_AWK, $THE_AWK)
+
test -n "$ARFLAG" || ARFLAGS="cr"
AC_SUBST(ARFLAGS)
fi
sbindir=`eval echo ${sbindir}`
+
# -------------------------------------------------------------------------
# If the user has not set --mandir, we default to /usr/share/man
# -------------------------------------------------------------------------
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
support_sqlite=no
support_sqlite3=no
support_postgresql=no
+support_dbi=no
support_smartalloc=yes
support_readline=yes
support_conio=yes
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)
# -------------------------------------------
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
fi])
if test x$support_smartalloc = xyes; then
- AC_DEFINE(SMARTALLOC)
+ AC_DEFINE(SMARTALLOC, 1, [Set if you want Smartalloc enabled])
fi
# -------------------------------------------
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"
],
],[
# 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"
[ 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"
[ 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"
# -----------------------------------------------------------
-# 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
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)
# ------------------------------------
# Where to place subsys "lock file"
# ------------------------------------
-ubsysdir=/var/run/subsys
+subsysdir=/var/run/subsys
if test -d /var/run/subsys; then
subsysdir=/var/run/subsys
elif test -d /var/lock/subsys; then
]
)
-
-
-
AC_SUBST(dir_user)
AC_SUBST(dir_group)
AC_SUBST(sd_user)
# ------------------------------------------------
# Bacula check for various SQL database engines
# ------------------------------------------------
+SQL_LIB=
BA_CHECK_POSTGRESQL_DB
BA_CHECK_MYSQL_DB
BA_CHECK_SQLITE_DB
+BA_CHECK_DBI_DB
+
+BA_CHECK_DBI_DRIVER
+
AC_SUBST(cats)
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 x$DB_TYPE = xdbi; then
+ DB_TYPE=$DB_PROG
+ db_type=$DB_PROG
+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)
dnl# --------------------------------------------------------------------------
stdlib.h \
stdint.h \
string.h \
+ strings.h \
termios.h \
termcap.h \
term.h \
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 \
#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
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# --------------------------------------------------------------------------
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}'`
largefile_support="yes"
;;
hpux)
- PSCMD="UNIX95=1 ps -e -o pid,comm"
+ PSCMD="UNIX95=1; ps -e -o pid,comm"
CFLAGS="${CFLAGS} -D_XOPEN_SOURCE_EXTENDED=1"
DISTVER=`uname -r`
TAPEDRIVE="/dev/rmt/0hnb"
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 ],
- [(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 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
chmod 755 src/win32/build-depkgs-mingw32
-if test "${support_bat}" = "yes" ; then
- cd src/qt-console
- chmod 755 install_conf_file
- qmake
-fi
if test "x$ac_cv_sys_largefile_CFLAGS" != "xno" ; 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 ..."
Install binaries: ${sbindir}
Install config files: ${sysconfdir}
Scripts directory: ${scriptdir}
+ Archive directory: ${archivedir}
Working directory: ${working_dir}
PID directory: ${piddir}
Subsys directory: ${subsysdir}
Encryption support: ${support_crypto}
ZLIB support: ${have_zlib}
enable-smartalloc: ${support_smartalloc}
- enable-bat: ${support_bat}
+ bat support: ${support_bat} ${QWT_LDFLAGS}
enable-gnome: ${support_gnome} ${gnome_version}
enable-bwx-console: ${support_wx_console} ${wx_version}
enable-tray-monitor: ${support_tray_monitor}
build-stored: ${build_stored}
ACL support: ${have_acl}
Python support: ${support_python} ${PYTHON_LIBS}
+ Batch insert enabled: ${support_batch_insert}
" > config.out