]
)
LT_INIT([shared disable-static])
+LT_LIB_DLLOAD
LT_LANG([C++])
if test x$use_libtool != xno; then
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
+ for ver in python2.2 python2.3 python2.4 python2.5 python2.6 python2.7 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
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]),
[
stdarg.h \
stdlib.h \
stdint.h \
+ inttypes.h \
string.h \
strings.h \
termios.h \
[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_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
dnl
dnl Check for lzo
dnl
-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_CHECK_HEADER(lzo/lzoconf.h,
+[
+ AC_CHECK_HEADER(lzo/lzo1x.h,
+ [
+ AC_CHECK_LIB(lzo2, lzo1x_1_compress,
+ [
+ LZOLIBS="-llzo2"
+ AC_DEFINE(HAVE_LZO,1,[Define to 1 if you have LZO compression])
+ have_lzo=yes
+ ])
+ ])
+])
AC_SUBST(LZOLIBS)
+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 ACL support and libraries
dnl
AC_CHECK_LIB(acl, acl_get_file,
[
have_acl=yes
- FDLIBS="-lacl $FDLIBS"
+ 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
]
)
fi
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`
;;
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)
LIBS="$PTHREAD_LIB $LIBS"
updatedb/update_sqlite3_tables_12_to_14 \
updatedb/update_postgresql_tables_12_to_14 \
examples/nagios/check_bacula/Makefile \
+ platforms/rpms/redhat/bacula.spec \
+ platforms/rpms/redhat/bacula-bat.spec \
+ platforms/rpms/redhat/bacula-docs.spec \
+ platforms/rpms/redhat/bacula-mtx.spec \
$PFILES ],
[ ]
)
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}
+ systemd support: ${support_systemd} ${SYSTEMD_UNITDIR}
Batch insert enabled: ${batch_insert_db_backends}
" > config.out