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"
[ 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 "$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"
# -----------------------------------------------------------
-# 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"
# ------------------------------------
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],
[
]
)
-
-
-
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
+
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 $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(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# --------------------------------------------------------------------------
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"
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/tools/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 dvd-simulator
chmod 755 src/win32/build-depkgs-mingw32
-chmod 755 src/qt-console/install_conf_file
+
if test "x$ac_cv_sys_largefile_CFLAGS" != "xno" ; then
largefile_support="yes"
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