dnl
dnl require a recent autoconf
AC_PREREQ(2.61)
-AC_INIT([bacula], m4_esyscmd([sed -n -e 's/^.*VERSION.*"\(.*\)"$/\1/p' ../src/version.h src/version.h 2> /dev/null | tr -d '\n']))
+AC_INIT([bacula], m4_esyscmd([sed -n -e 's/^#define VERSION.*"\(.*\)"$/\1/p' ../src/version.h src/version.h 2> /dev/null | tr -d '\n']))
AC_CONFIG_SRCDIR(src/version.h)
BUILD_DIR=`pwd`
AC_CONFIG_AUX_DIR(${BUILD_DIR}/autoconf)
AC_CONFIG_HEADERS(src/config.h:autoconf/config.h.in)
-dnl minimal Win32 stuff for "make clean"
-WIN32BUILDDIR=${BUILD_DIR}/src/win32
-WIN32MAINDIR=${BUILD_DIR}
-WIN32TOPDIR=${TOP_DIR}
-AC_SUBST(WIN32BUILDDIR)
-AC_SUBST(WIN32MAINDIR)
-AC_SUBST(WIN32TOPDIR)
-
dnl search for true and false programs.
AC_PATH_PROGS(TRUEPRG, true, :)
AC_PATH_PROGS(FALSEPRG, false, :)
post_host=`echo -${BACULA} | tr 'A-Z ' 'a-z-'`
fi
BACULA=${BACULA:-Bacula}
-VERSION=`sed -n -e 's/^.*VERSION.*"\(.*\)"$/\1/p' ${srcdir}/src/version.h`
-DATE=`sed -n -e 's/^.*[ \t]*BDATE.*"\(.*\)"$/\1/p' ${srcdir}/src/version.h`
-LSMDATE=`sed -n -e 's/^.*LSMDATE.*"\(.*\)"$/\1/p' ${srcdir}/src/version.h`
-BDB_VERSION=`sed -n -e 's/^.*BDB_VERSION \(.*\)$/\1/p' ${srcdir}/src/cats/cats.h`
-AC_SUBST(VERSION)dnl
-AC_SUBST(DATE)dnl
-AC_SUBST(LSMDATE)dnl
+VERSION=`sed -n -e 's/^#define VERSION.*"\(.*\)"$/\1/p' ${srcdir}/src/version.h`
+RELEASE=`sed -n -e 's/^#define RELEASE.*"\(.*\)"$/\1/p' ${srcdir}/src/version.h`
+DATE=`sed -n -e 's/^#define BDATE.*"\(.*\)"$/\1/p' ${srcdir}/src/version.h`
+LSMDATE=`sed -n -e 's/^#define LSMDATE.*"\(.*\)"$/\1/p' ${srcdir}/src/version.h`
+BDB_VERSION=`sed -n -e 's/^#define BDB_VERSION \(.*\)$/\1/p' ${srcdir}/src/cats/cats.h`
+DEPKGS_VERSION=`sed -n -e 's/^#define DEPKGS_VERSION \(.*\)$/\1/p' ${srcdir}/src/cats/cats.h`
+DEPKGS_QT_VERSION=`sed -n -e 's/^#define DEPKGS_QT_VERSION.*"\(.*\)"$/\1/p' ${srcdir}/src/version.h`
+BQT_VERSION=`sed -n -e 's/^#define BQT_VERSION.*"\(.*\)"$/\1/p' ${srcdir}/src/version.h`
+AC_SUBST(VERSION)dnl
+AC_SUBST(DATE)dnl
+AC_SUBST(LSMDATE)dnl
AC_SUBST(BACULA)dnl
AC_SUBST(post_host)dnl
AC_SUBST(BDB_VERSION)dnl
+AC_SUBST(DEPKGS_QT_VERSION)dnl
+AC_SUBST(DEPKGS_VERSION)dnl
+AC_SUBST(BQT4_VERSION)dnl
dnl src/lib
dnl can be overwritten by specific values from version.h
LIBBAC_LT_RELEASE=`sed -n -e 's/^#.*LIBBAC_LT_RELEASE.*"\(.*\)"$/\1/p' ${srcdir}/src/version.h`
LIBBACCFG_LT_RELEASE=`sed -n -e 's/^#.*LIBBACCFG_LT_RELEASE.*"\(.*\)"$/\1/p' ${srcdir}/src/version.h`
-LIBBACPY_LT_RELEASE=`sed -n -e 's/^#.*LIBBACPY_LT_RELEASE.*"\(.*\)"$/\1/p' ${srcdir}/src/version.h`
LIBBAC_LT_RELEASE=${LIBBAC_LT_RELEASE:-$VERSION}
LIBBACCFG_LT_RELEASE=${LIBBACCFG_LT_RELEASE:-$VERSION}
-LIBBACPY_LT_RELEASE=${LIBBACPY_LT_RELEASE:-$VERSION}
AC_SUBST(LIBBAC_LT_RELEASE)dnl
AC_SUBST(LIBBACCFG_LT_RELEASE)dnl
-AC_SUBST(LIBBACPY_LT_RELEASE)dnl
dnl src/cats
dnl can be overwritten by specific values from version.h
AC_PATH_PROG(PKGCONFIG, pkg-config, pkg-config)
AC_PATH_PROG(QMAKE, qmake, none)
AC_PATH_PROG(GMAKE, gmake, 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
-fi
-AC_PATH_PROG(WXCONFIG, ${WXCONFIG}, ${WXCONFIG})
-AC_ARG_VAR(WXFLAGS, [Parameters to pass to wx-config (e.g. --unicode=no).])
AC_PATH_PROG(CDRECORD, cdrecord, cdrecord)
AC_PATH_PROG(PIDOF, pidof, pidof)
AC_PROG_AWK
# Some AWK programs fail, so test it and warn the user
-if echo xfoo | $AWK 'BEGIN { prog=ARGV[1]; ARGC=1 }
+if echo xfoo | $AWK 'BEGIN { prog=ARGV[1]; ARGC=1 }
{ if ((prog == $2) || (("(" prog ")") == $2) ||
(("[" prog "]") == $2) ||
((prog ":") == $2)) { print $1 ; exit 0 } }' xfoo>/dev/null; then :;
else
AC_MSG_ERROR([!!!!!!!!! WARNING !!!!!!!!!!!!!!
- The regex engine of $AWK is too broken to be used you
+ The regex engine of $AWK is too broken to be used you
might want to install GNU AWK.
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!])
fi
]
)
LT_INIT([shared disable-static])
+LT_LIB_DLLOAD
LT_LANG([C++])
if test x$use_libtool != xno; then
includedir=`eval echo ${includedir}`
localedir=`eval echo ${datarootdir}/locale`
AC_DEFINE_UNQUOTED(SYSCONFDIR, "$sysconfdir")
-AC_DEFINE_UNQUOTED(LOCALEDIR, "$localedir")
+AC_DEFINE_UNQUOTED(LOCALEDIR, "$localedir")
dnl ------------------------------------------------------------------
dnl If the user has not set --sbindir, we set our default as /sbin
dnl -------------------------------------------------------------------------
dnl If the user has not set --htmldir, we default to /usr/share/doc/bacula/html
dnl -------------------------------------------------------------------------
-if test x$htmldir = x${docdir} ; then
- htmldir=`eval echo ${docdir}bacula/html`
+if test x$htmldir = x'/usr/share/doc/bacula/' ; then
+ htmldir=`eval echo ${docdir}html`
fi
dnl -------------------------------------------------------------------------
-dnl If the user has not set --docdir, we default to /usr/share/doc/
+dnl If the user has not set --docdir, we default to /usr/share/doc/bacula
dnl -------------------------------------------------------------------------
if test x$docdir = x'/usr/share/doc/' ; then
docdir=`eval echo ${docdir}bacula`
fi
-
+
AC_PATH_PROGS(MSGFMT, msgfmt, no)
if test "$MSGFMT" = "no"
then
support_smartalloc=yes
support_readline=yes
+support_lzo=yes
support_conio=yes
-support_gnome=no
support_bat=no
-support_wx_console=no
-support_tray_monitor=no
support_tls=no
support_crypto=no
-gnome_version=
-wx_version=
support_static_tools=no
support_static_fd=no
support_static_sd=no
support_static_dir=no
support_static_cons=no
-support_python=no
build_client_only=no
build_dird=yes
build_stored=yes
db_backends=""
+batch_insert_db_backends=""
support_lockmgr=no
dnl --------------------------------------------------------------------------
dnl CHECKING COMMAND LINE OPTIONS
dnl --------------------------------------------------------------------------
-dnl -------------------------------------------
-dnl gnome (default off)
-dnl -------------------------------------------
-AC_ARG_ENABLE(gnome,
- AC_HELP_STRING([--enable-gnome], [enable build of bgnome-console GUI @<:@default=no@:>@]),
- [
- if test x$enableval = xyes; then
- support_gnome=yes
- fi
- ]
-)
-
-GNOME_DIR=
-if test x$support_gnome = xyes; then
- AC_MSG_ERROR(bgnome-console no longer supported)
- AC_MSG_ERROR(--enable-gnome option no longer supported)
-fi
-# AC_SUBST(GNOME_DIR)
-
dnl -------------------------------------------
dnl bat (default off)
dnl -------------------------------------------
AC_HELP_STRING([--enable-bat], [enable build of bat Qt4 GUI @<:@default=no@:>@]),
[
if test x$enableval = xyes; then
- AC_DEFINE(HAVE_BAT, 1, [Set if Bacula bat Qt4 GUI support enabled])
+ AC_DEFINE(HAVE_BAT, 1, [Set if Bacula bat Qt4 GUI support enabled])
support_bat=yes
fi
]
fi
fi
-dnl
+dnl
dnl The qwt library was used with bat, but that is no longer the case
-dnl
+dnl
got_qwt=no
QWT_INC=
QWT_LDFLAGS=
dnl fi
dnl ;;
dnl esac
-dnl ]
+dnl ]
dnl )
dnl dnl
dnl dnl Search in standard places, or --with-qwt not specified
dnl dnl
-dnl if test $no_qwt = no; then
+dnl if test $no_qwt = no; then
dnl if test x$QWT_INC = x; then
dnl for root in /usr /usr/local; do
dnl for ver in qwt qwt5 qwt-qt4; do
AC_SUBST(QWT_LIB)
AC_SUBST(QWT)
-dnl -------------------------------------------
-dnl bwx-console (default off)
-dnl -------------------------------------------
-AC_ARG_ENABLE(bwx-console,
- AC_HELP_STRING([--enable-bwx-console], [enable build of wxWidgets console @<:@default=no@:>@]),
- [
- if test x$enableval = xyes; then
- support_wx_console=yes
- fi
- ]
-)
-
-WX_DIR=
-if test x$support_wx_console = xyes; then
- abc=`$WXCONFIG $WXFLAGS --cppflags`
- pkg=$?
- if test $pkg = 0; then
- wx_version="wxWidgets `$WXCONFIG $WXFLAGS --release`"
- WXCONS_CPPFLAGS=`$WXCONFIG $WXFLAGS --cppflags`
- WXCONS_LDFLAGS=`$WXCONFIG $WXFLAGS --libs`
-
- AC_SUBST(WXCONS_CPPFLAGS)
- AC_SUBST(WXCONS_LDFLAGS)
- WX_DIR="src/wx-console"
- else
- echo " "
- echo "wx-config program not found. bwx-console disabled."
- echo " "
- support_wx_console=no
- fi
-fi
-AC_SUBST(WX_DIR)
-
-dnl -------------------------------------------
-dnl tray-monitor (default off)
-dnl -------------------------------------------
-AC_ARG_ENABLE(tray-monitor,
- AC_HELP_STRING([--enable-tray-monitor], [enable build of Gnome tray monitor (compatible with KDE @<:@default=no@:>@]),
- [
- if test x$enableval = xyes; then
- support_tray_monitor=yes
- fi
- ]
-)
-
-TRAY_MONITOR_DIR=
-if test x$support_tray_monitor = xyes; then
- abc=`$PKGCONFIG --exists gtk+-2.0`
- pkg=$?
- if test $pkg = 0; then
- TRAY_MONITOR_CPPFLAGS=`$PKGCONFIG --cflags gtk+-2.0`
- TRAY_MONITOR_LDFLAGS=`$PKGCONFIG --libs gtk+-2.0`
- AC_SUBST(TRAY_MONITOR_CPPFLAGS)
- AC_SUBST(TRAY_MONITOR_LDFLAGS)
- TRAY_MONITOR_DIR=src/tray-monitor
- abc=`$PKGCONFIG --atleast-version=2.4 gtk+-2.0`
- pkg=$?
- if test $pkg = 0; then
- AC_DEFINE(HAVE_GTK_2_4, 1, [Set if you have GTK 4.2 or greater loaded])
- fi
- fi
-fi
-AC_SUBST(TRAY_MONITOR_DIR)
dnl -------------------------------------------
dnl smartalloc (default off)
[
if test x$enableval = xyes; then
if test x$use_libtool = xyes; then
- AC_MSG_ERROR([Libtool is enabled, not compatible with static tools,
+ AC_MSG_ERROR([Libtool is enabled, not compatible with static tools,
please rerun configure with --disable-libtool])
fi
support_static_tools=yes
[
if test x$enableval = xyes; then
if test x$use_libtool = xyes; then
- AC_MSG_ERROR([Libtool is enabled, not compatible with static tools,
+ AC_MSG_ERROR([Libtool is enabled, not compatible with static tools,
please rerun configure with --disable-libtool])
fi
support_static_fd=yes
[
if test x$enableval = xyes; then
if test x$use_libtool = xyes; then
- AC_MSG_ERROR([Libtool is enabled, not compatible with static tools,
+ AC_MSG_ERROR([Libtool is enabled, not compatible with static tools,
please rerun configure with --disable-libtool])
fi
support_static_sd=yes
[
if test x$enableval = xyes; then
if test x$use_libtool = xyes; then
- AC_MSG_ERROR([Libtool is enabled, not compatible with static tools,
+ AC_MSG_ERROR([Libtool is enabled, not compatible with static tools,
please rerun configure with --disable-libtool])
fi
support_static_dir=yes
[
if test x$enableval = xyes; then
if test x$use_libtool = xyes; then
- AC_MSG_ERROR([Libtool is enabled, not compatible with static tools,
+ AC_MSG_ERROR([Libtool is enabled, not compatible with static tools,
please rerun configure with --disable-libtool])
fi
support_static_cons=yes
)
STATIC_CONS=
-STATIC_GNOME_CONS=
-STATIC_WX_CONS=
if test x$support_static_cons = xyes; then
STATIC_CONS="static-bconsole"
- STATIC_GNOME_CONS="static-bgnome-console"
- STATIC_WX_CONS="static-bwx-console"
fi
AC_SUBST(STATIC_CONS)
-AC_SUBST(STATIC_GNOME_CONS)
-AC_SUBST(STATIC_WX_CONS)
dnl -------------------------------------------
dnl client_only (default off)
fi
]
)
-
+
dnl ---------------------------------------------------
dnl Check for IPv6 support
dnl ---------------------------------------------------
dnl this allows you to turn it completely off
support_ipv6=yes
-AC_ARG_ENABLE(ipv6,
+AC_ARG_ENABLE(ipv6,
AC_HELP_STRING([--enable-ipv6], [enable ipv6 support @<:@default=yes@:>@]),
[
if test x$enableval = xno; then
- support_ipv6=no
+ support_ipv6=no
fi
]
)
fi
TERM_LIB=""
-AC_CHECK_HEADER(curses.h, [
+AC_CHECK_HEADER(curses.h, [
AC_CHECK_LIB(tinfo, tgetent, [ TERM_LIB="-ltinfo" ], [
AC_CHECK_LIB(ncurses, tgetent, [ TERM_LIB="-lncurses" ], [
AC_CHECK_LIB(termcap, tgetent, [ TERM_LIB="-ltermcap" ])
],
[ AC_CHECK_HEADERS(curses.h)
AC_CHECK_HEADER(term.h,
- [ AC_CHECK_LIB(curses, tgetent,
+ [ AC_CHECK_LIB(curses, tgetent,
[ TERM_LIB="-lcurses" ] )
])
])
CONS_SRC="conio.c"
got_conio="yes"
support_readline=no
- AC_DEFINE(HAVE_CONIO, 1, [Set if Bacula conio support enabled])
+ AC_DEFINE(HAVE_CONIO, 1, [Set if Bacula conio support enabled])
else
- echo " "; echo "Required libraries not found. CONIO turned off ..."; echo " "],
+ echo " "; echo "Required libraries not found. CONIO turned off ..."; echo " "
fi
fi
fi
]
)
-if test x$TERM_LIB = x ; then
- support_readline=no
-fi
got_readline="no"
READLINE_SRC=
CONS_LDFLAGS="-L${with_readline}/lib"
with_readline="${with_readline}/include/readline"
else
- with_readline="/usr/include/readline"
+ with_readline="/usr/include/readline"
fi
- AC_CHECK_HEADER(${with_readline}/readline.h,
+ AC_CHECK_HEADER(${with_readline}/readline.h,
[
AC_DEFINE(HAVE_READLINE, 1, [Set to enable readline support])
- CONS_LIBS="-lreadline -lhistory $TERM_LIB"
- got_readline="yes"
+ CONS_LIBS="-lreadline -lhistory ${TERM_LIB}"
+ got_readline="yes"
], [
echo " "
echo "readline.h not found. readline turned off ..."
esac
],[
dnl check for standard readline library
- AC_CHECK_HEADER(/usr/include/readline/readline.h,
+ AC_CHECK_HEADER(/usr/include/readline/readline.h,
[
AC_DEFINE(HAVE_READLINE, 1, [Set to enable readline support])
got_readline="yes"
CONS_INC="-I/usr/include/readline"
- CONS_LIBS="-lreadline $TERM_LIB"
+ CONS_LIBS="-lreadline ${TERM_LIB}"
], [
dnl Did not find standard library, so try Bacula's default
- AC_CHECK_HEADER(${TOP_DIR}/depkgs/readline/readline.h,
+ AC_CHECK_HEADER(${TOP_DIR}/depkgs/readline/readline.h,
[
AC_DEFINE(HAVE_READLINE, 1, [Set to enable readline support])
- got_readline="yes"
+ got_readline="yes"
CONS_INC="-I${TOP_DIR}/depkgs/readline"
- CONS_LIBS="-lreadline -lhistory $TERM_LIB"
+ CONS_LIBS="-lreadline -lhistory ${TERM_LIB}"
CONS_LDFLAGS="-L${TOP_DIR}/depkgs/readline"
PRTREADLINE_SRC="${TOP_DIR}/depkgs/readline"
], [
)
]
)
- ]
+ ]
)
fi
AC_SUBST(MAKE_SHELL)
AC_HEADER_STAT
AC_HEADER_DIRENT
-AC_CHECK_FUNCS(strcasecmp select setenv putenv tcgetattr lstat lchown)
+AC_CHECK_FUNCS(strcasecmp select setenv putenv tcgetattr)
+AC_CHECK_FUNCS(lstat lchown lchmod futimes fchmod fchown)
AC_CHECK_FUNCS(nanosleep nl_langinfo)
AC_CHECK_HEADERS(varargs.h)
dnl End of readline/conio stuff
dnl -----------------------------------------------------------------------
-dnl -----------------------------------------------------------------------
-dnl Check for Python support
-dnl
-AC_MSG_CHECKING(for Python support)
-AC_ARG_WITH(python,
- AC_HELP_STRING([--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.]),
- [
- PYTHON_INCDIR=
- PYTHON_LIBS=
- if test "$withval" != "no"; then
- if test "$withval" = "yes"; then
- if test -e /usr/bin/python-config ; then
- PYTHON_INCDIR=`/usr/bin/python-config --includes`
- PYTHON_LIBS=`/usr/bin/python-config --libs`
- else
- for python_root in /usr /usr/local /usr/sfw; do
- for ver in python2.2 python2.3 python2.4 python2.5 python2.6 python3; 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
- 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)
- fi
- fi
- fi
- else
- if test -e $withval/bin/python-config ; then
- PYTHON_INCDIR=`$withval/bin/python-config --includes`
- PYTHON_LIBS=`$withval/bin/python-config --libs`
- elif test -f $withval/Python.h; then
- PYTHON_INCDIR=-I$withval
- PYTHON_LIBS="-L$withval/config -lpython"
- elif test -f $withval/include/Python.h; then
- PYTHON_INCDIR=-I$withval/include
- 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
- 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)
- fi
- fi
-
- AC_DEFINE([HAVE_PYTHON], 1)
- AC_MSG_RESULT(yes)
- support_python=yes
- AC_MSG_NOTICE(checking for more Python libs)
- saved_LIBS="$LIBS"; LIBS=
- AC_SEARCH_LIBS(shm_open, [rt])
- AC_CHECK_LIB(util, openpty)
- PYTHON_LIBS="$PYTHON_LIBS $LIBS"
- LIBS="$saved_LIBS"
- else
- AC_MSG_RESULT(no)
- fi
- ],[
- AC_MSG_RESULT(no)
- ]
-)
-AC_SUBST(PYTHON_LIBS)
-AC_SUBST(PYTHON_INCDIR)
-
dnl
dnl Find where sockets are (especially for Solaris)
dnl Do this before the TCP Wrappers test since tcp wrappers
dnl -----------------------------------------------------------
dnl Check whether user wants TCP wrappers support (default off)
dnl -----------------------------------------------------------
-TCPW_MSG="no"
+TCPW_MSG="no"
WRAPLIBS=""
AC_ARG_WITH(tcp-wrappers,
AC_HELP_STRING([--with-tcp-wrappers@<:@=DIR@:>@], [enable tcpwrappers support]),
AC_SEARCH_LIBS(nanosleep, [rt])
AC_MSG_CHECKING(for libwrap)
AC_TRY_LINK(
- [
+ [
#include <sys/types.h>
#include <tcpd.h>
int deny_severity = 0;
], [
AC_MSG_RESULT(yes)
AC_DEFINE(HAVE_LIBWRAP, 1, [Set to enable libwraper support])
- TCPW_MSG="yes"
+ TCPW_MSG="yes"
LIBS="$saved_LIBS"
WRAPLIBS="-lwrap"
], [
], [
AC_MSG_RESULT(yes)
AC_DEFINE(HAVE_LIBWRAP, 1, [Set to enable libwraper support])
- TCPW_MSG="yes"
+ TCPW_MSG="yes"
LIBS="$saved_LIBS"
WRAPLIBS="-lwrap"
], [
]
)
+
dnl -----------------------------------------------------------
dnl Check whether OpenSSL is available
dnl -----------------------------------------------------------
]
)
+ AC_MSG_RESULT([$support_tls])
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])
else
support_tls="no"
support_crypto="no"
- OPENSSL_LIBS=""
- OPENSSL_INC=""
+ AC_MSG_RESULT([$support_tls])
fi
-AC_MSG_RESULT([$support_tls])
-if test "$support_tls" = "no"; then
+if test "$support_tls" = "no" -o "$support_crypto" = "no"; then
OPENSSL_LIBS=""
OPENSSL_INC=""
-fi
-if test "$support_crypto" = "no"; then
- OPENSSL_LIBS=""
- OPENSSL_INC=""
-fi
+fi
AC_SUBST(OPENSSL_LIBS)
AC_SUBST(OPENSSL_INC)
dnl ------------------------------------------
dnl Where to place working dir
dnl ------------------------------------------
-working_dir=`eval echo ${prefix}/var/bacula/working`
+working_dir=`eval echo /opt/bacula/working`
AC_ARG_WITH(working-dir,
AC_HELP_STRING([--with-working-dir=PATH], [specify path of Bacula working directory]),
[
- if test "x$withval" != "xno" ; then
+ if test "x$withval" != "xno" ; then
working_dir=$withval
fi
]
AC_ARG_WITH(archivedir,
AC_HELP_STRING([--with-archivedir=PATH], [specify path of SD archive directory]),
[
- if test "x$withval" != "xno" ; then
+ if test "x$withval" != "xno" ; then
archivedir=$withval
fi
]
AC_ARG_WITH(basename,
AC_HELP_STRING([--with-basename=RESNAME], [specify base resource name for daemons]),
[
- if test "x$withval" != "xno" ; then
+ if test "x$withval" != "xno" ; then
basename=$withval
fi
]
if test x${hostname} = x ; then
hostname="localhost"
fi
+dnl Make sure hostname is resolved
+ping -c 1 $hostname 2>/dev/null 1>/dev/null
+if test ! $? = 0; then
+ hostname="localhost"
+fi
AC_ARG_WITH(hostname,
AC_HELP_STRING([--with-hostname=RESNAME], [specify host name for daemons]),
[
AC_ARG_WITH(scriptdir,
AC_HELP_STRING([--with-scriptdir=PATH], [specify path of Bacula scripts directory]),
[
- if test "x$withval" != "xno" ; then
+ if test "x$withval" != "xno" ; then
scriptdir=$withval
fi
]
dnl ------------------------------------------
dnl Where to place bsrdir (bsr files)
dnl ------------------------------------------
-bsrdir=/tmp
+bsrdir=`eval echo /opt/bacula/bsr`
AC_ARG_WITH(bsrdir,
AC_HELP_STRING([--with-bsrdir=PATH], [specify path of Bacula bsrs directory]),
[
- if test "x$withval" != "xno" ; then
+ if test "x$withval" != "xno" ; then
bsrdir=$withval
fi
]
AC_SUBST(bsrdir)
dnl ------------------------------------------
-dnl Where to place logdir (bsr files)
+dnl Where to place logdir
dnl ------------------------------------------
-logdir=/tmp
+logdir=`eval echo /opt/bacula/log`
AC_ARG_WITH(logdir,
AC_HELP_STRING([--with-logdir=PATH], [specify path of Bacula logs directory]),
[
- if test "x$withval" != "xno" ; then
+ if test "x$withval" != "xno" ; then
logdir=$withval
fi
]
AC_ARG_WITH(plugindir,
AC_HELP_STRING([--with-plugindir=PATH], [specify path of Bacula plugins directory]),
[
- if test "x$withval" != "xno" ; then
+ if test "x$withval" != "xno" ; then
plugindir=$withval
fi
]
AC_ARG_WITH(dump-email,
AC_HELP_STRING([--with-dump-email=EMAIL], [dump email address]),
[
- if test "x$withval" != "xno" ; then
+ if test "x$withval" != "xno" ; then
dump_email=$withval
fi
]
AC_ARG_WITH(job-email,
AC_HELP_STRING([--with-job-email=EMAIL], [job output email address]),
[
- if test "x$withval" != "xno" ; then
+ if test "x$withval" != "xno" ; then
job_email=$withval
fi
]
AC_ARG_WITH(smtp_host,
AC_HELP_STRING([--with-smtp-host=HOST], [SMTP mail host address]),
[
- if test "x$withval" != "xno" ; then
+ if test "x$withval" != "xno" ; then
smtp_host=$withval
fi
]
AC_ARG_WITH(pid-dir,
AC_HELP_STRING([--with-pid-dir=PATH], [specify location of Bacula pid files]),
[
- if test "x$withval" != "xno" ; then
+ if test "x$withval" != "xno" ; then
piddir=$withval
fi
]
AC_ARG_WITH(subsys-dir,
AC_HELP_STRING([--with-subsys-dir=PATH], [specify location of Bacula subsys file]),
[
- if test "x$withval" != "xno" ; then
+ if test "x$withval" != "xno" ; then
subsysdir=$withval
fi
]
AC_ARG_WITH(baseport,
AC_HELP_STRING([--with-baseport=PORT], [specify base port address for daemons]),
[
- if test "x$withval" != "xno" ; then
+ if test "x$withval" != "xno" ; then
baseport=$withval
fi
]
AC_ARG_WITH(dir-password,
AC_HELP_STRING([--with-dir-password=PASSWORD], [specify Director's password]),
[
- if test "x$withval" != "xno" ; then
+ if test "x$withval" != "xno" ; then
dir_password=$withval
fi
]
AC_ARG_WITH(fd-password,
AC_HELP_STRING([--with-fd-password=PASSWORD], [specify Client's password]),
[
- if test "x$withval" != "xno" ; then
+ if test "x$withval" != "xno" ; then
fd_password=$withval
fi
]
AC_ARG_WITH(sd-password,
AC_HELP_STRING([--with-sd-password=PASSWORD], [specify Storage daemon's password]),
[
- if test "x$withval" != "xno" ; then
+ if test "x$withval" != "xno" ; then
sd_password=$withval
fi
]
AC_ARG_WITH(mon-dir-password,
AC_HELP_STRING([--with-mon-dir-password=PASSWORD], [specify Director's password used by the monitor]),
[
- if test "x$withval" != "xno" ; then
+ if test "x$withval" != "xno" ; then
mon_dir_password=$withval
fi
]
AC_ARG_WITH(mon-fd-password,
AC_HELP_STRING([--with-mon-fd-password=PASSWORD], [specify Client's password used by the monitor]),
[
- if test "x$withval" != "xno" ; then
+ if test "x$withval" != "xno" ; then
mon_fd_password=$withval
fi
]
AC_ARG_WITH(mon-sd-password,
AC_HELP_STRING([--with-mon-sd-password=PASSWORD], [specify Storage daemon's password used by the monitor]),
[
- if test "x$withval" != "xno" ; then
+ if test "x$withval" != "xno" ; then
mon_sd_password=$withval
fi
]
AC_ARG_WITH(db_name,
AC_HELP_STRING([--with-db-name=DBNAME], [specify database name @<:@default=bacula@:>@]),
[
- if test "x$withval" != "x" ; then
+ if test "x$withval" != "x" ; then
db_name=$withval
fi
]
AC_ARG_WITH(db_user,
AC_HELP_STRING([--with-db-user=UNAME], [specify database user @<:@default=bacula@:>@]),
[
- if test "x$withval" != "x" ; then
+ if test "x$withval" != "x" ; then
db_user=$withval
fi
]
AC_ARG_WITH(db_password,
AC_HELP_STRING([--with-db-password=PWD], [specify database password @<:@default=*none*@:>@]),
[
- if test "x$withval" != "x" ; then
+ if test "x$withval" != "x" ; then
db_password=$withval
fi
]
AC_ARG_WITH(dir_user,
AC_HELP_STRING([--with-dir-user=USER], [specify user for Director daemon]),
[
- if test "x$withval" != "x" ; then
+ if test "x$withval" != "x" ; then
dir_user=$withval
fi
]
AC_ARG_WITH(dir_group,
AC_HELP_STRING([--with-dir-group=GROUP], [specify group for Director daemon]),
[
- if test "x$withval" != "x" ; then
+ if test "x$withval" != "x" ; then
dir_group=$withval
fi
]
AC_ARG_WITH(sd_user,
AC_HELP_STRING([--with-sd-user=USER], [specify user for Storage daemon]),
[
- if test "x$withval" != "x" ; then
+ if test "x$withval" != "x" ; then
sd_user=$withval
fi
]
AC_ARG_WITH(sd_group,
AC_HELP_STRING([--with-sd-group=GROUP], [specify group for Storage daemon]),
[
- if test "x$withval" != "x" ; then
+ if test "x$withval" != "x" ; then
sd_group=$withval
fi
]
AC_ARG_WITH(fd_user,
AC_HELP_STRING([--with-fd-user=USER], [specify user for File daemon]),
[
- if test "x$withval" != "x" ; then
+ if test "x$withval" != "x" ; then
fd_user=$withval
fi
]
AC_ARG_WITH(fd_group,
AC_HELP_STRING([--with-fd-group=GROUP], [specify group for File daemon]),
[
- if test "x$withval" != "x" ; then
+ if test "x$withval" != "x" ; then
fd_group=$withval
fi
]
AC_ARG_WITH(sbin-perm,
AC_HELP_STRING([--with-sbin-perm=MODE], [specify permissions for sbin binaries @<:@default=0750@:>@]),
[
- if test "x$withval" != "x" ; then
+ if test "x$withval" != "x" ; then
SBINPERM=$withval
fi
]
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_SQLITE3_DB
-#BA_CHECK_INGRES_DB
-
-#BA_CHECK_DBI_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
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
- AC_CHECK_LIB(mysql_r, mysql_thread_safe, AC_DEFINE(HAVE_MYSQL_THREAD_SAFE, 1, [Set if have mysql_thread_safe]))
-fi
-
-dnl -------------------------------------------
-dnl Check if sqlite supports batch mode
-dnl -------------------------------------------
-if test ! -z "SQLITE_LIB"; then
- AC_CHECK_LIB(sqlite3, sqlite3_threadsafe, AC_DEFINE(HAVE_SQLITE3_THREADSAFE, 1, [Set if have sqlite3_threadsafe]))
-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_LIB}"
-
- 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 --------------------------------------------------------------------------
CFLAGS="$CCOPTS"
fi
-dnl A few others
+dnl A few others
AC_EXEEXT
dnl See if we can use 64 bit file addresses
stdarg.h \
stdlib.h \
stdint.h \
+ inttypes.h \
string.h \
strings.h \
termios.h \
AC_STRUCT_TIMEZONE
dnl --------------------------------------------------------------------------
-dnl Check for utime.h structure
+dnl Check for utime.h structure
dnl --------------------------------------------------------------------------
AC_CACHE_CHECK(for utime.h, ba_cv_header_utime_h,
[
dnl Note: it is more correct to use AC_LANG(C++) but some of the older
dnl *BSD systems still use old style C prototypes, which are wrong with
-dnl compiled with a C++ compiler.
+dnl compiled with a C++ compiler.
AC_LANG(C)
dnl --------------------------------------------------------------------------
AC_DEFINE(FSTYPE_AIX_STATFS) fstype=AIX
)
fi
-if test $fstype = no; then
+if test $fstype = no; then
AC_TRY_CPP(
[
#include <mntent.h>
AC_DEFINE(FSTYPE_MNTENT) fstype=4.3BSD
)
fi
-if test $fstype = no; then
+if test $fstype = no; then
AC_EGREP_HEADER(f_type;, sys/mount.h, AC_DEFINE(FSTYPE_STATFS) fstype=4.4BSD/OSF1)
fi
-if test $fstype = no; then
+if test $fstype = no; then
AC_TRY_CPP(
[
#include <sys/mount.h>
AC_CHECK_HEADER(sys/statvfs.h, [ AC_DEFINE(HAVE_SYS_STATVFS_H,1,[Defines if your system have the sys/statvfs.h header file])] , )
AC_LANG_PUSH(C++)
-AC_CHECK_HEADERS([cxxabi.h execinfo.h], [ AC_DEFINE(HAVE_BACKTRACE,1,[Defines if your system have the cxxabi.h and execinfo.h header files for backtrace()])] , )
+AC_CHECK_FUNCS(backtrace)
AC_LANG_POP(C++)
dnl --------------------------------------------------------------------------
intmax_t a; a = 1;
], [
ac_cv_have_intmax_t="yes"
- ], [
+ ], [
AC_TRY_COMPILE(
[
#include <stdint.h>
]
)
]
- )
+ )
]
)
if test "x$ac_cv_have_intmax_t" = "xyes" ; then
u_intmax_t a; a = 1;
], [
ac_cv_have_u_intmax_t="yes"
- ], [
+ ], [
AC_TRY_COMPILE(
[
#include <stdint.h>
AC_DEFINE(HAVE_INTXX_T)
have_intxx_t=1
fi
-
+
AC_CACHE_CHECK([for int64_t type], ac_cv_have_int64_t,
[
AC_TRY_COMPILE(
AC_DEFINE(HAVE_INT64_T)
have_int64_t=1
fi
-
+
AC_CACHE_CHECK([for u_intXX_t types], ac_cv_have_u_intxx_t,
[
AC_TRY_COMPILE(
], [
AC_MSG_RESULT(no)
]
- )
+ )
fi
if test -z "$have_u_intxx_t" ; then
[
#include <sys/types.h>
], [
- uint8_t a; uint16_t b;
+ uint8_t a; uint16_t b;
uint32_t c; a = b = c = 1;
], [
ac_cv_have_uintxx_t="yes"
[
#include <sys/bitypes.h>
], [
- int64_t a; u_int64_t b;
+ int64_t a; u_int64_t b;
a = b = 1;
], [
AC_DEFINE(HAVE_U_INT64_T)
], [
AC_MSG_RESULT(no)
]
- )
+ )
fi
if (test -z "$have_uintxx_t" && \
[
#include <sys/bitypes.h>
], [
- uint8_t a; uint16_t b;
+ uint8_t a; uint16_t b;
uint32_t c; a = b = c = 1;
], [
AC_DEFINE(HAVE_UINTXX_T)
], [
AC_MSG_RESULT(no)
]
- )
+ )
fi
dnl --------------------------------------------------------------------------
[echo 'configure: cannot find needed function.'; exit 1]
)
+AC_CHECK_DECL(
+ F_CLOSEM,
+ AC_DEFINE(HAVE_FCNTL_F_CLOSEM, 1, [Set if you have 'F_CLOSEM' fcntl flag]),
+ ,
+ [#include <fcntl.h>]
+)
+
+AC_CHECK_FUNC(closefrom, [AC_DEFINE(HAVE_CLOSEFROM, 1, [Define to 1 if you have the 'closefrom' function.])])
AC_CHECK_FUNCS(getpagesize, [AC_DEFINE(HAVE_GETPAGESIZE, 1, [Set if have getpagesize])])
AC_CHECK_FUNCS(malloc_trim, [AC_DEFINE(HAVE_MALLOC_TRIM, 1, [Set if have malloc_trim])])
AC_CHECK_FUNCS(posix_fadvise)
AC_CHECK_FUNCS(fdatasync)
-AC_CHECK_FUNCS(chflags)
+AC_CHECK_FUNCS(chflags)
AC_CHECK_FUNCS(snprintf vsnprintf gethostid fseeko)
], [
call_use_va_copy(1,2,3)
], [
- ba_cv_va_copy=yes,
+ ba_cv_va_copy=yes
], [
ba_cv_va_copy=no
]
AC_CHECK_FUNCS(inet_pton, [AC_DEFINE(HAVE_INET_PTON)])
AC_CHECK_FUNCS(inet_ntop, [AC_DEFINE(HAVE_INET_NTOP)])
AC_CHECK_FUNCS(gethostbyname2, [AC_DEFINE(HAVE_GETHOSTBYNAME2)])
+AC_CHECK_FUNCS(getnameinfo, [AC_DEFINE(HAVE_GETNAMEINFO)])
+
dnl ----------------------------
dnl check sa_len of sockaddr
AC_DEFINE(HAVE_SA_LEN, 1, [Define if sa_len field exists in struct sockaddr])
fi
+dnl
+dnl check for working getaddrinfo()
+dnl
+dnl Note that if the system doesn't have gai_strerror(), we
+dnl can't use getaddrinfo() because we can't get strings
+dnl describing the error codes.
+dnl
+AC_CACHE_CHECK(for working getaddrinfo, ac_cv_working_getaddrinfo,
+ [
+ AC_TRY_RUN(
+ [
+ #include <netdb.h>
+ #include <string.h>
+ #include <sys/types.h>
+ #include <sys/socket.h>
+
+ void main(void) {
+ struct addrinfo hints, *ai;
+ int error;
+
+ memset(&hints, 0, sizeof(hints));
+ hints.ai_family = AF_UNSPEC;
+ hints.ai_socktype = SOCK_STREAM;
+ error = getaddrinfo("127.0.0.1", NULL, &hints, &ai);
+ if (error) {
+ exit(1);
+ }
+ if (ai->ai_addr->sa_family != AF_INET) {
+ exit(1);
+ }
+ exit(0);
+ }
+ ],[
+ ac_cv_working_getaddrinfo="yes"
+ ],[
+ ac_cv_working_getaddrinfo="no"
+ ],[
+ ac_cv_working_getaddrinfo="yes"
+ ]
+ )
+ ]
+)
+AC_CHECK_FUNC(gai_strerror, [AC_DEFINE(HAVE_GAI_STRERROR, 1, [Define to 1 if you have the 'gai_strerror' function.])])
+
+if test "$ac_cv_working_getaddrinfo" = "yes"; then
+ if test "$ac_cv_func_gai_strerror" != "yes"; then
+ ac_cv_working_getaddrinfo="no"
+ else
+ AC_DEFINE(HAVE_GETADDRINFO, 1, [Define to 1 if getaddrinfo exists and works])
+ fi
+fi
+
AC_FUNC_STRFTIME
AC_FUNC_VPRINTF
AC_FUNC_ALLOCA
fi
AC_SUBST(ZLIBS)
+dnl
+dnl Check if we have AFS on this system
+dnl
+AFS_CFLAGS=""
+AFS_LIBS=""
+support_afs=auto
+AC_ARG_ENABLE(afs,
+ AC_HELP_STRING([--disable-afs], [disable afs support @<:@default=auto@:>@]),
+ [
+ if test x$enableval = xyes; then
+ support_afs=yes
+ elif test x$enableval = xno; then
+ support_afs=no
+ fi
+ ]
+)
+
+have_afs=no
+if test x$support_afs = xyes -o x$support_afs = xauto; then
+ AC_ARG_WITH(afsdir,
+ AC_HELP_STRING([--with-afsdir@<:@=DIR@:>@], [Directory holding AFS includes/libs]),
+ with_afsdir=$withval
+ )
+
+ dnl
+ dnl Search in standard places, or --with-afsdir not specified
+ dnl
+ if test x$with_afsdir = x; then
+ for root in /usr /usr/local; do
+ if test -d ${root}/include/afs/ ; then
+ with_afsdir=${root}
+ break
+ fi
+ if test -d ${root}/include/openafs/afs/ ; then
+ with_afsdir=${root}
+ break
+ fi
+ done
+ fi
+
+ if test -d ${with_afsdir}/include/afs/ ; then
+ AFS_CFLAGS="-I${with_afsdir}/include"
+ else
+ if test -d ${with_afsdir}/include/openafs/afs/ ; then
+ AFS_CFLAGS="-I${with_afsdir}/include/openafs"
+ fi
+ fi
+
+ saved_CFLAGS="${CFLAGS}"
+ saved_CPPFLAGS="${CPPFLAGS}"
+ CFLAGS="${AFS_CFLAGS} ${saved_CFLAGS}"
+ CPPFLAGS="${AFS_CFLAGS} ${saved_CPPFLAGS}"
+
+ AC_CHECK_HEADERS(afs/afsint.h)
+ AC_TRY_CPP(
+ [
+ #include <afs/afsint.h>
+ #include <afs/venus.h>
+ ],
+ AC_DEFINE(HAVE_AFS_VENUS_H,1,[Define to 1 if you have the <afs/venus.h> header file.])
+ )
+
+ CFLAGS="${saved_CFLAGS}"
+ CPPFLAGS="${saved_CPPFLAGS}"
+
+ dnl
+ dnl See if we can find a libsys with the pioctl symbol in there
+ dnl
+ AC_MSG_CHECKING(for pioctl in AFS libsys)
+ for dir in ${with_afsdir}/lib \
+ ${with_afsdir}/lib/afs \
+ ${with_afsdir}/lib/openafs \
+ ${with_afsdir}/lib64 \
+ ${with_afsdir}/lib64/afs \
+ ${with_afsdir}/lib64/openafs
+ do
+ for arch_type in .a .so
+ do
+ A=`test -f ${dir}/libsys${arch_type} && nm ${dir}/libsys${arch_type} 2>/dev/null | grep pioctl`
+ pkg=$?
+ if test $pkg = 0; then
+ have_afs=yes
+ AFS_LIBS="-L${dir} -lsys -lrx -llwp ${dir}/util${arch_type}"
+ break
+ fi
+ done
+ done
+
+ if test $have_afs = yes; then
+ AC_MSG_RESULT(yes)
+ else
+ AC_MSG_RESULT(no)
+ fi
+
+ if test x$support_afs = xyes -a $have_afs != yes; then
+ AC_MSG_ERROR([afs support explicitly enabled but no supported afs implementation found,
+ please either load the afs libraries or rerun configure without --enable-afs])
+ else
+ if test $have_afs = yes; then
+ AC_DEFINE(HAVE_AFS,1,[Define to 1 if your system has AFS support])
+ AC_DEFINE(HAVE_AFS_ACL,1,[Andrew FileSystem ACL support])
+ fi
+ fi
+fi
+AC_SUBST(AFS_CFLAGS)
+AC_SUBST(AFS_LIBS)
+
+dnl ---------------------------------------------------
+dnl Check for lzo support/directory (default on)
+dnl ---------------------------------------------------
+dnl this allows you to turn it completely off
+
+AC_ARG_ENABLE(lzo,
+ AC_HELP_STRING([--disable-lzo], [disable lzo support @<:@default=yes@:>@]),
+ [
+ if test x$enableval = xno; then
+ support_lzo=no
+ fi
+ ]
+)
+
+LZO_INC=
+LZO_LIBS=
+LZO_LDFLAGS=
+
+have_lzo="no"
+if test x$support_lzo = xyes; then
+ AC_ARG_WITH(lzo,
+ AC_HELP_STRING([--with-lzo@<:@=DIR@:>@], [specify lzo library directory]),
+ [
+ case "$with_lzo" in
+ no)
+ :
+ ;;
+ yes|*)
+ if test -f ${with_lzo}/include/lzo/lzoconf.h; then
+ LZO_INC="-I${with_lzo}/include"
+ LZO_LDFLAGS="-L${with_lzo}/lib"
+ with_lzo="${with_lzo}/include"
+ else
+ with_lzo="/usr/include"
+ fi
+
+ AC_CHECK_HEADER(${with_lzo}/lzo/lzoconf.h,
+ [
+ AC_DEFINE(HAVE_LZO, 1, [Define to 1 if you have LZO compression])
+ LZO_LIBS="${LZO_LDFLAGS} -lzo2"
+ have_lzo="yes"
+ ], [
+ echo " "
+ echo "lzoconf.h not found. lzo turned off ..."
+ echo " "
+ ]
+ )
+ ;;
+ esac
+ ],[
+ AC_CHECK_HEADER(lzo/lzoconf.h,
+ [
+ AC_CHECK_HEADER(lzo/lzo1x.h,
+ [
+ AC_CHECK_LIB(lzo2, lzo1x_1_compress,
+ [
+ LZO_LIBS="-llzo2"
+ AC_DEFINE(HAVE_LZO,1,[Define to 1 if you have LZO compression])
+ have_lzo=yes
+ ])
+ ])
+ ])
+ ])
+fi
+
+AC_SUBST(LZO_INC)
+AC_SUBST(LZO_LIBS)
+
+
dnl
dnl Check for ACL support and libraries
dnl
fi
if test x$support_acl = xyes -a $have_acl != yes; then
- AC_MSG_ERROR([acl support explicitly enabled but no supported acl implementation found,
+ AC_MSG_ERROR([acl support explicitly enabled but no supported acl implementation found,
please either load the acl libraries or rerun configure without --enable-acl])
else
if test $have_acl = yes; then
AC_DEFINE([HAVE_EXTATTR_LIST_LINK],1,[Define to 1 if you have the 'extattr_list_link' function.])
]
)
-
+
if test $have_xattr = no; then
AC_CHECK_FUNCS(extattr_get_file extattr_set_file extattr_list_file,
[
]
)
fi
-
+
if test $have_xattr = yes; then
have_extattr_string_in_libc=no
AC_CHECK_FUNCS(extattr_namespace_to_string extattr_string_to_namespace,
fi
if test x$support_xattr = xyes -a $have_xattr != yes; then
- AC_MSG_ERROR([xattr support explicitly enabled but no supported xattr implementation found,
+ AC_MSG_ERROR([xattr support explicitly enabled but no supported xattr implementation found,
please either load the xattr libraries or rerun configure without --enable-xattr])
else
if test $have_xattr = yes; then
dnl PFILES are platform specific files
PFILES="platforms/Makefile"
PSCMD="ps -e"
-WIN32=
MACOSX=
COMPRESS_MANPAGES=yes
-hostname=`uname -n | cut -d '.' -f 1`
-if test x${hostname} = x ; then
- hostname="localhost"
-fi
-dnl Make sure hostname is resolved
-ping -c 1 $hostname 2>/dev/null 1>/dev/null
-if test ! $? = 0; then
- hostname="localhost"
-fi
-
case "$DISTNAME" in
aix)
DISTVER=`uname -r`
PSCMD="ps -e -o pid,comm"
PFILES="${PFILES} \
platforms/aix/Makefile"
- TAPEDRIVE="/dev/rmt0.1"
- ;;
+ TAPEDRIVE="/dev/rmt0.1"
+ ;;
alpha)
DISTVER=`uname -r`
PTHREAD_LIB="-lpthread -lexc"
platforms/bsdi/bacula-dir"
largefile_support="yes"
;;
-cygwin)
- DISTVER=`uname -a |awk '{print $3}'`
- TAPEDRIVE="/dev/nrst0"
- WIN32=win32
- WCFLAGS="-mwindows"
- WLDFLAGS="-mwindows"
- ;;
darwin)
DISTVER=`uname -r`
TAPEDRIVE="/dev/nst0"
platforms/ubuntu/bacula-fd \
platforms/ubuntu/bacula-sd \
platforms/ubuntu/bacula-dir"
- else
+ else
PFILES="${PFILES} \
platforms/debian/Makefile \
platforms/debian/bacula-fd \
platforms/freebsd/bacula-dir"
largefile_support="yes"
;;
+hurd)
+ DISTVER=`uname -r`
+ TAPEDRIVE="/dev/nst0"
+ PSCMD="ps -e -o pid,command"
+ PFILES="${PFILES} \
+ platforms/hurd/Makefile \
+ platforms/hurd/bacula-fd \
+ platforms/hurd/bacula-sd \
+ platforms/hurd/bacula-dir"
+ ;;
hpux)
PSCMD="UNIX95=1; ps -e -o pid,comm"
CFLAGS="${CFLAGS} -D_XOPEN_SOURCE_EXTENDED=1"
*)
echo " === Something went wrong. Unknown DISTNAME $DISTNAME ==="
;;
-esac
+esac
+
+dnl -------------------------------------------
+dnl systemd (default off)
+dnl -------------------------------------------
+AC_MSG_CHECKING(for systemd support)
+AC_ARG_WITH(systemd,
+ AC_HELP_STRING([--with-systemd@<:@=UNITDIR@:>@], [Include systemd support. UNITDIR is where systemd system .service files are located, default is to ask systemctl.]),
+ [
+ if test "$withval" != "no"; then
+ if test "$withval" = "yes"; then
+ SYSTEMD_UNITDIR="`systemctl show | grep UnitPath | cut -d " " -f2`"
+ else
+ SYSTEMD_UNITDIR="${withval}"
+ fi
+
+ PFILES="${PFILES} \
+ platforms/systemd/Makefile \
+ platforms/systemd/bacula.conf \
+ platforms/systemd/bacula-dir.service \
+ platforms/systemd/bacula-fd.service \
+ platforms/systemd/bacula-sd.service"
+ AC_DEFINE(HAVE_SYSTEMD, 1, [Define to 1 if systemd support should be enabled])
+ AC_MSG_RESULT(yes)
+ support_systemd="yes"
+ else
+ AC_MSG_RESULT(no)
+ support_systemd="no"
+ fi
+ ],[
+ support_systemd="no"
+ AC_MSG_RESULT(no)
+ ]
+)
+AC_SUBST(SYSTEMD_UNITDIR)
AC_SUBST(hostname)
AC_DEFINE_UNQUOTED(llu, "$llu")
AC_SUBST(TAPEDRIVE)
AC_SUBST(PSCMD)
-AC_SUBST(WIN32)
AC_SUBST(MACOSX)
AC_SUBST(DISTNAME)
AC_SUBST(DISTVER)
echo " "
echo " "
exit 1
-fi
+fi
AC_OUTPUT([autoconf/Make.common \
Makefile \
scripts/devel_bacula \
scripts/Makefile \
scripts/logrotate \
- scripts/bacula.desktop.gnome1 \
- scripts/bacula.desktop.gnome2 \
- scripts/bacula.desktop.gnome1.consolehelper \
- scripts/bacula.desktop.gnome2.consolehelper \
- scripts/bacula.desktop.gnome1.xsu \
- scripts/bacula.desktop.gnome2.xsu \
- 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 \
src/host.h \
src/console/Makefile \
src/console/bconsole.conf \
- src/qt-console/tray-monitor/tray-monitor.pro \
- src/qt-console/tray-monitor/tray-monitor.conf \
src/qt-console/bat.conf \
src/qt-console/bat.pro \
src/qt-console/bat.pro.mingw32 \
src/qt-console/install_conf_file \
- src/wx-console/Makefile \
- src/wx-console/bwx-console.conf \
- src/tray-monitor/Makefile \
- src/tray-monitor/tray-monitor.conf \
src/dird/Makefile \
src/dird/bacula-dir.conf \
src/lib/Makefile \
src/cats/make_bacula_tables \
src/cats/drop_bacula_tables \
src/cats/drop_bacula_database \
+ src/cats/install-default-backend \
src/findlib/Makefile \
src/tools/Makefile \
src/plugins/fd/Makefile \
src/plugins/sd/Makefile \
src/plugins/dir/Makefile \
- src/win32/Makefile.inc \
po/Makefile.in \
updatedb/update_mysql_tables_9_to_10 \
updatedb/update_sqlite3_tables_9_to_10 \
updatedb/update_mysql_tables_11_to_12 \
updatedb/update_sqlite3_tables_11_to_12 \
updatedb/update_postgresql_tables_11_to_12 \
+ updatedb/update_mysql_tables_12_to_14 \
+ updatedb/update_sqlite3_tables_12_to_14 \
+ updatedb/update_postgresql_tables_12_to_14 \
examples/nagios/check_bacula/Makefile \
- $PFILES ],
+ platforms/rpms/redhat/bacula.spec \
+ platforms/rpms/redhat/bacula-bat.spec \
+ platforms/rpms/redhat/bacula-docs.spec \
+ platforms/rpms/redhat/bacula-mtx.spec \
+ platforms/rpms/suse/bacula.spec \
+ platforms/rpms/suse/bacula-bat.spec \
+ platforms/rpms/suse/bacula-docs.spec \
+ platforms/rpms/suse/bacula-mtx.spec \
+ $PFILES ],
[ ]
)
touch bat
chmod 755 bat
rm -f Makefile
+ rm -rf moc32 obj32
$QMAKE
${MAKE:-make} clean
cd ${BUILD_DIR}
cd ${BUILD_DIR}
cd scripts
-chmod 755 bacula btraceback mtx-changer
+chmod 755 bacula btraceback mtx-changer storage-ctl bsg_persist
chmod 755 dvd-handler dvd-simulator
-chmod 755 bconsole mtx-changer devel_bacula logrotate
+chmod 755 bconsole disk-changer devel_bacula logrotate
cd ..
c=updatedb
chmod 755 $c/sqlite
chmod 755 $c/mysql
-chmod 755 src/win32/build-depkgs-mingw32
+chmod 755 $c/install-default-backend
if test "x$ac_cv_sys_largefile_CFLAGS" != "xno" ; then
largefile_support="yes"
echo "
Configuration on `date`:
- Host: ${host}${post_host} -- ${DISTNAME} ${DISTVER}
- Bacula version: ${BACULA} ${VERSION} (${DATE})
- Source code location: ${srcdir}
- Install binaries: ${sbindir}
- Install libraries: ${libdir}
- Install config files: ${sysconfdir}
- Scripts directory: ${scriptdir}
- Archive directory: ${archivedir}
- Working directory: ${working_dir}
- PID directory: ${piddir}
- Subsys directory: ${subsysdir}
- Man directory: ${mandir}
- Data directory: ${datarootdir}
- Plugin directory: ${plugindir}
- C Compiler: ${CC} ${CCVERSION}
- C++ Compiler: ${CXX} ${CXXVERSION}
- Compiler flags: ${WCFLAGS} ${CFLAGS}
- Linker flags: ${WLDFLAGS} ${LDFLAGS}
- Libraries: ${LIBS}
- Statically Linked Tools: ${support_static_tools}
- Statically Linked FD: ${support_static_fd}
- Statically Linked SD: ${support_static_sd}
- Statically Linked DIR: ${support_static_dir}
- Statically Linked CONS: ${support_static_cons}
- Database backends: ${db_backends}
- Database port: ${db_port}
- Database name: ${db_name}
- Database user: ${db_user}
-
- Job Output Email: ${job_email}
- Traceback Email: ${dump_email}
- SMTP Host Address: ${smtp_host}
-
- Director Port: ${dir_port}
- File daemon Port: ${fd_port}
- Storage daemon Port: ${sd_port}
-
- Director User: ${dir_user}
- Director Group: ${dir_group}
- Storage Daemon User: ${sd_user}
- Storage DaemonGroup: ${sd_group}
- File Daemon User: ${fd_user}
- File Daemon Group: ${fd_group}
-
+ Host: ${host}${post_host} -- ${DISTNAME} ${DISTVER}
+ Bacula version: ${BACULA} ${VERSION} (${DATE})
+ Source code location: ${srcdir}
+ Install binaries: ${sbindir}
+ Install libraries: ${libdir}
+ Install config files: ${sysconfdir}
+ Scripts directory: ${scriptdir}
+ Archive directory: ${archivedir}
+ Working directory: ${working_dir}
+ PID directory: ${piddir}
+ Subsys directory: ${subsysdir}
+ Man directory: ${mandir}
+ Data directory: ${datarootdir}
+ Plugin directory: ${plugindir}
+ C Compiler: ${CC} ${CCVERSION}
+ C++ Compiler: ${CXX} ${CXXVERSION}
+ Compiler flags: ${WCFLAGS} ${CFLAGS}
+ Linker flags: ${WLDFLAGS} ${LDFLAGS}
+ Libraries: ${LIBS}
+ Statically Linked Tools: ${support_static_tools}
+ Statically Linked FD: ${support_static_fd}
+ Statically Linked SD: ${support_static_sd}
+ Statically Linked DIR: ${support_static_dir}
+ Statically Linked CONS: ${support_static_cons}
+ Database backends: ${db_backends}
+ Database port: ${db_port}
+ Database name: ${db_name}
+ Database user: ${db_user}
+
+ Job Output Email: ${job_email}
+ Traceback Email: ${dump_email}
+ SMTP Host Address: ${smtp_host}
+
+ Director Port: ${dir_port}
+ File daemon Port: ${fd_port}
+ Storage daemon Port: ${sd_port}
+
+ Director User: ${dir_user}
+ Director Group: ${dir_group}
+ Storage Daemon User: ${sd_user}
+ Storage DaemonGroup: ${sd_group}
+ 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}
+ Encryption support: ${support_crypto}
ZLIB support: ${have_zlib}
- enable-smartalloc: ${support_smartalloc}
+ 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}
AFS support: ${have_afs}
ACL support: ${have_acl}
XATTR support: ${have_xattr}
- Python support: ${support_python} ${PYTHON_LIBS}
- Batch insert enabled: ${support_batch_insert}
+ systemd support: ${support_systemd} ${SYSTEMD_UNITDIR}
+ Batch insert enabled: ${batch_insert_db_backends}
" > config.out