X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=bacula%2Fautoconf%2Fconfigure.in;h=90adfaed7de04a661fa03e6efe5305da727753cf;hb=ac96a9d9bc8a5a23cdd7a1b1bff3e6e2ac863cb9;hp=4400ae05a59e0f777e4f6b4627d530061a69fa7e;hpb=68f2e544e05c4bd620669391189b39160812c5bb;p=bacula%2Fbacula diff --git a/bacula/autoconf/configure.in b/bacula/autoconf/configure.in index 4400ae05a5..90adfaed7d 100644 --- a/bacula/autoconf/configure.in +++ b/bacula/autoconf/configure.in @@ -2,6 +2,8 @@ dnl dnl dnl Process this file with autoconf to produce a configure script. dnl +dnl require a recent autoconf +AC_PREREQ(2.61) AC_INIT(src/version.h) BUILD_DIR=`pwd` cd .. @@ -10,7 +12,7 @@ cd ${BUILD_DIR} AC_SUBST(BUILD_DIR) AC_SUBST(TOP_DIR) AC_CONFIG_AUX_DIR(${BUILD_DIR}/autoconf) -AC_CONFIG_HEADER(src/config.h:autoconf/config.h.in) +AC_CONFIG_HEADERS(src/config.h:autoconf/config.h.in) dnl minimal Win32 stuff for "make clean" WIN32BUILDDIR=${BUILD_DIR}/src/win32 @@ -20,10 +22,6 @@ AC_SUBST(WIN32BUILDDIR) AC_SUBST(WIN32MAINDIR) AC_SUBST(WIN32TOPDIR) -dnl require a recent autoconf -AC_PREREQ(2.61) - - dnl search for true and false programs. AC_PATH_PROGS(TRUEPRG, true, :) AC_PATH_PROGS(FALSEPRG, false, :) @@ -38,13 +36,47 @@ 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 AC_SUBST(BACULA)dnl AC_SUBST(post_host)dnl +AC_SUBST(BDB_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 +LIBBACSQL_LT_RELEASE=`sed -n -e 's/^#.*LIBBACSQL_LT_RELEASE.*"\(.*\)"$/\1/p' ${srcdir}/src/version.h` + +LIBBACSQL_LT_RELEASE=${LIBBACSQL_LT_RELEASE:-$VERSION} + +AC_SUBST(LIBBACSQL_LT_RELEASE)dnl + +dnl src/findlib +dnl can be overwritten by specific values from version.h +LIBBACFIND_LT_RELEASE=`sed -n -e 's/^#.*LIBBACFIND_LT_RELEASE.*"\(.*\)"$/\1/p' ${srcdir}/src/version.h` + +LIBBACFIND_LT_RELEASE=${LIBBACFIND_LT_RELEASE:-$VERSION} + +AC_SUBST(LIBBACFIND_LT_RELEASE)dnl + echo "configuring for ${BACULA} $VERSION ($DATE)" + dnl ------------------------------------------------------- dnl Check for compiler. dnl ------------------------------------------------------ @@ -92,7 +124,6 @@ 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_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 @@ -132,6 +163,7 @@ AC_SUBST(LOCAL_DEFS) dnl -------------------------------------------------- dnl Libtool config dnl -------------------------------------------------- +use_libtool=yes AC_ARG_ENABLE(libtool, AC_HELP_STRING([--enable-libtool], [enable building using GNU libtool @<:@default=yes@:>@]), [ @@ -152,6 +184,8 @@ if test x$use_libtool != xno; then LIBTOOL_UNINSTALL_TARGET="libtool-uninstall" LIBTOOL_CLEAN_TARGET="libtool-clean" QMAKE_LIBTOOL="${BUILD_DIR}/libtool" + FD_PLUGIN_DIR="src/plugins/fd" + have_plugins=yes else DEFAULT_OBJECT_TYPE=".o" DEFAULT_ARCHIVE_TYPE=".a" @@ -161,6 +195,8 @@ else LIBTOOL_UNINSTALL_TARGET="" LIBTOOL_CLEAN_TARGET="" QMAKE_LIBTOOL="# ${BUILD_DIR}/libtool" + FD_PLUGIN_DIR="" + have_plugins=no fi AC_SUBST(DEFAULT_OBJECT_TYPE) @@ -171,6 +207,7 @@ AC_SUBST(LIBTOOL_INSTALL_TARGET) AC_SUBST(LIBTOOL_UNINSTALL_TARGET) AC_SUBST(LIBTOOL_CLEAN_TARGET) AC_SUBST(QMAKE_LIBTOOL) +AC_SUBST(FD_PLUGIN_DIR) dnl -------------------------------------------------- dnl Include file handling @@ -225,13 +262,29 @@ dnl --includedir, we set it to the package default of /usr/include. dnl If either --prefix or --includedir is set, we leave includedir dnl alone except to eval it dnl ------------------------------------------------------------------ +os_name=`uname -s 2>/dev/null` if test x${prefix} = xNONE ; then if test `eval echo ${sysconfdir}` = NONE/etc ; then sysconfdir=/etc/bacula fi if test `eval echo ${libdir}` = NONE/lib ; then - libdir=/usr/lib + case ${os_name} in + Linux) + os_processor=`uname -p 2>/dev/null` + case ${os_processor} in + x86_64) + libdir=/usr/lib64 + ;; + *) + libdir=/usr/lib + ;; + esac + ;; + *) + libdir=/usr/lib + ;; + esac fi if test `eval echo ${includedir}` = NONE/include ; then @@ -305,6 +358,7 @@ support_mysql=no support_sqlite=no support_sqlite3=no support_postgresql=no +support_ingres=no support_dbi=no support_smartalloc=yes support_readline=yes @@ -379,7 +433,7 @@ if test x$support_bat = xyes; then fi dnl -dnl If bat is enabled, we need the qwt library +dnl The qwt library was used with bat, but that is no longer the case dnl got_qwt=no QWT_INC= @@ -387,59 +441,59 @@ QWT_LDFLAGS= QWT_LIB= QWT= no_qwt=no -if test x$support_bat = xyes; then - AC_MSG_CHECKING(for qwt support) - AC_ARG_WITH(qwt, - AC_HELP_STRING([--with-qwt@<:@=DIR@:>@], [specify qwt library directory]), - [ - case "$with_qwt" in - no) - no_qwt=yes - ;; - yes|*) - if test -f ${with_qwt}/include/qwt.h; then - QWT_INC="${with_qwt}/include" - QWT_LDFLAGS="-L${with_qwt}/lib" - QWT_LIB="-lqwt" - QWT="qwt" - fi - ;; - esac - ] - ) - - dnl - dnl Search in standard places, or --with-qwt not specified - dnl - if test $no_qwt = no; then - 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" - elif test -d ${root}/lib/64/; then - QWT_LDFLAGS="-L${root}/64" - else - QWT_LDFLAGS="-L${root}/lib" - fi - QWT_LIB="-lqwt" - QWT="qwt" - got_qwt=yes - break; - fi - done - done - fi - fi - if test x$QWT_INC = x; then - AC_MSG_RESULT(no) - else - AC_DEFINE(HAVE_QWT, 1, [Set if bat QWT library found]) - AC_MSG_RESULT(yes) - fi -fi +dnl if test x$support_bat = xyes; then +dnl AC_MSG_CHECKING(for qwt support) +dnl AC_ARG_WITH(qwt, +dnl AC_HELP_STRING([--with-qwt@<:@=DIR@:>@], [specify qwt library directory]), +dnl [ +dnl case "$with_qwt" in +dnl no) +dnl no_qwt=yes +dnl ;; +dnl yes|*) +dnl if test -f ${with_qwt}/include/qwt.h; then +dnl QWT_INC="${with_qwt}/include" +dnl QWT_LDFLAGS="-L${with_qwt}/lib" +dnl QWT_LIB="-lqwt" +dnl QWT="qwt" +dnl fi +dnl ;; +dnl esac +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 x$QWT_INC = x; then +dnl for root in /usr /usr/local; do +dnl for ver in qwt qwt5 qwt-qt4; do +dnl if test -f ${root}/include/${ver}/qwt.h; then +dnl QWT_INC="${root}/include/${ver}" +dnl if test -d ${root}/lib64/; then +dnl QWT_LDFLAGS="-L${root}/lib64" +dnl elif test -d ${root}/lib/64/; then +dnl QWT_LDFLAGS="-L${root}/64" +dnl else +dnl QWT_LDFLAGS="-L${root}/lib" +dnl fi +dnl QWT_LIB="-lqwt" +dnl QWT="qwt" +dnl got_qwt=yes +dnl break; +dnl fi +dnl done +dnl done +dnl fi +dnl fi +dnl if test x$QWT_INC = x; then +dnl AC_MSG_RESULT(no) +dnl else +dnl AC_DEFINE(HAVE_QWT, 1, [Set if bat QWT library found]) +dnl AC_MSG_RESULT(yes) +dnl fi +dnl fi AC_SUBST(BAT_DIR) AC_SUBST(QWT_INC) @@ -758,45 +812,33 @@ if test x$support_ipv6 = xyes; then AC_DEFINE(HAVE_IPV6,1,[Whether to enable IPv6 support]) fi +TERM_LIB="" +AC_CHECK_HEADER(curses.h, + [ 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, + [ TERM_LIB="-lcurses" ] ) + ]) + ]) + + got_conio="no" if test x$support_conio = xyes; then - AC_CHECK_HEADER(termcap.h, - [ AC_CHECK_LIB(termcap, tgetent, - [ CONS_LIBS="-ltermcap" - CONS_OBJ="conio.o" - CONS_SRC="conio.c" - got_conio="yes" - support_readline=no - AC_DEFINE(HAVE_CONIO, 1, [Set if Bacula conio support enabled]) - ], - [ AC_CHECK_LIB(ncurses, tgetent, - [ CONS_LIBS="-lncurses" + if test x$TERM_LIB != x; then + CONS_LIBS=$TERM_LIB CONS_OBJ="conio.o" CONS_SRC="conio.c" got_conio="yes" support_readline=no AC_DEFINE(HAVE_CONIO, 1, [Set if Bacula conio support enabled]) - ]) - ]) - ], - [ - AC_CHECK_HEADERS(curses.h) - AC_CHECK_HEADER(term.h, - [ AC_CHECK_LIB(curses, tgetent, - [ CONS_LIBS="-lcurses" - CONS_OBJ="conio.o" - CONS_SRC="conio.c" - got_conio="yes" - support_readline=no - AC_DEFINE(HAVE_CONIO, 1, [Set if Bacula conio support enabled]) - ]) - ], - [ echo " "; echo "Required libraries not found. CONIO turned off ..."; echo " "], -[#if HAVE_CURSES_H -#include -#endif -]) - ]) + else + echo " "; echo "Required libraries not found. CONIO turned off ..."; echo " "], + fi fi @@ -812,6 +854,9 @@ AC_ARG_ENABLE(readline, fi ] ) +if test x$TERM_LIB = x ; then + support_readline=no +fi got_readline="no" READLINE_SRC= @@ -838,7 +883,7 @@ if test x$support_readline = xyes; then AC_CHECK_HEADER(${with_readline}/readline.h, [ AC_DEFINE(HAVE_READLINE, 1, [Set to enable readline support]) - CONS_LIBS="-lreadline -lhistory -ltermcap" + CONS_LIBS="-lreadline -lhistory $TERM_LIB" got_readline="yes" ], [ echo " " @@ -855,7 +900,7 @@ if test x$support_readline = xyes; then AC_DEFINE(HAVE_READLINE, 1, [Set to enable readline support]) got_readline="yes" CONS_INC="-I/usr/include/readline" - CONS_LIBS="-lreadline -ltermcap" + 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, @@ -863,7 +908,7 @@ if test x$support_readline = xyes; then 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" + CONS_LIBS="-lreadline -lhistory $TERM_LIB" CONS_LDFLAGS="-L${TOP_DIR}/depkgs/readline" PRTREADLINE_SRC="${TOP_DIR}/depkgs/readline" ], [ @@ -1096,6 +1141,7 @@ if test "x$with_openssl_directory" != "xno"; then support_crypto="yes" ], [ support_tls="no" + support_crypto="no" ] ) @@ -1149,13 +1195,19 @@ else OPENSSL_LIBS="" OPENSSL_INC="" fi +AC_MSG_RESULT([$support_tls]) if test "$support_tls" = "no"; then OPENSSL_LIBS="" OPENSSL_INC="" fi +if test "$support_crypto" = "no"; then + OPENSSL_LIBS="" + OPENSSL_INC="" +else + AC_CHECK_LIB(ssl, EVP_PKEY_encrypt_old, AC_DEFINE(HAVE_OPENSSLv1, 1, [Set if have OpenSSL version 1.x])) +fi -AC_MSG_RESULT([$support_tls]) AC_SUBST(OPENSSL_LIBS) AC_SUBST(OPENSSL_INC) @@ -1642,9 +1694,9 @@ AC_SUBST(fd_group) dnl dnl allow setting default executable permissions dnl -SBINPERM=0754 +SBINPERM=0750 AC_ARG_WITH(sbin-perm, - AC_HELP_STRING([--with-sbin-perm=MODE], [specify permissions for sbin binaries @<:@default=0754@:>@]), + AC_HELP_STRING([--with-sbin-perm=MODE], [specify permissions for sbin binaries @<:@default=0750@:>@]), [ if test "x$withval" != "x" ; then SBINPERM=$withval @@ -1662,9 +1714,11 @@ BA_CHECK_POSTGRESQL_DB BA_CHECK_MYSQL_DB +BA_CHECK_INGRES_DB + BA_CHECK_SQLITE3_DB -BA_CHECK_SQLITE_DB +# BA_CHECK_SQLITE_DB BA_CHECK_DBI_DB @@ -1693,12 +1747,13 @@ if test $pkg = 0; then ) fi -dnl Check if postgresql support batch mode +dnl Check if postgresql can support batch mode if test x$DB_TYPE = xpostgresql; then - A=`test -f $SQL_LIB && nm $SQL_LIB | grep PQputCopyData` - pkg=$? - if test $pkg != 0; then - support_batch_insert=no + 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 + support_batch_insert=no fi fi @@ -1708,7 +1763,9 @@ if test x$DB_TYPE = xdbi; then pkg=1 dnl Check for batch insert if test $DB_PROG = postgresql; then - A=`test -f $SQL_LIB && nm $SQL_LIB | grep PQputCopyData` + 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=$? fi @@ -1720,6 +1777,7 @@ if test x$DB_TYPE = xdbi; then if test $DB_PROG = sqlite3; then A=`test -f $SQL_LIB && nm $DB_PROG_LIB | grep pthread_mutex_lock` pkg=$? + AC_CHECK_LIB(sqlite3, sqlite3_threadsafe, AC_DEFINE(HAVE_SQLITE3_THREADSAFE, 1, [Set if have sqlite3_threadsafe])) fi if test $pkg = 0; then @@ -1741,6 +1799,11 @@ fi AC_SUBST(uncomment_dbi) +dnl For Ingres always enable batch inserts. +if test x$DB_TYPE = xingres; then + support_batch_insert=yes +fi + if test $support_batch_insert = yes ; then AC_DEFINE(HAVE_BATCH_FILE_INSERT, 1, [Set if DB batch insert code enabled]) fi @@ -1850,7 +1913,36 @@ AC_CACHE_CHECK(for socklen_t, ba_cv_header_socklen_t, ) ] ) -test $ba_cv_header_socklen_t = yes && AC_DEFINE(HAVE_SOCKLEN_T) +test $ba_cv_header_socklen_t = yes && AC_DEFINE(HAVE_SOCKLEN_T, 1, [Set if socklen_t exists]) + +dnl -------------------------------------------------------------------------- +dnl Check for ioctl request type +dnl -------------------------------------------------------------------------- +AC_LANG(C++) +AC_CACHE_CHECK(for ioctl_req_t, ba_cv_header_ioctl_req_t, + [ + AC_TRY_COMPILE( + [ + #include + #include + #include + ], [ + int (*d_ioctl)(int fd, unsigned long int request, ...); + d_ioctl = ::ioctl; + ], [ + ba_cv_header_ioctl_req_t=yes + ], [ + ba_cv_header_ioctl_req_t=no + ] + ) + ] +) +test $ba_cv_header_ioctl_req_t = yes && AC_DEFINE(HAVE_IOCTL_ULINT_REQUEST, 1, [Set if ioctl request is unsigned long int]) + +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. +AC_LANG(C) dnl -------------------------------------------------------------------------- dnl Check for typeof() @@ -2295,6 +2387,7 @@ AC_FUNC_STRFTIME AC_FUNC_VPRINTF AC_FUNC_ALLOCA AC_FUNC_GETMNTENT +AC_CHECK_FUNCS(getmntinfo, [AC_DEFINE(HAVE_GETMNTINFO)]) AC_FUNC_CLOSEDIR_VOID AC_FUNC_SETPGRP dnl check for BSD setpgrp. # AC_FUNC_FNMATCH dnl use local version @@ -2304,12 +2397,89 @@ AC_CHECK_LIB(intl, gettext, [LIBS="$LIBS -lintl"]) AC_CHECK_LIB(sun, getpwnam) AC_CHECK_HEADERS(zlib.h) -AC_CHECK_LIB(z, deflate, [FDLIBS="-lz"]) +AC_CHECK_LIB(z, deflate, [ZLIBS="-lz"]) have_zlib=no -if test x$FDLIBS = x-lz; then +if test x$ZLIBS = x-lz; then AC_DEFINE(HAVE_LIBZ) have_zlib=yes 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 + 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 +fi + +AC_SUBST(AFS_CFLAGS) +AC_SUBST(AFS_LIBS) dnl dnl Check for ACL support and libraries @@ -2337,7 +2507,18 @@ if test x$support_acl = xyes -o x$support_acl = xauto; then 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 ], [ AC_CHECK_LIB(pacl, acl_get_file, [ @@ -2410,36 +2591,36 @@ if test x$support_xattr = xyes -o x$support_xattr = xauto; then if test $have_xattr = no; then AC_CHECK_FUNCS(extattr_get_file extattr_set_file extattr_list_file, - [ + [ have_xattr=yes AC_DEFINE([HAVE_EXTATTR_GET_FILE],1,[Define to 1 if you have the 'extattr_get_file' function.]) AC_DEFINE([HAVE_EXTATTR_SET_FILE],1,[Define to 1 if you have the 'extattr_set_file' function.]) AC_DEFINE([HAVE_EXTATTR_LIST_FILE],1,[Define to 1 if you have the 'extattr_list_file' function.]) - ] + ] ) fi if test $have_xattr = yes; then have_extattr_string_in_libc=no AC_CHECK_FUNCS(extattr_namespace_to_string extattr_string_to_namespace, - [ - have_extattr_string_in_libc=yes + [ + have_extattr_string_in_libc=yes AC_DEFINE([HAVE_EXTATTR_NAMESPACE_TO_STRING],1,[Define to 1 if you have the 'extattr_namespace_to_string' function.]) AC_DEFINE([HAVE_EXTATTR_STRING_TO_NAMESPACE],1,[Define to 1 if you have the 'extattr_string_to_namespace' function.]) - ] + ] ) dnl dnl If extattr_namespace_to_string and extattr_string_to_namespace are not in libc see if they are in libutil dnl if test $have_extattr_string_in_libc = no; then - AC_CHECK_LIB(util, extattr_namespace_to_string extattr_string_to_namespace, - [ - AC_DEFINE([HAVE_EXTATTR_NAMESPACE_TO_STRING],1,[Define to 1 if you have the 'extattr_namespace_to_string' function.]) - AC_DEFINE([HAVE_EXTATTR_STRING_TO_NAMESPACE],1,[Define to 1 if you have the 'extattr_string_to_namespace' function.]) - FDLIBS="-lutil $FDLIBS" - ] - ) + AC_CHECK_LIB(util, extattr_namespace_to_string extattr_string_to_namespace, + [ + AC_DEFINE([HAVE_EXTATTR_NAMESPACE_TO_STRING],1,[Define to 1 if you have the 'extattr_namespace_to_string' function.]) + AC_DEFINE([HAVE_EXTATTR_STRING_TO_NAMESPACE],1,[Define to 1 if you have the 'extattr_string_to_namespace' function.]) + FDLIBS="-lutil $FDLIBS" + ] + ) fi fi @@ -2449,23 +2630,23 @@ if test x$support_xattr = xyes -o x$support_xattr = xauto; then if test $have_xattr = no; then AC_CHECK_HEADER(sys/xattr.h, [ AC_DEFINE(HAVE_SYS_XATTR_H,1,[Defines if your system have the sys/xattr.h header file])] , ) AC_CHECK_FUNCS(llistxattr lgetxattr lsetxattr, - [ + [ have_xattr=yes AC_DEFINE([HAVE_LLISTXATTR],1,[Define to 1 if you have the 'llistxattr' function.]) AC_DEFINE([HAVE_LGETXATTR],1,[Define to 1 if you have the 'lgetxattr' function.]) AC_DEFINE([HAVE_LSETXATTR],1,[Define to 1 if you have the 'lsetxattr' function.]) - ] + ] ) if test $have_xattr = no; then - AC_CHECK_FUNCS(listxattr getxattr setxattr, + AC_CHECK_FUNCS(listxattr getxattr setxattr, [ - have_xattr=yes - AC_DEFINE([HAVE_LISTXATTR],1,[Define to 1 if you have the 'listxattr' function.]) - AC_DEFINE([HAVE_GETXATTR],1,[Define to 1 if you have the 'getxattr' function.]) - AC_DEFINE([HAVE_SETXATTR],1,[Define to 1 if you have the 'setxattr' function.]) + have_xattr=yes + AC_DEFINE([HAVE_LISTXATTR],1,[Define to 1 if you have the 'listxattr' function.]) + AC_DEFINE([HAVE_GETXATTR],1,[Define to 1 if you have the 'getxattr' function.]) + AC_DEFINE([HAVE_SETXATTR],1,[Define to 1 if you have the 'setxattr' function.]) ] - ) + ) fi fi @@ -2480,18 +2661,18 @@ if test x$support_xattr = xyes -o x$support_xattr = xauto; then AC_CHECK_FUNCS(openat fstatat unlinkat fchownat futimesat, [ have_xattr=yes - AC_DEFINE([HAVE_OPENAT],1,[Define to 1 if you have the 'openat' function.]) - AC_DEFINE([HAVE_FSTATAT],1,[Define to 1 if you have the 'fstatat' function.]) - AC_DEFINE([HAVE_UNLINKAT],1,[Define to 1 if you have the 'unlinkat' function.]) - AC_DEFINE([HAVE_FCHOWNAT],1,[Define to 1 if you have the 'fchownat' function.]) - AC_DEFINE([HAVE_FUTIMESAT],1,[Define to 1 if you have the 'futimesat' function.]) + AC_DEFINE([HAVE_OPENAT],1,[Define to 1 if you have the 'openat' function.]) + AC_DEFINE([HAVE_FSTATAT],1,[Define to 1 if you have the 'fstatat' function.]) + AC_DEFINE([HAVE_UNLINKAT],1,[Define to 1 if you have the 'unlinkat' function.]) + AC_DEFINE([HAVE_FCHOWNAT],1,[Define to 1 if you have the 'fchownat' function.]) + AC_DEFINE([HAVE_FUTIMESAT],1,[Define to 1 if you have the 'futimesat' function.]) ] ) if test $have_xattr = yes; then AC_CHECK_LIB(nvpair, nvlist_next_nvpair, [ - AC_DEFINE([HAVE_NVLIST_NEXT_NVPAIR],1,[Define to 1 if you have the 'nvlist_next_nvpair' function.]) + AC_DEFINE([HAVE_NVLIST_NEXT_NVPAIR],1,[Define to 1 if you have the 'nvlist_next_nvpair' function.]) FDLIBS="-lnvpair $FDLIBS" ] ) @@ -2503,7 +2684,7 @@ if test x$support_xattr = xyes -o x$support_xattr = xauto; then please either load the xattr libraries or rerun configure without --enable-xattr]) else if test $have_xattr = yes; then - AC_DEFINE([HAVE_XATTR],1,[Extended Attributes support]) + AC_DEFINE([HAVE_XATTR],1,[Extended Attributes support]) fi fi fi @@ -2780,7 +2961,6 @@ mandrake) platforms/mandrake/bacula-fd \ platforms/mandrake/bacula-sd \ platforms/mandrake/bacula-dir \ - platforms/mandrake/bacula.spec \ " ;; gentoo) @@ -2817,7 +2997,7 @@ solaris) if test x$DISTVER = x5.6 ; then AC_DEFINE(HAVE_OLD_SOCKOPT) fi - LIBS="$LIBS -lresolv" + LIBS="$LIBS -lresolv -lrt" ;; suse) DISTVER=`cat /etc/SuSE-release |grep VERSION|\ @@ -2829,8 +3009,7 @@ suse) platforms/suse/bacula-fd \ platforms/suse/bacula-sd \ platforms/suse/bacula-dir \ - platforms/suse/bacula \ - platforms/suse/bacula.spec" + platforms/suse/bacula" ;; suse5) DISTNAME=suse @@ -2941,6 +3120,7 @@ AC_OUTPUT([autoconf/Make.common \ src/filed/Makefile \ src/filed/bacula-fd.conf \ src/cats/Makefile \ + src/cats/make_catalog_backup.pl \ src/cats/make_catalog_backup \ src/cats/delete_catalog_backup \ src/cats/create_postgresql_database \ @@ -2955,26 +3135,20 @@ AC_OUTPUT([autoconf/Make.common \ src/cats/grant_mysql_privileges \ src/cats/drop_mysql_tables \ src/cats/drop_mysql_database \ - src/cats/create_sqlite_database \ - src/cats/update_sqlite_tables \ - src/cats/make_sqlite_tables \ - src/cats/grant_sqlite_privileges \ - src/cats/drop_sqlite_tables \ - src/cats/drop_sqlite_database \ src/cats/create_sqlite3_database \ src/cats/update_sqlite3_tables \ src/cats/make_sqlite3_tables \ 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_bdb_database \ - src/cats/update_bdb_tables \ - src/cats/make_bdb_tables \ - src/cats/grant_bdb_privileges \ - src/cats/drop_bdb_tables \ - src/cats/drop_bdb_database \ src/cats/create_bacula_database \ src/cats/update_bacula_tables \ src/cats/grant_bacula_privileges \ @@ -2991,30 +3165,28 @@ AC_OUTPUT([autoconf/Make.common \ updatedb/update_mysql_tables_9_to_10 \ updatedb/update_sqlite3_tables_9_to_10 \ updatedb/update_postgresql_tables_9_to_10 \ - updatedb/update_sqlite_tables_9_to_10 \ 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 \ + updatedb/update_mysql_tables_11_to_12 \ + updatedb/update_sqlite3_tables_11_to_12 \ + updatedb/update_postgresql_tables_11_to_12 \ + examples/nagios/check_bacula/Makefile \ $PFILES ], [ ] ) if test "${support_bat}" = "yes" ; then - if test "x$QMAKE" = "xnone" && test "x$QMAKEQT4" = "xnone"; then - AC_MSG_ERROR([Could not find qmake or qmake-qt4 in $PATH. Check your Qt installation]) + if test "x$QMAKE" = "xnone"; then + AC_MSG_ERROR([Could not find qmake $PATH. Check your Qt installation]) fi QMAKEBIN="qmake" - - if test "x$QMAKEQT4" != "xnone"; then - QMAKEBIN=qmake-qt4 - fi - cd src/qt-console echo "Creating bat Makefile" touch bat chmod 755 bat + rm -f Makefile $QMAKEBIN ${MAKE:-make} clean cd ${BUILD_DIR} @@ -3041,7 +3213,7 @@ 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 +chmod 755 $c/update_postgresql_tables_10_to_11 c=src/cats @@ -3054,16 +3226,17 @@ chmod 755 $c/grant_bdb_privileges $c/drop_bdb_tables $c/drop_bdb_datab chmod 755 $c/create_mysql_database $c/update_mysql_tables $c/make_mysql_tables chmod 755 $c/grant_mysql_privileges $c/drop_mysql_tables $c/drop_mysql_database -chmod 755 $c/create_sqlite_database $c/update_sqlite_tables $c/make_sqlite_tables -chmod 755 $c/grant_sqlite_privileges $c/drop_sqlite_tables $c/drop_sqlite_database - chmod 755 $c/create_sqlite3_database $c/update_sqlite3_tables $c/make_sqlite3_tables chmod 755 $c/grant_sqlite3_privileges $c/drop_sqlite3_tables $c/drop_sqlite3_database 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/make_catalog_backup $c/delete_catalog_backup +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 @@ -3099,7 +3272,7 @@ if test "x${db_type}" = "xInternal" ; then echo " " echo " " echo "You have not specified either --enable-client-only or one of the" - echo " supported databases: MySQL, PostgreSQL, SQLite3, SQLite or DBI." + echo " supported databases: MySQL, PostgreSQL, Ingres, SQLite3 or DBI." echo " This is not permitted. Please reconfigure." echo " " echo "Aborting the configuration ..." @@ -3167,13 +3340,15 @@ Configuration on `date`: ZLIB support: ${have_zlib} enable-smartalloc: ${support_smartalloc} enable-lockmgr: ${support_lockmgr} - bat support: ${support_bat} ${QWT_LDFLAGS} + 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} @@ -3181,4 +3356,25 @@ Configuration on `date`: " > config.out +# create a small shell script useful for support with +# configure options and config.out info +cat > scripts/bacula_config << EOF +#!/bin/sh +cat << __EOC__ +$ $0 $ac_configure_args +EOF +cat config.out >> scripts/bacula_config +echo __EOC__ >> scripts/bacula_config +chmod 755 scripts/bacula_config + cat config.out + +# Display a warning message if postgresql client lib is <= 8.1 +if test x$DB_TYPE = xpostgresql -a 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