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
385 dnl --------------------------------------------------------------------------
386 dnl CHECKING COMMAND LINE OPTIONS
387 dnl --------------------------------------------------------------------------
389 dnl -------------------------------------------
390 dnl gnome -- no longer supported
391 dnl -------------------------------------------
393 AC_HELP_STRING([--enable-gnome], [enable build of bgnome-console GUI @<:@default=no@:>@]),
395 if test x$enableval = xyes; then
402 if test x$support_gnome = xyes; then
403 AC_MSG_ERROR(bgnome-console no longer supported)
404 AC_MSG_ERROR(--enable-gnome option no longer supported)
406 # AC_SUBST(GNOME_DIR)
408 dnl -------------------------------------------
409 dnl bat (default off)
410 dnl -------------------------------------------
412 AC_HELP_STRING([--enable-bat], [enable build of bat Qt4 GUI @<:@default=no@:>@]),
414 if test x$enableval = xyes; then
415 AC_DEFINE(HAVE_BAT, 1, [Set if Bacula bat Qt4 GUI support enabled])
422 if test x$support_bat = xyes; then
423 abc=`$PKGCONFIG --atleast-version=4.2 QtGui`
425 if test $pkg = 0; then
426 BAT_DIR=src/qt-console
428 AC_MSG_ERROR(Unable to find Qt4 installation needed by bat)
433 dnl The qwt library was used with bat, but that is no longer the case
441 dnl if test x$support_bat = xyes; then
442 dnl AC_MSG_CHECKING(for qwt support)
444 dnl AC_HELP_STRING([--with-qwt@<:@=DIR@:>@], [specify qwt library directory]),
446 dnl case "$with_qwt" in
451 dnl if test -f ${with_qwt}/include/qwt.h; then
452 dnl QWT_INC="${with_qwt}/include"
453 dnl QWT_LDFLAGS="-L${with_qwt}/lib"
463 dnl dnl Search in standard places, or --with-qwt not specified
465 dnl if test $no_qwt = no; then
466 dnl if test x$QWT_INC = x; then
467 dnl for root in /usr /usr/local; do
468 dnl for ver in qwt qwt5 qwt-qt4; do
469 dnl if test -f ${root}/include/${ver}/qwt.h; then
470 dnl QWT_INC="${root}/include/${ver}"
471 dnl if test -d ${root}/lib64/; then
472 dnl QWT_LDFLAGS="-L${root}/lib64"
473 dnl elif test -d ${root}/lib/64/; then
474 dnl QWT_LDFLAGS="-L${root}/64"
476 dnl QWT_LDFLAGS="-L${root}/lib"
487 dnl if test x$QWT_INC = x; then
488 dnl AC_MSG_RESULT(no)
490 dnl AC_DEFINE(HAVE_QWT, 1, [Set if bat QWT library found])
491 dnl AC_MSG_RESULT(yes)
497 AC_SUBST(QWT_LDFLAGS)
501 dnl -------------------------------------------
502 dnl bwx-console (default off)
503 dnl -------------------------------------------
504 AC_ARG_ENABLE(bwx-console,
505 AC_HELP_STRING([--enable-bwx-console], [enable build of wxWidgets console @<:@default=no@:>@]),
507 if test x$enableval = xyes; then
508 support_wx_console=yes
514 if test x$support_wx_console = xyes; then
515 abc=`$WXCONFIG $WXFLAGS --cppflags`
517 if test $pkg = 0; then
518 wx_version="wxWidgets `$WXCONFIG $WXFLAGS --release`"
519 WXCONS_CPPFLAGS=`$WXCONFIG $WXFLAGS --cppflags`
520 WXCONS_LDFLAGS=`$WXCONFIG $WXFLAGS --libs`
522 AC_SUBST(WXCONS_CPPFLAGS)
523 AC_SUBST(WXCONS_LDFLAGS)
524 WX_DIR="src/wx-console"
527 echo "wx-config program not found. bwx-console disabled."
529 support_wx_console=no
534 dnl -------------------------------------------
535 dnl tray-monitor (default off)
536 dnl -------------------------------------------
537 AC_ARG_ENABLE(tray-monitor,
538 AC_HELP_STRING([--enable-tray-monitor], [enable build of Gnome tray monitor (compatible with KDE @<:@default=no@:>@]),
540 if test x$enableval = xyes; then
541 support_tray_monitor=yes
547 if test x$support_tray_monitor = xyes; then
548 abc=`$PKGCONFIG --exists gtk+-2.0`
550 if test $pkg = 0; then
551 TRAY_MONITOR_CPPFLAGS=`$PKGCONFIG --cflags gtk+-2.0`
552 TRAY_MONITOR_LDFLAGS=`$PKGCONFIG --libs gtk+-2.0`
553 AC_SUBST(TRAY_MONITOR_CPPFLAGS)
554 AC_SUBST(TRAY_MONITOR_LDFLAGS)
555 TRAY_MONITOR_DIR=src/tray-monitor
556 abc=`$PKGCONFIG --atleast-version=2.4 gtk+-2.0`
558 if test $pkg = 0; then
559 AC_DEFINE(HAVE_GTK_2_4, 1, [Set if you have GTK 4.2 or greater loaded])
563 AC_SUBST(TRAY_MONITOR_DIR)
565 dnl -------------------------------------------
566 dnl smartalloc (default off)
567 dnl -------------------------------------------
568 AC_ARG_ENABLE(smartalloc,
569 AC_HELP_STRING([--enable-smartalloc], [enable smartalloc debugging support @<:@default=no@:>@]),
571 if test x$enableval = xno; then
572 support_smartalloc=no
577 if test x$support_smartalloc = xyes; then
578 AC_DEFINE(SMARTALLOC, 1, [Set if you want Smartalloc enabled])
581 dnl -------------------------------------------
582 dnl Lock Manager (default off)
583 dnl -------------------------------------------
584 AC_ARG_ENABLE(lockmgr,
585 AC_HELP_STRING([--enable-lockmgr], [enable lock manager support @<:@default=no@:>@]),
587 if test x$enableval = xyes; then
593 if test x$support_lockmgr = xyes; then
594 AC_DEFINE(_USE_LOCKMGR, 1, [Set if you want Lock Manager enabled])
598 dnl -------------------------------------------
599 dnl static-tools (default off)
600 dnl -------------------------------------------
601 AC_ARG_ENABLE(static-tools,
602 AC_HELP_STRING([--enable-static-tools], [enable static tape tools @<:@default=no@:>@]),
604 if test x$enableval = xyes; then
605 if test x$use_libtool = xyes; then
606 AC_MSG_ERROR([Libtool is enabled, not compatible with static tools,
607 please rerun configure with --disable-libtool])
609 support_static_tools=yes
615 if test x$support_static_tools = xyes; then
616 TTOOL_LDFLAGS="-static"
618 AC_SUBST(TTOOL_LDFLAGS)
620 dnl -------------------------------------------
621 dnl static-fd (default off)
622 dnl -------------------------------------------
623 AC_ARG_ENABLE(static-fd,
624 AC_HELP_STRING([--enable-static-fd], [enable static File daemon @<:@default=no@:>@]),
626 if test x$enableval = xyes; then
627 if test x$use_libtool = xyes; then
628 AC_MSG_ERROR([Libtool is enabled, not compatible with static tools,
629 please rerun configure with --disable-libtool])
631 support_static_fd=yes
637 if test x$support_static_fd = xyes; then
638 STATIC_FD="static-bacula-fd"
642 dnl -------------------------------------------
643 dnl static-sd (default off)
644 dnl -------------------------------------------
645 AC_ARG_ENABLE(static-sd,
646 AC_HELP_STRING([--enable-static-sd], [enable static Storage daemon @<:@default=no@:>@]),
648 if test x$enableval = xyes; then
649 if test x$use_libtool = xyes; then
650 AC_MSG_ERROR([Libtool is enabled, not compatible with static tools,
651 please rerun configure with --disable-libtool])
653 support_static_sd=yes
659 if test x$support_static_sd = xyes; then
660 STATIC_SD="static-bacula-sd"
664 dnl -------------------------------------------
665 dnl static-dir (default off)
666 dnl -------------------------------------------
667 AC_ARG_ENABLE(static-dir,
668 AC_HELP_STRING([--enable-static-dir], [enable static Director @<:@default=no@:>@]),
670 if test x$enableval = xyes; then
671 if test x$use_libtool = xyes; then
672 AC_MSG_ERROR([Libtool is enabled, not compatible with static tools,
673 please rerun configure with --disable-libtool])
675 support_static_dir=yes
681 if test x$support_static_dir = xyes; then
682 STATIC_DIR="static-bacula-dir"
686 dnl -------------------------------------------
687 dnl static-cons (default off)
688 dnl -------------------------------------------
689 AC_ARG_ENABLE(static-cons,
690 AC_HELP_STRING([--enable-static-cons], [enable static Console @<:@default=no@:>@]),
692 if test x$enableval = xyes; then
693 if test x$use_libtool = xyes; then
694 AC_MSG_ERROR([Libtool is enabled, not compatible with static tools,
695 please rerun configure with --disable-libtool])
697 support_static_cons=yes
705 if test x$support_static_cons = xyes; then
706 STATIC_CONS="static-bconsole"
707 STATIC_GNOME_CONS="static-bgnome-console"
708 STATIC_WX_CONS="static-bwx-console"
710 AC_SUBST(STATIC_CONS)
711 AC_SUBST(STATIC_GNOME_CONS)
712 AC_SUBST(STATIC_WX_CONS)
714 dnl -------------------------------------------
715 dnl client_only (default off)
716 dnl -------------------------------------------
717 AC_ARG_ENABLE(client-only,
718 AC_HELP_STRING([--enable-client-only], [build client (File daemon) only @<:@default=no@:>@]),
720 if test x$enableval = xyes; then
721 build_client_only=yes
727 if test x$build_client_only = xno; then
734 dnl -------------------------------------------
735 dnl director (default on)
736 dnl -------------------------------------------
737 AC_ARG_ENABLE(build-dird,
738 AC_HELP_STRING([--enable-build-dird], [enable building of dird (Director) @<:@default=yes@:>@]),
740 if test x$enableval = xno; then
745 if test x$build_dird = xyes; then
750 DIR_TOOLS="NODIRTOOLS"
755 dnl -------------------------------------------
756 dnl stored (default on)
757 dnl -------------------------------------------
758 AC_ARG_ENABLE(build-stored,
759 AC_HELP_STRING([--enable-build-stored], [enable building of stored (Storage daemon) @<:@default=yes@:>@]),
761 if test x$enableval = xno; then
766 if test x$build_stored = xyes; then
767 STORED_DIR="src/stored"
773 dnl ---------------------------------------------------
774 dnl Check for conio (Bacula readline substitute)(
775 dnl ---------------------------------------------------
776 dnl this allows you to turn it completely off
778 AC_HELP_STRING([--disable-conio], [disable conio support @<:@default=no@:>@]),
780 if test x$enableval = xno; then
787 dnl ---------------------------------------------------
788 dnl Check for IPv6 support
789 dnl ---------------------------------------------------
790 dnl this allows you to turn it completely off
793 AC_HELP_STRING([--enable-ipv6], [enable ipv6 support @<:@default=yes@:>@]),
795 if test x$enableval = xno; then
801 if test x$support_ipv6 = xyes; then
802 AC_TRY_LINK([ #include <sys/types.h>
803 #include <sys/socket.h>
804 #include <netinet/in.h>], [struct sockaddr_in6 s; struct in6_addr t=in6addr_any; int i=AF_INET6; s; t.s6_addr[0] = 0;],
805 [support_ipv6=yes], [support_ipv6=no])
808 if test x$support_ipv6 = xyes; then
809 AC_DEFINE(HAVE_IPV6,1,[Whether to enable IPv6 support])
813 AC_CHECK_HEADER(curses.h, [
814 AC_CHECK_LIB(tinfo, tgetent, [ TERM_LIB="-ltinfo" ], [
815 AC_CHECK_LIB(ncurses, tgetent, [ TERM_LIB="-lncurses" ], [
816 AC_CHECK_LIB(termcap, tgetent, [ TERM_LIB="-ltermcap" ])
820 [ AC_CHECK_HEADERS(curses.h)
821 AC_CHECK_HEADER(term.h,
822 [ AC_CHECK_LIB(curses, tgetent,
823 [ TERM_LIB="-lcurses" ] )
829 if test x$support_conio = xyes; then
830 if test x$TERM_LIB != x; then
836 AC_DEFINE(HAVE_CONIO, 1, [Set if Bacula conio support enabled])
838 echo " "; echo "Required libraries not found. CONIO turned off ..."; echo " "
843 dnl ---------------------------------------------------
844 dnl Check for readline support/directory (default off)
845 dnl ---------------------------------------------------
846 dnl this allows you to turn it completely off
847 AC_ARG_ENABLE(readline,
848 AC_HELP_STRING([--disable-readline], [disable readline support @<:@default=yes@:>@]),
850 if test x$enableval = xno; then
855 if test x$TERM_LIB = x ; then
861 if test x$support_readline = xyes; then
862 AC_ARG_WITH(readline,
863 AC_HELP_STRING([--with-readline@<:@=DIR@:>@], [specify readline library directory]),
865 case "$with_readline" in
870 if test -f ${with_readline}/readline.h; then
871 CONS_INC="-I${with_readline}"
872 CONS_LDFLAGS="-L$with_readline"
873 elif test -f ${with_readline}/include/readline/readline.h; then
874 CONS_INC="-I${with_readline}/include/readline"
875 CONS_LDFLAGS="-L${with_readline}/lib"
876 with_readline="${with_readline}/include/readline"
878 with_readline="/usr/include/readline"
881 AC_CHECK_HEADER(${with_readline}/readline.h,
883 AC_DEFINE(HAVE_READLINE, 1, [Set to enable readline support])
884 CONS_LIBS="-lreadline -lhistory $TERM_LIB"
888 echo "readline.h not found. readline turned off ..."
895 dnl check for standard readline library
896 AC_CHECK_HEADER(/usr/include/readline/readline.h,
898 AC_DEFINE(HAVE_READLINE, 1, [Set to enable readline support])
900 CONS_INC="-I/usr/include/readline"
901 CONS_LIBS="-lreadline $TERM_LIB"
903 dnl Did not find standard library, so try Bacula's default
904 AC_CHECK_HEADER(${TOP_DIR}/depkgs/readline/readline.h,
906 AC_DEFINE(HAVE_READLINE, 1, [Set to enable readline support])
908 CONS_INC="-I${TOP_DIR}/depkgs/readline"
909 CONS_LIBS="-lreadline -lhistory $TERM_LIB"
910 CONS_LDFLAGS="-L${TOP_DIR}/depkgs/readline"
911 PRTREADLINE_SRC="${TOP_DIR}/depkgs/readline"
914 echo "readline.h not found. readline turned off ..."
928 AC_SUBST(CONS_LDFLAGS)
929 AC_SUBST(READLINE_SRC)
931 dnl Minimal stuff for readline Makefile configuration
936 AC_CHECK_FUNCS(strcasecmp select setenv putenv tcgetattr lstat lchown)
937 AC_CHECK_FUNCS(nanosleep nl_langinfo)
938 AC_CHECK_HEADERS(varargs.h)
940 dnl End of readline/conio stuff
941 dnl -----------------------------------------------------------------------
943 dnl -----------------------------------------------------------------------
944 dnl Check for Python support
946 AC_MSG_CHECKING(for Python support)
948 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.]),
952 if test "$withval" != "no"; then
953 if test "$withval" = "yes"; then
954 if test -e /usr/bin/python-config ; then
955 PYTHON_INCDIR=`/usr/bin/python-config --includes`
956 PYTHON_LIBS=`/usr/bin/python-config --libs`
958 for python_root in /usr /usr/local /usr/sfw; do
959 for ver in python2.2 python2.3 python2.4 python2.5 python2.6 python3; do
960 if test -f $python_root/include/${ver}/Python.h; then
961 PYTHON_INCDIR=-I$python_root/include/${ver}
962 if test -d $python_root/lib64/${ver}/config; then
963 PYTHON_LIBS="-L$python_root/lib64/${ver}/config -l${ver}"
965 PYTHON_LIBS="-L$python_root/lib/${ver}/config -l${ver}"
972 if test x$PYTHON_INCDIR = x; then
973 if test -f $prefix/include/Python.h; then
974 PYTHON_INCDIR=-I$prefix/include
975 if test -d $prefix/lib64/config; then
976 PYTHON_LIBS="-L$prefix/lib64/config -lpython"
978 PYTHON_LIBS="-L$prefix/lib/config -lpython"
982 AC_MSG_ERROR(Unable to find Python.h in standard locations)
987 if test -e $withval/bin/python-config ; then
988 PYTHON_INCDIR=`$withval/bin/python-config --includes`
989 PYTHON_LIBS=`$withval/bin/python-config --libs`
990 elif test -f $withval/Python.h; then
991 PYTHON_INCDIR=-I$withval
992 PYTHON_LIBS="-L$withval/config -lpython"
993 elif test -f $withval/include/Python.h; then
994 PYTHON_INCDIR=-I$withval/include
995 if test -d $withval/lib64/config; then
996 PYTHON_LIBS="-L$withval/lib64/config -lpython"
998 PYTHON_LIBS="-L$withval/lib/config -lpython"
1000 elif test -f $withval/include/python/Python.h; then
1001 PYTHON_INCDIR=-I$withval/include/python
1002 if test -d $withval/lib64/python/config; then
1003 PYTHON_LIBS="-L$withval/lib64/python/config -lpython"
1005 PYTHON_LIBS="-L$withval/lib/python/config -lpython"
1009 AC_MSG_ERROR(Invalid Python directory $withval - unable to find Python.h under $withval)
1013 AC_DEFINE([HAVE_PYTHON], 1)
1016 AC_MSG_NOTICE(checking for more Python libs)
1017 saved_LIBS="$LIBS"; LIBS=
1018 AC_SEARCH_LIBS(shm_open, [rt])
1019 AC_CHECK_LIB(util, openpty)
1020 PYTHON_LIBS="$PYTHON_LIBS $LIBS"
1029 AC_SUBST(PYTHON_LIBS)
1030 AC_SUBST(PYTHON_INCDIR)
1033 dnl Find where sockets are (especially for Solaris)
1034 dnl Do this before the TCP Wrappers test since tcp wrappers
1035 dnl uses the socket library and some linkers are stupid.
1037 AC_CHECK_FUNC(socket,
1038 AC_MSG_RESULT(using libc's socket),
1039 AC_CHECK_LIB(xnet,socket)
1040 AC_CHECK_LIB(socket,socket)
1041 AC_CHECK_LIB(inet,socket))
1043 dnl -----------------------------------------------------------
1044 dnl Check whether user wants TCP wrappers support (default off)
1045 dnl -----------------------------------------------------------
1048 AC_ARG_WITH(tcp-wrappers,
1049 AC_HELP_STRING([--with-tcp-wrappers@<:@=DIR@:>@], [enable tcpwrappers support]),
1051 if test "x$withval" != "xno" ; then
1053 LIBS="$saved_LIBS -lwrap"
1054 AC_SEARCH_LIBS(nanosleep, [rt])
1055 AC_MSG_CHECKING(for libwrap)
1058 #include <sys/types.h>
1060 int deny_severity = 0;
1061 int allow_severity = 0;
1062 struct request_info *req;
1067 AC_DEFINE(HAVE_LIBWRAP, 1, [Set to enable libwraper support])
1072 LIBS="$saved_LIBS -lwrap -lnsl"
1073 WRAPLIBS="$saved_LIBS -lwrap -lnsl"
1076 #include <sys/types.h>
1078 int deny_severity = 0;
1079 int allow_severity = 0;
1080 struct request_info *req;
1085 AC_DEFINE(HAVE_LIBWRAP, 1, [Set to enable libwraper support])
1090 AC_MSG_ERROR([*** libwrap missing])
1099 dnl -----------------------------------------------------------
1100 dnl Check whether OpenSSL is available
1101 dnl -----------------------------------------------------------
1102 AC_MSG_CHECKING([for OpenSSL])
1103 dnl The following uses quadrigraphs:
1106 AC_ARG_WITH(openssl,
1107 AC_HELP_STRING([--with-openssl@<:@=DIR@:>@], [Include OpenSSL support. DIR is the OpenSSL base]),
1109 with_openssl_directory=${withval}
1113 if test "x$with_openssl_directory" != "xno"; then
1114 OPENSSL_LIBS="-lssl -lcrypto"
1117 if test "x$with_openssl_directory" != "xyes" && test x"${with_openssl_directory}" != "x"; then
1119 # Make sure the $with_openssl_directory also makes sense
1121 if test -d "$with_openssl_directory/lib" -a -d "$with_openssl_directory/include"; then
1122 OPENSSL_LIBS="-L$with_openssl_directory/lib $OPENSSL_LIBS"
1123 OPENSSL_INC="-I$with_openssl_directory/include $OPENSSL_INC"
1127 saved_LIBS="${LIBS}"
1128 saved_CFLAGS="${CFLAGS}"
1129 LIBS="${saved_LIBS} ${OPENSSL_LIBS}"
1130 CFLAGS="${saved_CFLAGS} ${OPENSSL_INC}"
1134 #include <openssl/ssl.h>
1136 CRYPTO_set_id_callback(NULL);
1139 support_crypto="yes"
1148 #include <openssl/evp.h>
1152 ac_cv_openssl_sha2="yes"
1154 ac_cv_openssl_sha2="no"
1158 dnl Solaris disables greater than 128+ bit encryption in their OpenSSL
1159 dnl implementation, presumably for export reasons. If 192bit AES
1160 dnl is available, we assume that we're running with a 'non-export'
1161 dnl openssl library.
1164 #include <openssl/evp.h>
1168 ac_cv_openssl_export="no"
1170 ac_cv_openssl_export="yes"
1174 AC_MSG_RESULT([$support_tls])
1175 if test "$support_tls" = "yes"; then
1176 AC_DEFINE(HAVE_OPENSSL, 1, [Define if OpenSSL library is available])
1177 AC_DEFINE(HAVE_TLS, 1, [Define if TLS support should be enabled])
1178 AC_DEFINE(HAVE_CRYPTO, 1, [Define if encryption support should be enabled])
1181 if test "$ac_cv_openssl_sha2" = "yes"; then
1182 AC_DEFINE(HAVE_SHA2, 1, [Define if the SHA-2 family of digest algorithms is available])
1185 if test "$ac_cv_openssl_export" = "yes"; then
1186 AC_DEFINE(HAVE_OPENSSL_EXPORT_LIBRARY, 1, [Define if the OpenSSL library is export-contrained to 128bit ciphers])
1189 if test "$support_crypto" = "yes"; then
1190 AC_CHECK_LIB(crypto, EVP_PKEY_encrypt_old, AC_DEFINE(HAVE_OPENSSLv1, 1, [Set if have OpenSSL version 1.x]))
1193 LIBS="${saved_LIBS}"
1194 CFLAGS="${saved_CFLAGS}"
1198 AC_MSG_RESULT([$support_tls])
1201 if test "$support_tls" = "no" -o "$support_crypto" = "no"; then
1206 AC_SUBST(OPENSSL_LIBS)
1207 AC_SUBST(OPENSSL_INC)
1209 dnl -----------------------------------------------------------
1210 dnl dlopen is needed for plugins
1211 dnl -----------------------------------------------------------
1212 AC_SEARCH_LIBS(dlopen, [dl])
1214 dnl ------------------------------------------
1215 dnl Where to place working dir
1216 dnl ------------------------------------------
1217 working_dir=`eval echo ${prefix}/var/bacula/working`
1218 AC_ARG_WITH(working-dir,
1219 AC_HELP_STRING([--with-working-dir=PATH], [specify path of Bacula working directory]),
1221 if test "x$withval" != "xno" ; then
1222 working_dir=$withval
1227 AC_SUBST(working_dir)
1229 dnl ------------------------------------------------------------------
1230 dnl If the user has not set archivedir, we set our default as /tmp
1231 dnl ------------------------------------------------------------------
1233 AC_ARG_WITH(archivedir,
1234 AC_HELP_STRING([--with-archivedir=PATH], [specify path of SD archive directory]),
1236 if test "x$withval" != "xno" ; then
1242 AC_SUBST(archivedir)
1244 dnl ------------------------------------------------------------------
1245 dnl Allow the user to specify the daemon resource name default hostname
1246 dnl ------------------------------------------------------------------
1248 AC_ARG_WITH(basename,
1249 AC_HELP_STRING([--with-basename=RESNAME], [specify base resource name for daemons]),
1251 if test "x$withval" != "xno" ; then
1259 dnl ------------------------------------------------------------------
1260 dnl Allow the user to override the hostname (default = machine hostname)
1261 dnl ------------------------------------------------------------------
1262 hostname=`uname -n | cut -d '.' -f 1`
1263 if test x${hostname} = x ; then
1264 hostname="localhost"
1266 AC_ARG_WITH(hostname,
1267 AC_HELP_STRING([--with-hostname=RESNAME], [specify host name for daemons]),
1269 if test "x$withval" != "xno" ; then
1278 dnl ------------------------------------------
1279 dnl Where to place scriptdir (script files)
1280 dnl ------------------------------------------
1281 scriptdir=`eval echo ${sysconfdir}`
1282 AC_ARG_WITH(scriptdir,
1283 AC_HELP_STRING([--with-scriptdir=PATH], [specify path of Bacula scripts directory]),
1285 if test "x$withval" != "xno" ; then
1294 dnl ------------------------------------------
1295 dnl Where to place bsrdir (bsr files)
1296 dnl ------------------------------------------
1299 AC_HELP_STRING([--with-bsrdir=PATH], [specify path of Bacula bsrs directory]),
1301 if test "x$withval" != "xno" ; then
1309 dnl ------------------------------------------
1310 dnl Where to place logdir (bsr files)
1311 dnl ------------------------------------------
1314 AC_HELP_STRING([--with-logdir=PATH], [specify path of Bacula logs directory]),
1316 if test "x$withval" != "xno" ; then
1325 # ------------------------------------------
1326 # Where to place plugindir (plugin files)
1327 # ------------------------------------------
1328 plugindir=`eval echo ${libdir}`
1329 AC_ARG_WITH(plugindir,
1330 AC_HELP_STRING([--with-plugindir=PATH], [specify path of Bacula plugins directory]),
1332 if test "x$withval" != "xno" ; then
1340 dnl ------------------------------------------
1341 dnl Where to send dump email
1342 dnl ------------------------------------------
1343 dump_email=root@localhost
1344 AC_ARG_WITH(dump-email,
1345 AC_HELP_STRING([--with-dump-email=EMAIL], [dump email address]),
1347 if test "x$withval" != "xno" ; then
1353 AC_SUBST(dump_email)
1355 dnl ------------------------------------------
1356 dnl Where to send job email
1357 dnl ------------------------------------------
1358 job_email=root@localhost
1359 AC_ARG_WITH(job-email,
1360 AC_HELP_STRING([--with-job-email=EMAIL], [job output email address]),
1362 if test "x$withval" != "xno" ; then
1370 dnl ------------------------------------------
1371 dnl Where to find smtp host
1372 dnl ------------------------------------------
1374 AC_ARG_WITH(smtp_host,
1375 AC_HELP_STRING([--with-smtp-host=HOST], [SMTP mail host address]),
1377 if test "x$withval" != "xno" ; then
1385 dnl ------------------------------------
1386 dnl Where to place pid files
1387 dnl ------------------------------------
1389 AC_ARG_WITH(pid-dir,
1390 AC_HELP_STRING([--with-pid-dir=PATH], [specify location of Bacula pid files]),
1392 if test "x$withval" != "xno" ; then
1398 AC_DEFINE_UNQUOTED(_PATH_BACULA_PIDDIR, "$piddir")
1401 dnl ------------------------------------
1402 dnl Where to place subsys "lock file"
1403 dnl ------------------------------------
1404 subsysdir=/var/run/subsys
1405 if test -d /var/run/subsys; then
1406 subsysdir=/var/run/subsys
1407 elif test -d /var/lock/subsys; then
1408 subsysdir=/var/lock/subsys
1410 subsysdir=/var/run/subsys
1412 AC_ARG_WITH(subsys-dir,
1413 AC_HELP_STRING([--with-subsys-dir=PATH], [specify location of Bacula subsys file]),
1415 if test "x$withval" != "xno" ; then
1423 dnl ------------------------------------
1424 dnl Where to start assigning ports
1425 dnl ------------------------------------
1427 AC_ARG_WITH(baseport,
1428 AC_HELP_STRING([--with-baseport=PORT], [specify base port address for daemons]),
1430 if test "x$withval" != "xno" ; then
1437 dir_port=`expr $baseport`
1438 fd_port=`expr $baseport + 1`
1439 sd_port=`expr $fd_port + 1`
1445 dnl ------------------------------------------
1446 dnl Generate passwords
1447 dnl ------------------------------------------
1449 AC_ARG_WITH(dir-password,
1450 AC_HELP_STRING([--with-dir-password=PASSWORD], [specify Director's password]),
1452 if test "x$withval" != "xno" ; then
1453 dir_password=$withval
1458 if test "x$dir_password" = "x" ; then
1459 if test "x$OPENSSL" = "xnone" ; then
1460 key=`autoconf/randpass 33`
1462 key=`openssl rand -base64 33`
1468 AC_ARG_WITH(fd-password,
1469 AC_HELP_STRING([--with-fd-password=PASSWORD], [specify Client's password]),
1471 if test "x$withval" != "xno" ; then
1472 fd_password=$withval
1477 if test "x$fd_password" = "x" ; then
1478 if test "x$OPENSSL" = "xnone" ; then
1479 key=`autoconf/randpass 37`
1481 key=`openssl rand -base64 33`
1487 AC_ARG_WITH(sd-password,
1488 AC_HELP_STRING([--with-sd-password=PASSWORD], [specify Storage daemon's password]),
1490 if test "x$withval" != "xno" ; then
1491 sd_password=$withval
1496 if test "x$sd_password" = "x" ; then
1497 if test "x$OPENSSL" = "xnone" ; then
1498 key=`autoconf/randpass 41`
1500 key=`openssl rand -base64 33`
1506 AC_ARG_WITH(mon-dir-password,
1507 AC_HELP_STRING([--with-mon-dir-password=PASSWORD], [specify Director's password used by the monitor]),
1509 if test "x$withval" != "xno" ; then
1510 mon_dir_password=$withval
1515 if test "x$mon_dir_password" = "x" ; then
1516 if test "x$OPENSSL" = "xnone" ; then
1517 key=`autoconf/randpass 33`
1519 key=`openssl rand -base64 33`
1521 mon_dir_password=$key
1525 AC_ARG_WITH(mon-fd-password,
1526 AC_HELP_STRING([--with-mon-fd-password=PASSWORD], [specify Client's password used by the monitor]),
1528 if test "x$withval" != "xno" ; then
1529 mon_fd_password=$withval
1534 if test "x$mon_fd_password" = "x" ; then
1535 if test "x$OPENSSL" = "xnone" ; then
1536 key=`autoconf/randpass 37`
1538 key=`openssl rand -base64 33`
1540 mon_fd_password=$key
1544 AC_ARG_WITH(mon-sd-password,
1545 AC_HELP_STRING([--with-mon-sd-password=PASSWORD], [specify Storage daemon's password used by the monitor]),
1547 if test "x$withval" != "xno" ; then
1548 mon_sd_password=$withval
1553 if test "x$mon_sd_password" = "x" ; then
1554 if test "x$OPENSSL" = "xnone" ; then
1555 key=`autoconf/randpass 41`
1557 key=`openssl rand -base64 33`
1559 mon_sd_password=$key
1562 AC_SUBST(dir_password)
1563 AC_SUBST(fd_password)
1564 AC_SUBST(sd_password)
1565 AC_SUBST(mon_dir_password)
1566 AC_SUBST(mon_fd_password)
1567 AC_SUBST(mon_sd_password)
1570 dnl Pickup any database name
1573 AC_ARG_WITH(db_name,
1574 AC_HELP_STRING([--with-db-name=DBNAME], [specify database name @<:@default=bacula@:>@]),
1576 if test "x$withval" != "x" ; then
1584 AC_ARG_WITH(db_user,
1585 AC_HELP_STRING([--with-db-user=UNAME], [specify database user @<:@default=bacula@:>@]),
1587 if test "x$withval" != "x" ; then
1595 AC_ARG_WITH(db_password,
1596 AC_HELP_STRING([--with-db-password=PWD], [specify database password @<:@default=*none*@:>@]),
1598 if test "x$withval" != "x" ; then
1599 db_password=$withval
1603 AC_SUBST(db_password)
1606 dnl Pickup a database port
1609 AC_ARG_WITH(db_port,
1610 AC_HELP_STRING([--with-db-port=DBPORT], [specify a database port @<:@default=null@:>@]),
1612 if test "x$withval" != "x" ; then
1620 # Handle users and groups for each daemon
1623 AC_ARG_WITH(dir_user,
1624 AC_HELP_STRING([--with-dir-user=USER], [specify user for Director daemon]),
1626 if test "x$withval" != "x" ; then
1633 AC_ARG_WITH(dir_group,
1634 AC_HELP_STRING([--with-dir-group=GROUP], [specify group for Director daemon]),
1636 if test "x$withval" != "x" ; then
1643 AC_ARG_WITH(sd_user,
1644 AC_HELP_STRING([--with-sd-user=USER], [specify user for Storage daemon]),
1646 if test "x$withval" != "x" ; then
1653 AC_ARG_WITH(sd_group,
1654 AC_HELP_STRING([--with-sd-group=GROUP], [specify group for Storage daemon]),
1656 if test "x$withval" != "x" ; then
1663 AC_ARG_WITH(fd_user,
1664 AC_HELP_STRING([--with-fd-user=USER], [specify user for File daemon]),
1666 if test "x$withval" != "x" ; then
1673 AC_ARG_WITH(fd_group,
1674 AC_HELP_STRING([--with-fd-group=GROUP], [specify group for File daemon]),
1676 if test "x$withval" != "x" ; then
1690 dnl allow setting default executable permissions
1693 AC_ARG_WITH(sbin-perm,
1694 AC_HELP_STRING([--with-sbin-perm=MODE], [specify permissions for sbin binaries @<:@default=0750@:>@]),
1696 if test "x$withval" != "x" ; then
1704 dnl ------------------------------------------------
1705 dnl Bacula check for various SQL database engines
1706 dnl ------------------------------------------------
1707 BA_CHECK_POSTGRESQL_DB
1717 #BA_CHECK_DBI_DRIVER
1719 dnl -------------------------------------------
1720 dnl Make sure at least one database backend is found
1721 dnl -------------------------------------------
1722 if test "x${db_backends}" = "x" ; then
1725 echo "You have not specified either --enable-client-only or one of the"
1726 echo "supported databases: MySQL, PostgreSQL, or SQLite3."
1727 echo "This is not permitted. Please reconfigure."
1729 echo "Aborting the configuration ..."
1735 dnl -------------------------------------------
1736 dnl See how many catalog backends are configured.
1737 dnl -------------------------------------------
1738 case `echo $DB_BACKENDS | wc -w | sed -e 's/^ *//'` in
1740 DEFAULT_DB_TYPE="${DB_BACKENDS}"
1741 if test x$use_libtool = xno; then
1742 SHARED_CATALOG_TARGETS=""
1744 SHARED_CATALOG_TARGETS="libbaccats-${DEFAULT_DB_TYPE}.la"
1748 dnl ------------------------------------------------
1749 dnl Set the default backend to the first backend found
1750 dnl ------------------------------------------------
1751 DEFAULT_DB_TYPE=`echo ${DB_BACKENDS} | cut -d' ' -f1`
1753 dnl ------------------------------------------------
1754 dnl For multiple backend we need libtool support.
1755 dnl ------------------------------------------------
1756 if test x$use_libtool = xno; then
1759 echo "You have specified two or more of the"
1760 echo "supported databases: MySQL, PostgreSQL, or SQLite3."
1761 echo "This is not permitted when not using libtool Please reconfigure."
1763 echo "Aborting the configuration ..."
1769 SHARED_CATALOG_TARGETS=""
1770 for db_type in ${DB_BACKENDS}
1772 if test -z "${SHARED_CATALOG_TARGETS}"; then
1773 SHARED_CATALOG_TARGETS="libbaccats-${db_type}.la"
1775 SHARED_CATALOG_TARGETS="${SHARED_CATALOG_TARGETS} libbaccats-${db_type}.la"
1781 dnl -------------------------------------------
1782 dnl Unset DB_LIBS when using libtool as we link the
1783 dnl shared library using the right database lib no need to
1784 dnl set DB_LIBS which is only used for non shared versions
1785 dnl of the backends.
1786 dnl -------------------------------------------
1787 if test x$use_libtool = xyes; then
1791 AC_SUBST(DB_BACKENDS)
1793 AC_SUBST(DEFAULT_DB_TYPE)
1794 AC_SUBST(SHARED_CATALOG_TARGETS)
1796 dnl -------------------------------------------
1797 dnl enable batch attribute DB insert (default on)
1798 dnl -------------------------------------------
1799 support_batch_insert=yes
1800 AC_ARG_ENABLE(batch-insert,
1801 AC_HELP_STRING([--enable-batch-insert], [enable the DB batch insert code @<:@default=yes@:>@]),
1803 if test x$enableval = xno; then
1804 support_batch_insert=no
1809 if test x$support_batch_insert = xyes; then
1810 AC_DEFINE(USE_BATCH_FILE_INSERT, 1, [Set if DB batch insert code enabled])
1813 dnl -------------------------------------------
1814 dnl Check if mysql supports batch mode
1815 dnl -------------------------------------------
1816 if test ! -z "$MYSQL_LIB"; then
1817 dnl For mysql checking
1818 saved_LIBS="${LIBS}"
1819 LIBS="${saved_LIBS} ${MYSQL_LFLAGS}"
1821 AC_CHECK_LIB(mysqlclient_r, mysql_thread_safe, AC_DEFINE(HAVE_MYSQL_THREAD_SAFE, 1, [Set if have mysql_thread_safe]))
1823 dnl Revert after mysql checks
1824 LIBS="${saved_LIBS}"
1827 dnl -------------------------------------------
1828 dnl Check if sqlite supports batch mode
1829 dnl -------------------------------------------
1830 if test ! -z "SQLITE_LIB"; then
1831 dnl For sqlite checking
1832 saved_LIBS="${LIBS}"
1833 LIBS="${saved_LIBS} ${SQLITE_LFLAGS}"
1835 AC_CHECK_LIB(sqlite3, sqlite3_threadsafe, AC_DEFINE(HAVE_SQLITE3_THREADSAFE, 1, [Set if have sqlite3_threadsafe]))
1837 dnl Revert after sqlite checks
1838 LIBS="${saved_LIBS}"
1841 dnl -------------------------------------------
1842 dnl Check if postgresql supports batch mode
1843 dnl -------------------------------------------
1844 if test ! -z "$POSTGRESQL_LIB"; then
1845 dnl For postgresql checking
1846 saved_LIBS="${LIBS}"
1847 LIBS="${saved_LIBS} ${POSTGRESQL_LFLAGS}"
1849 AC_CHECK_LIB(pq, PQisthreadsafe, AC_DEFINE(HAVE_PQISTHREADSAFE, 1, [Set if have PQisthreadsafe]))
1850 AC_CHECK_LIB(pq, PQputCopyData, AC_DEFINE(HAVE_PQ_COPY, 1, [Set if have PQputCopyData]))
1851 if test "x$ac_cv_lib_pq_PQputCopyData" = "xyes"; then
1852 if test $support_batch_insert = yes ; then
1853 AC_DEFINE(HAVE_POSTGRESQL_BATCH_FILE_INSERT, 1, [Set if PostgreSQL DB batch insert code enabled])
1857 if test x$ac_cv_lib_pq_PQisthreadsafe != xyes -a x$support_batch_insert = xyes
1859 echo "WARNING: Your PostgreSQL client library is too old to detect "
1860 echo "if it was compiled with --enable-thread-safety, consider to "
1861 echo "upgrade it in order to avoid problems with Batch insert mode"
1865 dnl Revert after postgresql checks
1866 LIBS="${saved_LIBS}"
1869 dnl -------------------------------------------
1870 dnl Check if dbi supports batch mode
1871 dnl -------------------------------------------
1872 if test ! -z "$DBI_LIBS"; then
1873 dnl -------------------------------------------
1874 dnl Push the DB_PROG onto the stack of supported database backends for DBI
1875 dnl -------------------------------------------
1876 DB_BACKENDS="${DB_BACKENDS} ${DB_PROG}"
1878 dnl -------------------------------------------
1879 dnl Check for batch insert
1880 dnl -------------------------------------------
1881 if test $DB_PROG = postgresql; then
1882 AC_CHECK_LIB(pq, PQisthreadsafe, AC_DEFINE(HAVE_PQISTHREADSAFE))
1883 AC_CHECK_LIB(pq, PQputCopyData, AC_DEFINE(HAVE_PQ_COPY))
1884 test "x$ac_cv_lib_pq_PQputCopyData" = "xyes"
1886 if test $pkg = 0; then
1887 if test $support_batch_insert = yes ; then
1888 AC_DEFINE(HAVE_DBI_BATCH_FILE_INSERT, 1, [Set if DBI DB batch insert code enabled])
1893 dnl -------------------------------------------
1894 dnl If dbi was not chosen, let the comment in file
1895 dnl -------------------------------------------
1899 AC_SUBST(uncomment_dbi)
1901 AC_DEFINE(PROTOTYPES)
1903 dnl --------------------------------------------------------------------------
1904 dnl Supply default CFLAGS, if not specified by `CFLAGS=flags ./configure'
1906 if test -z "$CFLAGS" -o "$CFLAGS" = "-g -O2"; then
1907 if test -z "$CCOPTS"; then
1908 CCOPTS='-g -O2 -Wall'
1916 dnl See if we can use 64 bit file addresses
1917 largefile_support="no"
1922 dnl --------------------------------------------------------------------------
1923 dnl CHECKING FOR HEADER FILES
1924 dnl --------------------------------------------------------------------------
1962 AC_STRUCT_ST_BLKSIZE
1966 dnl --------------------------------------------------------------------------
1967 dnl Check for utime.h structure
1968 dnl --------------------------------------------------------------------------
1969 AC_CACHE_CHECK(for utime.h, ba_cv_header_utime_h,
1973 #include <sys/types.h>
1978 ba_cv_header_utime_h=yes
1980 ba_cv_header_utime_h=no
1985 test $ba_cv_header_utime_h = yes && AC_DEFINE(HAVE_UTIME_H, 1, [Set if utime.h exists])
1987 dnl --------------------------------------------------------------------------
1988 dnl Check for socklen_t
1989 dnl --------------------------------------------------------------------------
1990 AC_CACHE_CHECK(for socklen_t, ba_cv_header_socklen_t,
1994 #include <sys/types.h>
1995 #include <sys/socket.h>
1999 ba_cv_header_socklen_t=yes
2001 ba_cv_header_socklen_t=no
2006 test $ba_cv_header_socklen_t = yes && AC_DEFINE(HAVE_SOCKLEN_T, 1, [Set if socklen_t exists])
2008 dnl --------------------------------------------------------------------------
2009 dnl Check for ioctl request type
2010 dnl --------------------------------------------------------------------------
2012 AC_CACHE_CHECK(for ioctl_req_t, ba_cv_header_ioctl_req_t,
2017 #include <sys/types.h>
2018 #include <sys/ioctl.h>
2020 int (*d_ioctl)(int fd, unsigned long int request, ...);
2023 ba_cv_header_ioctl_req_t=yes
2025 ba_cv_header_ioctl_req_t=no
2030 test $ba_cv_header_ioctl_req_t = yes && AC_DEFINE(HAVE_IOCTL_ULINT_REQUEST, 1, [Set if ioctl request is unsigned long int])
2032 dnl Note: it is more correct to use AC_LANG(C++) but some of the older
2033 dnl *BSD systems still use old style C prototypes, which are wrong with
2034 dnl compiled with a C++ compiler.
2037 dnl --------------------------------------------------------------------------
2038 dnl Check for typeof()
2039 dnl --------------------------------------------------------------------------
2041 AC_CACHE_CHECK(for typeof, ba_cv_have_typeof,
2045 main(){char *a = 0; a = (typeof a)a;}
2047 ba_cv_have_typeof=yes
2049 ba_cv_have_typeof=no
2051 ba_cv_have_typeof=no
2056 test $ba_cv_have_typeof = yes && AC_DEFINE([HAVE_TYPEOF], 1, [Defind to 1 if compiler has typeof])
2061 AC_C_BIGENDIAN([AC_DEFINE([HAVE_BIG_ENDIAN], [1], [Big Endian])], [AC_DEFINE([HAVE_LITTLE_ENDIAN], [1], [Little Endian])])
2063 dnl --------------------------------------------------------------------------
2064 dnl CHECKING FOR FILESYSTEM TYPE
2065 dnl --------------------------------------------------------------------------
2066 AC_MSG_CHECKING(how to get filesystem type)
2068 # The order of these tests is important.
2071 #include <sys/statvfs.h>
2072 #include <sys/fstyp.h>
2074 AC_DEFINE(FSTYPE_STATVFS) fstype=SVR4
2076 if test $fstype = no; then
2079 #include <sys/statfs.h>
2080 #include <sys/fstyp.h>
2082 AC_DEFINE(FSTYPE_USG_STATFS) fstype=SVR3
2085 if test $fstype = no; then
2088 #include <sys/statfs.h>
2089 #include <sys/vmount.h>
2091 AC_DEFINE(FSTYPE_AIX_STATFS) fstype=AIX
2094 if test $fstype = no; then
2099 AC_DEFINE(FSTYPE_MNTENT) fstype=4.3BSD
2102 if test $fstype = no; then
2103 AC_EGREP_HEADER(f_type;, sys/mount.h, AC_DEFINE(FSTYPE_STATFS) fstype=4.4BSD/OSF1)
2105 if test $fstype = no; then
2108 #include <sys/mount.h>
2109 #include <sys/fs_types.h>
2111 AC_DEFINE(FSTYPE_GETMNT) fstype=Ultrix
2114 AC_MSG_RESULT($fstype)
2116 AC_CHECK_HEADER(sys/statvfs.h, [ AC_DEFINE(HAVE_SYS_STATVFS_H,1,[Defines if your system have the sys/statvfs.h header file])] , )
2119 AC_CHECK_FUNCS(backtrace)
2122 dnl --------------------------------------------------------------------------
2123 dnl CHECKING FOR TYPEDEFS, STRUCTURES, AND COMPILER CHARACTERISTICS.
2124 dnl --------------------------------------------------------------------------
2134 AC_CHECK_TYPE(ino_t, unsigned long)
2135 AC_CHECK_TYPE(dev_t, unsigned long)
2136 AC_CHECK_TYPE(daddr_t, long)
2137 AC_CHECK_TYPE(major_t, int)
2138 AC_CHECK_TYPE(minor_t, int)
2139 AC_CHECK_TYPE(ssize_t, int)
2145 AC_CHECK_SIZEOF(char, 1)
2146 AC_CHECK_SIZEOF(short int, 2)
2147 AC_CHECK_SIZEOF(int, 4)
2148 AC_CHECK_SIZEOF(long int, 4)
2149 AC_CHECK_SIZEOF(long long int, 8)
2150 AC_CHECK_SIZEOF(int *, 4)
2152 dnl Check for sys/types.h types
2153 AC_CACHE_CHECK([for u_int type], ac_cv_have_u_int,
2157 #include <sys/types.h>
2161 ac_cv_have_u_int="yes"
2163 ac_cv_have_u_int="no"
2168 if test "x$ac_cv_have_u_int" = "xyes" ; then
2169 AC_DEFINE(HAVE_U_INT)
2173 AC_CACHE_CHECK([for intmax_t type], ac_cv_have_intmax_t,
2177 #include <sys/types.h>
2181 ac_cv_have_intmax_t="yes"
2189 ac_cv_have_intmax_t="yes"
2191 ac_cv_have_intmax_t="no"
2198 if test "x$ac_cv_have_intmax_t" = "xyes" ; then
2199 AC_DEFINE(HAVE_INTMAX_T)
2203 AC_CACHE_CHECK([for u_intmax_t type], ac_cv_have_u_intmax_t,
2207 #include <sys/types.h>
2209 u_intmax_t a; a = 1;
2211 ac_cv_have_u_intmax_t="yes"
2217 u_intmax_t a; a = 1;
2219 ac_cv_have_u_intmax_t="yes"
2221 ac_cv_have_u_intmax_t="no"
2228 if test "x$ac_cv_have_u_intmax_t" = "xyes" ; then
2229 AC_DEFINE(HAVE_U_INTMAX_T)
2233 AC_CACHE_CHECK([for intXX_t types], ac_cv_have_intxx_t,
2237 #include <sys/types.h>
2239 int8_t a; int16_t b; int32_t c; a = b = c = 1;
2241 ac_cv_have_intxx_t="yes"
2243 ac_cv_have_intxx_t="no"
2248 if test "x$ac_cv_have_intxx_t" = "xyes" ; then
2249 AC_DEFINE(HAVE_INTXX_T)
2253 AC_CACHE_CHECK([for int64_t type], ac_cv_have_int64_t,
2257 #include <sys/types.h>
2261 ac_cv_have_int64_t="yes"
2263 ac_cv_have_int64_t="no"
2268 if test "x$ac_cv_have_int64_t" = "xyes" ; then
2269 AC_DEFINE(HAVE_INT64_T)
2273 AC_CACHE_CHECK([for u_intXX_t types], ac_cv_have_u_intxx_t,
2277 #include <sys/types.h>
2279 u_int8_t a; u_int16_t b; u_int32_t c; a = b = c = 1;
2281 ac_cv_have_u_intxx_t="yes"
2283 ac_cv_have_u_intxx_t="no"
2288 if test "x$ac_cv_have_u_intxx_t" = "xyes" ; then
2289 AC_DEFINE(HAVE_U_INTXX_T)
2293 AC_CACHE_CHECK([for u_int64_t types], ac_cv_have_u_int64_t,
2297 #include <sys/types.h>
2301 ac_cv_have_u_int64_t="yes"
2303 ac_cv_have_u_int64_t="no"
2308 if test "x$ac_cv_have_u_int64_t" = "xyes" ; then
2309 AC_DEFINE(HAVE_U_INT64_T)
2313 if (test -z "$have_u_intxx_t" || test -z "$have_intxx_t" && \
2314 test "x$ac_cv_header_sys_bitypes_h" = "xyes")
2316 AC_MSG_CHECKING([for intXX_t and u_intXX_t types in sys/bitypes.h])
2319 #include <sys/bitypes.h>
2321 int8_t a; int16_t b; int32_t c;
2322 u_int8_t e; u_int16_t f; u_int32_t g;
2323 a = b = c = e = f = g = 1;
2325 AC_DEFINE(HAVE_U_INTXX_T)
2326 AC_DEFINE(HAVE_INTXX_T)
2327 AC_DEFINE(HAVE_SYS_BITYPES_H)
2335 if test -z "$have_u_intxx_t" ; then
2336 AC_CACHE_CHECK([for uintXX_t types], ac_cv_have_uintxx_t,
2340 #include <sys/types.h>
2342 uint8_t a; uint16_t b;
2343 uint32_t c; a = b = c = 1;
2345 ac_cv_have_uintxx_t="yes"
2347 ac_cv_have_uintxx_t="no"
2352 if test "x$ac_cv_have_uintxx_t" = "xyes" ; then
2353 AC_DEFINE(HAVE_UINTXX_T)
2357 if (test -z "$have_u_int64_t" || test -z "$have_int64_t" && \
2358 test "x$ac_cv_header_sys_bitypes_h" = "xyes")
2360 AC_MSG_CHECKING([for int64_t and u_int64_t types in sys/bitypes.h])
2363 #include <sys/bitypes.h>
2365 int64_t a; u_int64_t b;
2368 AC_DEFINE(HAVE_U_INT64_T)
2369 AC_DEFINE(HAVE_INT64_T)
2377 if (test -z "$have_uintxx_t" && \
2378 test "x$ac_cv_header_sys_bitypes_h" = "xyes")
2380 AC_MSG_CHECKING([for uintXX_t types in sys/bitypes.h])
2383 #include <sys/bitypes.h>
2385 uint8_t a; uint16_t b;
2386 uint32_t c; a = b = c = 1;
2388 AC_DEFINE(HAVE_UINTXX_T)
2396 dnl --------------------------------------------------------------------------
2397 dnl CHECKING FOR REQUIRED LIBRARY FUNCTIONS
2398 dnl --------------------------------------------------------------------------
2414 [echo 'configure: cannot find needed function.'; exit 1]
2417 AC_CHECK_FUNCS(getpagesize, [AC_DEFINE(HAVE_GETPAGESIZE, 1, [Set if have getpagesize])])
2418 AC_CHECK_FUNCS(malloc_trim, [AC_DEFINE(HAVE_MALLOC_TRIM, 1, [Set if have malloc_trim])])
2420 AC_CHECK_FUNCS(fchdir, [AC_DEFINE(HAVE_FCHDIR)])
2421 AC_CHECK_FUNCS(strtoll, [AC_DEFINE(HAVE_STRTOLL)])
2422 AC_CHECK_FUNCS(posix_fadvise)
2423 AC_CHECK_FUNCS(fdatasync)
2425 AC_CHECK_FUNCS(chflags)
2427 AC_CHECK_FUNCS(snprintf vsnprintf gethostid fseeko)
2429 AC_CACHE_CHECK(for va_copy, ba_cv_va_copy,
2434 void use_va_copy(va_list args){va_list args2; va_copy(args2,args); va_end(args2);}
2435 void call_use_va_copy(int junk,...){va_list args; va_start(args,junk); use_va_copy(args); va_end(args);}
2437 call_use_va_copy(1,2,3)
2446 test $ba_cv_va_copy = yes && AC_DEFINE(HAVE_VA_COPY, 1, [Set if va_copy exists])
2448 dnl --------------------------------------------------------------------------
2449 dnl CHECKING FOR THREAD SAFE FUNCTIONS
2450 dnl --------------------------------------------------------------------------
2451 AC_CHECK_FUNCS(localtime_r readdir_r strerror_r gethostbyname_r)
2453 # If resolver functions are not in libc check for -lnsl or -lresolv.
2454 AC_CHECK_FUNC(gethostbyname_r,
2455 AC_MSG_RESULT(using libc's resolver),
2456 AC_CHECK_LIB(nsl,gethostbyname_r)
2457 AC_CHECK_LIB(resolv,gethostbyname_r))
2459 AC_CHECK_FUNCS(inet_pton, [AC_DEFINE(HAVE_INET_PTON)])
2460 AC_CHECK_FUNCS(inet_ntop, [AC_DEFINE(HAVE_INET_NTOP)])
2461 AC_CHECK_FUNCS(gethostbyname2, [AC_DEFINE(HAVE_GETHOSTBYNAME2)])
2463 dnl ----------------------------
2464 dnl check sa_len of sockaddr
2465 dnl ----------------------------
2466 AC_CACHE_CHECK(for struct sockaddr has a sa_len field, ac_cv_struct_sockaddr_sa_len,
2470 #include <sys/socket.h>
2472 struct sockaddr s; s.sa_len;
2474 ac_cv_struct_sockaddr_sa_len=yes
2475 ], [ac_cv_struct_sockaddr_sa_len=no
2481 if test $ac_cv_struct_sockaddr_sa_len = yes; then
2482 AC_DEFINE(HAVE_SA_LEN, 1, [Define if sa_len field exists in struct sockaddr])
2489 AC_CHECK_FUNCS(getmntinfo, [AC_DEFINE(HAVE_GETMNTINFO)])
2490 AC_FUNC_CLOSEDIR_VOID
2491 AC_FUNC_SETPGRP dnl check for BSD setpgrp.
2492 # AC_FUNC_FNMATCH dnl use local version
2494 AC_CHECK_LIB(intl, gettext, [LIBS="$LIBS -lintl"])
2496 AC_CHECK_LIB(sun, getpwnam)
2498 AC_CHECK_HEADERS(zlib.h)
2499 AC_CHECK_LIB(z, deflate, [ZLIBS="-lz"])
2501 if test x$ZLIBS = x-lz; then
2502 AC_DEFINE(HAVE_LIBZ)
2510 AC_CHECK_HEADERS(lzo/lzoconf.h)
2511 AC_CHECK_HEADERS(lzo/lzo1x.h)
2512 AC_CHECK_LIB(lzo2, lzo1x_1_compress, [LZOLIBS="-llzo2"])
2514 if test x$LZOLIBS = x-llzo2; then
2521 dnl Check for ACL support and libraries
2525 AC_HELP_STRING([--disable-acl], [disable acl support @<:@default=auto@:>@]),
2527 if test x$enableval = xyes; then
2529 elif test x$enableval = xno; then
2536 have_extended_acl=no
2537 if test x$support_acl = xyes -o x$support_acl = xauto; then
2538 AC_CHECK_HEADER(sys/acl.h, [ AC_DEFINE(HAVE_SYS_ACL_H,1,[Defines if your system have the sys/acl.h header file])] , )
2541 dnl First check for acl_get_file in libc
2543 AC_CHECK_FUNC(acl_get_file,
2550 dnl Check for acl_get_file in libacl (Linux)
2552 if test $have_acl = no; then
2553 AC_CHECK_LIB(acl, acl_get_file,
2556 FDLIBS="-lacl $FDLIBS"
2562 dnl Check for acl_get_file in libpacl (OSF1)
2563 dnl and if ACL_TYPE_DEFAULT_DIR is defined.
2565 if test $have_acl = no -a \
2566 x${HAVE_OSF1_OS_TRUE} = x; then
2567 AC_CHECK_LIB(pacl, acl_get_file,
2570 FDLIBS="-lpacl $FDLIBS"
2574 AC_MSG_CHECKING(for ACL_TYPE_DEFAULT_DIR in acl.h include file)
2575 grep ACL_TYPE_DEFAULT_DIR /usr/include/sys/acl.h > /dev/null 2>&1
2576 if test $? = 0; then
2577 AC_DEFINE(HAVE_ACL_TYPE_DEFAULT_DIR,1,[Defines if your system have the ACL_TYPE_DEFAULT_DIR acl type])
2585 dnl On OSX check for availability of ACL_TYPE_EXTENDED
2587 if test $have_acl = yes -a \
2588 x${HAVE_DARWIN_OS_TRUE} = x; then
2589 AC_MSG_CHECKING(for ACL_TYPE_EXTENDED in acl.h include file)
2590 grep ACL_TYPE_EXTENDED /usr/include/sys/acl.h > /dev/null 2>&1
2591 if test $? = 0; then
2592 AC_DEFINE(HAVE_ACL_TYPE_EXTENDED,1,[Defines if your system have the ACL_TYPE_EXTENDED acl type])
2600 dnl On FreeBSD check for availability of ACL_TYPE_NFS4
2602 if test $have_acl = yes -a \
2603 x${HAVE_FREEBSD_OS_TRUE} = x; then
2604 AC_MSG_CHECKING(for ACL_TYPE_NFS4 in acl.h include file)
2605 grep ACL_TYPE_NFS4 /usr/include/sys/acl.h > /dev/null 2>&1
2606 if test $? = 0; then
2607 AC_DEFINE(HAVE_ACL_TYPE_NFS4,1,[Defines if your system have the ACL_TYPE_NFS4 acl type])
2615 dnl Check for acltotext and acl_totext (Solaris)
2617 if test $have_acl = no -a \
2618 x${HAVE_SUN_OS_TRUE} = x; then
2619 AC_CHECK_LIB(sec, acltotext,
2622 FDLIBS="-lsec $FDLIBS"
2624 AC_CHECK_LIB(sec, acl_totext,
2626 have_extended_acl=yes
2634 dnl Check for acl_get and aclx_get (AIX)
2636 if test $have_acl = no -a \
2637 x${HAVE_AIX_OS_TRUE} = x; then
2638 AC_CHECK_FUNC(acl_get,
2642 AC_CHECK_FUNC(aclx_get,
2644 have_extended_acl=yes
2651 if test x$support_acl = xyes -a $have_acl != yes; then
2652 AC_MSG_ERROR([acl support explicitly enabled but no supported acl implementation found,
2653 please either load the acl libraries or rerun configure without --enable-acl])
2655 if test $have_acl = yes; then
2656 AC_DEFINE([HAVE_ACL],1,[Normal acl support])
2659 if test $have_extended_acl = yes; then
2660 AC_DEFINE([HAVE_EXTENDED_ACL],1,[Extended acl support])
2666 dnl Check for XATTR support
2669 AC_ARG_ENABLE(xattr,
2670 AC_HELP_STRING([--disable-xattr], [disable xattr support @<:@default=auto@:>@]),
2672 if test x$enableval = xyes; then
2674 elif test x$enableval = xno; then
2681 if test x$support_xattr = xyes -o x$support_xattr = xauto; then
2683 dnl First check for *BSD support
2684 dnl When running on a BSD variant
2686 if test x${HAVE_FREEBSD_OS_TRUE} = x -o \
2687 x${HAVE_NETBSD_OS_TRUE} = x -o \
2688 x${HAVE_OPENBSD_OS_TRUE} = x; then
2689 AC_CHECK_HEADER(sys/extattr.h, [ AC_DEFINE(HAVE_SYS_EXTATTR_H,1,[Defines if your system have the sys/extattr.h header file])] , )
2690 AC_CHECK_HEADER(libutil.h, [ AC_DEFINE(HAVE_LIBUTIL_H,1,[Defines if your system have the libutil.h header file])] , )
2691 AC_CHECK_FUNCS(extattr_get_link extattr_set_link extattr_list_link,
2694 AC_DEFINE([HAVE_EXTATTR_GET_LINK],1,[Define to 1 if you have the 'extattr_get_link' function.])
2695 AC_DEFINE([HAVE_EXTATTR_SET_LINK],1,[Define to 1 if you have the 'extattr_set_link' function.])
2696 AC_DEFINE([HAVE_EXTATTR_LIST_LINK],1,[Define to 1 if you have the 'extattr_list_link' function.])
2700 if test $have_xattr = no; then
2701 AC_CHECK_FUNCS(extattr_get_file extattr_set_file extattr_list_file,
2704 AC_DEFINE([HAVE_EXTATTR_GET_FILE],1,[Define to 1 if you have the 'extattr_get_file' function.])
2705 AC_DEFINE([HAVE_EXTATTR_SET_FILE],1,[Define to 1 if you have the 'extattr_set_file' function.])
2706 AC_DEFINE([HAVE_EXTATTR_LIST_FILE],1,[Define to 1 if you have the 'extattr_list_file' function.])
2711 if test $have_xattr = yes; then
2712 have_extattr_string_in_libc=no
2713 AC_CHECK_FUNCS(extattr_namespace_to_string extattr_string_to_namespace,
2715 have_extattr_string_in_libc=yes
2716 AC_DEFINE([HAVE_EXTATTR_NAMESPACE_TO_STRING],1,[Define to 1 if you have the 'extattr_namespace_to_string' function.])
2717 AC_DEFINE([HAVE_EXTATTR_STRING_TO_NAMESPACE],1,[Define to 1 if you have the 'extattr_string_to_namespace' function.])
2722 dnl If extattr_namespace_to_string and extattr_string_to_namespace are not in libc see if they are in libutil
2724 if test $have_extattr_string_in_libc = no; then
2725 AC_CHECK_LIB(util, extattr_namespace_to_string extattr_string_to_namespace,
2727 AC_DEFINE([HAVE_EXTATTR_NAMESPACE_TO_STRING],1,[Define to 1 if you have the 'extattr_namespace_to_string' function.])
2728 AC_DEFINE([HAVE_EXTATTR_STRING_TO_NAMESPACE],1,[Define to 1 if you have the 'extattr_string_to_namespace' function.])
2729 FDLIBS="-lutil $FDLIBS"
2737 dnl If we failed to find *BSD support try the AIX implementation of extented attributes (EA)
2738 dnl When running on AIX
2740 if test $have_xattr = no -a \
2741 x${HAVE_AIX_OS_TRUE} = x; then
2742 AC_CHECK_HEADER(sys/ea.h, [ AC_DEFINE(HAVE_SYS_EA_H,1,[Defines if your system have the sys/ea.h header file])] , )
2743 AC_CHECK_FUNCS(llistea lgetea lsetea,
2746 AC_DEFINE([HAVE_LLISTEA],1,[Define to 1 if you have the 'llistea' function.])
2747 AC_DEFINE([HAVE_LGETEA],1,[Define to 1 if you have the 'lgetea' function.])
2748 AC_DEFINE([HAVE_LSETEA],1,[Define to 1 if you have the 'lsetea' function.])
2752 if test $have_xattr = no; then
2753 AC_CHECK_FUNCS(listea getea setea,
2756 AC_DEFINE([HAVE_LISTEA],1,[Define to 1 if you have the 'listea' function.])
2757 AC_DEFINE([HAVE_GETEA],1,[Define to 1 if you have the 'getea' function.])
2758 AC_DEFINE([HAVE_SETEA],1,[Define to 1 if you have the 'setea' function.])
2765 dnl If we failed to find AIX support try the TRU64 implementation of extented attributes
2766 dnl when running on a TRU64 OS.
2768 if test $have_xattr = no -a \
2769 x${HAVE_OSF1_OS_TRUE} = x; then
2770 AC_CHECK_HEADER(sys/proplist.h, [ AC_DEFINE(HAVE_SYS_PROPLIST_H,1,[Defines if your system have the sys/proplist.h header file])] , )
2771 AC_CHECK_FUNCS(getproplist get_proplist_entry sizeof_proplist_entry add_proplist_entry setproplist,
2774 AC_DEFINE([HAVE_GETPROPLIST],1,[Define to 1 if you have the 'getproplist' function.])
2775 AC_DEFINE([HAVE_GET_PROPLIST_ENTRY],1,[Define to 1 if you have the 'get_proplist_entry' function.])
2776 AC_DEFINE([HAVE_SIZEOF_PROPLIST_ENTRY],1,[Define to 1 if you have the 'sizeof_proplist_entry' function.])
2777 AC_DEFINE([HAVE_ADD_PROPLIST_ENTRY],1,[Define to 1 if you have the 'add_proplist_entry' function.])
2778 AC_DEFINE([HAVE_SETPROPLIST],1,[Define to 1 if you have the 'setproplist' function.])
2784 dnl If we failed to find TRU64 support try the SOLARIS implementation of extented and extensible attributes
2785 dnl when running on a Solaris.
2787 if test $have_xattr = no -a \
2788 x${HAVE_SUN_OS_TRUE} = x; then
2789 AC_CHECK_HEADER(sys/attr.h, [ AC_DEFINE(HAVE_SYS_ATTR_H,1,[Defines if your system have the sys/attr.h header file])] , )
2790 AC_CHECK_HEADER(sys/nvpair.h, [ AC_DEFINE(HAVE_SYS_NVPAIR_H,1,[Defines if your system have the sys/nvpair.h header file])] , )
2791 AC_CHECK_HEADER(attr.h, [ AC_DEFINE(HAVE_ATTR_H,1,[Defines if your system have the attr.h header file])] , )
2793 AC_CHECK_FUNCS(openat fstatat unlinkat fchownat futimesat,
2796 AC_DEFINE([HAVE_OPENAT],1,[Define to 1 if you have the 'openat' function.])
2797 AC_DEFINE([HAVE_FSTATAT],1,[Define to 1 if you have the 'fstatat' function.])
2798 AC_DEFINE([HAVE_UNLINKAT],1,[Define to 1 if you have the 'unlinkat' function.])
2799 AC_DEFINE([HAVE_FCHOWNAT],1,[Define to 1 if you have the 'fchownat' function.])
2800 AC_DEFINE([HAVE_FUTIMESAT],1,[Define to 1 if you have the 'futimesat' function.])
2804 if test $have_xattr = yes; then
2805 AC_CHECK_LIB(nvpair, nvlist_next_nvpair,
2807 AC_DEFINE([HAVE_NVLIST_NEXT_NVPAIR],1,[Define to 1 if you have the 'nvlist_next_nvpair' function.])
2808 FDLIBS="-lnvpair $FDLIBS"
2815 dnl If we failed to find Solaris support try the generic xattr support code
2817 if test $have_xattr = no; then
2818 AC_CHECK_HEADER(sys/xattr.h, [ AC_DEFINE(HAVE_SYS_XATTR_H,1,[Defines if your system have the sys/xattr.h header file])] , )
2819 AC_CHECK_FUNCS(llistxattr lgetxattr lsetxattr,
2822 AC_DEFINE([HAVE_LLISTXATTR],1,[Define to 1 if you have the 'llistxattr' function.])
2823 AC_DEFINE([HAVE_LGETXATTR],1,[Define to 1 if you have the 'lgetxattr' function.])
2824 AC_DEFINE([HAVE_LSETXATTR],1,[Define to 1 if you have the 'lsetxattr' function.])
2828 if test $have_xattr = no; then
2829 AC_CHECK_FUNCS(listxattr getxattr setxattr,
2832 AC_DEFINE([HAVE_LISTXATTR],1,[Define to 1 if you have the 'listxattr' function.])
2833 AC_DEFINE([HAVE_GETXATTR],1,[Define to 1 if you have the 'getxattr' function.])
2834 AC_DEFINE([HAVE_SETXATTR],1,[Define to 1 if you have the 'setxattr' function.])
2840 if test x$support_xattr = xyes -a $have_xattr != yes; then
2841 AC_MSG_ERROR([xattr support explicitly enabled but no supported xattr implementation found,
2842 please either load the xattr libraries or rerun configure without --enable-xattr])
2844 if test $have_xattr = yes; then
2845 AC_DEFINE([HAVE_XATTR],1,[Extended Attributes support])
2851 dnl Check for pthread libraries
2854 AC_CHECK_LIB(pthread, pthread_create, PTHREAD_LIB="-lpthread",
2856 AC_CHECK_LIB(pthreads, pthread_create, PTHREAD_LIB="-lpthreads",
2858 AC_CHECK_LIB(c_r, pthread_create, PTHREAD_LIB="-lc_r",
2860 AC_CHECK_FUNC(pthread_create)
2869 dnl Check for headers, functions and libraries required to support
2870 dnl keeping readall capabilities
2872 AC_CHECK_HEADERS(sys/prctl.h sys/capability.h)
2873 AC_CHECK_FUNCS(prctl setreuid)
2874 AC_CHECK_LIB([cap], [cap_set_proc], [CAP_LIBS="-lcap"], [CAP_LIBS=])
2875 if test x$CAP_LIBS = x-lcap; then
2876 AC_DEFINE(HAVE_LIBCAP, 1, [Define if you have libcap])
2885 if test x$have_gcc = xyes ; then
2886 CPPFLAGS="$CPPFLAGS -fno-strict-aliasing -fno-exceptions -fno-rtti"
2887 CFLAGS="$CFLAGS -fno-strict-aliasing -fno-exceptions -fno-rtti"
2889 LDFLAGS=${LDFLAGS--O}
2890 CPPFLAGS="$CPPFLAGS"
2902 AC_SUBST(X_EXTRA_LIBS)
2907 dnl extra configurable objects
2918 dnl Finally we set appropriate distribution specific
2919 dnl variables and defaults
2921 dnl PFILES are platform specific files
2922 PFILES="platforms/Makefile"
2926 COMPRESS_MANPAGES=yes
2928 hostname=`uname -n | cut -d '.' -f 1`
2929 if test x${hostname} = x ; then
2930 hostname="localhost"
2932 dnl Make sure hostname is resolved
2933 ping -c 1 $hostname 2>/dev/null 1>/dev/null
2934 if test ! $? = 0; then
2935 hostname="localhost"
2941 PSCMD="ps -e -o pid,comm"
2943 platforms/aix/Makefile"
2944 TAPEDRIVE="/dev/rmt0.1"
2948 PTHREAD_LIB="-lpthread -lexc"
2949 if test "${CC}" = "gcc" ; then
2956 TAPEDRIVE="/dev/nrmt0"
2959 DISTVER=`uname -a |awk '{print $3}'`
2960 TAPEDRIVE="/dev/nrmt0"
2961 PTHREAD_LIB="-pthread"
2962 CFLAGS="${CFLAGS} -pthread"
2963 PSCMD="ps -ax -o pid,command"
2967 platforms/bsdi/Makefile \
2968 platforms/bsdi/bacula-fd \
2969 platforms/bsdi/bacula-sd \
2970 platforms/bsdi/bacula-dir"
2971 largefile_support="yes"
2974 DISTVER=`uname -a |awk '{print $3}'`
2975 TAPEDRIVE="/dev/nrst0"
2978 WLDFLAGS="-mwindows"
2982 TAPEDRIVE="/dev/nst0"
2983 PSCMD="ps -e -o pid,command"
2986 platforms/darwin/Makefile"
2990 TAPEDRIVE="/dev/nst0"
2991 PSCMD="ps -e -o pid,command"
2994 platforms/osx/Makefile"
2997 if `test -f /etc/apt/sources.list && grep -q ubuntu /etc/apt/sources.list`; then
3000 DISTVER=`cat /etc/debian_version`
3001 if test -f /etc/lsb-release ; then
3003 if test "x$DISTRIB_ID" != "x" ; then
3004 DISTNAME=$DISTRIB_ID
3006 if test "x$DISTRIB_RELEASE" != "x" ; then
3007 DISTVER=$DISTRIB_RELEASE
3010 if test "$DISTNAME" = "Ubuntu" ; then
3013 TAPEDRIVE="/dev/nst0"
3014 PSCMD="ps -e -o pid,command"
3015 if test "$DISTNAME" = "ubuntu" ; then
3017 platforms/ubuntu/Makefile \
3018 platforms/ubuntu/bacula-fd \
3019 platforms/ubuntu/bacula-sd \
3020 platforms/ubuntu/bacula-dir"
3023 platforms/debian/Makefile \
3024 platforms/debian/bacula-fd \
3025 platforms/debian/bacula-sd \
3026 platforms/debian/bacula-dir"
3030 DISTVER=`uname -a |awk '{print $3}'`
3031 VER=`echo $DISTVER | cut -c 1`
3032 if test x$VER = x4 ; then
3033 PTHREAD_LIB="${PTHREAD_LIBS:--pthread}"
3034 CFLAGS="${CFLAGS} ${PTHREAD_CFLAGS:--pthread}"
3038 TAPEDRIVE="/dev/nrsa0"
3039 PSCMD="ps -ax -o pid,command"
3041 platforms/freebsd/Makefile \
3042 platforms/freebsd/bacula-fd \
3043 platforms/freebsd/bacula-sd \
3044 platforms/freebsd/bacula-dir"
3045 largefile_support="yes"
3048 PSCMD="UNIX95=1; ps -e -o pid,comm"
3049 CFLAGS="${CFLAGS} -D_XOPEN_SOURCE_EXTENDED=1"
3051 TAPEDRIVE="/dev/rmt/0hnb"
3052 PTHREAD_LIB="-lpthread"
3053 AC_DEFINE([_INCLUDE_LONGLONG])
3057 TAPEDRIVE="/dev/rmt/0cbn"
3058 PSCMD="ps -e -o pid,comm"
3060 platforms/irix/Makefile \
3061 platforms/irix/bacula-fd \
3062 platforms/irix/bacula-sd \
3063 platforms/irix/bacula-dir"
3066 DISTVER=`uname -a |awk '{print $3}'`
3069 TAPEDRIVE="/dev/nrst0"
3070 PSCMD="ps -ax -o pid,command"
3071 PTHREAD_LIB="-pthread"
3072 CFLAGS="${CFLAGS} -pthread"
3075 DISTVER=`uname -a |awk '{print $3}'`
3078 TAPEDRIVE="/dev/nrst0"
3079 PSCMD="ps -ax -o pid,command"
3080 PTHREAD_LIB="-pthread"
3081 CFLAGS="${CFLAGS} -pthread"
3083 platforms/openbsd/Makefile \
3084 platforms/openbsd/bacula-fd \
3085 platforms/openbsd/bacula-sd \
3086 platforms/openbsd/bacula-dir"
3089 if test -f /etc/whitebox-release ; then
3090 f=/etc/whitebox-release
3092 f=/etc/redhat-release
3094 if test `cat $f | grep release |\
3095 cut -f 3 -d ' '`x = "Enterprise"x ; then
3096 DISTVER="Enterprise "`cat $f | grep release |\
3099 DISTVER=`cat /etc/redhat-release | grep release |\
3102 TAPEDRIVE="/dev/nst0"
3103 PSCMD="ps -e -o pid,command"
3105 platforms/redhat/Makefile \
3106 platforms/redhat/bacula-fd \
3107 platforms/redhat/bacula-sd \
3108 platforms/redhat/bacula-dir
3112 DISTVER=`cat /etc/mandrake-release | grep release |\
3114 TAPEDRIVE="/dev/nst0"
3115 PSCMD="ps -e -o pid,command"
3117 platforms/mandrake/Makefile \
3118 platforms/mandrake/bacula-fd \
3119 platforms/mandrake/bacula-sd \
3120 platforms/mandrake/bacula-dir \
3124 DISTVER=`awk '/version / {print $5}' < /etc/gentoo-release`
3125 TAPEDRIVE="/dev/nst0"
3126 PSCMD="ps -e -o pid,command"
3128 platforms/gentoo/Makefile \
3129 platforms/gentoo/bacula-init \
3130 platforms/gentoo/bacula-fd \
3131 platforms/gentoo/bacula-sd \
3132 platforms/gentoo/bacula-dir"
3135 DISTVER=`cat /etc/slackware-version`
3136 TAPEDRIVE="/dev/nst0"
3137 PSCMD="ps -e -o pid,command"
3139 platforms/slackware/Makefile \
3140 platforms/slackware/rc.bacula-fd \
3141 platforms/slackware/rc.bacula-sd \
3142 platforms/slackware/rc.bacula-dir\
3143 platforms/slackware/functions.bacula"
3147 TAPEDRIVE="/dev/rmt/0cbn"
3148 PSCMD="ps -e -o pid,comm"
3150 platforms/solaris/Makefile \
3151 platforms/solaris/bacula-fd \
3152 platforms/solaris/bacula-sd \
3153 platforms/solaris/bacula-dir"
3157 AC_DEFINE(HAVE_OLD_SOCKOPT)
3158 AC_DEFINE(USE_THR_SETCONCURRENCY)
3161 AC_DEFINE(USE_THR_SETCONCURRENCY)
3166 LIBS="$LIBS -lresolv -lrt"
3169 DISTVER=`cat /etc/SuSE-release |grep VERSION|\
3171 TAPEDRIVE="/dev/nst0"
3172 PSCMD="ps -e -o pid,command"
3174 platforms/suse/Makefile \
3175 platforms/suse/bacula-fd \
3176 platforms/suse/bacula-sd \
3177 platforms/suse/bacula-dir \
3178 platforms/suse/bacula"
3183 TAPEDRIVE="/dev/nst0"
3184 PSCMD="ps -e -o pid,command"
3186 platforms/suse/Makefile \
3187 platforms/suse/bacula-fd \
3188 platforms/suse/bacula-sd \
3189 platforms/suse/bacula-dir"
3193 TAPEDRIVE="/dev/nst0"
3196 echo " === Something went wrong. Unknown DISTNAME $DISTNAME ==="
3202 LIBS="$PTHREAD_LIB $LIBS"
3204 AC_DEFINE_UNQUOTED(lld, "$lld")
3205 AC_DEFINE_UNQUOTED(llu, "$llu")
3212 AC_SUBST(COMPRESS_MANPAGES)
3214 dnl common parts of the Makefile
3215 MCOMMON=./autoconf/Make.common
3216 AC_SUBST_FILE(MCOMMON)
3219 if test "x${subsysdir}" = "x${sbindir}" ; then
3222 echo "You have set both --sbindir and --with-subsys-dir"
3223 echo " equal to: ${subsysdir} "
3224 echo "This is not permitted. Please reconfigure."
3226 echo "Aborting configuration ..."
3232 AC_OUTPUT([autoconf/Make.common \
3235 scripts/btraceback \
3238 scripts/bacula-ctl-dir \
3239 scripts/bacula-ctl-fd \
3240 scripts/bacula-ctl-sd \
3241 scripts/devel_bacula \
3244 scripts/bacula.desktop.gnome1 \
3245 scripts/bacula.desktop.gnome2 \
3246 scripts/bacula.desktop.gnome1.consolehelper \
3247 scripts/bacula.desktop.gnome2.consolehelper \
3248 scripts/bacula.desktop.gnome1.xsu \
3249 scripts/bacula.desktop.gnome2.xsu \
3250 scripts/mtx-changer \
3251 scripts/disk-changer \
3252 scripts/dvd-handler \
3253 scripts/dvd-simulator \
3254 scripts/bacula-tray-monitor.desktop \
3255 scripts/logwatch/Makefile \
3256 scripts/logwatch/logfile.bacula.conf \
3257 scripts/wxconsole.console_apps \
3258 scripts/wxconsole.desktop.consolehelper \
3259 scripts/wxconsole.desktop.xsu \
3260 scripts/bat.desktop \
3261 scripts/bat.desktop.xsu \
3262 scripts/bat.desktop.consolehelper \
3263 scripts/bat.console_apps \
3266 src/console/Makefile \
3267 src/console/bconsole.conf \
3268 src/qt-console/tray-monitor/tray-monitor.pro \
3269 src/qt-console/tray-monitor/tray-monitor.conf \
3270 src/qt-console/bat.conf \
3271 src/qt-console/bat.pro \
3272 src/qt-console/bat.pro.mingw32 \
3273 src/qt-console/install_conf_file \
3274 src/wx-console/Makefile \
3275 src/wx-console/bwx-console.conf \
3276 src/tray-monitor/Makefile \
3277 src/tray-monitor/tray-monitor.conf \
3279 src/dird/bacula-dir.conf \
3281 src/stored/Makefile \
3282 src/stored/bacula-sd.conf \
3283 src/filed/Makefile \
3284 src/filed/bacula-fd.conf \
3286 src/cats/make_catalog_backup.pl \
3287 src/cats/make_catalog_backup \
3288 src/cats/delete_catalog_backup \
3289 src/cats/create_postgresql_database \
3290 src/cats/update_postgresql_tables \
3291 src/cats/make_postgresql_tables \
3292 src/cats/grant_postgresql_privileges \
3293 src/cats/drop_postgresql_tables \
3294 src/cats/drop_postgresql_database \
3295 src/cats/create_mysql_database \
3296 src/cats/update_mysql_tables \
3297 src/cats/make_mysql_tables \
3298 src/cats/grant_mysql_privileges \
3299 src/cats/drop_mysql_tables \
3300 src/cats/drop_mysql_database \
3301 src/cats/create_sqlite3_database \
3302 src/cats/update_sqlite3_tables \
3303 src/cats/make_sqlite3_tables \
3304 src/cats/grant_sqlite3_privileges \
3305 src/cats/drop_sqlite3_tables \
3306 src/cats/drop_sqlite3_database \
3309 src/cats/create_bacula_database \
3310 src/cats/update_bacula_tables \
3311 src/cats/grant_bacula_privileges \
3312 src/cats/make_bacula_tables \
3313 src/cats/drop_bacula_tables \
3314 src/cats/drop_bacula_database \
3315 src/cats/install-default-backend \
3316 src/findlib/Makefile \
3317 src/tools/Makefile \
3318 src/plugins/fd/Makefile \
3319 src/plugins/sd/Makefile \
3320 src/plugins/dir/Makefile \
3321 src/win32/Makefile.inc \
3323 updatedb/update_mysql_tables_9_to_10 \
3324 updatedb/update_sqlite3_tables_9_to_10 \
3325 updatedb/update_postgresql_tables_9_to_10 \
3326 updatedb/update_mysql_tables_10_to_11 \
3327 updatedb/update_sqlite3_tables_10_to_11 \
3328 updatedb/update_postgresql_tables_10_to_11 \
3329 updatedb/update_mysql_tables_11_to_12 \
3330 updatedb/update_sqlite3_tables_11_to_12 \
3331 updatedb/update_postgresql_tables_11_to_12 \
3332 updatedb/update_mysql_tables_12_to_14 \
3333 updatedb/update_sqlite3_tables_12_to_14 \
3334 updatedb/update_postgresql_tables_12_to_14 \
3335 examples/nagios/check_bacula/Makefile \
3340 if test "${support_bat}" = "yes" ; then
3341 if test "x$QMAKE" = "xnone"; then
3342 AC_MSG_ERROR([Could not find qmake $PATH. Check your Qt installation])
3346 echo "Creating bat Makefile"
3356 dnl if CC is gcc, we can rebuild the dependencies (since the depend rule
3357 dnl requires gcc). If it's not, don't rebuild dependencies
3359 if test X"$GCC" = "Xyes" ; then
3360 echo "Doing make of dependencies"
3361 ${MAKE:-make} depend
3365 chmod 755 install_conf_file build-depkgs-qt-console
3369 chmod 755 bacula btraceback mtx-changer
3370 chmod 755 dvd-handler dvd-simulator
3371 chmod 755 bconsole mtx-changer devel_bacula logrotate
3375 chmod 755 $c/update_mysql_tables_10_to_11 $c/update_sqlite3_tables_10_to_11
3376 chmod 755 $c/update_postgresql_tables_10_to_11
3377 chmod 755 $c/update_mysql_tables_11_to_12 $c/update_sqlite3_tables_11_to_12
3378 chmod 755 $c/update_postgresql_tables_11_to_12
3383 chmod 755 $c/create_bacula_database $c/update_bacula_tables $c/make_bacula_tables
3384 chmod 755 $c/grant_bacula_privileges $c/drop_bacula_tables $c/drop_bacula_database
3386 chmod 755 $c/create_mysql_database $c/update_mysql_tables $c/make_mysql_tables
3387 chmod 755 $c/grant_mysql_privileges $c/drop_mysql_tables $c/drop_mysql_database
3389 chmod 755 $c/create_sqlite3_database $c/update_sqlite3_tables $c/make_sqlite3_tables
3390 chmod 755 $c/grant_sqlite3_privileges $c/drop_sqlite3_tables $c/drop_sqlite3_database
3392 chmod 755 $c/create_postgresql_database $c/update_postgresql_tables $c/make_postgresql_tables
3393 chmod 755 $c/grant_postgresql_privileges $c/drop_postgresql_tables $c/drop_postgresql_database
3395 #chmod 755 $c/create_ingres_database $c/update_ingres_tables $c/make_ingres_tables
3396 #chmod 755 $c/grant_ingres_privileges $c/drop_ingres_tables $c/drop_ingres_database
3399 chmod 755 $c/make_catalog_backup $c/delete_catalog_backup $c/make_catalog_backup.pl
3403 chmod 755 $c/install-default-backend
3405 chmod 755 src/win32/build-depkgs-mingw32
3407 if test "x$ac_cv_sys_largefile_CFLAGS" != "xno" ; then
3408 largefile_support="yes"
3411 dnl Only try to find out the version number of the compiler when we know its some kind of GCC compiler
3412 if test X"$GCC" = "Xyes" ; then
3414 dnl A whole lot of hand springs to get the compiler version.
3415 dnl This is because gcc changed the output in version 3.0
3417 CCVERSION=`${CC} --version | tr '\n' ' ' | cut -f 3 -d ' '`
3418 if test "x${CCVERSION}" = "x" ; then
3419 CCVERSION=`${CC} --version | tr '\n' ' ' | cut -f 1 -d ' '`
3421 CXXVERSION=`${CXX} --version | tr '\n' ' ' | cut -f 3 -d ' '`
3422 if test x"${CXXVERSION}" = x ; then
3423 CXXVERSION=`${CXX} --version | tr '\n' ' ' | cut -f 1 -d ' '`
3427 # clean up any old junk
3434 Configuration on `date`:
3436 Host: ${host}${post_host} -- ${DISTNAME} ${DISTVER}
3437 Bacula version: ${BACULA} ${VERSION} (${DATE})
3438 Source code location: ${srcdir}
3439 Install binaries: ${sbindir}
3440 Install libraries: ${libdir}
3441 Install config files: ${sysconfdir}
3442 Scripts directory: ${scriptdir}
3443 Archive directory: ${archivedir}
3444 Working directory: ${working_dir}
3445 PID directory: ${piddir}
3446 Subsys directory: ${subsysdir}
3447 Man directory: ${mandir}
3448 Data directory: ${datarootdir}
3449 Plugin directory: ${plugindir}
3450 C Compiler: ${CC} ${CCVERSION}
3451 C++ Compiler: ${CXX} ${CXXVERSION}
3452 Compiler flags: ${WCFLAGS} ${CFLAGS}
3453 Linker flags: ${WLDFLAGS} ${LDFLAGS}
3455 Statically Linked Tools: ${support_static_tools}
3456 Statically Linked FD: ${support_static_fd}
3457 Statically Linked SD: ${support_static_sd}
3458 Statically Linked DIR: ${support_static_dir}
3459 Statically Linked CONS: ${support_static_cons}
3460 Database backends: ${db_backends}
3461 Database port: ${db_port}
3462 Database name: ${db_name}
3463 Database user: ${db_user}
3465 Job Output Email: ${job_email}
3466 Traceback Email: ${dump_email}
3467 SMTP Host Address: ${smtp_host}
3469 Director Port: ${dir_port}
3470 File daemon Port: ${fd_port}
3471 Storage daemon Port: ${sd_port}
3473 Director User: ${dir_user}
3474 Director Group: ${dir_group}
3475 Storage Daemon User: ${sd_user}
3476 Storage DaemonGroup: ${sd_group}
3477 File Daemon User: ${fd_user}
3478 File Daemon Group: ${fd_group}
3480 Large file support: $largefile_support
3481 Bacula conio support: ${got_conio} ${CONS_LIBS}
3482 readline support: ${got_readline} ${PRTREADLINE_SRC}
3483 TCP Wrappers support: ${TCPW_MSG} ${WRAPLIBS}
3484 TLS support: ${support_tls}
3485 Encryption support: ${support_crypto}
3486 ZLIB support: ${have_zlib}
3487 LZO support: ${have_lzo}
3488 enable-smartalloc: ${support_smartalloc}
3489 enable-lockmgr: ${support_lockmgr}
3490 bat support: ${support_bat}
3491 enable-gnome: ${support_gnome} ${gnome_version}
3492 enable-bwx-console: ${support_wx_console} ${wx_version}
3493 enable-tray-monitor: ${support_tray_monitor}
3494 client-only: ${build_client_only}
3495 build-dird: ${build_dird}
3496 build-stored: ${build_stored}
3497 Plugin support: ${have_plugins}
3498 ACL support: ${have_acl}
3499 XATTR support: ${have_xattr}
3500 Python support: ${support_python} ${PYTHON_LIBS}
3501 Batch insert enabled: ${support_batch_insert}
3505 # create a small shell script useful for support with
3506 # configure options and config.out info
3507 cat > scripts/bacula_config << EOF
3510 $ $0 $ac_configure_args
3512 cat config.out >> scripts/bacula_config
3513 echo __EOC__ >> scripts/bacula_config
3514 chmod 755 scripts/bacula_config