3 dnl Process this file with autoconf to produce a configure script.
5 dnl require a recent autoconf
7 AC_INIT([bacula], m4_esyscmd([sed -n -e 's/^.*VERSION.*"\(.*\)"$/\1/p' ../src/version.h src/version.h 2> /dev/null | tr -d '\n']))
8 AC_CONFIG_SRCDIR(src/version.h)
16 AC_CONFIG_AUX_DIR(${BUILD_DIR}/autoconf)
17 AC_CONFIG_HEADERS(src/config.h:autoconf/config.h.in)
19 dnl minimal Win32 stuff for "make clean"
20 WIN32BUILDDIR=${BUILD_DIR}/src/win32
21 WIN32MAINDIR=${BUILD_DIR}
22 WIN32TOPDIR=${TOP_DIR}
23 AC_SUBST(WIN32BUILDDIR)
24 AC_SUBST(WIN32MAINDIR)
27 dnl search for true and false programs.
28 AC_PATH_PROGS(TRUEPRG, true, :)
29 AC_PATH_PROGS(FALSEPRG, false, :)
34 if test "x$BACULA" != x; then
35 post_host=`echo -${BACULA} | tr 'A-Z ' 'a-z-'`
37 BACULA=${BACULA:-Bacula}
38 VERSION=`sed -n -e 's/^.*VERSION.*"\(.*\)"$/\1/p' ${srcdir}/src/version.h`
39 DATE=`sed -n -e 's/^.*[ \t]*BDATE.*"\(.*\)"$/\1/p' ${srcdir}/src/version.h`
40 LSMDATE=`sed -n -e 's/^.*LSMDATE.*"\(.*\)"$/\1/p' ${srcdir}/src/version.h`
41 BDB_VERSION=`sed -n -e 's/^.*BDB_VERSION \(.*\)$/\1/p' ${srcdir}/src/cats/cats.h`
46 AC_SUBST(post_host)dnl
47 AC_SUBST(BDB_VERSION)dnl
50 dnl can be overwritten by specific values from version.h
51 LIBBAC_LT_RELEASE=`sed -n -e 's/^#.*LIBBAC_LT_RELEASE.*"\(.*\)"$/\1/p' ${srcdir}/src/version.h`
52 LIBBACCFG_LT_RELEASE=`sed -n -e 's/^#.*LIBBACCFG_LT_RELEASE.*"\(.*\)"$/\1/p' ${srcdir}/src/version.h`
53 LIBBACPY_LT_RELEASE=`sed -n -e 's/^#.*LIBBACPY_LT_RELEASE.*"\(.*\)"$/\1/p' ${srcdir}/src/version.h`
55 LIBBAC_LT_RELEASE=${LIBBAC_LT_RELEASE:-$VERSION}
56 LIBBACCFG_LT_RELEASE=${LIBBACCFG_LT_RELEASE:-$VERSION}
57 LIBBACPY_LT_RELEASE=${LIBBACPY_LT_RELEASE:-$VERSION}
59 AC_SUBST(LIBBAC_LT_RELEASE)dnl
60 AC_SUBST(LIBBACCFG_LT_RELEASE)dnl
61 AC_SUBST(LIBBACPY_LT_RELEASE)dnl
64 dnl can be overwritten by specific values from version.h
65 LIBBACSQL_LT_RELEASE=`sed -n -e 's/^#.*LIBBACSQL_LT_RELEASE.*"\(.*\)"$/\1/p' ${srcdir}/src/version.h`
66 LIBBACCATS_LT_RELEASE=`sed -n -e 's/^#.*LIBBACCATS_LT_RELEASE.*"\(.*\)"$/\1/p' ${srcdir}/src/version.h`
68 LIBBACSQL_LT_RELEASE=${LIBBACSQL_LT_RELEASE:-$VERSION}
69 LIBBACCATS_LT_RELEASE=${LIBBACCATS_LT_RELEASE:-$VERSION}
71 AC_SUBST(LIBBACSQL_LT_RELEASE)dnl
72 AC_SUBST(LIBBACCATS_LT_RELEASE)dnl
75 dnl can be overwritten by specific values from version.h
76 LIBBACFIND_LT_RELEASE=`sed -n -e 's/^#.*LIBBACFIND_LT_RELEASE.*"\(.*\)"$/\1/p' ${srcdir}/src/version.h`
78 LIBBACFIND_LT_RELEASE=${LIBBACFIND_LT_RELEASE:-$VERSION}
80 AC_SUBST(LIBBACFIND_LT_RELEASE)dnl
82 echo "configuring for ${BACULA} $VERSION ($DATE)"
85 dnl -------------------------------------------------------
86 dnl Check for compiler.
87 dnl ------------------------------------------------------
91 AC_PROG_CC_C_O dnl Determine if C compiler support -c -o.
92 AC_PROG_GCC_TRADITIONAL dnl Determine if ioctl() need -traditional.
96 if test "x$BASECC" = xgcc; then
100 AC_PATH_PROG(CXX, $CXX, $CXX)
101 if test ! -e $CXX; then
102 AC_MSG_ERROR(Unable to find C++ compiler)
105 dnl -------------------------------------------------------
106 dnl Check for programs.
107 dnl ------------------------------------------------------
109 AC_PATH_PROG(MV, mv, mv)
111 dnl If we name the variable RM it will shadow the RM variable in the configure script and we overwrite the
112 dnl value with the name of the rm command and not rm -f which is its normal content. This gives all kind
113 dnl of strange output of the configure script (like things don't exist etc.).
114 dnl So we name it REMOVE (more software has run into this problem)
115 AC_PATH_PROG(REMOVE, rm, rm)
116 AC_PATH_PROG(CP, cp, cp)
117 AC_PATH_PROG(SED, sed, sed)
118 AC_PATH_PROG(ECHO, echo, echo)
119 AC_PATH_PROG(CMP, cmp, cmp)
120 AC_PATH_PROG(TBL, tbl, tbl)
121 AC_PATH_PROG(AR, ar, ar)
122 AC_PATH_PROG(OPENSSL, openssl, none)
123 AC_PATH_PROG(MTX, mtx, mtx)
124 AC_PATH_PROG(DD, dd, dd)
125 AC_PATH_PROG(MKISOFS, mkisofs, mkisofs)
126 AC_PATH_PROG(PYTHON, python, python)
127 AC_PATH_PROG(GROWISOFS, growisofs, growisofs)
128 AC_PATH_PROG(DVDRWMEDIAINFO, dvd+rw-mediainfo, dvd+rw-mediainfo)
129 AC_PATH_PROG(DVDRWFORMAT, dvd+rw-format, dvd+rw-format)
130 AC_PATH_PROG(PKGCONFIG, pkg-config, pkg-config)
131 AC_PATH_PROG(QMAKE, qmake, none)
132 AC_PATH_PROG(GMAKE, gmake, none)
133 AC_ARG_VAR(WXCONFIG, [wx-config command. On some systems, you must set it to wx-config-2.6 to use wxWidgets 2.6.])
134 if test "x$WXCONFIG" = x; then
137 AC_PATH_PROG(WXCONFIG, ${WXCONFIG}, ${WXCONFIG})
138 AC_ARG_VAR(WXFLAGS, [Parameters to pass to wx-config (e.g. --unicode=no).])
139 AC_PATH_PROG(CDRECORD, cdrecord, cdrecord)
140 AC_PATH_PROG(PIDOF, pidof, pidof)
142 # Some AWK programs fail, so test it and warn the user
143 if echo xfoo | $AWK 'BEGIN { prog=ARGV[1]; ARGC=1 }
144 { if ((prog == $2) || (("(" prog ")") == $2) ||
145 (("[" prog "]") == $2) ||
146 ((prog ":") == $2)) { print $1 ; exit 0 } }' xfoo>/dev/null; then :;
148 AC_MSG_ERROR([!!!!!!!!! WARNING !!!!!!!!!!!!!!
149 The regex engine of $AWK is too broken to be used you
150 might want to install GNU AWK.
151 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!])
154 AC_PATH_PROG(AWK, $THE_AWK, $THE_AWK)
157 test -n "$ARFLAG" || ARFLAGS="cr"
164 AC_SUBST(LOCAL_CFLAGS)
165 AC_SUBST(LOCAL_LDFLAGS)
168 dnl --------------------------------------------------
170 dnl --------------------------------------------------
172 AC_ARG_ENABLE(libtool,
173 AC_HELP_STRING([--enable-libtool], [enable building using GNU libtool @<:@default=yes@:>@]),
175 if test x$enableval = xno; then
180 LT_INIT([shared disable-static])
183 if test x$use_libtool != xno; then
184 DEFAULT_OBJECT_TYPE=".lo"
185 DEFAULT_ARCHIVE_TYPE=".la"
186 DEFAULT_SHARED_OBJECT_TYPE=".la"
187 LIBTOOL="\$(LIBTOOL)"
188 LIBTOOL_INSTALL_TARGET="libtool-install"
189 LIBTOOL_UNINSTALL_TARGET="libtool-uninstall"
190 LIBTOOL_CLEAN_TARGET="libtool-clean"
191 QMAKE_LIBTOOL="${BUILD_DIR}/libtool"
192 FD_PLUGIN_DIR="src/plugins/fd"
195 DEFAULT_OBJECT_TYPE=".o"
196 DEFAULT_ARCHIVE_TYPE=".a"
197 DEFAULT_SHARED_OBJECT_TYPE=".so"
198 LIBTOOL="# \$(LIBTOOL)"
199 LIBTOOL_INSTALL_TARGET=""
200 LIBTOOL_UNINSTALL_TARGET=""
201 LIBTOOL_CLEAN_TARGET=""
202 QMAKE_LIBTOOL="# ${BUILD_DIR}/libtool"
207 AC_SUBST(DEFAULT_OBJECT_TYPE)
208 AC_SUBST(DEFAULT_ARCHIVE_TYPE)
209 AC_SUBST(DEFAULT_SHARED_OBJECT_TYPE)
211 AC_SUBST(LIBTOOL_INSTALL_TARGET)
212 AC_SUBST(LIBTOOL_UNINSTALL_TARGET)
213 AC_SUBST(LIBTOOL_CLEAN_TARGET)
214 AC_SUBST(QMAKE_LIBTOOL)
215 AC_SUBST(FD_PLUGIN_DIR)
217 dnl --------------------------------------------------
218 dnl Include file handling
219 dnl --------------------------------------------------
220 AC_ARG_ENABLE(includes,
221 AC_HELP_STRING([--enable-includes], [enable installing of include files @<:@default=no@:>@]),
223 if test x$enableval = xyes; then
229 dnl It only makes sense to install include files when you install libraries which only happens when
230 dnl libtool is enabled
232 if test x$use_libtool != xno -a x$install_includes = xyes; then
233 INCLUDE_INSTALL_TARGET="install-includes"
234 INCLUDE_UNINSTALL_TARGET="uninstall-includes"
236 INCLUDE_INSTALL_TARGET=""
237 INCLUDE_UNINSTALL_TARGET=""
239 AC_SUBST(INCLUDE_INSTALL_TARGET)
240 AC_SUBST(INCLUDE_UNINSTALL_TARGET)
242 dnl --------------------------------------------------
243 dnl Bacula OP Sys determination (see aclocal.m4)
244 dnl --------------------------------------------------
247 dnl -----------------------------------------------------------
248 dnl Bacula OPSys Distribution determination (see aclocal.m4)
249 dnl ----------------------------------------------------------
250 BA_CHECK_OPSYS_DISTNAME
252 dnl --------------------------------------------------
253 dnl Suppport for gettext (translations)
254 dnl By default, $datarootdir is ${prefix}/share
255 dnl --------------------------------------------------
256 AM_GNU_GETTEXT([external])
258 dnl ------------------------------------------------------------------
259 dnl If the user has not set --prefix, we set our default to nothing.
260 dnl In this case, if the user has not set --sysconfdir, we set it
261 dnl to the package default of /etc/bacula. If either --prefix or
262 dnl --sysconfdir is set, we leave sysconfdir alone except to eval it.
263 dnl If the user has not set --libdir, we set it to the package
264 dnl default of /usr/lib. If either --prefix or --libdir is set,
265 dnl we leave libdir alone except to eval it. If the user has not set
266 dnl --includedir, we set it to the package default of /usr/include.
267 dnl If either --prefix or --includedir is set, we leave includedir
268 dnl alone except to eval it
269 dnl ------------------------------------------------------------------
270 os_name=`uname -s 2>/dev/null`
271 if test x${prefix} = xNONE ; then
272 if test `eval echo ${sysconfdir}` = NONE/etc ; then
273 sysconfdir=/etc/bacula
276 if test `eval echo ${libdir}` = NONE/lib ; then
279 os_processor=`uname -p 2>/dev/null`
280 case ${os_processor} in
295 if test `eval echo ${includedir}` = NONE/include ; then
296 includedir=/usr/include
299 if test `eval echo ${datarootdir}` = NONE/share ; then
300 datarootdir=/usr/share
305 dnl -------------------------------------------------------------------------
306 dnl If the user has not set --exec-prefix, we default to ${prefix}
307 dnl -------------------------------------------------------------------------
308 if test x${exec_prefix} = xNONE ; then
309 exec_prefix=${prefix}
312 sysconfdir=`eval echo ${sysconfdir}`
313 datarootdir=`eval echo ${datarootdir}`
314 docdir=`eval echo ${docdir}`
315 htmldir=`eval echo ${htmldir}`
316 libdir=`eval echo ${libdir}`
317 includedir=`eval echo ${includedir}`
318 localedir=`eval echo ${datarootdir}/locale`
319 AC_DEFINE_UNQUOTED(SYSCONFDIR, "$sysconfdir")
320 AC_DEFINE_UNQUOTED(LOCALEDIR, "$localedir")
322 dnl ------------------------------------------------------------------
323 dnl If the user has not set --sbindir, we set our default as /sbin
324 dnl ------------------------------------------------------------------
325 if test x$sbindir = x'${exec_prefix}/sbin' ; then
326 sbindir=${exec_prefix}/sbin
328 sbindir=`eval echo ${sbindir}`
330 dnl -------------------------------------------------------------------------
331 dnl If the user has not set --mandir, we default to /usr/share/man
332 dnl -------------------------------------------------------------------------
333 if test x$mandir = x'${prefix}/man' ; then
334 mandir=/usr/share/man
337 dnl -------------------------------------------------------------------------
338 dnl If the user has not set --htmldir, we default to /usr/share/doc/bacula/html
339 dnl -------------------------------------------------------------------------
340 if test x$htmldir = x'/usr/share/doc/bacula/' ; then
341 htmldir=`eval echo ${docdir}html`
344 dnl -------------------------------------------------------------------------
345 dnl If the user has not set --docdir, we default to /usr/share/doc/bacula
346 dnl -------------------------------------------------------------------------
347 if test x$docdir = x'/usr/share/doc/' ; then
348 docdir=`eval echo ${docdir}bacula`
352 AC_PATH_PROGS(MSGFMT, msgfmt, no)
353 if test "$MSGFMT" = "no"
355 echo 'msgfmt program not found, disabling NLS !'
357 USE_INCLUDED_LIBINTL=no
362 support_smartalloc=yes
367 support_wx_console=no
368 support_tray_monitor=no
373 support_static_tools=no
376 support_static_dir=no
377 support_static_cons=no
383 batch_insert_db_backends=""
386 dnl --------------------------------------------------------------------------
387 dnl CHECKING COMMAND LINE OPTIONS
388 dnl --------------------------------------------------------------------------
390 dnl -------------------------------------------
391 dnl gnome -- no longer supported
392 dnl -------------------------------------------
394 AC_HELP_STRING([--enable-gnome], [enable build of bgnome-console GUI @<:@default=no@:>@]),
396 if test x$enableval = xyes; then
403 if test x$support_gnome = xyes; then
404 AC_MSG_ERROR(bgnome-console no longer supported)
405 AC_MSG_ERROR(--enable-gnome option no longer supported)
407 # AC_SUBST(GNOME_DIR)
409 dnl -------------------------------------------
410 dnl bat (default off)
411 dnl -------------------------------------------
413 AC_HELP_STRING([--enable-bat], [enable build of bat Qt4 GUI @<:@default=no@:>@]),
415 if test x$enableval = xyes; then
416 AC_DEFINE(HAVE_BAT, 1, [Set if Bacula bat Qt4 GUI support enabled])
423 if test x$support_bat = xyes; then
424 abc=`$PKGCONFIG --atleast-version=4.2 QtGui`
426 if test $pkg = 0; then
427 BAT_DIR=src/qt-console
429 AC_MSG_ERROR(Unable to find Qt4 installation needed by bat)
434 dnl The qwt library was used with bat, but that is no longer the case
442 dnl if test x$support_bat = xyes; then
443 dnl AC_MSG_CHECKING(for qwt support)
445 dnl AC_HELP_STRING([--with-qwt@<:@=DIR@:>@], [specify qwt library directory]),
447 dnl case "$with_qwt" in
452 dnl if test -f ${with_qwt}/include/qwt.h; then
453 dnl QWT_INC="${with_qwt}/include"
454 dnl QWT_LDFLAGS="-L${with_qwt}/lib"
464 dnl dnl Search in standard places, or --with-qwt not specified
466 dnl if test $no_qwt = no; then
467 dnl if test x$QWT_INC = x; then
468 dnl for root in /usr /usr/local; do
469 dnl for ver in qwt qwt5 qwt-qt4; do
470 dnl if test -f ${root}/include/${ver}/qwt.h; then
471 dnl QWT_INC="${root}/include/${ver}"
472 dnl if test -d ${root}/lib64/; then
473 dnl QWT_LDFLAGS="-L${root}/lib64"
474 dnl elif test -d ${root}/lib/64/; then
475 dnl QWT_LDFLAGS="-L${root}/64"
477 dnl QWT_LDFLAGS="-L${root}/lib"
488 dnl if test x$QWT_INC = x; then
489 dnl AC_MSG_RESULT(no)
491 dnl AC_DEFINE(HAVE_QWT, 1, [Set if bat QWT library found])
492 dnl AC_MSG_RESULT(yes)
498 AC_SUBST(QWT_LDFLAGS)
502 dnl -------------------------------------------
503 dnl bwx-console (default off)
504 dnl -------------------------------------------
505 AC_ARG_ENABLE(bwx-console,
506 AC_HELP_STRING([--enable-bwx-console], [enable build of wxWidgets console @<:@default=no@:>@]),
508 if test x$enableval = xyes; then
509 support_wx_console=yes
515 if test x$support_wx_console = xyes; then
516 abc=`$WXCONFIG $WXFLAGS --cppflags`
518 if test $pkg = 0; then
519 wx_version="wxWidgets `$WXCONFIG $WXFLAGS --release`"
520 WXCONS_CPPFLAGS=`$WXCONFIG $WXFLAGS --cppflags`
521 WXCONS_LDFLAGS=`$WXCONFIG $WXFLAGS --libs`
523 AC_SUBST(WXCONS_CPPFLAGS)
524 AC_SUBST(WXCONS_LDFLAGS)
525 WX_DIR="src/wx-console"
528 echo "wx-config program not found. bwx-console disabled."
530 support_wx_console=no
535 dnl -------------------------------------------
536 dnl tray-monitor (default off)
537 dnl -------------------------------------------
538 AC_ARG_ENABLE(tray-monitor,
539 AC_HELP_STRING([--enable-tray-monitor], [enable build of Gnome tray monitor (compatible with KDE @<:@default=no@:>@]),
541 if test x$enableval = xyes; then
542 support_tray_monitor=yes
548 if test x$support_tray_monitor = xyes; then
549 abc=`$PKGCONFIG --exists gtk+-2.0`
551 if test $pkg = 0; then
552 TRAY_MONITOR_CPPFLAGS=`$PKGCONFIG --cflags gtk+-2.0`
553 TRAY_MONITOR_LDFLAGS=`$PKGCONFIG --libs gtk+-2.0`
554 AC_SUBST(TRAY_MONITOR_CPPFLAGS)
555 AC_SUBST(TRAY_MONITOR_LDFLAGS)
556 TRAY_MONITOR_DIR=src/tray-monitor
557 abc=`$PKGCONFIG --atleast-version=2.4 gtk+-2.0`
559 if test $pkg = 0; then
560 AC_DEFINE(HAVE_GTK_2_4, 1, [Set if you have GTK 4.2 or greater loaded])
564 AC_SUBST(TRAY_MONITOR_DIR)
566 dnl -------------------------------------------
567 dnl smartalloc (default off)
568 dnl -------------------------------------------
569 AC_ARG_ENABLE(smartalloc,
570 AC_HELP_STRING([--enable-smartalloc], [enable smartalloc debugging support @<:@default=no@:>@]),
572 if test x$enableval = xno; then
573 support_smartalloc=no
578 if test x$support_smartalloc = xyes; then
579 AC_DEFINE(SMARTALLOC, 1, [Set if you want Smartalloc enabled])
582 dnl -------------------------------------------
583 dnl Lock Manager (default off)
584 dnl -------------------------------------------
585 AC_ARG_ENABLE(lockmgr,
586 AC_HELP_STRING([--enable-lockmgr], [enable lock manager support @<:@default=no@:>@]),
588 if test x$enableval = xyes; then
594 if test x$support_lockmgr = xyes; then
595 AC_DEFINE(_USE_LOCKMGR, 1, [Set if you want Lock Manager enabled])
599 dnl -------------------------------------------
600 dnl static-tools (default off)
601 dnl -------------------------------------------
602 AC_ARG_ENABLE(static-tools,
603 AC_HELP_STRING([--enable-static-tools], [enable static tape tools @<:@default=no@:>@]),
605 if test x$enableval = xyes; then
606 if test x$use_libtool = xyes; then
607 AC_MSG_ERROR([Libtool is enabled, not compatible with static tools,
608 please rerun configure with --disable-libtool])
610 support_static_tools=yes
616 if test x$support_static_tools = xyes; then
617 TTOOL_LDFLAGS="-static"
619 AC_SUBST(TTOOL_LDFLAGS)
621 dnl -------------------------------------------
622 dnl static-fd (default off)
623 dnl -------------------------------------------
624 AC_ARG_ENABLE(static-fd,
625 AC_HELP_STRING([--enable-static-fd], [enable static File daemon @<:@default=no@:>@]),
627 if test x$enableval = xyes; then
628 if test x$use_libtool = xyes; then
629 AC_MSG_ERROR([Libtool is enabled, not compatible with static tools,
630 please rerun configure with --disable-libtool])
632 support_static_fd=yes
638 if test x$support_static_fd = xyes; then
639 STATIC_FD="static-bacula-fd"
643 dnl -------------------------------------------
644 dnl static-sd (default off)
645 dnl -------------------------------------------
646 AC_ARG_ENABLE(static-sd,
647 AC_HELP_STRING([--enable-static-sd], [enable static Storage daemon @<:@default=no@:>@]),
649 if test x$enableval = xyes; then
650 if test x$use_libtool = xyes; then
651 AC_MSG_ERROR([Libtool is enabled, not compatible with static tools,
652 please rerun configure with --disable-libtool])
654 support_static_sd=yes
660 if test x$support_static_sd = xyes; then
661 STATIC_SD="static-bacula-sd"
665 dnl -------------------------------------------
666 dnl static-dir (default off)
667 dnl -------------------------------------------
668 AC_ARG_ENABLE(static-dir,
669 AC_HELP_STRING([--enable-static-dir], [enable static Director @<:@default=no@:>@]),
671 if test x$enableval = xyes; then
672 if test x$use_libtool = xyes; then
673 AC_MSG_ERROR([Libtool is enabled, not compatible with static tools,
674 please rerun configure with --disable-libtool])
676 support_static_dir=yes
682 if test x$support_static_dir = xyes; then
683 STATIC_DIR="static-bacula-dir"
687 dnl -------------------------------------------
688 dnl static-cons (default off)
689 dnl -------------------------------------------
690 AC_ARG_ENABLE(static-cons,
691 AC_HELP_STRING([--enable-static-cons], [enable static Console @<:@default=no@:>@]),
693 if test x$enableval = xyes; then
694 if test x$use_libtool = xyes; then
695 AC_MSG_ERROR([Libtool is enabled, not compatible with static tools,
696 please rerun configure with --disable-libtool])
698 support_static_cons=yes
706 if test x$support_static_cons = xyes; then
707 STATIC_CONS="static-bconsole"
708 STATIC_GNOME_CONS="static-bgnome-console"
709 STATIC_WX_CONS="static-bwx-console"
711 AC_SUBST(STATIC_CONS)
712 AC_SUBST(STATIC_GNOME_CONS)
713 AC_SUBST(STATIC_WX_CONS)
715 dnl -------------------------------------------
716 dnl client_only (default off)
717 dnl -------------------------------------------
718 AC_ARG_ENABLE(client-only,
719 AC_HELP_STRING([--enable-client-only], [build client (File daemon) only @<:@default=no@:>@]),
721 if test x$enableval = xyes; then
722 build_client_only=yes
728 if test x$build_client_only = xno; then
735 dnl -------------------------------------------
736 dnl director (default on)
737 dnl -------------------------------------------
738 AC_ARG_ENABLE(build-dird,
739 AC_HELP_STRING([--enable-build-dird], [enable building of dird (Director) @<:@default=yes@:>@]),
741 if test x$enableval = xno; then
746 if test x$build_dird = xyes; then
751 DIR_TOOLS="NODIRTOOLS"
756 dnl -------------------------------------------
757 dnl stored (default on)
758 dnl -------------------------------------------
759 AC_ARG_ENABLE(build-stored,
760 AC_HELP_STRING([--enable-build-stored], [enable building of stored (Storage daemon) @<:@default=yes@:>@]),
762 if test x$enableval = xno; then
767 if test x$build_stored = xyes; then
768 STORED_DIR="src/stored"
774 dnl ---------------------------------------------------
775 dnl Check for conio (Bacula readline substitute)(
776 dnl ---------------------------------------------------
777 dnl this allows you to turn it completely off
779 AC_HELP_STRING([--disable-conio], [disable conio support @<:@default=no@:>@]),
781 if test x$enableval = xno; then
788 dnl ---------------------------------------------------
789 dnl Check for IPv6 support
790 dnl ---------------------------------------------------
791 dnl this allows you to turn it completely off
794 AC_HELP_STRING([--enable-ipv6], [enable ipv6 support @<:@default=yes@:>@]),
796 if test x$enableval = xno; then
802 if test x$support_ipv6 = xyes; then
803 AC_TRY_LINK([ #include <sys/types.h>
804 #include <sys/socket.h>
805 #include <netinet/in.h>], [struct sockaddr_in6 s; struct in6_addr t=in6addr_any; int i=AF_INET6; s; t.s6_addr[0] = 0;],
806 [support_ipv6=yes], [support_ipv6=no])
809 if test x$support_ipv6 = xyes; then
810 AC_DEFINE(HAVE_IPV6,1,[Whether to enable IPv6 support])
814 AC_CHECK_HEADER(curses.h, [
815 AC_CHECK_LIB(tinfo, tgetent, [ TERM_LIB="-ltinfo" ], [
816 AC_CHECK_LIB(ncurses, tgetent, [ TERM_LIB="-lncurses" ], [
817 AC_CHECK_LIB(termcap, tgetent, [ TERM_LIB="-ltermcap" ])
821 [ AC_CHECK_HEADERS(curses.h)
822 AC_CHECK_HEADER(term.h,
823 [ AC_CHECK_LIB(curses, tgetent,
824 [ TERM_LIB="-lcurses" ] )
830 if test x$support_conio = xyes; then
831 if test x$TERM_LIB != x; then
837 AC_DEFINE(HAVE_CONIO, 1, [Set if Bacula conio support enabled])
839 echo " "; echo "Required libraries not found. CONIO turned off ..."; echo " "
844 dnl ---------------------------------------------------
845 dnl Check for readline support/directory (default off)
846 dnl ---------------------------------------------------
847 dnl this allows you to turn it completely off
848 AC_ARG_ENABLE(readline,
849 AC_HELP_STRING([--disable-readline], [disable readline support @<:@default=yes@:>@]),
851 if test x$enableval = xno; then
856 if test x$TERM_LIB = x ; then
862 if test x$support_readline = xyes; then
863 AC_ARG_WITH(readline,
864 AC_HELP_STRING([--with-readline@<:@=DIR@:>@], [specify readline library directory]),
866 case "$with_readline" in
871 if test -f ${with_readline}/readline.h; then
872 CONS_INC="-I${with_readline}"
873 CONS_LDFLAGS="-L$with_readline"
874 elif test -f ${with_readline}/include/readline/readline.h; then
875 CONS_INC="-I${with_readline}/include/readline"
876 CONS_LDFLAGS="-L${with_readline}/lib"
877 with_readline="${with_readline}/include/readline"
879 with_readline="/usr/include/readline"
882 AC_CHECK_HEADER(${with_readline}/readline.h,
884 AC_DEFINE(HAVE_READLINE, 1, [Set to enable readline support])
885 CONS_LIBS="-lreadline -lhistory $TERM_LIB"
889 echo "readline.h not found. readline turned off ..."
896 dnl check for standard readline library
897 AC_CHECK_HEADER(/usr/include/readline/readline.h,
899 AC_DEFINE(HAVE_READLINE, 1, [Set to enable readline support])
901 CONS_INC="-I/usr/include/readline"
902 CONS_LIBS="-lreadline $TERM_LIB"
904 dnl Did not find standard library, so try Bacula's default
905 AC_CHECK_HEADER(${TOP_DIR}/depkgs/readline/readline.h,
907 AC_DEFINE(HAVE_READLINE, 1, [Set to enable readline support])
909 CONS_INC="-I${TOP_DIR}/depkgs/readline"
910 CONS_LIBS="-lreadline -lhistory $TERM_LIB"
911 CONS_LDFLAGS="-L${TOP_DIR}/depkgs/readline"
912 PRTREADLINE_SRC="${TOP_DIR}/depkgs/readline"
915 echo "readline.h not found. readline turned off ..."
929 AC_SUBST(CONS_LDFLAGS)
930 AC_SUBST(READLINE_SRC)
932 dnl Minimal stuff for readline Makefile configuration
937 AC_CHECK_FUNCS(strcasecmp select setenv putenv tcgetattr lstat lchown)
938 AC_CHECK_FUNCS(nanosleep nl_langinfo)
939 AC_CHECK_HEADERS(varargs.h)
941 dnl End of readline/conio stuff
942 dnl -----------------------------------------------------------------------
944 dnl -----------------------------------------------------------------------
945 dnl Check for Python support
947 AC_MSG_CHECKING(for Python support)
949 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.]),
953 if test "$withval" != "no"; then
954 if test "$withval" = "yes"; then
955 if test -e /usr/bin/python-config ; then
956 PYTHON_INCDIR=`/usr/bin/python-config --includes`
957 PYTHON_LIBS=`/usr/bin/python-config --libs`
959 for python_root in /usr /usr/local /usr/sfw; do
960 for ver in python2.2 python2.3 python2.4 python2.5 python2.6 python3; do
961 if test -f $python_root/include/${ver}/Python.h; then
962 PYTHON_INCDIR=-I$python_root/include/${ver}
963 if test -d $python_root/lib64/${ver}/config; then
964 PYTHON_LIBS="-L$python_root/lib64/${ver}/config -l${ver}"
966 PYTHON_LIBS="-L$python_root/lib/${ver}/config -l${ver}"
973 if test x$PYTHON_INCDIR = x; then
974 if test -f $prefix/include/Python.h; then
975 PYTHON_INCDIR=-I$prefix/include
976 if test -d $prefix/lib64/config; then
977 PYTHON_LIBS="-L$prefix/lib64/config -lpython"
979 PYTHON_LIBS="-L$prefix/lib/config -lpython"
983 AC_MSG_ERROR(Unable to find Python.h in standard locations)
988 if test -e $withval/bin/python-config ; then
989 PYTHON_INCDIR=`$withval/bin/python-config --includes`
990 PYTHON_LIBS=`$withval/bin/python-config --libs`
991 elif test -f $withval/Python.h; then
992 PYTHON_INCDIR=-I$withval
993 PYTHON_LIBS="-L$withval/config -lpython"
994 elif test -f $withval/include/Python.h; then
995 PYTHON_INCDIR=-I$withval/include
996 if test -d $withval/lib64/config; then
997 PYTHON_LIBS="-L$withval/lib64/config -lpython"
999 PYTHON_LIBS="-L$withval/lib/config -lpython"
1001 elif test -f $withval/include/python/Python.h; then
1002 PYTHON_INCDIR=-I$withval/include/python
1003 if test -d $withval/lib64/python/config; then
1004 PYTHON_LIBS="-L$withval/lib64/python/config -lpython"
1006 PYTHON_LIBS="-L$withval/lib/python/config -lpython"
1010 AC_MSG_ERROR(Invalid Python directory $withval - unable to find Python.h under $withval)
1014 AC_DEFINE([HAVE_PYTHON], 1)
1017 AC_MSG_NOTICE(checking for more Python libs)
1018 saved_LIBS="$LIBS"; LIBS=
1019 AC_SEARCH_LIBS(shm_open, [rt])
1020 AC_CHECK_LIB(util, openpty)
1021 PYTHON_LIBS="$PYTHON_LIBS $LIBS"
1030 AC_SUBST(PYTHON_LIBS)
1031 AC_SUBST(PYTHON_INCDIR)
1034 dnl Find where sockets are (especially for Solaris)
1035 dnl Do this before the TCP Wrappers test since tcp wrappers
1036 dnl uses the socket library and some linkers are stupid.
1038 AC_CHECK_FUNC(socket,
1039 AC_MSG_RESULT(using libc's socket),
1040 AC_CHECK_LIB(xnet,socket)
1041 AC_CHECK_LIB(socket,socket)
1042 AC_CHECK_LIB(inet,socket))
1044 dnl -----------------------------------------------------------
1045 dnl Check whether user wants TCP wrappers support (default off)
1046 dnl -----------------------------------------------------------
1049 AC_ARG_WITH(tcp-wrappers,
1050 AC_HELP_STRING([--with-tcp-wrappers@<:@=DIR@:>@], [enable tcpwrappers support]),
1052 if test "x$withval" != "xno" ; then
1054 LIBS="$saved_LIBS -lwrap"
1055 AC_SEARCH_LIBS(nanosleep, [rt])
1056 AC_MSG_CHECKING(for libwrap)
1059 #include <sys/types.h>
1061 int deny_severity = 0;
1062 int allow_severity = 0;
1063 struct request_info *req;
1068 AC_DEFINE(HAVE_LIBWRAP, 1, [Set to enable libwraper support])
1073 LIBS="$saved_LIBS -lwrap -lnsl"
1074 WRAPLIBS="$saved_LIBS -lwrap -lnsl"
1077 #include <sys/types.h>
1079 int deny_severity = 0;
1080 int allow_severity = 0;
1081 struct request_info *req;
1086 AC_DEFINE(HAVE_LIBWRAP, 1, [Set to enable libwraper support])
1091 AC_MSG_ERROR([*** libwrap missing])
1100 dnl -----------------------------------------------------------
1101 dnl Check whether OpenSSL is available
1102 dnl -----------------------------------------------------------
1103 AC_MSG_CHECKING([for OpenSSL])
1104 dnl The following uses quadrigraphs:
1107 AC_ARG_WITH(openssl,
1108 AC_HELP_STRING([--with-openssl@<:@=DIR@:>@], [Include OpenSSL support. DIR is the OpenSSL base]),
1110 with_openssl_directory=${withval}
1114 if test "x$with_openssl_directory" != "xno"; then
1115 OPENSSL_LIBS="-lssl -lcrypto"
1118 if test "x$with_openssl_directory" != "xyes" && test x"${with_openssl_directory}" != "x"; then
1120 # Make sure the $with_openssl_directory also makes sense
1122 if test -d "$with_openssl_directory/lib" -a -d "$with_openssl_directory/include"; then
1123 OPENSSL_LIBS="-L$with_openssl_directory/lib $OPENSSL_LIBS"
1124 OPENSSL_INC="-I$with_openssl_directory/include $OPENSSL_INC"
1128 saved_LIBS="${LIBS}"
1129 saved_CFLAGS="${CFLAGS}"
1130 LIBS="${saved_LIBS} ${OPENSSL_LIBS}"
1131 CFLAGS="${saved_CFLAGS} ${OPENSSL_INC}"
1135 #include <openssl/ssl.h>
1137 CRYPTO_set_id_callback(NULL);
1140 support_crypto="yes"
1149 #include <openssl/evp.h>
1153 ac_cv_openssl_sha2="yes"
1155 ac_cv_openssl_sha2="no"
1159 dnl Solaris disables greater than 128+ bit encryption in their OpenSSL
1160 dnl implementation, presumably for export reasons. If 192bit AES
1161 dnl is available, we assume that we're running with a 'non-export'
1162 dnl openssl library.
1165 #include <openssl/evp.h>
1169 ac_cv_openssl_export="no"
1171 ac_cv_openssl_export="yes"
1175 AC_MSG_RESULT([$support_tls])
1176 if test "$support_tls" = "yes"; then
1177 AC_DEFINE(HAVE_OPENSSL, 1, [Define if OpenSSL library is available])
1178 AC_DEFINE(HAVE_TLS, 1, [Define if TLS support should be enabled])
1179 AC_DEFINE(HAVE_CRYPTO, 1, [Define if encryption support should be enabled])
1182 if test "$ac_cv_openssl_sha2" = "yes"; then
1183 AC_DEFINE(HAVE_SHA2, 1, [Define if the SHA-2 family of digest algorithms is available])
1186 if test "$ac_cv_openssl_export" = "yes"; then
1187 AC_DEFINE(HAVE_OPENSSL_EXPORT_LIBRARY, 1, [Define if the OpenSSL library is export-contrained to 128bit ciphers])
1190 if test "$support_crypto" = "yes"; then
1191 AC_CHECK_LIB(crypto, EVP_PKEY_encrypt_old, AC_DEFINE(HAVE_OPENSSLv1, 1, [Set if have OpenSSL version 1.x]))
1194 LIBS="${saved_LIBS}"
1195 CFLAGS="${saved_CFLAGS}"
1199 AC_MSG_RESULT([$support_tls])
1202 if test "$support_tls" = "no" -o "$support_crypto" = "no"; then
1207 AC_SUBST(OPENSSL_LIBS)
1208 AC_SUBST(OPENSSL_INC)
1210 dnl -----------------------------------------------------------
1211 dnl dlopen is needed for plugins
1212 dnl -----------------------------------------------------------
1213 AC_SEARCH_LIBS(dlopen, [dl])
1215 dnl ------------------------------------------
1216 dnl Where to place working dir
1217 dnl ------------------------------------------
1218 working_dir=`eval echo ${prefix}/var/bacula/working`
1219 AC_ARG_WITH(working-dir,
1220 AC_HELP_STRING([--with-working-dir=PATH], [specify path of Bacula working directory]),
1222 if test "x$withval" != "xno" ; then
1223 working_dir=$withval
1228 AC_SUBST(working_dir)
1230 dnl ------------------------------------------------------------------
1231 dnl If the user has not set archivedir, we set our default as /tmp
1232 dnl ------------------------------------------------------------------
1234 AC_ARG_WITH(archivedir,
1235 AC_HELP_STRING([--with-archivedir=PATH], [specify path of SD archive directory]),
1237 if test "x$withval" != "xno" ; then
1243 AC_SUBST(archivedir)
1245 dnl ------------------------------------------------------------------
1246 dnl Allow the user to specify the daemon resource name default hostname
1247 dnl ------------------------------------------------------------------
1249 AC_ARG_WITH(basename,
1250 AC_HELP_STRING([--with-basename=RESNAME], [specify base resource name for daemons]),
1252 if test "x$withval" != "xno" ; then
1260 dnl ------------------------------------------------------------------
1261 dnl Allow the user to override the hostname (default = machine hostname)
1262 dnl ------------------------------------------------------------------
1263 hostname=`uname -n | cut -d '.' -f 1`
1264 if test x${hostname} = x ; then
1265 hostname="localhost"
1267 dnl Make sure hostname is resolved
1268 ping -c 1 $hostname 2>/dev/null 1>/dev/null
1269 if test ! $? = 0; then
1270 hostname="localhost"
1272 AC_ARG_WITH(hostname,
1273 AC_HELP_STRING([--with-hostname=RESNAME], [specify host name for daemons]),
1275 if test "x$withval" != "xno" ; then
1284 dnl ------------------------------------------
1285 dnl Where to place scriptdir (script files)
1286 dnl ------------------------------------------
1287 scriptdir=`eval echo ${sysconfdir}`
1288 AC_ARG_WITH(scriptdir,
1289 AC_HELP_STRING([--with-scriptdir=PATH], [specify path of Bacula scripts directory]),
1291 if test "x$withval" != "xno" ; then
1300 dnl ------------------------------------------
1301 dnl Where to place bsrdir (bsr files)
1302 dnl ------------------------------------------
1305 AC_HELP_STRING([--with-bsrdir=PATH], [specify path of Bacula bsrs directory]),
1307 if test "x$withval" != "xno" ; then
1315 dnl ------------------------------------------
1316 dnl Where to place logdir (bsr files)
1317 dnl ------------------------------------------
1320 AC_HELP_STRING([--with-logdir=PATH], [specify path of Bacula logs directory]),
1322 if test "x$withval" != "xno" ; then
1331 # ------------------------------------------
1332 # Where to place plugindir (plugin files)
1333 # ------------------------------------------
1334 plugindir=`eval echo ${libdir}`
1335 AC_ARG_WITH(plugindir,
1336 AC_HELP_STRING([--with-plugindir=PATH], [specify path of Bacula plugins directory]),
1338 if test "x$withval" != "xno" ; then
1346 dnl ------------------------------------------
1347 dnl Where to send dump email
1348 dnl ------------------------------------------
1349 dump_email=root@localhost
1350 AC_ARG_WITH(dump-email,
1351 AC_HELP_STRING([--with-dump-email=EMAIL], [dump email address]),
1353 if test "x$withval" != "xno" ; then
1359 AC_SUBST(dump_email)
1361 dnl ------------------------------------------
1362 dnl Where to send job email
1363 dnl ------------------------------------------
1364 job_email=root@localhost
1365 AC_ARG_WITH(job-email,
1366 AC_HELP_STRING([--with-job-email=EMAIL], [job output email address]),
1368 if test "x$withval" != "xno" ; then
1376 dnl ------------------------------------------
1377 dnl Where to find smtp host
1378 dnl ------------------------------------------
1380 AC_ARG_WITH(smtp_host,
1381 AC_HELP_STRING([--with-smtp-host=HOST], [SMTP mail host address]),
1383 if test "x$withval" != "xno" ; then
1391 dnl ------------------------------------
1392 dnl Where to place pid files
1393 dnl ------------------------------------
1395 AC_ARG_WITH(pid-dir,
1396 AC_HELP_STRING([--with-pid-dir=PATH], [specify location of Bacula pid files]),
1398 if test "x$withval" != "xno" ; then
1404 AC_DEFINE_UNQUOTED(_PATH_BACULA_PIDDIR, "$piddir")
1407 dnl ------------------------------------
1408 dnl Where to place subsys "lock file"
1409 dnl ------------------------------------
1410 subsysdir=/var/run/subsys
1411 if test -d /var/run/subsys; then
1412 subsysdir=/var/run/subsys
1413 elif test -d /var/lock/subsys; then
1414 subsysdir=/var/lock/subsys
1416 subsysdir=/var/run/subsys
1418 AC_ARG_WITH(subsys-dir,
1419 AC_HELP_STRING([--with-subsys-dir=PATH], [specify location of Bacula subsys file]),
1421 if test "x$withval" != "xno" ; then
1429 dnl ------------------------------------
1430 dnl Where to start assigning ports
1431 dnl ------------------------------------
1433 AC_ARG_WITH(baseport,
1434 AC_HELP_STRING([--with-baseport=PORT], [specify base port address for daemons]),
1436 if test "x$withval" != "xno" ; then
1443 dir_port=`expr $baseport`
1444 fd_port=`expr $baseport + 1`
1445 sd_port=`expr $fd_port + 1`
1451 dnl ------------------------------------------
1452 dnl Generate passwords
1453 dnl ------------------------------------------
1455 AC_ARG_WITH(dir-password,
1456 AC_HELP_STRING([--with-dir-password=PASSWORD], [specify Director's password]),
1458 if test "x$withval" != "xno" ; then
1459 dir_password=$withval
1464 if test "x$dir_password" = "x" ; then
1465 if test "x$OPENSSL" = "xnone" ; then
1466 key=`autoconf/randpass 33`
1468 key=`openssl rand -base64 33`
1474 AC_ARG_WITH(fd-password,
1475 AC_HELP_STRING([--with-fd-password=PASSWORD], [specify Client's password]),
1477 if test "x$withval" != "xno" ; then
1478 fd_password=$withval
1483 if test "x$fd_password" = "x" ; then
1484 if test "x$OPENSSL" = "xnone" ; then
1485 key=`autoconf/randpass 37`
1487 key=`openssl rand -base64 33`
1493 AC_ARG_WITH(sd-password,
1494 AC_HELP_STRING([--with-sd-password=PASSWORD], [specify Storage daemon's password]),
1496 if test "x$withval" != "xno" ; then
1497 sd_password=$withval
1502 if test "x$sd_password" = "x" ; then
1503 if test "x$OPENSSL" = "xnone" ; then
1504 key=`autoconf/randpass 41`
1506 key=`openssl rand -base64 33`
1512 AC_ARG_WITH(mon-dir-password,
1513 AC_HELP_STRING([--with-mon-dir-password=PASSWORD], [specify Director's password used by the monitor]),
1515 if test "x$withval" != "xno" ; then
1516 mon_dir_password=$withval
1521 if test "x$mon_dir_password" = "x" ; then
1522 if test "x$OPENSSL" = "xnone" ; then
1523 key=`autoconf/randpass 33`
1525 key=`openssl rand -base64 33`
1527 mon_dir_password=$key
1531 AC_ARG_WITH(mon-fd-password,
1532 AC_HELP_STRING([--with-mon-fd-password=PASSWORD], [specify Client's password used by the monitor]),
1534 if test "x$withval" != "xno" ; then
1535 mon_fd_password=$withval
1540 if test "x$mon_fd_password" = "x" ; then
1541 if test "x$OPENSSL" = "xnone" ; then
1542 key=`autoconf/randpass 37`
1544 key=`openssl rand -base64 33`
1546 mon_fd_password=$key
1550 AC_ARG_WITH(mon-sd-password,
1551 AC_HELP_STRING([--with-mon-sd-password=PASSWORD], [specify Storage daemon's password used by the monitor]),
1553 if test "x$withval" != "xno" ; then
1554 mon_sd_password=$withval
1559 if test "x$mon_sd_password" = "x" ; then
1560 if test "x$OPENSSL" = "xnone" ; then
1561 key=`autoconf/randpass 41`
1563 key=`openssl rand -base64 33`
1565 mon_sd_password=$key
1568 AC_SUBST(dir_password)
1569 AC_SUBST(fd_password)
1570 AC_SUBST(sd_password)
1571 AC_SUBST(mon_dir_password)
1572 AC_SUBST(mon_fd_password)
1573 AC_SUBST(mon_sd_password)
1576 dnl Pickup any database name
1579 AC_ARG_WITH(db_name,
1580 AC_HELP_STRING([--with-db-name=DBNAME], [specify database name @<:@default=bacula@:>@]),
1582 if test "x$withval" != "x" ; then
1590 AC_ARG_WITH(db_user,
1591 AC_HELP_STRING([--with-db-user=UNAME], [specify database user @<:@default=bacula@:>@]),
1593 if test "x$withval" != "x" ; then
1601 AC_ARG_WITH(db_password,
1602 AC_HELP_STRING([--with-db-password=PWD], [specify database password @<:@default=*none*@:>@]),
1604 if test "x$withval" != "x" ; then
1605 db_password=$withval
1609 AC_SUBST(db_password)
1612 dnl Pickup a database port
1615 AC_ARG_WITH(db_port,
1616 AC_HELP_STRING([--with-db-port=DBPORT], [specify a database port @<:@default=null@:>@]),
1618 if test "x$withval" != "x" ; then
1626 # Handle users and groups for each daemon
1629 AC_ARG_WITH(dir_user,
1630 AC_HELP_STRING([--with-dir-user=USER], [specify user for Director daemon]),
1632 if test "x$withval" != "x" ; then
1639 AC_ARG_WITH(dir_group,
1640 AC_HELP_STRING([--with-dir-group=GROUP], [specify group for Director daemon]),
1642 if test "x$withval" != "x" ; then
1649 AC_ARG_WITH(sd_user,
1650 AC_HELP_STRING([--with-sd-user=USER], [specify user for Storage daemon]),
1652 if test "x$withval" != "x" ; then
1659 AC_ARG_WITH(sd_group,
1660 AC_HELP_STRING([--with-sd-group=GROUP], [specify group for Storage daemon]),
1662 if test "x$withval" != "x" ; then
1669 AC_ARG_WITH(fd_user,
1670 AC_HELP_STRING([--with-fd-user=USER], [specify user for File daemon]),
1672 if test "x$withval" != "x" ; then
1679 AC_ARG_WITH(fd_group,
1680 AC_HELP_STRING([--with-fd-group=GROUP], [specify group for File daemon]),
1682 if test "x$withval" != "x" ; then
1696 dnl allow setting default executable permissions
1699 AC_ARG_WITH(sbin-perm,
1700 AC_HELP_STRING([--with-sbin-perm=MODE], [specify permissions for sbin binaries @<:@default=0750@:>@]),
1702 if test "x$withval" != "x" ; then
1710 dnl -------------------------------------------
1711 dnl enable batch attribute DB insert (default on)
1712 dnl -------------------------------------------
1713 support_batch_insert=yes
1714 AC_ARG_ENABLE(batch-insert,
1715 AC_HELP_STRING([--enable-batch-insert], [enable the DB batch insert code @<:@default=yes@:>@]),
1717 if test x$enableval = xno; then
1718 support_batch_insert=no
1723 if test x$support_batch_insert = xyes; then
1724 AC_DEFINE(USE_BATCH_FILE_INSERT, 1, [Set if DB batch insert code enabled])
1727 dnl ------------------------------------------------
1728 dnl Bacula check for various SQL database engines
1729 dnl ------------------------------------------------
1732 dnl Set uncomment_dbi by default to '#' if DBI is enabled this will get reset
1736 BA_CHECK_POSTGRESQL_DB
1746 #BA_CHECK_DBI_DRIVER
1748 dnl -------------------------------------------
1749 dnl If no batch insert backend are enable set
1750 dnl variable to None
1751 dnl -------------------------------------------
1752 if test -z "${batch_insert_db_backends}"; then
1753 batch_insert_db_backends="None"
1756 dnl -------------------------------------------
1757 dnl Make sure at least one database backend is found
1758 dnl -------------------------------------------
1759 if test "x${db_backends}" = "x" ; then
1762 echo "You have not specified either --enable-client-only or one of the"
1763 echo "supported databases: MySQL, PostgreSQL, or SQLite3."
1764 echo "This is not permitted. Please reconfigure."
1766 echo "Aborting the configuration ..."
1772 dnl -------------------------------------------
1773 dnl See how many catalog backends are configured.
1774 dnl -------------------------------------------
1775 case `echo $DB_BACKENDS | wc -w | sed -e 's/^ *//'` in
1777 DEFAULT_DB_TYPE="${DB_BACKENDS}"
1778 if test x$use_libtool = xno; then
1779 SHARED_CATALOG_TARGETS=""
1781 SHARED_CATALOG_TARGETS="libbaccats-${DEFAULT_DB_TYPE}.la"
1785 dnl ------------------------------------------------
1786 dnl Set the default backend to the first backend found
1787 dnl ------------------------------------------------
1788 DEFAULT_DB_TYPE=`echo ${DB_BACKENDS} | cut -d' ' -f1`
1790 dnl ------------------------------------------------
1791 dnl For multiple backend we need libtool support.
1792 dnl ------------------------------------------------
1793 if test x$use_libtool = xno; then
1796 echo "You have specified two or more of the"
1797 echo "supported databases: MySQL, PostgreSQL, or SQLite3."
1798 echo "This is not permitted when not using libtool Please reconfigure."
1800 echo "Aborting the configuration ..."
1806 SHARED_CATALOG_TARGETS=""
1807 for db_type in ${DB_BACKENDS}
1809 if test -z "${SHARED_CATALOG_TARGETS}"; then
1810 SHARED_CATALOG_TARGETS="libbaccats-${db_type}.la"
1812 SHARED_CATALOG_TARGETS="${SHARED_CATALOG_TARGETS} libbaccats-${db_type}.la"
1818 dnl -------------------------------------------
1819 dnl Unset DB_LIBS when using libtool as we link the
1820 dnl shared library using the right database lib no need to
1821 dnl set DB_LIBS which is only used for non shared versions
1822 dnl of the backends.
1823 dnl -------------------------------------------
1824 if test x$use_libtool = xyes; then
1828 AC_SUBST(uncomment_dbi)
1829 AC_SUBST(DB_BACKENDS)
1831 AC_SUBST(DEFAULT_DB_TYPE)
1832 AC_SUBST(SHARED_CATALOG_TARGETS)
1834 AC_DEFINE(PROTOTYPES)
1836 dnl --------------------------------------------------------------------------
1837 dnl Supply default CFLAGS, if not specified by `CFLAGS=flags ./configure'
1839 if test -z "$CFLAGS" -o "$CFLAGS" = "-g -O2"; then
1840 if test -z "$CCOPTS"; then
1841 CCOPTS='-g -O2 -Wall'
1849 dnl See if we can use 64 bit file addresses
1850 largefile_support="no"
1855 dnl --------------------------------------------------------------------------
1856 dnl CHECKING FOR HEADER FILES
1857 dnl --------------------------------------------------------------------------
1895 AC_STRUCT_ST_BLKSIZE
1899 dnl --------------------------------------------------------------------------
1900 dnl Check for utime.h structure
1901 dnl --------------------------------------------------------------------------
1902 AC_CACHE_CHECK(for utime.h, ba_cv_header_utime_h,
1906 #include <sys/types.h>
1911 ba_cv_header_utime_h=yes
1913 ba_cv_header_utime_h=no
1918 test $ba_cv_header_utime_h = yes && AC_DEFINE(HAVE_UTIME_H, 1, [Set if utime.h exists])
1920 dnl --------------------------------------------------------------------------
1921 dnl Check for socklen_t
1922 dnl --------------------------------------------------------------------------
1923 AC_CACHE_CHECK(for socklen_t, ba_cv_header_socklen_t,
1927 #include <sys/types.h>
1928 #include <sys/socket.h>
1932 ba_cv_header_socklen_t=yes
1934 ba_cv_header_socklen_t=no
1939 test $ba_cv_header_socklen_t = yes && AC_DEFINE(HAVE_SOCKLEN_T, 1, [Set if socklen_t exists])
1941 dnl --------------------------------------------------------------------------
1942 dnl Check for ioctl request type
1943 dnl --------------------------------------------------------------------------
1945 AC_CACHE_CHECK(for ioctl_req_t, ba_cv_header_ioctl_req_t,
1950 #include <sys/types.h>
1951 #include <sys/ioctl.h>
1953 int (*d_ioctl)(int fd, unsigned long int request, ...);
1956 ba_cv_header_ioctl_req_t=yes
1958 ba_cv_header_ioctl_req_t=no
1963 test $ba_cv_header_ioctl_req_t = yes && AC_DEFINE(HAVE_IOCTL_ULINT_REQUEST, 1, [Set if ioctl request is unsigned long int])
1965 dnl Note: it is more correct to use AC_LANG(C++) but some of the older
1966 dnl *BSD systems still use old style C prototypes, which are wrong with
1967 dnl compiled with a C++ compiler.
1970 dnl --------------------------------------------------------------------------
1971 dnl Check for typeof()
1972 dnl --------------------------------------------------------------------------
1974 AC_CACHE_CHECK(for typeof, ba_cv_have_typeof,
1978 main(){char *a = 0; a = (typeof a)a;}
1980 ba_cv_have_typeof=yes
1982 ba_cv_have_typeof=no
1984 ba_cv_have_typeof=no
1989 test $ba_cv_have_typeof = yes && AC_DEFINE([HAVE_TYPEOF], 1, [Defind to 1 if compiler has typeof])
1994 AC_C_BIGENDIAN([AC_DEFINE([HAVE_BIG_ENDIAN], [1], [Big Endian])], [AC_DEFINE([HAVE_LITTLE_ENDIAN], [1], [Little Endian])])
1996 dnl --------------------------------------------------------------------------
1997 dnl CHECKING FOR FILESYSTEM TYPE
1998 dnl --------------------------------------------------------------------------
1999 AC_MSG_CHECKING(how to get filesystem type)
2001 # The order of these tests is important.
2004 #include <sys/statvfs.h>
2005 #include <sys/fstyp.h>
2007 AC_DEFINE(FSTYPE_STATVFS) fstype=SVR4
2009 if test $fstype = no; then
2012 #include <sys/statfs.h>
2013 #include <sys/fstyp.h>
2015 AC_DEFINE(FSTYPE_USG_STATFS) fstype=SVR3
2018 if test $fstype = no; then
2021 #include <sys/statfs.h>
2022 #include <sys/vmount.h>
2024 AC_DEFINE(FSTYPE_AIX_STATFS) fstype=AIX
2027 if test $fstype = no; then
2032 AC_DEFINE(FSTYPE_MNTENT) fstype=4.3BSD
2035 if test $fstype = no; then
2036 AC_EGREP_HEADER(f_type;, sys/mount.h, AC_DEFINE(FSTYPE_STATFS) fstype=4.4BSD/OSF1)
2038 if test $fstype = no; then
2041 #include <sys/mount.h>
2042 #include <sys/fs_types.h>
2044 AC_DEFINE(FSTYPE_GETMNT) fstype=Ultrix
2047 AC_MSG_RESULT($fstype)
2049 AC_CHECK_HEADER(sys/statvfs.h, [ AC_DEFINE(HAVE_SYS_STATVFS_H,1,[Defines if your system have the sys/statvfs.h header file])] , )
2052 AC_CHECK_FUNCS(backtrace)
2055 dnl --------------------------------------------------------------------------
2056 dnl CHECKING FOR TYPEDEFS, STRUCTURES, AND COMPILER CHARACTERISTICS.
2057 dnl --------------------------------------------------------------------------
2067 AC_CHECK_TYPE(ino_t, unsigned long)
2068 AC_CHECK_TYPE(dev_t, unsigned long)
2069 AC_CHECK_TYPE(daddr_t, long)
2070 AC_CHECK_TYPE(major_t, int)
2071 AC_CHECK_TYPE(minor_t, int)
2072 AC_CHECK_TYPE(ssize_t, int)
2078 AC_CHECK_SIZEOF(char, 1)
2079 AC_CHECK_SIZEOF(short int, 2)
2080 AC_CHECK_SIZEOF(int, 4)
2081 AC_CHECK_SIZEOF(long int, 4)
2082 AC_CHECK_SIZEOF(long long int, 8)
2083 AC_CHECK_SIZEOF(int *, 4)
2085 dnl Check for sys/types.h types
2086 AC_CACHE_CHECK([for u_int type], ac_cv_have_u_int,
2090 #include <sys/types.h>
2094 ac_cv_have_u_int="yes"
2096 ac_cv_have_u_int="no"
2101 if test "x$ac_cv_have_u_int" = "xyes" ; then
2102 AC_DEFINE(HAVE_U_INT)
2106 AC_CACHE_CHECK([for intmax_t type], ac_cv_have_intmax_t,
2110 #include <sys/types.h>
2114 ac_cv_have_intmax_t="yes"
2122 ac_cv_have_intmax_t="yes"
2124 ac_cv_have_intmax_t="no"
2131 if test "x$ac_cv_have_intmax_t" = "xyes" ; then
2132 AC_DEFINE(HAVE_INTMAX_T)
2136 AC_CACHE_CHECK([for u_intmax_t type], ac_cv_have_u_intmax_t,
2140 #include <sys/types.h>
2142 u_intmax_t a; a = 1;
2144 ac_cv_have_u_intmax_t="yes"
2150 u_intmax_t a; a = 1;
2152 ac_cv_have_u_intmax_t="yes"
2154 ac_cv_have_u_intmax_t="no"
2161 if test "x$ac_cv_have_u_intmax_t" = "xyes" ; then
2162 AC_DEFINE(HAVE_U_INTMAX_T)
2166 AC_CACHE_CHECK([for intXX_t types], ac_cv_have_intxx_t,
2170 #include <sys/types.h>
2172 int8_t a; int16_t b; int32_t c; a = b = c = 1;
2174 ac_cv_have_intxx_t="yes"
2176 ac_cv_have_intxx_t="no"
2181 if test "x$ac_cv_have_intxx_t" = "xyes" ; then
2182 AC_DEFINE(HAVE_INTXX_T)
2186 AC_CACHE_CHECK([for int64_t type], ac_cv_have_int64_t,
2190 #include <sys/types.h>
2194 ac_cv_have_int64_t="yes"
2196 ac_cv_have_int64_t="no"
2201 if test "x$ac_cv_have_int64_t" = "xyes" ; then
2202 AC_DEFINE(HAVE_INT64_T)
2206 AC_CACHE_CHECK([for u_intXX_t types], ac_cv_have_u_intxx_t,
2210 #include <sys/types.h>
2212 u_int8_t a; u_int16_t b; u_int32_t c; a = b = c = 1;
2214 ac_cv_have_u_intxx_t="yes"
2216 ac_cv_have_u_intxx_t="no"
2221 if test "x$ac_cv_have_u_intxx_t" = "xyes" ; then
2222 AC_DEFINE(HAVE_U_INTXX_T)
2226 AC_CACHE_CHECK([for u_int64_t types], ac_cv_have_u_int64_t,
2230 #include <sys/types.h>
2234 ac_cv_have_u_int64_t="yes"
2236 ac_cv_have_u_int64_t="no"
2241 if test "x$ac_cv_have_u_int64_t" = "xyes" ; then
2242 AC_DEFINE(HAVE_U_INT64_T)
2246 if (test -z "$have_u_intxx_t" || test -z "$have_intxx_t" && \
2247 test "x$ac_cv_header_sys_bitypes_h" = "xyes")
2249 AC_MSG_CHECKING([for intXX_t and u_intXX_t types in sys/bitypes.h])
2252 #include <sys/bitypes.h>
2254 int8_t a; int16_t b; int32_t c;
2255 u_int8_t e; u_int16_t f; u_int32_t g;
2256 a = b = c = e = f = g = 1;
2258 AC_DEFINE(HAVE_U_INTXX_T)
2259 AC_DEFINE(HAVE_INTXX_T)
2260 AC_DEFINE(HAVE_SYS_BITYPES_H)
2268 if test -z "$have_u_intxx_t" ; then
2269 AC_CACHE_CHECK([for uintXX_t types], ac_cv_have_uintxx_t,
2273 #include <sys/types.h>
2275 uint8_t a; uint16_t b;
2276 uint32_t c; a = b = c = 1;
2278 ac_cv_have_uintxx_t="yes"
2280 ac_cv_have_uintxx_t="no"
2285 if test "x$ac_cv_have_uintxx_t" = "xyes" ; then
2286 AC_DEFINE(HAVE_UINTXX_T)
2290 if (test -z "$have_u_int64_t" || test -z "$have_int64_t" && \
2291 test "x$ac_cv_header_sys_bitypes_h" = "xyes")
2293 AC_MSG_CHECKING([for int64_t and u_int64_t types in sys/bitypes.h])
2296 #include <sys/bitypes.h>
2298 int64_t a; u_int64_t b;
2301 AC_DEFINE(HAVE_U_INT64_T)
2302 AC_DEFINE(HAVE_INT64_T)
2310 if (test -z "$have_uintxx_t" && \
2311 test "x$ac_cv_header_sys_bitypes_h" = "xyes")
2313 AC_MSG_CHECKING([for uintXX_t types in sys/bitypes.h])
2316 #include <sys/bitypes.h>
2318 uint8_t a; uint16_t b;
2319 uint32_t c; a = b = c = 1;
2321 AC_DEFINE(HAVE_UINTXX_T)
2329 dnl --------------------------------------------------------------------------
2330 dnl CHECKING FOR REQUIRED LIBRARY FUNCTIONS
2331 dnl --------------------------------------------------------------------------
2347 [echo 'configure: cannot find needed function.'; exit 1]
2350 AC_CHECK_FUNC(closefrom, [AC_DEFINE(HAVE_CLOSEFROM, 1, [Define to 1 if you have the 'closefrom' function.])])
2351 AC_CHECK_FUNCS(getpagesize, [AC_DEFINE(HAVE_GETPAGESIZE, 1, [Set if have getpagesize])])
2352 AC_CHECK_FUNCS(malloc_trim, [AC_DEFINE(HAVE_MALLOC_TRIM, 1, [Set if have malloc_trim])])
2354 AC_CHECK_FUNCS(fchdir, [AC_DEFINE(HAVE_FCHDIR)])
2355 AC_CHECK_FUNCS(strtoll, [AC_DEFINE(HAVE_STRTOLL)])
2356 AC_CHECK_FUNCS(posix_fadvise)
2357 AC_CHECK_FUNCS(fdatasync)
2359 AC_CHECK_FUNCS(chflags)
2361 AC_CHECK_FUNCS(snprintf vsnprintf gethostid fseeko)
2363 AC_CACHE_CHECK(for va_copy, ba_cv_va_copy,
2368 void use_va_copy(va_list args){va_list args2; va_copy(args2,args); va_end(args2);}
2369 void call_use_va_copy(int junk,...){va_list args; va_start(args,junk); use_va_copy(args); va_end(args);}
2371 call_use_va_copy(1,2,3)
2380 test $ba_cv_va_copy = yes && AC_DEFINE(HAVE_VA_COPY, 1, [Set if va_copy exists])
2382 dnl --------------------------------------------------------------------------
2383 dnl CHECKING FOR THREAD SAFE FUNCTIONS
2384 dnl --------------------------------------------------------------------------
2385 AC_CHECK_FUNCS(localtime_r readdir_r strerror_r gethostbyname_r)
2387 # If resolver functions are not in libc check for -lnsl or -lresolv.
2388 AC_CHECK_FUNC(gethostbyname_r,
2389 AC_MSG_RESULT(using libc's resolver),
2390 AC_CHECK_LIB(nsl,gethostbyname_r)
2391 AC_CHECK_LIB(resolv,gethostbyname_r))
2393 AC_CHECK_FUNCS(inet_pton, [AC_DEFINE(HAVE_INET_PTON)])
2394 AC_CHECK_FUNCS(inet_ntop, [AC_DEFINE(HAVE_INET_NTOP)])
2395 AC_CHECK_FUNCS(gethostbyname2, [AC_DEFINE(HAVE_GETHOSTBYNAME2)])
2397 dnl ----------------------------
2398 dnl check sa_len of sockaddr
2399 dnl ----------------------------
2400 AC_CACHE_CHECK(for struct sockaddr has a sa_len field, ac_cv_struct_sockaddr_sa_len,
2404 #include <sys/socket.h>
2406 struct sockaddr s; s.sa_len;
2408 ac_cv_struct_sockaddr_sa_len=yes
2409 ], [ac_cv_struct_sockaddr_sa_len=no
2415 if test $ac_cv_struct_sockaddr_sa_len = yes; then
2416 AC_DEFINE(HAVE_SA_LEN, 1, [Define if sa_len field exists in struct sockaddr])
2420 dnl check for working getaddrinfo()
2422 dnl Note that if the system doesn't have gai_strerror(), we
2423 dnl can't use getaddrinfo() because we can't get strings
2424 dnl describing the error codes.
2426 AC_CACHE_CHECK(for working getaddrinfo, ac_cv_working_getaddrinfo,
2432 #include <sys/types.h>
2433 #include <sys/socket.h>
2436 struct addrinfo hints, *ai;
2439 memset(&hints, 0, sizeof(hints));
2440 hints.ai_family = AF_UNSPEC;
2441 hints.ai_socktype = SOCK_STREAM;
2442 error = getaddrinfo("127.0.0.1", NULL, &hints, &ai);
2446 if (ai->ai_addr->sa_family != AF_INET) {
2452 ac_cv_working_getaddrinfo="yes"
2454 ac_cv_working_getaddrinfo="no"
2456 ac_cv_working_getaddrinfo="yes"
2461 AC_CHECK_FUNC(gai_strerror, [AC_DEFINE(HAVE_GAI_STRERROR, 1, [Define to 1 if you have the 'gai_strerror' function.])])
2463 if test "$ac_cv_working_getaddrinfo" = "yes"; then
2464 if test "$ac_cv_func_gai_strerror" != "yes"; then
2465 ac_cv_working_getaddrinfo="no"
2467 AC_DEFINE(HAVE_GETADDRINFO, 1, [Define to 1 if getaddrinfo exists and works])
2475 AC_CHECK_FUNCS(getmntinfo, [AC_DEFINE(HAVE_GETMNTINFO)])
2476 AC_FUNC_CLOSEDIR_VOID
2477 AC_FUNC_SETPGRP dnl check for BSD setpgrp.
2478 # AC_FUNC_FNMATCH dnl use local version
2480 AC_CHECK_LIB(intl, gettext, [LIBS="$LIBS -lintl"])
2482 AC_CHECK_LIB(sun, getpwnam)
2484 AC_CHECK_HEADERS(zlib.h)
2485 AC_CHECK_LIB(z, deflate, [ZLIBS="-lz"])
2487 if test x$ZLIBS = x-lz; then
2488 AC_DEFINE(HAVE_LIBZ)
2497 AC_CHECK_HEADER(lzo/lzoconf.h,
2499 AC_CHECK_HEADER(lzo/lzo1x.h,
2501 AC_CHECK_LIB(lzo2, lzo1x_1_compress,
2504 AC_DEFINE(HAVE_LZO,1,[Define to 1 if you have LZO compression])
2512 dnl Check for ACL support and libraries
2516 AC_HELP_STRING([--disable-acl], [disable acl support @<:@default=auto@:>@]),
2518 if test x$enableval = xyes; then
2520 elif test x$enableval = xno; then
2527 have_extended_acl=no
2528 if test x$support_acl = xyes -o x$support_acl = xauto; then
2529 AC_CHECK_HEADER(sys/acl.h, [ AC_DEFINE(HAVE_SYS_ACL_H,1,[Defines if your system have the sys/acl.h header file])] , )
2532 dnl First check for acl_get_file in libc
2534 AC_CHECK_FUNC(acl_get_file,
2541 dnl Check for acl_get_file in libacl (Linux)
2543 if test $have_acl = no; then
2544 AC_CHECK_LIB(acl, acl_get_file,
2547 FDLIBS="-lacl $FDLIBS"
2553 dnl Check for acl_get_file in libpacl (OSF1)
2554 dnl and if ACL_TYPE_DEFAULT_DIR is defined.
2556 if test $have_acl = no -a \
2557 x${HAVE_OSF1_OS_TRUE} = x; then
2558 AC_CHECK_LIB(pacl, acl_get_file,
2561 FDLIBS="-lpacl $FDLIBS"
2565 AC_MSG_CHECKING(for ACL_TYPE_DEFAULT_DIR in acl.h include file)
2566 grep ACL_TYPE_DEFAULT_DIR /usr/include/sys/acl.h > /dev/null 2>&1
2567 if test $? = 0; then
2568 AC_DEFINE(HAVE_ACL_TYPE_DEFAULT_DIR,1,[Defines if your system have the ACL_TYPE_DEFAULT_DIR acl type])
2576 dnl On OSX check for availability of ACL_TYPE_EXTENDED
2578 if test $have_acl = yes -a \
2579 x${HAVE_DARWIN_OS_TRUE} = x; then
2580 AC_MSG_CHECKING(for ACL_TYPE_EXTENDED in acl.h include file)
2581 grep ACL_TYPE_EXTENDED /usr/include/sys/acl.h > /dev/null 2>&1
2582 if test $? = 0; then
2583 AC_DEFINE(HAVE_ACL_TYPE_EXTENDED,1,[Defines if your system have the ACL_TYPE_EXTENDED acl type])
2591 dnl On FreeBSD check for availability of ACL_TYPE_NFS4
2593 if test $have_acl = yes -a \
2594 x${HAVE_FREEBSD_OS_TRUE} = x; then
2595 AC_MSG_CHECKING(for ACL_TYPE_NFS4 in acl.h include file)
2596 grep ACL_TYPE_NFS4 /usr/include/sys/acl.h > /dev/null 2>&1
2597 if test $? = 0; then
2598 AC_DEFINE(HAVE_ACL_TYPE_NFS4,1,[Defines if your system have the ACL_TYPE_NFS4 acl type])
2606 dnl Check for acltotext and acl_totext (Solaris)
2608 if test $have_acl = no -a \
2609 x${HAVE_SUN_OS_TRUE} = x; then
2610 AC_CHECK_LIB(sec, acltotext,
2613 FDLIBS="-lsec $FDLIBS"
2615 AC_CHECK_LIB(sec, acl_totext,
2617 have_extended_acl=yes
2625 dnl Check for acl_get and aclx_get (AIX)
2627 if test $have_acl = no -a \
2628 x${HAVE_AIX_OS_TRUE} = x; then
2629 AC_CHECK_FUNC(acl_get,
2633 AC_CHECK_FUNC(aclx_get,
2635 have_extended_acl=yes
2642 if test x$support_acl = xyes -a $have_acl != yes; then
2643 AC_MSG_ERROR([acl support explicitly enabled but no supported acl implementation found,
2644 please either load the acl libraries or rerun configure without --enable-acl])
2646 if test $have_acl = yes; then
2647 AC_DEFINE([HAVE_ACL],1,[Normal acl support])
2650 if test $have_extended_acl = yes; then
2651 AC_DEFINE([HAVE_EXTENDED_ACL],1,[Extended acl support])
2657 dnl Check for XATTR support
2660 AC_ARG_ENABLE(xattr,
2661 AC_HELP_STRING([--disable-xattr], [disable xattr support @<:@default=auto@:>@]),
2663 if test x$enableval = xyes; then
2665 elif test x$enableval = xno; then
2672 if test x$support_xattr = xyes -o x$support_xattr = xauto; then
2674 dnl First check for *BSD support
2675 dnl When running on a BSD variant
2677 if test x${HAVE_FREEBSD_OS_TRUE} = x -o \
2678 x${HAVE_NETBSD_OS_TRUE} = x -o \
2679 x${HAVE_OPENBSD_OS_TRUE} = x; then
2680 AC_CHECK_HEADER(sys/extattr.h, [ AC_DEFINE(HAVE_SYS_EXTATTR_H,1,[Defines if your system have the sys/extattr.h header file])] , )
2681 AC_CHECK_HEADER(libutil.h, [ AC_DEFINE(HAVE_LIBUTIL_H,1,[Defines if your system have the libutil.h header file])] , )
2682 AC_CHECK_FUNCS(extattr_get_link extattr_set_link extattr_list_link,
2685 AC_DEFINE([HAVE_EXTATTR_GET_LINK],1,[Define to 1 if you have the 'extattr_get_link' function.])
2686 AC_DEFINE([HAVE_EXTATTR_SET_LINK],1,[Define to 1 if you have the 'extattr_set_link' function.])
2687 AC_DEFINE([HAVE_EXTATTR_LIST_LINK],1,[Define to 1 if you have the 'extattr_list_link' function.])
2691 if test $have_xattr = no; then
2692 AC_CHECK_FUNCS(extattr_get_file extattr_set_file extattr_list_file,
2695 AC_DEFINE([HAVE_EXTATTR_GET_FILE],1,[Define to 1 if you have the 'extattr_get_file' function.])
2696 AC_DEFINE([HAVE_EXTATTR_SET_FILE],1,[Define to 1 if you have the 'extattr_set_file' function.])
2697 AC_DEFINE([HAVE_EXTATTR_LIST_FILE],1,[Define to 1 if you have the 'extattr_list_file' function.])
2702 if test $have_xattr = yes; then
2703 have_extattr_string_in_libc=no
2704 AC_CHECK_FUNCS(extattr_namespace_to_string extattr_string_to_namespace,
2706 have_extattr_string_in_libc=yes
2707 AC_DEFINE([HAVE_EXTATTR_NAMESPACE_TO_STRING],1,[Define to 1 if you have the 'extattr_namespace_to_string' function.])
2708 AC_DEFINE([HAVE_EXTATTR_STRING_TO_NAMESPACE],1,[Define to 1 if you have the 'extattr_string_to_namespace' function.])
2713 dnl If extattr_namespace_to_string and extattr_string_to_namespace are not in libc see if they are in libutil
2715 if test $have_extattr_string_in_libc = no; then
2716 AC_CHECK_LIB(util, extattr_namespace_to_string extattr_string_to_namespace,
2718 AC_DEFINE([HAVE_EXTATTR_NAMESPACE_TO_STRING],1,[Define to 1 if you have the 'extattr_namespace_to_string' function.])
2719 AC_DEFINE([HAVE_EXTATTR_STRING_TO_NAMESPACE],1,[Define to 1 if you have the 'extattr_string_to_namespace' function.])
2720 FDLIBS="-lutil $FDLIBS"
2728 dnl If we failed to find *BSD support try the AIX implementation of extented attributes (EA)
2729 dnl When running on AIX
2731 if test $have_xattr = no -a \
2732 x${HAVE_AIX_OS_TRUE} = x; then
2733 AC_CHECK_HEADER(sys/ea.h, [ AC_DEFINE(HAVE_SYS_EA_H,1,[Defines if your system have the sys/ea.h header file])] , )
2734 AC_CHECK_FUNCS(llistea lgetea lsetea,
2737 AC_DEFINE([HAVE_LLISTEA],1,[Define to 1 if you have the 'llistea' function.])
2738 AC_DEFINE([HAVE_LGETEA],1,[Define to 1 if you have the 'lgetea' function.])
2739 AC_DEFINE([HAVE_LSETEA],1,[Define to 1 if you have the 'lsetea' function.])
2743 if test $have_xattr = no; then
2744 AC_CHECK_FUNCS(listea getea setea,
2747 AC_DEFINE([HAVE_LISTEA],1,[Define to 1 if you have the 'listea' function.])
2748 AC_DEFINE([HAVE_GETEA],1,[Define to 1 if you have the 'getea' function.])
2749 AC_DEFINE([HAVE_SETEA],1,[Define to 1 if you have the 'setea' function.])
2756 dnl If we failed to find AIX support try the TRU64 implementation of extented attributes
2757 dnl when running on a TRU64 OS.
2759 if test $have_xattr = no -a \
2760 x${HAVE_OSF1_OS_TRUE} = x; then
2761 AC_CHECK_HEADER(sys/proplist.h, [ AC_DEFINE(HAVE_SYS_PROPLIST_H,1,[Defines if your system have the sys/proplist.h header file])] , )
2762 AC_CHECK_FUNCS(getproplist get_proplist_entry sizeof_proplist_entry add_proplist_entry setproplist,
2765 AC_DEFINE([HAVE_GETPROPLIST],1,[Define to 1 if you have the 'getproplist' function.])
2766 AC_DEFINE([HAVE_GET_PROPLIST_ENTRY],1,[Define to 1 if you have the 'get_proplist_entry' function.])
2767 AC_DEFINE([HAVE_SIZEOF_PROPLIST_ENTRY],1,[Define to 1 if you have the 'sizeof_proplist_entry' function.])
2768 AC_DEFINE([HAVE_ADD_PROPLIST_ENTRY],1,[Define to 1 if you have the 'add_proplist_entry' function.])
2769 AC_DEFINE([HAVE_SETPROPLIST],1,[Define to 1 if you have the 'setproplist' function.])
2775 dnl If we failed to find TRU64 support try the SOLARIS implementation of extented and extensible attributes
2776 dnl when running on a Solaris.
2778 if test $have_xattr = no -a \
2779 x${HAVE_SUN_OS_TRUE} = x; then
2780 AC_CHECK_HEADER(sys/attr.h, [ AC_DEFINE(HAVE_SYS_ATTR_H,1,[Defines if your system have the sys/attr.h header file])] , )
2781 AC_CHECK_HEADER(sys/nvpair.h, [ AC_DEFINE(HAVE_SYS_NVPAIR_H,1,[Defines if your system have the sys/nvpair.h header file])] , )
2782 AC_CHECK_HEADER(attr.h, [ AC_DEFINE(HAVE_ATTR_H,1,[Defines if your system have the attr.h header file])] , )
2784 AC_CHECK_FUNCS(openat fstatat unlinkat fchownat futimesat,
2787 AC_DEFINE([HAVE_OPENAT],1,[Define to 1 if you have the 'openat' function.])
2788 AC_DEFINE([HAVE_FSTATAT],1,[Define to 1 if you have the 'fstatat' function.])
2789 AC_DEFINE([HAVE_UNLINKAT],1,[Define to 1 if you have the 'unlinkat' function.])
2790 AC_DEFINE([HAVE_FCHOWNAT],1,[Define to 1 if you have the 'fchownat' function.])
2791 AC_DEFINE([HAVE_FUTIMESAT],1,[Define to 1 if you have the 'futimesat' function.])
2795 if test $have_xattr = yes; then
2796 AC_CHECK_LIB(nvpair, nvlist_next_nvpair,
2798 AC_DEFINE([HAVE_NVLIST_NEXT_NVPAIR],1,[Define to 1 if you have the 'nvlist_next_nvpair' function.])
2799 FDLIBS="-lnvpair $FDLIBS"
2806 dnl If we failed to find Solaris support try the generic xattr support code
2808 if test $have_xattr = no; then
2809 AC_CHECK_HEADER(sys/xattr.h, [ AC_DEFINE(HAVE_SYS_XATTR_H,1,[Defines if your system have the sys/xattr.h header file])] , )
2810 AC_CHECK_FUNCS(llistxattr lgetxattr lsetxattr,
2813 AC_DEFINE([HAVE_LLISTXATTR],1,[Define to 1 if you have the 'llistxattr' function.])
2814 AC_DEFINE([HAVE_LGETXATTR],1,[Define to 1 if you have the 'lgetxattr' function.])
2815 AC_DEFINE([HAVE_LSETXATTR],1,[Define to 1 if you have the 'lsetxattr' function.])
2819 if test $have_xattr = no; then
2820 AC_CHECK_FUNCS(listxattr getxattr setxattr,
2823 AC_DEFINE([HAVE_LISTXATTR],1,[Define to 1 if you have the 'listxattr' function.])
2824 AC_DEFINE([HAVE_GETXATTR],1,[Define to 1 if you have the 'getxattr' function.])
2825 AC_DEFINE([HAVE_SETXATTR],1,[Define to 1 if you have the 'setxattr' function.])
2831 if test x$support_xattr = xyes -a $have_xattr != yes; then
2832 AC_MSG_ERROR([xattr support explicitly enabled but no supported xattr implementation found,
2833 please either load the xattr libraries or rerun configure without --enable-xattr])
2835 if test $have_xattr = yes; then
2836 AC_DEFINE([HAVE_XATTR],1,[Extended Attributes support])
2842 dnl Check for pthread libraries
2845 AC_CHECK_LIB(pthread, pthread_create, PTHREAD_LIB="-lpthread",
2847 AC_CHECK_LIB(pthreads, pthread_create, PTHREAD_LIB="-lpthreads",
2849 AC_CHECK_LIB(c_r, pthread_create, PTHREAD_LIB="-lc_r",
2851 AC_CHECK_FUNC(pthread_create)
2860 dnl Check for headers, functions and libraries required to support
2861 dnl keeping readall capabilities
2863 AC_CHECK_HEADERS(sys/prctl.h sys/capability.h)
2864 AC_CHECK_FUNCS(prctl setreuid)
2865 AC_CHECK_LIB([cap], [cap_set_proc], [CAP_LIBS="-lcap"], [CAP_LIBS=])
2866 if test x$CAP_LIBS = x-lcap; then
2867 AC_DEFINE(HAVE_LIBCAP, 1, [Define if you have libcap])
2876 if test x$have_gcc = xyes ; then
2877 CPPFLAGS="$CPPFLAGS -fno-strict-aliasing -fno-exceptions -fno-rtti"
2878 CFLAGS="$CFLAGS -fno-strict-aliasing -fno-exceptions -fno-rtti"
2880 LDFLAGS=${LDFLAGS--O}
2881 CPPFLAGS="$CPPFLAGS"
2893 AC_SUBST(X_EXTRA_LIBS)
2898 dnl extra configurable objects
2909 dnl Finally we set appropriate distribution specific
2910 dnl variables and defaults
2912 dnl PFILES are platform specific files
2913 PFILES="platforms/Makefile"
2917 COMPRESS_MANPAGES=yes
2922 PSCMD="ps -e -o pid,comm"
2924 platforms/aix/Makefile"
2925 TAPEDRIVE="/dev/rmt0.1"
2929 PTHREAD_LIB="-lpthread -lexc"
2930 if test "${CC}" = "gcc" ; then
2937 TAPEDRIVE="/dev/nrmt0"
2940 DISTVER=`uname -a |awk '{print $3}'`
2941 TAPEDRIVE="/dev/nrmt0"
2942 PTHREAD_LIB="-pthread"
2943 CFLAGS="${CFLAGS} -pthread"
2944 PSCMD="ps -ax -o pid,command"
2948 platforms/bsdi/Makefile \
2949 platforms/bsdi/bacula-fd \
2950 platforms/bsdi/bacula-sd \
2951 platforms/bsdi/bacula-dir"
2952 largefile_support="yes"
2955 DISTVER=`uname -a |awk '{print $3}'`
2956 TAPEDRIVE="/dev/nrst0"
2959 WLDFLAGS="-mwindows"
2963 TAPEDRIVE="/dev/nst0"
2964 PSCMD="ps -e -o pid,command"
2967 platforms/darwin/Makefile"
2971 TAPEDRIVE="/dev/nst0"
2972 PSCMD="ps -e -o pid,command"
2975 platforms/osx/Makefile"
2978 if `test -f /etc/apt/sources.list && grep -q ubuntu /etc/apt/sources.list`; then
2981 DISTVER=`cat /etc/debian_version`
2982 if test -f /etc/lsb-release ; then
2984 if test "x$DISTRIB_ID" != "x" ; then
2985 DISTNAME=$DISTRIB_ID
2987 if test "x$DISTRIB_RELEASE" != "x" ; then
2988 DISTVER=$DISTRIB_RELEASE
2991 if test "$DISTNAME" = "Ubuntu" ; then
2994 TAPEDRIVE="/dev/nst0"
2995 PSCMD="ps -e -o pid,command"
2996 if test "$DISTNAME" = "ubuntu" ; then
2998 platforms/ubuntu/Makefile \
2999 platforms/ubuntu/bacula-fd \
3000 platforms/ubuntu/bacula-sd \
3001 platforms/ubuntu/bacula-dir"
3004 platforms/debian/Makefile \
3005 platforms/debian/bacula-fd \
3006 platforms/debian/bacula-sd \
3007 platforms/debian/bacula-dir"
3011 DISTVER=`uname -a |awk '{print $3}'`
3012 VER=`echo $DISTVER | cut -c 1`
3013 if test x$VER = x4 ; then
3014 PTHREAD_LIB="${PTHREAD_LIBS:--pthread}"
3015 CFLAGS="${CFLAGS} ${PTHREAD_CFLAGS:--pthread}"
3019 TAPEDRIVE="/dev/nrsa0"
3020 PSCMD="ps -ax -o pid,command"
3022 platforms/freebsd/Makefile \
3023 platforms/freebsd/bacula-fd \
3024 platforms/freebsd/bacula-sd \
3025 platforms/freebsd/bacula-dir"
3026 largefile_support="yes"
3029 PSCMD="UNIX95=1; ps -e -o pid,comm"
3030 CFLAGS="${CFLAGS} -D_XOPEN_SOURCE_EXTENDED=1"
3032 TAPEDRIVE="/dev/rmt/0hnb"
3033 PTHREAD_LIB="-lpthread"
3034 AC_DEFINE([_INCLUDE_LONGLONG])
3038 TAPEDRIVE="/dev/rmt/0cbn"
3039 PSCMD="ps -e -o pid,comm"
3041 platforms/irix/Makefile \
3042 platforms/irix/bacula-fd \
3043 platforms/irix/bacula-sd \
3044 platforms/irix/bacula-dir"
3047 DISTVER=`uname -a |awk '{print $3}'`
3050 TAPEDRIVE="/dev/nrst0"
3051 PSCMD="ps -ax -o pid,command"
3052 PTHREAD_LIB="-pthread"
3053 CFLAGS="${CFLAGS} -pthread"
3056 DISTVER=`uname -a |awk '{print $3}'`
3059 TAPEDRIVE="/dev/nrst0"
3060 PSCMD="ps -ax -o pid,command"
3061 PTHREAD_LIB="-pthread"
3062 CFLAGS="${CFLAGS} -pthread"
3064 platforms/openbsd/Makefile \
3065 platforms/openbsd/bacula-fd \
3066 platforms/openbsd/bacula-sd \
3067 platforms/openbsd/bacula-dir"
3070 if test -f /etc/whitebox-release ; then
3071 f=/etc/whitebox-release
3073 f=/etc/redhat-release
3075 if test `cat $f | grep release |\
3076 cut -f 3 -d ' '`x = "Enterprise"x ; then
3077 DISTVER="Enterprise "`cat $f | grep release |\
3080 DISTVER=`cat /etc/redhat-release | grep release |\
3083 TAPEDRIVE="/dev/nst0"
3084 PSCMD="ps -e -o pid,command"
3086 platforms/redhat/Makefile \
3087 platforms/redhat/bacula-fd \
3088 platforms/redhat/bacula-sd \
3089 platforms/redhat/bacula-dir
3093 DISTVER=`cat /etc/mandrake-release | grep release |\
3095 TAPEDRIVE="/dev/nst0"
3096 PSCMD="ps -e -o pid,command"
3098 platforms/mandrake/Makefile \
3099 platforms/mandrake/bacula-fd \
3100 platforms/mandrake/bacula-sd \
3101 platforms/mandrake/bacula-dir \
3105 DISTVER=`awk '/version / {print $5}' < /etc/gentoo-release`
3106 TAPEDRIVE="/dev/nst0"
3107 PSCMD="ps -e -o pid,command"
3109 platforms/gentoo/Makefile \
3110 platforms/gentoo/bacula-init \
3111 platforms/gentoo/bacula-fd \
3112 platforms/gentoo/bacula-sd \
3113 platforms/gentoo/bacula-dir"
3116 DISTVER=`cat /etc/slackware-version`
3117 TAPEDRIVE="/dev/nst0"
3118 PSCMD="ps -e -o pid,command"
3120 platforms/slackware/Makefile \
3121 platforms/slackware/rc.bacula-fd \
3122 platforms/slackware/rc.bacula-sd \
3123 platforms/slackware/rc.bacula-dir\
3124 platforms/slackware/functions.bacula"
3128 TAPEDRIVE="/dev/rmt/0cbn"
3129 PSCMD="ps -e -o pid,comm"
3131 platforms/solaris/Makefile \
3132 platforms/solaris/bacula-fd \
3133 platforms/solaris/bacula-sd \
3134 platforms/solaris/bacula-dir"
3138 AC_DEFINE(HAVE_OLD_SOCKOPT)
3139 AC_DEFINE(USE_THR_SETCONCURRENCY)
3142 AC_DEFINE(USE_THR_SETCONCURRENCY)
3147 LIBS="$LIBS -lresolv -lrt"
3150 DISTVER=`cat /etc/SuSE-release |grep VERSION|\
3152 TAPEDRIVE="/dev/nst0"
3153 PSCMD="ps -e -o pid,command"
3155 platforms/suse/Makefile \
3156 platforms/suse/bacula-fd \
3157 platforms/suse/bacula-sd \
3158 platforms/suse/bacula-dir \
3159 platforms/suse/bacula"
3164 TAPEDRIVE="/dev/nst0"
3165 PSCMD="ps -e -o pid,command"
3167 platforms/suse/Makefile \
3168 platforms/suse/bacula-fd \
3169 platforms/suse/bacula-sd \
3170 platforms/suse/bacula-dir"
3174 TAPEDRIVE="/dev/nst0"
3177 echo " === Something went wrong. Unknown DISTNAME $DISTNAME ==="
3181 dnl -------------------------------------------
3182 dnl systemd (default off)
3183 dnl -------------------------------------------
3184 AC_MSG_CHECKING(for systemd support)
3185 AC_ARG_WITH(systemd,
3186 AC_HELP_STRING([--with-systemd@<:@=UNITDIR@:>@], [Include systemd support. UNITDIR is where systemd system .service files are located, default is to ask systemctl.]),
3188 if test "$withval" != "no"; then
3189 if test "$withval" = "yes"; then
3190 SYSTEMD_UNITDIR="`systemctl show | grep UnitPath | cut -d " " -f2`"
3192 SYSTEMD_UNITDIR="${withval}"
3196 platforms/systemd/Makefile \
3197 platforms/systemd/bacula-dir.service \
3198 platforms/systemd/bacula-fd.service \
3199 platforms/systemd/bacula-sd.service"
3200 AC_DEFINE(HAVE_SYSTEMD, 1, [Define to 1 if systemd support should be enabled])
3202 support_systemd="yes"
3205 support_systemd="no"
3208 support_systemd="no"
3212 AC_SUBST(SYSTEMD_UNITDIR)
3216 LIBS="$PTHREAD_LIB $LIBS"
3218 AC_DEFINE_UNQUOTED(lld, "$lld")
3219 AC_DEFINE_UNQUOTED(llu, "$llu")
3226 AC_SUBST(COMPRESS_MANPAGES)
3228 dnl common parts of the Makefile
3229 MCOMMON=./autoconf/Make.common
3230 AC_SUBST_FILE(MCOMMON)
3233 if test "x${subsysdir}" = "x${sbindir}" ; then
3236 echo "You have set both --sbindir and --with-subsys-dir"
3237 echo " equal to: ${subsysdir} "
3238 echo "This is not permitted. Please reconfigure."
3240 echo "Aborting configuration ..."
3246 AC_OUTPUT([autoconf/Make.common \
3249 scripts/btraceback \
3252 scripts/bacula-ctl-dir \
3253 scripts/bacula-ctl-fd \
3254 scripts/bacula-ctl-sd \
3255 scripts/devel_bacula \
3258 scripts/bacula.desktop.gnome1 \
3259 scripts/bacula.desktop.gnome2 \
3260 scripts/bacula.desktop.gnome1.consolehelper \
3261 scripts/bacula.desktop.gnome2.consolehelper \
3262 scripts/bacula.desktop.gnome1.xsu \
3263 scripts/bacula.desktop.gnome2.xsu \
3264 scripts/mtx-changer \
3265 scripts/disk-changer \
3266 scripts/dvd-handler \
3267 scripts/dvd-simulator \
3268 scripts/bacula-tray-monitor.desktop \
3269 scripts/logwatch/Makefile \
3270 scripts/logwatch/logfile.bacula.conf \
3271 scripts/wxconsole.console_apps \
3272 scripts/wxconsole.desktop.consolehelper \
3273 scripts/wxconsole.desktop.xsu \
3274 scripts/bat.desktop \
3275 scripts/bat.desktop.xsu \
3276 scripts/bat.desktop.consolehelper \
3277 scripts/bat.console_apps \
3280 src/console/Makefile \
3281 src/console/bconsole.conf \
3282 src/qt-console/tray-monitor/tray-monitor.pro \
3283 src/qt-console/tray-monitor/tray-monitor.conf \
3284 src/qt-console/bat.conf \
3285 src/qt-console/bat.pro \
3286 src/qt-console/bat.pro.mingw32 \
3287 src/qt-console/install_conf_file \
3288 src/wx-console/Makefile \
3289 src/wx-console/bwx-console.conf \
3290 src/tray-monitor/Makefile \
3291 src/tray-monitor/tray-monitor.conf \
3293 src/dird/bacula-dir.conf \
3295 src/stored/Makefile \
3296 src/stored/bacula-sd.conf \
3297 src/filed/Makefile \
3298 src/filed/bacula-fd.conf \
3300 src/cats/make_catalog_backup.pl \
3301 src/cats/make_catalog_backup \
3302 src/cats/delete_catalog_backup \
3303 src/cats/create_postgresql_database \
3304 src/cats/update_postgresql_tables \
3305 src/cats/make_postgresql_tables \
3306 src/cats/grant_postgresql_privileges \
3307 src/cats/drop_postgresql_tables \
3308 src/cats/drop_postgresql_database \
3309 src/cats/create_mysql_database \
3310 src/cats/update_mysql_tables \
3311 src/cats/make_mysql_tables \
3312 src/cats/grant_mysql_privileges \
3313 src/cats/drop_mysql_tables \
3314 src/cats/drop_mysql_database \
3315 src/cats/create_sqlite3_database \
3316 src/cats/update_sqlite3_tables \
3317 src/cats/make_sqlite3_tables \
3318 src/cats/grant_sqlite3_privileges \
3319 src/cats/drop_sqlite3_tables \
3320 src/cats/drop_sqlite3_database \
3323 src/cats/create_bacula_database \
3324 src/cats/update_bacula_tables \
3325 src/cats/grant_bacula_privileges \
3326 src/cats/make_bacula_tables \
3327 src/cats/drop_bacula_tables \
3328 src/cats/drop_bacula_database \
3329 src/cats/install-default-backend \
3330 src/findlib/Makefile \
3331 src/tools/Makefile \
3332 src/plugins/fd/Makefile \
3333 src/plugins/sd/Makefile \
3334 src/plugins/dir/Makefile \
3335 src/win32/Makefile.inc \
3337 updatedb/update_mysql_tables_9_to_10 \
3338 updatedb/update_sqlite3_tables_9_to_10 \
3339 updatedb/update_postgresql_tables_9_to_10 \
3340 updatedb/update_mysql_tables_10_to_11 \
3341 updatedb/update_sqlite3_tables_10_to_11 \
3342 updatedb/update_postgresql_tables_10_to_11 \
3343 updatedb/update_mysql_tables_11_to_12 \
3344 updatedb/update_sqlite3_tables_11_to_12 \
3345 updatedb/update_postgresql_tables_11_to_12 \
3346 updatedb/update_mysql_tables_12_to_14 \
3347 updatedb/update_sqlite3_tables_12_to_14 \
3348 updatedb/update_postgresql_tables_12_to_14 \
3349 examples/nagios/check_bacula/Makefile \
3350 platforms/rpms/redhat/bacula.spec \
3351 platforms/rpms/redhat/bacula-bat.spec \
3352 platforms/rpms/redhat/bacula-docs.spec \
3353 platforms/rpms/redhat/bacula-mtx.spec \
3358 if test "${support_bat}" = "yes" ; then
3359 if test "x$QMAKE" = "xnone"; then
3360 AC_MSG_ERROR([Could not find qmake $PATH. Check your Qt installation])
3364 echo "Creating bat Makefile"
3374 dnl if CC is gcc, we can rebuild the dependencies (since the depend rule
3375 dnl requires gcc). If it's not, don't rebuild dependencies
3377 if test X"$GCC" = "Xyes" ; then
3378 echo "Doing make of dependencies"
3379 ${MAKE:-make} depend
3383 chmod 755 install_conf_file build-depkgs-qt-console
3387 chmod 755 bacula btraceback mtx-changer
3388 chmod 755 dvd-handler dvd-simulator
3389 chmod 755 bconsole mtx-changer devel_bacula logrotate
3393 chmod 755 $c/update_mysql_tables_10_to_11 $c/update_sqlite3_tables_10_to_11
3394 chmod 755 $c/update_postgresql_tables_10_to_11
3395 chmod 755 $c/update_mysql_tables_11_to_12 $c/update_sqlite3_tables_11_to_12
3396 chmod 755 $c/update_postgresql_tables_11_to_12
3401 chmod 755 $c/create_bacula_database $c/update_bacula_tables $c/make_bacula_tables
3402 chmod 755 $c/grant_bacula_privileges $c/drop_bacula_tables $c/drop_bacula_database
3404 chmod 755 $c/create_mysql_database $c/update_mysql_tables $c/make_mysql_tables
3405 chmod 755 $c/grant_mysql_privileges $c/drop_mysql_tables $c/drop_mysql_database
3407 chmod 755 $c/create_sqlite3_database $c/update_sqlite3_tables $c/make_sqlite3_tables
3408 chmod 755 $c/grant_sqlite3_privileges $c/drop_sqlite3_tables $c/drop_sqlite3_database
3410 chmod 755 $c/create_postgresql_database $c/update_postgresql_tables $c/make_postgresql_tables
3411 chmod 755 $c/grant_postgresql_privileges $c/drop_postgresql_tables $c/drop_postgresql_database
3413 #chmod 755 $c/create_ingres_database $c/update_ingres_tables $c/make_ingres_tables
3414 #chmod 755 $c/grant_ingres_privileges $c/drop_ingres_tables $c/drop_ingres_database
3417 chmod 755 $c/make_catalog_backup $c/delete_catalog_backup $c/make_catalog_backup.pl
3421 chmod 755 $c/install-default-backend
3423 chmod 755 src/win32/build-depkgs-mingw32
3425 if test "x$ac_cv_sys_largefile_CFLAGS" != "xno" ; then
3426 largefile_support="yes"
3429 dnl Only try to find out the version number of the compiler when we know its some kind of GCC compiler
3430 if test X"$GCC" = "Xyes" ; then
3432 dnl A whole lot of hand springs to get the compiler version.
3433 dnl This is because gcc changed the output in version 3.0
3435 CCVERSION=`${CC} --version | tr '\n' ' ' | cut -f 3 -d ' '`
3436 if test "x${CCVERSION}" = "x" ; then
3437 CCVERSION=`${CC} --version | tr '\n' ' ' | cut -f 1 -d ' '`
3439 CXXVERSION=`${CXX} --version | tr '\n' ' ' | cut -f 3 -d ' '`
3440 if test x"${CXXVERSION}" = x ; then
3441 CXXVERSION=`${CXX} --version | tr '\n' ' ' | cut -f 1 -d ' '`
3445 # clean up any old junk
3452 Configuration on `date`:
3454 Host: ${host}${post_host} -- ${DISTNAME} ${DISTVER}
3455 Bacula version: ${BACULA} ${VERSION} (${DATE})
3456 Source code location: ${srcdir}
3457 Install binaries: ${sbindir}
3458 Install libraries: ${libdir}
3459 Install config files: ${sysconfdir}
3460 Scripts directory: ${scriptdir}
3461 Archive directory: ${archivedir}
3462 Working directory: ${working_dir}
3463 PID directory: ${piddir}
3464 Subsys directory: ${subsysdir}
3465 Man directory: ${mandir}
3466 Data directory: ${datarootdir}
3467 Plugin directory: ${plugindir}
3468 C Compiler: ${CC} ${CCVERSION}
3469 C++ Compiler: ${CXX} ${CXXVERSION}
3470 Compiler flags: ${WCFLAGS} ${CFLAGS}
3471 Linker flags: ${WLDFLAGS} ${LDFLAGS}
3473 Statically Linked Tools: ${support_static_tools}
3474 Statically Linked FD: ${support_static_fd}
3475 Statically Linked SD: ${support_static_sd}
3476 Statically Linked DIR: ${support_static_dir}
3477 Statically Linked CONS: ${support_static_cons}
3478 Database backends: ${db_backends}
3479 Database port: ${db_port}
3480 Database name: ${db_name}
3481 Database user: ${db_user}
3483 Job Output Email: ${job_email}
3484 Traceback Email: ${dump_email}
3485 SMTP Host Address: ${smtp_host}
3487 Director Port: ${dir_port}
3488 File daemon Port: ${fd_port}
3489 Storage daemon Port: ${sd_port}
3491 Director User: ${dir_user}
3492 Director Group: ${dir_group}
3493 Storage Daemon User: ${sd_user}
3494 Storage DaemonGroup: ${sd_group}
3495 File Daemon User: ${fd_user}
3496 File Daemon Group: ${fd_group}
3498 Large file support: $largefile_support
3499 Bacula conio support: ${got_conio} ${CONS_LIBS}
3500 readline support: ${got_readline} ${PRTREADLINE_SRC}
3501 TCP Wrappers support: ${TCPW_MSG} ${WRAPLIBS}
3502 TLS support: ${support_tls}
3503 Encryption support: ${support_crypto}
3504 ZLIB support: ${have_zlib}
3505 LZO support: ${have_lzo}
3506 enable-smartalloc: ${support_smartalloc}
3507 enable-lockmgr: ${support_lockmgr}
3508 bat support: ${support_bat}
3509 enable-gnome: ${support_gnome} ${gnome_version}
3510 enable-bwx-console: ${support_wx_console} ${wx_version}
3511 enable-tray-monitor: ${support_tray_monitor}
3512 client-only: ${build_client_only}
3513 build-dird: ${build_dird}
3514 build-stored: ${build_stored}
3515 Plugin support: ${have_plugins}
3516 ACL support: ${have_acl}
3517 XATTR support: ${have_xattr}
3518 Python support: ${support_python} ${PYTHON_LIBS}
3519 systemd support: ${support_systemd} ${SYSTEMD_UNITDIR}
3520 Batch insert enabled: ${batch_insert_db_backends}
3524 # create a small shell script useful for support with
3525 # configure options and config.out info
3526 cat > scripts/bacula_config << EOF
3529 $ $0 $ac_configure_args
3531 cat config.out >> scripts/bacula_config
3532 echo __EOC__ >> scripts/bacula_config
3533 chmod 755 scripts/bacula_config