dnl
dnl require a recent autoconf
AC_PREREQ(2.61)
-AC_INIT(src/version.h)
+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_CONFIG_SRCDIR(src/version.h)
+
BUILD_DIR=`pwd`
cd ..
TOP_DIR=`pwd`
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`
build_dird=yes
build_stored=yes
db_backends=""
+batch_insert_db_backends=""
support_lockmgr=no
dnl --------------------------------------------------------------------------
dnl --------------------------------------------------------------------------
dnl -------------------------------------------
-dnl gnome (default off)
+dnl gnome -- no longer supported
dnl -------------------------------------------
AC_ARG_ENABLE(gnome,
AC_HELP_STRING([--enable-gnome], [enable build of bgnome-console GUI @<:@default=no@:>@]),
support_readline=no
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
]
)
+ 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
- OPENSSL_LIBS=""
- OPENSSL_INC=""
-fi
-if test "$support_crypto" = "no"; then
+if test "$support_tls" = "no" -o "$support_crypto" = "no"; then
OPENSSL_LIBS=""
OPENSSL_INC=""
-fi
+fi
AC_SUBST(OPENSSL_LIBS)
AC_SUBST(OPENSSL_INC)
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_INGRES_DB
+
+#BA_CHECK_DBI_DB
-BA_CHECK_DBI_DB
+#BA_CHECK_DBI_DRIVER
-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
echo " "
echo " "
echo "You have not specified either --enable-client-only or one of the"
- echo "supported databases: MySQL, PostgreSQL, Ingres, SQLite3 or DBI."
+ echo "supported databases: MySQL, PostgreSQL, or SQLite3."
echo "This is not permitted. Please reconfigure."
echo " "
echo "Aborting the configuration ..."
echo " "
echo " "
echo "You have specified two or more of the"
- echo "supported databases: MySQL, PostgreSQL, Ingres, SQLite3 or DBI."
+ echo "supported databases: MySQL, PostgreSQL, or SQLite3."
echo "This is not permitted when not using libtool Please reconfigure."
echo " "
echo "Aborting the configuration ..."
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 --------------------------------------------------------------------------
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 --------------------------------------------------------------------------
AC_SUBST(ZLIBS)
dnl
-dnl Check if we have AFS on this system
+dnl Check for lzo
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
- done
- fi
-
- AFS_CFLAGS="-I${with_afsdir}/include"
-
- saved_CFLAGS="${CFLAGS}"
- CFLAGS="${AFS_CFLAGS} ${saved_CFLAGS}"
-
- AC_CHECK_HEADERS(afs/stds.h)
-
- CFLAGS="${saved_CFLAGS}"
-
- dnl
- dnl See if we can find a libsys with the pioctl symbol in there
- dnl
- for dir in ${with_afsdir}/lib ${with_afsdir}/lib/afs
- do
- for arch_type in .a .so
- do
- A=`test -f ${dir}/libsys${arch_type} && nm ${dir}/libsys${arch_type} | grep pioctl`
- pkg=$?
- if test $pkg = 0; then
- have_afs=yes
- AFS_LIBS="-L${dir} -lsys -lrx -llwp ${dir}/util.a"
- break
- fi
- done
- done
-
- 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,[Defines if your system has AFS support])
- AC_DEFINE([HAVE_AFS_ACL],1,[Andrew FileSystem ACL support])
- fi
- fi
+AC_CHECK_HEADERS(lzo/lzoconf.h)
+AC_CHECK_HEADERS(lzo/lzo1x.h)
+AC_CHECK_LIB(lzo2, lzo1x_1_compress, [LZOLIBS="-llzo2"])
+have_lzo=no
+if test x$LZOLIBS = x-llzo2; then
+ AC_DEFINE(HAVE_LZO)
+ have_lzo=yes
fi
-
-AC_SUBST(AFS_CFLAGS)
-AC_SUBST(AFS_LIBS)
+AC_SUBST(LZOLIBS)
dnl
dnl Check for ACL support and libraries
AC_CHECK_LIB(acl, acl_get_file,
[
have_acl=yes
- if test $have_afs = yes; then
- dnl
- dnl Because of possible naming conflict with AFS libacl make sure we use the one in /usr/lib64 or /usr/lib !!!
- dnl
- if test -d /usr/lib64/; then
- FDLIBS="-L/usr/lib64 -lacl $FDLIBS"
- else
- FDLIBS="-L/usr/lib -lacl $FDLIBS"
- fi
- else
- FDLIBS="-lacl $FDLIBS"
- fi
+ FDLIBS="-lacl $FDLIBS"
]
)
fi
dnl
dnl Check for acl_get_file in libpacl (OSF1)
+ dnl and if ACL_TYPE_DEFAULT_DIR is defined.
dnl
- if test $have_acl = no; then
+ if test $have_acl = no -a \
+ x${HAVE_OSF1_OS_TRUE} = x; then
AC_CHECK_LIB(pacl, acl_get_file,
[
have_acl=yes
FDLIBS="-lpacl $FDLIBS"
]
)
+
+ AC_MSG_CHECKING(for ACL_TYPE_DEFAULT_DIR in acl.h include file)
+ grep ACL_TYPE_DEFAULT_DIR /usr/include/sys/acl.h > /dev/null 2>&1
+ if test $? = 0; then
+ AC_DEFINE(HAVE_ACL_TYPE_DEFAULT_DIR,1,[Defines if your system have the ACL_TYPE_DEFAULT_DIR acl type])
+ AC_MSG_RESULT(yes)
+ else
+ AC_MSG_RESULT(no)
+ fi
+ fi
+
+ dnl
+ dnl On OSX check for availability of ACL_TYPE_EXTENDED
+ dnl
+ if test $have_acl = yes -a \
+ x${HAVE_DARWIN_OS_TRUE} = x; then
+ AC_MSG_CHECKING(for ACL_TYPE_EXTENDED in acl.h include file)
+ grep ACL_TYPE_EXTENDED /usr/include/sys/acl.h > /dev/null 2>&1
+ if test $? = 0; then
+ AC_DEFINE(HAVE_ACL_TYPE_EXTENDED,1,[Defines if your system have the ACL_TYPE_EXTENDED acl type])
+ AC_MSG_RESULT(yes)
+ else
+ AC_MSG_RESULT(no)
+ fi
+ fi
+
+ dnl
+ dnl On FreeBSD check for availability of ACL_TYPE_NFS4
+ dnl
+ if test $have_acl = yes -a \
+ x${HAVE_FREEBSD_OS_TRUE} = x; then
+ AC_MSG_CHECKING(for ACL_TYPE_NFS4 in acl.h include file)
+ grep ACL_TYPE_NFS4 /usr/include/sys/acl.h > /dev/null 2>&1
+ if test $? = 0; then
+ AC_DEFINE(HAVE_ACL_TYPE_NFS4,1,[Defines if your system have the ACL_TYPE_NFS4 acl type])
+ AC_MSG_RESULT(yes)
+ else
+ AC_MSG_RESULT(no)
+ fi
fi
dnl
PSCMD="ps -e"
WIN32=
MACOSX=
+COMPRESS_MANPAGES=yes
hostname=`uname -n | cut -d '.' -f 1`
if test x${hostname} = x ; then
platforms/solaris/bacula-fd \
platforms/solaris/bacula-sd \
platforms/solaris/bacula-dir"
+ COMPRESS_MANPAGES=
case ${DISTVER} in
5.5|5.6)
AC_DEFINE(HAVE_OLD_SOCKOPT)
;;
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-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)
LIBS="$PTHREAD_LIB $LIBS"
AC_SUBST(MACOSX)
AC_SUBST(DISTNAME)
AC_SUBST(DISTVER)
+AC_SUBST(COMPRESS_MANPAGES)
dnl common parts of the Makefile
MCOMMON=./autoconf/Make.common
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 \
src/cats/grant_sqlite3_privileges \
src/cats/drop_sqlite3_tables \
src/cats/drop_sqlite3_database \
- src/cats/create_ingres_database \
- src/cats/update_ingres_tables \
- src/cats/make_ingres_tables \
- src/cats/grant_ingres_privileges \
- src/cats/drop_ingres_tables \
- src/cats/drop_ingres_database \
src/cats/sqlite \
src/cats/mysql \
src/cats/create_bacula_database \
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 \
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 ],
[ ]
chmod 755 $c/create_postgresql_database $c/update_postgresql_tables $c/make_postgresql_tables
chmod 755 $c/grant_postgresql_privileges $c/drop_postgresql_tables $c/drop_postgresql_database
-chmod 755 $c/create_ingres_database $c/update_ingres_tables $c/make_ingres_tables
-chmod 755 $c/grant_ingres_privileges $c/drop_ingres_tables $c/drop_ingres_database
+#chmod 755 $c/create_ingres_database $c/update_ingres_tables $c/make_ingres_tables
+#chmod 755 $c/grant_ingres_privileges $c/drop_ingres_tables $c/drop_ingres_database
chmod 755 $c/make_catalog_backup $c/delete_catalog_backup $c/make_catalog_backup.pl
chmod 755 $c/sqlite
chmod 755 $c/mysql
+chmod 755 $c/install-default-backend
+
chmod 755 src/win32/build-depkgs-mingw32
if test "x$ac_cv_sys_largefile_CFLAGS" != "xno" ; then
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}
- 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}
- AFS support: ${have_afs}
- 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}
+ systemd support: ${support_systemd} ${SYSTEMD_UNITDIR}
+ Batch insert enabled: ${batch_insert_db_backends}
" > config.out