X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=bacula%2Fautoconf%2Fconfigure.in;h=7044b0257b822d897db29921bd85af6b42c0681a;hb=aeffd73445e2f27dc34021a9546d98e7b61eb5fb;hp=19f3d1d70191bdffaaa25b4d9629583035bc3785;hpb=0612d7e050f600b62bb8d159119fd79f30116991;p=bacula%2Fbacula diff --git a/bacula/autoconf/configure.in b/bacula/autoconf/configure.in index 19f3d1d701..7044b0257b 100644 --- a/bacula/autoconf/configure.in +++ b/bacula/autoconf/configure.in @@ -146,6 +146,7 @@ sysconfdir=`eval echo ${sysconfdir}` datadir=`eval echo ${datadir}` localedir=`eval echo ${datadir}/locale` AC_DEFINE_UNQUOTED(LOCALEDIR, "$localedir") +AC_DEFINE_UNQUOTED(SYSCONFDIR, "$sysconfdir") # ------------------------------------------------------------------------- # If the user has not set --exec-prefix, we default to ${prefix} @@ -195,6 +196,7 @@ support_smartalloc=yes support_readline=yes support_conio=yes support_gnome=no +support_bat=no support_wx_console=no support_tls=no support_crypto=no @@ -210,8 +212,8 @@ build_client_only=no build_dird=yes build_stored=yes cats= -db_name=Internal -DB_NAME=bdb +db_type=Internal +DB_TYPE=bdb dnl# -------------------------------------------------------------------------- dnl# CHECKING COMMAND LINE OPTIONS @@ -221,7 +223,7 @@ dnl# -------------------------------------------------------------------------- # gnome (default off) # ------------------------------------------- AC_ARG_ENABLE(gnome, - [ --enable-gnome enable build of gnome-console GUI [disabled]], + [ --enable-gnome enable build of bgnome-console GUI [disabled]], [if test x$enableval = xyes; then support_gnome=yes fi]) @@ -247,12 +249,88 @@ if test x$support_gnome = xyes; then fi AC_SUBST(GNOME_DIR) +# ------------------------------------------- +# bat (default off) +# ------------------------------------------- +AC_ARG_ENABLE(bat, + [ --enable-bat enable build of bat Qt4 GUI [disabled]], + [if test x$enableval = xyes; then + AC_DEFINE(HAVE_BAT, 1, [Set if Bacula bat Qt4 GUI support enabled]) + support_bat=yes + fi]) + +BAT_DIR= +if test x$support_bat = xyes; then + abc=`$PKGCONFIG --atleast-version=4.2 QtGui` + pkg=$? + if test $pkg = 0; then + BAT_DIR=src/qt-console + else + AC_MSG_ERROR(Unable to find Qt4 installation needed by bat) + fi +fi + +# +# If bat is enabled, we need the qwt library +got_qwt=no +QWT_INC= +QWT_LDFLAGS= +if test x$support_bat = xyes; then + AC_MSG_CHECKING(for qwt support) + AC_ARG_WITH(qwt, + [ --with-qwt@<:@=DIR@:>@ specify qwt library directory], + [ + case "$with_qwt" in + no) + ;; + yes|*) + if test -f ${with_qwt}/include/qwt.h; then + QWT_INC="${with_qwt}/include" + QWT_LDFLAGS="-L${with_qwt}/lib" + fi + ;; + esac + ] + ) +# +# Search in standard places, or --with-qwt not specified +# + if test x$QWT_INC = x; then + for root in /usr /usr/local; do + for ver in qwt qwt5; do + if test -f ${root}/include/${ver}/qwt.h; then + QWT_INC="${root}/include/${ver}" + if test -d ${root}/lib64/; then + QWT_LDFLAGS="-L${root}/lib64" + else + QWT_LDFLAGS="-L${root}/lib" + fi + got_qwt=yes + break; + fi + done + done + fi + if test x$QWT_INC = x; then + AC_MSG_RESULT(no) + AC_MSG_ERROR(Unable to find qwt package needed by bat) + BAT_DIR= + support_bat=no + else + AC_MSG_RESULT(yes) + fi +fi + +AC_SUBST(BAT_DIR) +AC_SUBST(QWT_INC) +AC_SUBST(QWT_LDFLAGS) + # ------------------------------------------- -# wx-console (default off) +# bwx-console (default off) # ------------------------------------------- -AC_ARG_ENABLE(wx-console, - [ --enable-wx-console enable build of wxWidgets console [disabled]], +AC_ARG_ENABLE(bwx-console, + [ --enable-bwx-console enable build of wxWidgets console [disabled]], [if test x$enableval = xyes; then support_wx_console=yes fi]) @@ -271,7 +349,7 @@ if test x$support_wx_console = xyes; then WX_DIR=src/wx-console else echo " " - echo "wx-config program not found. wx-console disabled." + echo "wx-config program not found. bwx-console disabled." echo " " support_wx_console=no fi @@ -301,7 +379,7 @@ if test x$support_tray_monitor = xyes; then abc=`$PKGCONFIG --atleast-version=2.4 gtk+-2.0` pkg=$? if test $pkg = 0; then - AC_DEFINE(HAVE_GTK_2_4) + AC_DEFINE(HAVE_GTK_2_4) fi fi fi @@ -394,8 +472,8 @@ STATIC_GNOME_CONS= STATIC_WX_CONS= if test x$support_static_cons = xyes; then STATIC_CONS="static-bconsole" - STATIC_GNOME_CONS="static-gnome-console" - STATIC_WX_CONS="static-wx-console" + STATIC_GNOME_CONS="static-bgnome-console" + STATIC_WX_CONS="static-bwx-console" fi AC_SUBST(STATIC_CONS) AC_SUBST(STATIC_GNOME_CONS) @@ -408,8 +486,8 @@ AC_ARG_ENABLE(client-only, [ --enable-client-only build client (File daemon) only [disabled]], [if test x$enableval = xyes; then build_client_only=yes - db_name=None - DB_NAME=none + db_type=None + DB_TYPE=none fi]) if test x$build_client_only = xno; then ALL_DIRS="subdirs" @@ -455,12 +533,40 @@ AC_SUBST(STORED_DIR) # Check for conio (Bacula readline substitute)( # --------------------------------------------------- # this allows you to turn it completely off -AC_ARG_ENABLE(conio, - [ --disable-conio disable conio support [enabled] +AC_ARG_ENABLE(conio, + [ --disable-conio disable conio support [enabled] + ], + [if test x$enableval = xno; then + support_conio=no + fi] +) + + +# --------------------------------------------------- +# Check for IPv6 support +# --------------------------------------------------- +# this allows you to turn it completely off +support_ipv6=yes +AC_ARG_ENABLE(ipv6, + [ --enable-ipv6 enable ipv6 support [enabled] ], [if test x$enableval = xno; then - support_conio=no - fi]) + support_ipv6=no + fi] +) + +if test x$support_ipv6 = xyes; then + AC_TRY_LINK([ #include +#include +#include ], [struct sockaddr_in6 s; struct in6_addr t=in6addr_any; int i=AF_INET6; s; t.s6_addr[0] = 0;], + [support_ipv6=yes], [support_ipv6=no]) +fi + +if test x$support_ipv6 = xyes; then + AC_DEFINE(HAVE_IPV6,1,[Whether to enable IPv6 support]) +fi + + got_conio="no" if test x$support_conio = xyes; then @@ -519,7 +625,7 @@ got_readline="no" READLINE_SRC= if test x$support_readline = xyes; then AC_ARG_WITH(readline, - [ --with-readline=DIR specify readline library directory], + [ --with-readline@<:@=DIR@:>@ specify readline library directory], [ case "$with_readline" in no) : ;; @@ -601,7 +707,7 @@ AC_CHECK_HEADERS(varargs.h) AC_MSG_CHECKING(for Python support) AC_ARG_WITH(python, [ - --with-python[=DIR] Include Python support. DIR is the Python base + --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.], [ @@ -610,24 +716,26 @@ AC_ARG_WITH(python, if test "$withval" != "no"; then if test "$withval" = "yes"; then for python_root in /usr /usr/local /usr/sfw; do - if test -f $python_root/include/python2.2/Python.h; then - PYTHON_INCDIR=-I$python_root/include/python2.2 - PYTHON_LIBS="-L$python_root/lib/python2.2/config -lpython2.2" - break - elif test -f $python_root/include/python2.3/Python.h; then - PYTHON_INCDIR=-I$python_root/include/python2.3 - PYTHON_LIBS="-L$python_root/lib/python2.3/config -lpython2.3" - break - elif test -f $python_root/include/python2.4/Python.h; then - PYTHON_INCDIR=-I$python_root/include/python2.4 - PYTHON_LIBS="-L$python_root/lib/python2.4/config -lpython2.4" - break - fi + for ver in python2.2 python2.3 python2.4 python2.5; 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 - PYTHON_LIBS="-L$prefix/lib/config -lpython" + 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) @@ -639,10 +747,18 @@ AC_ARG_WITH(python, PYTHON_LIBS="-L$withval/config -lpython" elif test -f $withval/include/Python.h; then PYTHON_INCDIR=-I$withval/include - PYTHON_LIBS="-L$withval/lib/config -lpython" + 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 - PYTHON_LIBS="-L$withval/lib/python/config -lpython" + 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) @@ -665,7 +781,6 @@ AC_ARG_WITH(python, ]) AC_SUBST(PYTHON_LIBS) AC_SUBST(PYTHON_INCDIR) - # # Find where sockets are (especially for Solaris) @@ -685,7 +800,7 @@ AC_CHECK_FUNC(socket, TCPW_MSG="no" WRAPLIBS="" AC_ARG_WITH(tcp-wrappers, - [ --with-tcp-wrappers=DIR enable tcpwrappers support], + [ --with-tcp-wrappers@<:@=DIR@:>@ enable tcpwrappers support], [ if test "x$withval" != "xno" ; then saved_LIBS="$LIBS" @@ -749,10 +864,10 @@ if test "x$with_openssl_directory" != "x"; then OPENSSL_INC="-I$with_openssl_directory/include $OPENSSL_INC" fi - saved_LIBS="$LIBS" - saved_CFLAGS="$CFLAGS" - LIBS="$saved_LIBS $OPENSSL_LIBS" - CFLAGS="$saved_CFLAGS $OPENSSL_INC" + saved_LIBS="${LIBS}" + saved_CFLAGS="${CFLAGS}" + LIBS="${saved_LIBS} ${OPENSSL_LIBS}" + CFLAGS="${saved_CFLAGS} ${OPENSSL_INC}" AC_TRY_LINK([ #include ], [ CRYPTO_set_id_callback(NULL); ], @@ -769,8 +884,18 @@ if test "x$with_openssl_directory" != "x"; then [ ac_cv_openssl_sha2="no" ] ) - LIBS="$saved_LIBS" - CFLAGS="$saved_CFLAGS" + # Solaris disables greater than 128+ bit encryption in their OpenSSL + # implementation, presumably for export reasons. If 192bit AES + # is available, we assume that we're running with a 'non-export' + # openssl library. + AC_TRY_LINK([ #include ], + [ EVP_aes_192_cbc(); ], + [ ac_cv_openssl_export="no" ], + [ ac_cv_openssl_export="yes" ] + ) + + LIBS="${saved_LIBS}" + CFLAGS="${saved_CFLAGS}" if test "$support_tls" = "yes"; then AC_DEFINE(HAVE_OPENSSL, 1, [Define if OpenSSL library is available]) @@ -781,6 +906,10 @@ if test "x$with_openssl_directory" != "x"; then if test "$ac_cv_openssl_sha2" = "yes"; then AC_DEFINE(HAVE_SHA2, 1, [Define if the SHA-2 family of digest algorithms is available]) fi + + if test "$ac_cv_openssl_export" = "yes"; then + AC_DEFINE(HAVE_OPENSSL_EXPORT_LIBRARY, 1, [Define if the OpenSSL library is export-contrained to 128bit ciphers]) + fi else support_tls="no" support_crypto="no" @@ -900,6 +1029,13 @@ AC_SUBST(piddir) # Where to place subsys "lock file" # ------------------------------------ subsysdir=/var/run/subsys +if test -d /var/run/subsys; then + subsysdir=/var/run/subsys +elif test -d /var/lock/subsys; then + subsysdir=/var/lock/subsys +else + subsysdir=/var/run/subsys +fi AC_ARG_WITH(subsys-dir, [ --with-subsys-dir=PATH specify location of Bacula subsys file], [ @@ -1060,6 +1196,31 @@ AC_SUBST(mon_dir_password) AC_SUBST(mon_fd_password) AC_SUBST(mon_sd_password) +# +# Pickup any database name +# +db_name=bacula +AC_ARG_WITH(db_name, + [ --with-db-name=DBNAME specify database name (default bacula)], + [ + if test "x$withval" != "x" ; then + db_name=$withval + fi + ] +) +AC_SUBST(db_name) + +db_user=bacula +AC_ARG_WITH(db_user, + [ --with-db-user=UNAME specify database user (default bacula)], + [ + if test "x$withval" != "x" ; then + db_user=$withval + fi + ] +) +AC_SUBST(db_user) + # # Handle users and groups for each daemon @@ -1124,9 +1285,6 @@ AC_ARG_WITH(fd_group, ] ) - - - AC_SUBST(dir_user) AC_SUBST(dir_group) AC_SUBST(sd_user) @@ -1152,6 +1310,7 @@ AC_SUBST(SBINPERM) # ------------------------------------------------ # Bacula check for various SQL database engines # ------------------------------------------------ +SQL_LIB= BA_CHECK_POSTGRESQL_DB BA_CHECK_MYSQL_DB @@ -1161,7 +1320,29 @@ BA_CHECK_SQLITE3_DB BA_CHECK_SQLITE_DB AC_SUBST(cats) -AC_SUBST(DB_NAME) +AC_SUBST(DB_TYPE) + +# ------------------------------------------- +# enable batch attribute DB insert (default on) +# ------------------------------------------- +support_batch_insert=no +A=`nm $SQL_LIB | grep pthread_mutex_lock` +pkg=$? +if test $pkg = 0; then + support_batch_insert=yes + AC_ARG_ENABLE(batch-insert, + [ --enable-batch-insert enable the DB batch insert code [disabled]], + [if test x$enableval = xno; then + support_batch_insert=no + else + support_batch_insert=yes + fi]) +fi + +if test $support_batch_insert = yes ; then + AC_DEFINE(HAVE_BATCH_FILE_INSERT, 1, [Set if DB batch insert code enabled]) +fi + AC_DEFINE(PROTOTYPES) @@ -1532,6 +1713,8 @@ AC_CHECK_FUNCS( \ AC_CHECK_FUNCS(fchdir, [AC_DEFINE(HAVE_FCHDIR)]) AC_CHECK_FUNCS(strtoll, [AC_DEFINE(HAVE_STRTOLL)]) +AC_CHECK_FUNCS(posix_fadvise) +AC_CHECK_FUNCS(fdatasync) AC_CHECK_FUNCS(chflags) @@ -1566,18 +1749,6 @@ AC_CACHE_CHECK(for struct sockaddr has a sa_len field, ac_cv_struct_sockaddr_sa_ fi -dnl Check for IPv6 support -AC_CACHE_CHECK([for IPv6 support], ac_cv_ipv6_support, -[AC_TRY_LINK([ #include -#include -#include ], [struct sockaddr_in6 s; struct in6_addr t=in6addr_any; int i=AF_INET6; s; t.s6_addr[0] = - 0;], - [ac_cv_ipv6_support=yes], [ac_cv_ipv6_support=no])]) - -if test "$ac_cv_ipv6_support" = yes; then - AC_DEFINE(HAVE_IPV6,1,[Whether to enable IPv6 support]) -fi - AC_FUNC_STRFTIME @@ -1738,8 +1909,8 @@ freebsd) DISTVER=`uname -a |awk '{print $3}'` VER=`echo $DISTVER | cut -c 1` if test x$VER = x4 ; then - PTHREAD_LIB="${PTHREAD_LIBS}" - CFLAGS="${CFLAGS} ${PTHREAD_CFLAGS}" + PTHREAD_LIB="${PTHREAD_LIBS:--pthread}" + CFLAGS="${CFLAGS} ${PTHREAD_CFLAGS:--pthread}" fi lld="qd" llu="qu" @@ -1753,8 +1924,8 @@ freebsd) largefile_support="yes" ;; hpux) - PSCMD="UNIX95=1 ps -e -o pid,comm" - CFLAGS="$(CFLAGS) -D_XOPEN_SOURCE_EXTENDED=1" + PSCMD="UNIX95=1; ps -e -o pid,comm" + CFLAGS="${CFLAGS} -D_XOPEN_SOURCE_EXTENDED=1" DISTVER=`uname -r` TAPEDRIVE="/dev/rmt/0hnb" PTHREAD_LIB="-lpthread" @@ -1953,24 +2124,32 @@ AC_OUTPUT([autoconf/Make.common \ scripts/bacula.desktop.gnome2.consolehelper \ scripts/bacula.desktop.gnome1.xsu \ scripts/bacula.desktop.gnome2.xsu \ - scripts/gnome-console.console_apps \ + 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 \ + scripts/bat.console_apps \ src/Makefile \ src/host.h \ src/console/Makefile \ src/console/bconsole.conf \ src/gnome2-console/Makefile \ - src/gnome2-console/gnome-console.conf \ + src/gnome2-console/bgnome-console.conf \ + src/qt-console/bat.conf \ + src/qt-console/bat.pro \ + src/qt-console/install_conf_file \ src/wx-console/Makefile \ - src/wx-console/wx-console.conf \ + src/wx-console/bwx-console.conf \ src/tray-monitor/Makefile \ src/tray-monitor/tray-monitor.conf \ src/dird/Makefile \ @@ -1980,7 +2159,6 @@ AC_OUTPUT([autoconf/Make.common \ src/stored/bacula-sd.conf \ src/filed/Makefile \ src/filed/bacula-fd.conf \ - src/filed/win32/Makefile \ src/cats/Makefile \ src/cats/make_catalog_backup \ src/cats/delete_catalog_backup \ @@ -2023,23 +2201,26 @@ AC_OUTPUT([autoconf/Make.common \ src/cats/drop_bacula_tables \ src/cats/drop_bacula_database \ src/findlib/Makefile \ - src/pygtk-console/Makefile \ src/tools/Makefile \ - src/win32/winbacula.nsi \ - src/win32/baculafd/bacula-fd.conf \ - src/win32/Makefile \ - src/win32/Makefile.vcpp \ - src/win32/console/bconsole.conf \ - src/win32/wx-console/wx-console.conf \ - src/win32/pebuilder/Makefile \ po/Makefile.in \ $PFILES ], - [(echo "Doing make of dependencies"; ${MAKE:-make} depend;) ] + [ ] ) +if test "${support_bat}" = "yes" ; then + cd src/qt-console + chmod 755 install_conf_file build-depkgs-qt-console + echo "Creating bat Makefile" + qmake + cd ${BUILD_DIR} +fi + +echo "Doing make of dependencies" +${MAKE:-make} depend + cd scripts chmod 755 startmysql stopmysql bacula startit stopit btraceback mtx-changer -chmod 755 dvd-handler +chmod 755 dvd-handler dvd-simulator chmod 755 bconsole gconsole mtx-changer devel_bacula logrotate cd .. @@ -2067,6 +2248,10 @@ chmod 755 $c/make_catalog_backup $c/delete_catalog_backup chmod 755 $c/sqlite chmod 755 $c/mysql +chmod 755 src/win32/build-depkgs-mingw32 + + + if test "x$ac_cv_sys_largefile_CFLAGS" != "xno" ; then largefile_support="yes" fi @@ -2097,7 +2282,7 @@ if test "x${subsysdir}" = "x${sbindir}" ; then exit 1 fi -if test "x${db_name}" = "xInternal" ; then +if test "x${db_type}" = "xInternal" ; then echo " " echo " " echo "You have not specified either --enable-client-only or one of the" @@ -2134,8 +2319,10 @@ Configuration on `date`: Statically Linked SD: ${support_static_sd} Statically Linked DIR: ${support_static_dir} Statically Linked CONS: ${support_static_cons} - Database type: ${db_name} + Database type: ${db_type} Database lib: ${DB_LIBS} + Database name: ${db_name} + Database user: ${db_user} Job Output Email: ${job_email} Traceback Email: ${dump_email} @@ -2162,14 +2349,16 @@ Configuration on `date`: Encryption support: ${support_crypto} ZLIB support: ${have_zlib} enable-smartalloc: ${support_smartalloc} + bat support: ${support_bat} ${QWT_LDFLAGS} enable-gnome: ${support_gnome} ${gnome_version} - enable-wx-console: ${support_wx_console} ${wx_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} ACL support: ${have_acl} Python support: ${support_python} ${PYTHON_LIBS} + Batch insert enabled: ${support_batch_insert} " > config.out