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])
184 if test x$use_libtool != xno; then
185 DEFAULT_OBJECT_TYPE=".lo"
186 DEFAULT_ARCHIVE_TYPE=".la"
187 DEFAULT_SHARED_OBJECT_TYPE=".la"
188 LIBTOOL="\$(LIBTOOL)"
189 LIBTOOL_INSTALL_TARGET="libtool-install"
190 LIBTOOL_UNINSTALL_TARGET="libtool-uninstall"
191 LIBTOOL_CLEAN_TARGET="libtool-clean"
192 QMAKE_LIBTOOL="${BUILD_DIR}/libtool"
193 FD_PLUGIN_DIR="src/plugins/fd"
196 DEFAULT_OBJECT_TYPE=".o"
197 DEFAULT_ARCHIVE_TYPE=".a"
198 DEFAULT_SHARED_OBJECT_TYPE=".so"
199 LIBTOOL="# \$(LIBTOOL)"
200 LIBTOOL_INSTALL_TARGET=""
201 LIBTOOL_UNINSTALL_TARGET=""
202 LIBTOOL_CLEAN_TARGET=""
203 QMAKE_LIBTOOL="# ${BUILD_DIR}/libtool"
208 AC_SUBST(DEFAULT_OBJECT_TYPE)
209 AC_SUBST(DEFAULT_ARCHIVE_TYPE)
210 AC_SUBST(DEFAULT_SHARED_OBJECT_TYPE)
212 AC_SUBST(LIBTOOL_INSTALL_TARGET)
213 AC_SUBST(LIBTOOL_UNINSTALL_TARGET)
214 AC_SUBST(LIBTOOL_CLEAN_TARGET)
215 AC_SUBST(QMAKE_LIBTOOL)
216 AC_SUBST(FD_PLUGIN_DIR)
218 dnl --------------------------------------------------
219 dnl Include file handling
220 dnl --------------------------------------------------
221 AC_ARG_ENABLE(includes,
222 AC_HELP_STRING([--enable-includes], [enable installing of include files @<:@default=no@:>@]),
224 if test x$enableval = xyes; then
230 dnl It only makes sense to install include files when you install libraries which only happens when
231 dnl libtool is enabled
233 if test x$use_libtool != xno -a x$install_includes = xyes; then
234 INCLUDE_INSTALL_TARGET="install-includes"
235 INCLUDE_UNINSTALL_TARGET="uninstall-includes"
237 INCLUDE_INSTALL_TARGET=""
238 INCLUDE_UNINSTALL_TARGET=""
240 AC_SUBST(INCLUDE_INSTALL_TARGET)
241 AC_SUBST(INCLUDE_UNINSTALL_TARGET)
243 dnl --------------------------------------------------
244 dnl Bacula OP Sys determination (see aclocal.m4)
245 dnl --------------------------------------------------
248 dnl -----------------------------------------------------------
249 dnl Bacula OPSys Distribution determination (see aclocal.m4)
250 dnl ----------------------------------------------------------
251 BA_CHECK_OPSYS_DISTNAME
253 dnl --------------------------------------------------
254 dnl Suppport for gettext (translations)
255 dnl By default, $datarootdir is ${prefix}/share
256 dnl --------------------------------------------------
257 AM_GNU_GETTEXT([external])
259 dnl ------------------------------------------------------------------
260 dnl If the user has not set --prefix, we set our default to nothing.
261 dnl In this case, if the user has not set --sysconfdir, we set it
262 dnl to the package default of /etc/bacula. If either --prefix or
263 dnl --sysconfdir is set, we leave sysconfdir alone except to eval it.
264 dnl If the user has not set --libdir, we set it to the package
265 dnl default of /usr/lib. If either --prefix or --libdir is set,
266 dnl we leave libdir alone except to eval it. If the user has not set
267 dnl --includedir, we set it to the package default of /usr/include.
268 dnl If either --prefix or --includedir is set, we leave includedir
269 dnl alone except to eval it
270 dnl ------------------------------------------------------------------
271 os_name=`uname -s 2>/dev/null`
272 if test x${prefix} = xNONE ; then
273 if test `eval echo ${sysconfdir}` = NONE/etc ; then
274 sysconfdir=/etc/bacula
277 if test `eval echo ${libdir}` = NONE/lib ; then
280 os_processor=`uname -p 2>/dev/null`
281 case ${os_processor} in
296 if test `eval echo ${includedir}` = NONE/include ; then
297 includedir=/usr/include
300 if test `eval echo ${datarootdir}` = NONE/share ; then
301 datarootdir=/usr/share
306 dnl -------------------------------------------------------------------------
307 dnl If the user has not set --exec-prefix, we default to ${prefix}
308 dnl -------------------------------------------------------------------------
309 if test x${exec_prefix} = xNONE ; then
310 exec_prefix=${prefix}
313 sysconfdir=`eval echo ${sysconfdir}`
314 datarootdir=`eval echo ${datarootdir}`
315 docdir=`eval echo ${docdir}`
316 htmldir=`eval echo ${htmldir}`
317 libdir=`eval echo ${libdir}`
318 includedir=`eval echo ${includedir}`
319 localedir=`eval echo ${datarootdir}/locale`
320 AC_DEFINE_UNQUOTED(SYSCONFDIR, "$sysconfdir")
321 AC_DEFINE_UNQUOTED(LOCALEDIR, "$localedir")
323 dnl ------------------------------------------------------------------
324 dnl If the user has not set --sbindir, we set our default as /sbin
325 dnl ------------------------------------------------------------------
326 if test x$sbindir = x'${exec_prefix}/sbin' ; then
327 sbindir=${exec_prefix}/sbin
329 sbindir=`eval echo ${sbindir}`
331 dnl -------------------------------------------------------------------------
332 dnl If the user has not set --mandir, we default to /usr/share/man
333 dnl -------------------------------------------------------------------------
334 if test x$mandir = x'${prefix}/man' ; then
335 mandir=/usr/share/man
338 dnl -------------------------------------------------------------------------
339 dnl If the user has not set --htmldir, we default to /usr/share/doc/bacula/html
340 dnl -------------------------------------------------------------------------
341 if test x$htmldir = x'/usr/share/doc/bacula/' ; then
342 htmldir=`eval echo ${docdir}html`
345 dnl -------------------------------------------------------------------------
346 dnl If the user has not set --docdir, we default to /usr/share/doc/bacula
347 dnl -------------------------------------------------------------------------
348 if test x$docdir = x'/usr/share/doc/' ; then
349 docdir=`eval echo ${docdir}bacula`
353 AC_PATH_PROGS(MSGFMT, msgfmt, no)
354 if test "$MSGFMT" = "no"
356 echo 'msgfmt program not found, disabling NLS !'
358 USE_INCLUDED_LIBINTL=no
363 support_smartalloc=yes
368 support_wx_console=no
369 support_tray_monitor=no
374 support_static_tools=no
377 support_static_dir=no
378 support_static_cons=no
384 batch_insert_db_backends=""
387 dnl --------------------------------------------------------------------------
388 dnl CHECKING COMMAND LINE OPTIONS
389 dnl --------------------------------------------------------------------------
391 dnl -------------------------------------------
392 dnl gnome -- no longer supported
393 dnl -------------------------------------------
395 AC_HELP_STRING([--enable-gnome], [enable build of bgnome-console GUI @<:@default=no@:>@]),
397 if test x$enableval = xyes; then
404 if test x$support_gnome = xyes; then
405 AC_MSG_ERROR(bgnome-console no longer supported)
406 AC_MSG_ERROR(--enable-gnome option no longer supported)
408 # AC_SUBST(GNOME_DIR)
410 dnl -------------------------------------------
411 dnl bat (default off)
412 dnl -------------------------------------------
414 AC_HELP_STRING([--enable-bat], [enable build of bat Qt4 GUI @<:@default=no@:>@]),
416 if test x$enableval = xyes; then
417 AC_DEFINE(HAVE_BAT, 1, [Set if Bacula bat Qt4 GUI support enabled])
424 if test x$support_bat = xyes; then
425 abc=`$PKGCONFIG --atleast-version=4.2 QtGui`
427 if test $pkg = 0; then
428 BAT_DIR=src/qt-console
430 AC_MSG_ERROR(Unable to find Qt4 installation needed by bat)
435 dnl The qwt library was used with bat, but that is no longer the case
443 dnl if test x$support_bat = xyes; then
444 dnl AC_MSG_CHECKING(for qwt support)
446 dnl AC_HELP_STRING([--with-qwt@<:@=DIR@:>@], [specify qwt library directory]),
448 dnl case "$with_qwt" in
453 dnl if test -f ${with_qwt}/include/qwt.h; then
454 dnl QWT_INC="${with_qwt}/include"
455 dnl QWT_LDFLAGS="-L${with_qwt}/lib"
465 dnl dnl Search in standard places, or --with-qwt not specified
467 dnl if test $no_qwt = no; then
468 dnl if test x$QWT_INC = x; then
469 dnl for root in /usr /usr/local; do
470 dnl for ver in qwt qwt5 qwt-qt4; do
471 dnl if test -f ${root}/include/${ver}/qwt.h; then
472 dnl QWT_INC="${root}/include/${ver}"
473 dnl if test -d ${root}/lib64/; then
474 dnl QWT_LDFLAGS="-L${root}/lib64"
475 dnl elif test -d ${root}/lib/64/; then
476 dnl QWT_LDFLAGS="-L${root}/64"
478 dnl QWT_LDFLAGS="-L${root}/lib"
489 dnl if test x$QWT_INC = x; then
490 dnl AC_MSG_RESULT(no)
492 dnl AC_DEFINE(HAVE_QWT, 1, [Set if bat QWT library found])
493 dnl AC_MSG_RESULT(yes)
499 AC_SUBST(QWT_LDFLAGS)
503 dnl -------------------------------------------
504 dnl bwx-console (default off)
505 dnl -------------------------------------------
506 AC_ARG_ENABLE(bwx-console,
507 AC_HELP_STRING([--enable-bwx-console], [enable build of wxWidgets console @<:@default=no@:>@]),
509 if test x$enableval = xyes; then
510 support_wx_console=yes
516 if test x$support_wx_console = xyes; then
517 abc=`$WXCONFIG $WXFLAGS --cppflags`
519 if test $pkg = 0; then
520 wx_version="wxWidgets `$WXCONFIG $WXFLAGS --release`"
521 WXCONS_CPPFLAGS=`$WXCONFIG $WXFLAGS --cppflags`
522 WXCONS_LDFLAGS=`$WXCONFIG $WXFLAGS --libs`
524 AC_SUBST(WXCONS_CPPFLAGS)
525 AC_SUBST(WXCONS_LDFLAGS)
526 WX_DIR="src/wx-console"
529 echo "wx-config program not found. bwx-console disabled."
531 support_wx_console=no
536 dnl -------------------------------------------
537 dnl tray-monitor (default off)
538 dnl -------------------------------------------
539 AC_ARG_ENABLE(tray-monitor,
540 AC_HELP_STRING([--enable-tray-monitor], [enable build of Gnome tray monitor (compatible with KDE @<:@default=no@:>@]),
542 if test x$enableval = xyes; then
543 support_tray_monitor=yes
549 if test x$support_tray_monitor = xyes; then
550 abc=`$PKGCONFIG --exists gtk+-2.0`
552 if test $pkg = 0; then
553 TRAY_MONITOR_CPPFLAGS=`$PKGCONFIG --cflags gtk+-2.0`
554 TRAY_MONITOR_LDFLAGS=`$PKGCONFIG --libs gtk+-2.0`
555 AC_SUBST(TRAY_MONITOR_CPPFLAGS)
556 AC_SUBST(TRAY_MONITOR_LDFLAGS)
557 TRAY_MONITOR_DIR=src/tray-monitor
558 abc=`$PKGCONFIG --atleast-version=2.4 gtk+-2.0`
560 if test $pkg = 0; then
561 AC_DEFINE(HAVE_GTK_2_4, 1, [Set if you have GTK 4.2 or greater loaded])
565 AC_SUBST(TRAY_MONITOR_DIR)
567 dnl -------------------------------------------
568 dnl smartalloc (default off)
569 dnl -------------------------------------------
570 AC_ARG_ENABLE(smartalloc,
571 AC_HELP_STRING([--enable-smartalloc], [enable smartalloc debugging support @<:@default=no@:>@]),
573 if test x$enableval = xno; then
574 support_smartalloc=no
579 if test x$support_smartalloc = xyes; then
580 AC_DEFINE(SMARTALLOC, 1, [Set if you want Smartalloc enabled])
583 dnl -------------------------------------------
584 dnl Lock Manager (default off)
585 dnl -------------------------------------------
586 AC_ARG_ENABLE(lockmgr,
587 AC_HELP_STRING([--enable-lockmgr], [enable lock manager support @<:@default=no@:>@]),
589 if test x$enableval = xyes; then
595 if test x$support_lockmgr = xyes; then
596 AC_DEFINE(_USE_LOCKMGR, 1, [Set if you want Lock Manager enabled])
600 dnl -------------------------------------------
601 dnl static-tools (default off)
602 dnl -------------------------------------------
603 AC_ARG_ENABLE(static-tools,
604 AC_HELP_STRING([--enable-static-tools], [enable static tape tools @<:@default=no@:>@]),
606 if test x$enableval = xyes; then
607 if test x$use_libtool = xyes; then
608 AC_MSG_ERROR([Libtool is enabled, not compatible with static tools,
609 please rerun configure with --disable-libtool])
611 support_static_tools=yes
617 if test x$support_static_tools = xyes; then
618 TTOOL_LDFLAGS="-static"
620 AC_SUBST(TTOOL_LDFLAGS)
622 dnl -------------------------------------------
623 dnl static-fd (default off)
624 dnl -------------------------------------------
625 AC_ARG_ENABLE(static-fd,
626 AC_HELP_STRING([--enable-static-fd], [enable static File daemon @<:@default=no@:>@]),
628 if test x$enableval = xyes; then
629 if test x$use_libtool = xyes; then
630 AC_MSG_ERROR([Libtool is enabled, not compatible with static tools,
631 please rerun configure with --disable-libtool])
633 support_static_fd=yes
639 if test x$support_static_fd = xyes; then
640 STATIC_FD="static-bacula-fd"
644 dnl -------------------------------------------
645 dnl static-sd (default off)
646 dnl -------------------------------------------
647 AC_ARG_ENABLE(static-sd,
648 AC_HELP_STRING([--enable-static-sd], [enable static Storage daemon @<:@default=no@:>@]),
650 if test x$enableval = xyes; then
651 if test x$use_libtool = xyes; then
652 AC_MSG_ERROR([Libtool is enabled, not compatible with static tools,
653 please rerun configure with --disable-libtool])
655 support_static_sd=yes
661 if test x$support_static_sd = xyes; then
662 STATIC_SD="static-bacula-sd"
666 dnl -------------------------------------------
667 dnl static-dir (default off)
668 dnl -------------------------------------------
669 AC_ARG_ENABLE(static-dir,
670 AC_HELP_STRING([--enable-static-dir], [enable static Director @<:@default=no@:>@]),
672 if test x$enableval = xyes; then
673 if test x$use_libtool = xyes; then
674 AC_MSG_ERROR([Libtool is enabled, not compatible with static tools,
675 please rerun configure with --disable-libtool])
677 support_static_dir=yes
683 if test x$support_static_dir = xyes; then
684 STATIC_DIR="static-bacula-dir"
688 dnl -------------------------------------------
689 dnl static-cons (default off)
690 dnl -------------------------------------------
691 AC_ARG_ENABLE(static-cons,
692 AC_HELP_STRING([--enable-static-cons], [enable static Console @<:@default=no@:>@]),
694 if test x$enableval = xyes; then
695 if test x$use_libtool = xyes; then
696 AC_MSG_ERROR([Libtool is enabled, not compatible with static tools,
697 please rerun configure with --disable-libtool])
699 support_static_cons=yes
707 if test x$support_static_cons = xyes; then
708 STATIC_CONS="static-bconsole"
709 STATIC_GNOME_CONS="static-bgnome-console"
710 STATIC_WX_CONS="static-bwx-console"
712 AC_SUBST(STATIC_CONS)
713 AC_SUBST(STATIC_GNOME_CONS)
714 AC_SUBST(STATIC_WX_CONS)
716 dnl -------------------------------------------
717 dnl client_only (default off)
718 dnl -------------------------------------------
719 AC_ARG_ENABLE(client-only,
720 AC_HELP_STRING([--enable-client-only], [build client (File daemon) only @<:@default=no@:>@]),
722 if test x$enableval = xyes; then
723 build_client_only=yes
729 if test x$build_client_only = xno; then
736 dnl -------------------------------------------
737 dnl director (default on)
738 dnl -------------------------------------------
739 AC_ARG_ENABLE(build-dird,
740 AC_HELP_STRING([--enable-build-dird], [enable building of dird (Director) @<:@default=yes@:>@]),
742 if test x$enableval = xno; then
747 if test x$build_dird = xyes; then
752 DIR_TOOLS="NODIRTOOLS"
757 dnl -------------------------------------------
758 dnl stored (default on)
759 dnl -------------------------------------------
760 AC_ARG_ENABLE(build-stored,
761 AC_HELP_STRING([--enable-build-stored], [enable building of stored (Storage daemon) @<:@default=yes@:>@]),
763 if test x$enableval = xno; then
768 if test x$build_stored = xyes; then
769 STORED_DIR="src/stored"
775 dnl ---------------------------------------------------
776 dnl Check for conio (Bacula readline substitute)(
777 dnl ---------------------------------------------------
778 dnl this allows you to turn it completely off
780 AC_HELP_STRING([--disable-conio], [disable conio support @<:@default=no@:>@]),
782 if test x$enableval = xno; then
789 dnl ---------------------------------------------------
790 dnl Check for IPv6 support
791 dnl ---------------------------------------------------
792 dnl this allows you to turn it completely off
795 AC_HELP_STRING([--enable-ipv6], [enable ipv6 support @<:@default=yes@:>@]),
797 if test x$enableval = xno; then
803 if test x$support_ipv6 = xyes; then
804 AC_TRY_LINK([ #include <sys/types.h>
805 #include <sys/socket.h>
806 #include <netinet/in.h>], [struct sockaddr_in6 s; struct in6_addr t=in6addr_any; int i=AF_INET6; s; t.s6_addr[0] = 0;],
807 [support_ipv6=yes], [support_ipv6=no])
810 if test x$support_ipv6 = xyes; then
811 AC_DEFINE(HAVE_IPV6,1,[Whether to enable IPv6 support])
815 AC_CHECK_HEADER(curses.h, [
816 AC_CHECK_LIB(tinfo, tgetent, [ TERM_LIB="-ltinfo" ], [
817 AC_CHECK_LIB(ncurses, tgetent, [ TERM_LIB="-lncurses" ], [
818 AC_CHECK_LIB(termcap, tgetent, [ TERM_LIB="-ltermcap" ])
822 [ AC_CHECK_HEADERS(curses.h)
823 AC_CHECK_HEADER(term.h,
824 [ AC_CHECK_LIB(curses, tgetent,
825 [ TERM_LIB="-lcurses" ] )
831 if test x$support_conio = xyes; then
832 if test x$TERM_LIB != x; then
838 AC_DEFINE(HAVE_CONIO, 1, [Set if Bacula conio support enabled])
840 echo " "; echo "Required libraries not found. CONIO turned off ..."; echo " "
845 dnl ---------------------------------------------------
846 dnl Check for readline support/directory (default off)
847 dnl ---------------------------------------------------
848 dnl this allows you to turn it completely off
849 AC_ARG_ENABLE(readline,
850 AC_HELP_STRING([--disable-readline], [disable readline support @<:@default=yes@:>@]),
852 if test x$enableval = xno; then
857 if test x$TERM_LIB = x ; then
863 if test x$support_readline = xyes; then
864 AC_ARG_WITH(readline,
865 AC_HELP_STRING([--with-readline@<:@=DIR@:>@], [specify readline library directory]),
867 case "$with_readline" in
872 if test -f ${with_readline}/readline.h; then
873 CONS_INC="-I${with_readline}"
874 CONS_LDFLAGS="-L$with_readline"
875 elif test -f ${with_readline}/include/readline/readline.h; then
876 CONS_INC="-I${with_readline}/include/readline"
877 CONS_LDFLAGS="-L${with_readline}/lib"
878 with_readline="${with_readline}/include/readline"
880 with_readline="/usr/include/readline"
883 AC_CHECK_HEADER(${with_readline}/readline.h,
885 AC_DEFINE(HAVE_READLINE, 1, [Set to enable readline support])
886 CONS_LIBS="-lreadline -lhistory $TERM_LIB"
890 echo "readline.h not found. readline turned off ..."
897 dnl check for standard readline library
898 AC_CHECK_HEADER(/usr/include/readline/readline.h,
900 AC_DEFINE(HAVE_READLINE, 1, [Set to enable readline support])
902 CONS_INC="-I/usr/include/readline"
903 CONS_LIBS="-lreadline $TERM_LIB"
905 dnl Did not find standard library, so try Bacula's default
906 AC_CHECK_HEADER(${TOP_DIR}/depkgs/readline/readline.h,
908 AC_DEFINE(HAVE_READLINE, 1, [Set to enable readline support])
910 CONS_INC="-I${TOP_DIR}/depkgs/readline"
911 CONS_LIBS="-lreadline -lhistory $TERM_LIB"
912 CONS_LDFLAGS="-L${TOP_DIR}/depkgs/readline"
913 PRTREADLINE_SRC="${TOP_DIR}/depkgs/readline"
916 echo "readline.h not found. readline turned off ..."
930 AC_SUBST(CONS_LDFLAGS)
931 AC_SUBST(READLINE_SRC)
933 dnl Minimal stuff for readline Makefile configuration
938 AC_CHECK_FUNCS(strcasecmp select setenv putenv tcgetattr lstat lchown)
939 AC_CHECK_FUNCS(nanosleep nl_langinfo)
940 AC_CHECK_HEADERS(varargs.h)
942 dnl End of readline/conio stuff
943 dnl -----------------------------------------------------------------------
945 dnl -----------------------------------------------------------------------
946 dnl Check for Python support
948 AC_MSG_CHECKING(for Python support)
950 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.]),
954 if test "$withval" != "no"; then
955 if test "$withval" = "yes"; then
956 if test -e /usr/bin/python-config ; then
957 PYTHON_INCDIR=`/usr/bin/python-config --includes`
958 PYTHON_LIBS=`/usr/bin/python-config --libs`
960 for python_root in /usr /usr/local /usr/sfw; do
961 for ver in python2.2 python2.3 python2.4 python2.5 python2.6 python2.7 python3; do
962 if test -f $python_root/include/${ver}/Python.h; then
963 PYTHON_INCDIR=-I$python_root/include/${ver}
964 if test -d $python_root/lib64/${ver}/config; then
965 PYTHON_LIBS="-L$python_root/lib64/${ver}/config -l${ver}"
967 PYTHON_LIBS="-L$python_root/lib/${ver}/config -l${ver}"
974 if test x$PYTHON_INCDIR = x; then
975 if test -f $prefix/include/Python.h; then
976 PYTHON_INCDIR=-I$prefix/include
977 if test -d $prefix/lib64/config; then
978 PYTHON_LIBS="-L$prefix/lib64/config -lpython"
980 PYTHON_LIBS="-L$prefix/lib/config -lpython"
984 AC_MSG_ERROR(Unable to find Python.h in standard locations)
989 if test -e $withval/bin/python-config ; then
990 PYTHON_INCDIR=`$withval/bin/python-config --includes`
991 PYTHON_LIBS=`$withval/bin/python-config --libs`
992 elif test -f $withval/Python.h; then
993 PYTHON_INCDIR=-I$withval
994 PYTHON_LIBS="-L$withval/config -lpython"
995 elif test -f $withval/include/Python.h; then
996 PYTHON_INCDIR=-I$withval/include
997 if test -d $withval/lib64/config; then
998 PYTHON_LIBS="-L$withval/lib64/config -lpython"
1000 PYTHON_LIBS="-L$withval/lib/config -lpython"
1002 elif test -f $withval/include/python/Python.h; then
1003 PYTHON_INCDIR=-I$withval/include/python
1004 if test -d $withval/lib64/python/config; then
1005 PYTHON_LIBS="-L$withval/lib64/python/config -lpython"
1007 PYTHON_LIBS="-L$withval/lib/python/config -lpython"
1011 AC_MSG_ERROR(Invalid Python directory $withval - unable to find Python.h under $withval)
1015 AC_DEFINE([HAVE_PYTHON], 1)
1018 AC_MSG_NOTICE(checking for more Python libs)
1019 saved_LIBS="$LIBS"; LIBS=
1020 AC_SEARCH_LIBS(shm_open, [rt])
1021 AC_CHECK_LIB(util, openpty)
1022 PYTHON_LIBS="$PYTHON_LIBS $LIBS"
1031 AC_SUBST(PYTHON_LIBS)
1032 AC_SUBST(PYTHON_INCDIR)
1035 dnl Find where sockets are (especially for Solaris)
1036 dnl Do this before the TCP Wrappers test since tcp wrappers
1037 dnl uses the socket library and some linkers are stupid.
1039 AC_CHECK_FUNC(socket,
1040 AC_MSG_RESULT(using libc's socket),
1041 AC_CHECK_LIB(xnet,socket)
1042 AC_CHECK_LIB(socket,socket)
1043 AC_CHECK_LIB(inet,socket))
1045 dnl -----------------------------------------------------------
1046 dnl Check whether user wants TCP wrappers support (default off)
1047 dnl -----------------------------------------------------------
1050 AC_ARG_WITH(tcp-wrappers,
1051 AC_HELP_STRING([--with-tcp-wrappers@<:@=DIR@:>@], [enable tcpwrappers support]),
1053 if test "x$withval" != "xno" ; then
1055 LIBS="$saved_LIBS -lwrap"
1056 AC_SEARCH_LIBS(nanosleep, [rt])
1057 AC_MSG_CHECKING(for libwrap)
1060 #include <sys/types.h>
1062 int deny_severity = 0;
1063 int allow_severity = 0;
1064 struct request_info *req;
1069 AC_DEFINE(HAVE_LIBWRAP, 1, [Set to enable libwraper support])
1074 LIBS="$saved_LIBS -lwrap -lnsl"
1075 WRAPLIBS="$saved_LIBS -lwrap -lnsl"
1078 #include <sys/types.h>
1080 int deny_severity = 0;
1081 int allow_severity = 0;
1082 struct request_info *req;
1087 AC_DEFINE(HAVE_LIBWRAP, 1, [Set to enable libwraper support])
1092 AC_MSG_ERROR([*** libwrap missing])
1101 dnl -----------------------------------------------------------
1102 dnl Check whether OpenSSL is available
1103 dnl -----------------------------------------------------------
1104 AC_MSG_CHECKING([for OpenSSL])
1105 dnl The following uses quadrigraphs:
1108 AC_ARG_WITH(openssl,
1109 AC_HELP_STRING([--with-openssl@<:@=DIR@:>@], [Include OpenSSL support. DIR is the OpenSSL base]),
1111 with_openssl_directory=${withval}
1115 if test "x$with_openssl_directory" != "xno"; then
1116 OPENSSL_LIBS="-lssl -lcrypto"
1119 if test "x$with_openssl_directory" != "xyes" && test x"${with_openssl_directory}" != "x"; then
1121 # Make sure the $with_openssl_directory also makes sense
1123 if test -d "$with_openssl_directory/lib" -a -d "$with_openssl_directory/include"; then
1124 OPENSSL_LIBS="-L$with_openssl_directory/lib $OPENSSL_LIBS"
1125 OPENSSL_INC="-I$with_openssl_directory/include $OPENSSL_INC"
1129 saved_LIBS="${LIBS}"
1130 saved_CFLAGS="${CFLAGS}"
1131 LIBS="${saved_LIBS} ${OPENSSL_LIBS}"
1132 CFLAGS="${saved_CFLAGS} ${OPENSSL_INC}"
1136 #include <openssl/ssl.h>
1138 CRYPTO_set_id_callback(NULL);
1141 support_crypto="yes"
1150 #include <openssl/evp.h>
1154 ac_cv_openssl_sha2="yes"
1156 ac_cv_openssl_sha2="no"
1160 dnl Solaris disables greater than 128+ bit encryption in their OpenSSL
1161 dnl implementation, presumably for export reasons. If 192bit AES
1162 dnl is available, we assume that we're running with a 'non-export'
1163 dnl openssl library.
1166 #include <openssl/evp.h>
1170 ac_cv_openssl_export="no"
1172 ac_cv_openssl_export="yes"
1176 AC_MSG_RESULT([$support_tls])
1177 if test "$support_tls" = "yes"; then
1178 AC_DEFINE(HAVE_OPENSSL, 1, [Define if OpenSSL library is available])
1179 AC_DEFINE(HAVE_TLS, 1, [Define if TLS support should be enabled])
1180 AC_DEFINE(HAVE_CRYPTO, 1, [Define if encryption support should be enabled])
1183 if test "$ac_cv_openssl_sha2" = "yes"; then
1184 AC_DEFINE(HAVE_SHA2, 1, [Define if the SHA-2 family of digest algorithms is available])
1187 if test "$ac_cv_openssl_export" = "yes"; then
1188 AC_DEFINE(HAVE_OPENSSL_EXPORT_LIBRARY, 1, [Define if the OpenSSL library is export-contrained to 128bit ciphers])
1191 if test "$support_crypto" = "yes"; then
1192 AC_CHECK_LIB(crypto, EVP_PKEY_encrypt_old, AC_DEFINE(HAVE_OPENSSLv1, 1, [Set if have OpenSSL version 1.x]))
1195 LIBS="${saved_LIBS}"
1196 CFLAGS="${saved_CFLAGS}"
1200 AC_MSG_RESULT([$support_tls])
1203 if test "$support_tls" = "no" -o "$support_crypto" = "no"; then
1208 AC_SUBST(OPENSSL_LIBS)
1209 AC_SUBST(OPENSSL_INC)
1211 dnl -----------------------------------------------------------
1212 dnl dlopen is needed for plugins
1213 dnl -----------------------------------------------------------
1214 AC_SEARCH_LIBS(dlopen, [dl])
1216 dnl ------------------------------------------
1217 dnl Where to place working dir
1218 dnl ------------------------------------------
1219 working_dir=`eval echo ${prefix}/var/bacula/working`
1220 AC_ARG_WITH(working-dir,
1221 AC_HELP_STRING([--with-working-dir=PATH], [specify path of Bacula working directory]),
1223 if test "x$withval" != "xno" ; then
1224 working_dir=$withval
1229 AC_SUBST(working_dir)
1231 dnl ------------------------------------------------------------------
1232 dnl If the user has not set archivedir, we set our default as /tmp
1233 dnl ------------------------------------------------------------------
1235 AC_ARG_WITH(archivedir,
1236 AC_HELP_STRING([--with-archivedir=PATH], [specify path of SD archive directory]),
1238 if test "x$withval" != "xno" ; then
1244 AC_SUBST(archivedir)
1246 dnl ------------------------------------------------------------------
1247 dnl Allow the user to specify the daemon resource name default hostname
1248 dnl ------------------------------------------------------------------
1250 AC_ARG_WITH(basename,
1251 AC_HELP_STRING([--with-basename=RESNAME], [specify base resource name for daemons]),
1253 if test "x$withval" != "xno" ; then
1261 dnl ------------------------------------------------------------------
1262 dnl Allow the user to override the hostname (default = machine hostname)
1263 dnl ------------------------------------------------------------------
1264 hostname=`uname -n | cut -d '.' -f 1`
1265 if test x${hostname} = x ; then
1266 hostname="localhost"
1268 dnl Make sure hostname is resolved
1269 ping -c 1 $hostname 2>/dev/null 1>/dev/null
1270 if test ! $? = 0; then
1271 hostname="localhost"
1273 AC_ARG_WITH(hostname,
1274 AC_HELP_STRING([--with-hostname=RESNAME], [specify host name for daemons]),
1276 if test "x$withval" != "xno" ; then
1285 dnl ------------------------------------------
1286 dnl Where to place scriptdir (script files)
1287 dnl ------------------------------------------
1288 scriptdir=`eval echo ${sysconfdir}`
1289 AC_ARG_WITH(scriptdir,
1290 AC_HELP_STRING([--with-scriptdir=PATH], [specify path of Bacula scripts directory]),
1292 if test "x$withval" != "xno" ; then
1301 dnl ------------------------------------------
1302 dnl Where to place bsrdir (bsr files)
1303 dnl ------------------------------------------
1306 AC_HELP_STRING([--with-bsrdir=PATH], [specify path of Bacula bsrs directory]),
1308 if test "x$withval" != "xno" ; then
1316 dnl ------------------------------------------
1317 dnl Where to place logdir (bsr files)
1318 dnl ------------------------------------------
1319 logdir=`eval echo ${prefix}/var/bacula/working`
1321 AC_HELP_STRING([--with-logdir=PATH], [specify path of Bacula logs directory]),
1323 if test "x$withval" != "xno" ; then
1332 # ------------------------------------------
1333 # Where to place plugindir (plugin files)
1334 # ------------------------------------------
1335 plugindir=`eval echo ${libdir}`
1336 AC_ARG_WITH(plugindir,
1337 AC_HELP_STRING([--with-plugindir=PATH], [specify path of Bacula plugins directory]),
1339 if test "x$withval" != "xno" ; then
1347 dnl ------------------------------------------
1348 dnl Where to send dump email
1349 dnl ------------------------------------------
1350 dump_email=root@localhost
1351 AC_ARG_WITH(dump-email,
1352 AC_HELP_STRING([--with-dump-email=EMAIL], [dump email address]),
1354 if test "x$withval" != "xno" ; then
1360 AC_SUBST(dump_email)
1362 dnl ------------------------------------------
1363 dnl Where to send job email
1364 dnl ------------------------------------------
1365 job_email=root@localhost
1366 AC_ARG_WITH(job-email,
1367 AC_HELP_STRING([--with-job-email=EMAIL], [job output email address]),
1369 if test "x$withval" != "xno" ; then
1377 dnl ------------------------------------------
1378 dnl Where to find smtp host
1379 dnl ------------------------------------------
1381 AC_ARG_WITH(smtp_host,
1382 AC_HELP_STRING([--with-smtp-host=HOST], [SMTP mail host address]),
1384 if test "x$withval" != "xno" ; then
1392 dnl ------------------------------------
1393 dnl Where to place pid files
1394 dnl ------------------------------------
1396 AC_ARG_WITH(pid-dir,
1397 AC_HELP_STRING([--with-pid-dir=PATH], [specify location of Bacula pid files]),
1399 if test "x$withval" != "xno" ; then
1405 AC_DEFINE_UNQUOTED(_PATH_BACULA_PIDDIR, "$piddir")
1408 dnl ------------------------------------
1409 dnl Where to place subsys "lock file"
1410 dnl ------------------------------------
1411 subsysdir=/var/run/subsys
1412 if test -d /var/run/subsys; then
1413 subsysdir=/var/run/subsys
1414 elif test -d /var/lock/subsys; then
1415 subsysdir=/var/lock/subsys
1417 subsysdir=/var/run/subsys
1419 AC_ARG_WITH(subsys-dir,
1420 AC_HELP_STRING([--with-subsys-dir=PATH], [specify location of Bacula subsys file]),
1422 if test "x$withval" != "xno" ; then
1430 dnl ------------------------------------
1431 dnl Where to start assigning ports
1432 dnl ------------------------------------
1434 AC_ARG_WITH(baseport,
1435 AC_HELP_STRING([--with-baseport=PORT], [specify base port address for daemons]),
1437 if test "x$withval" != "xno" ; then
1444 dir_port=`expr $baseport`
1445 fd_port=`expr $baseport + 1`
1446 sd_port=`expr $fd_port + 1`
1452 dnl ------------------------------------------
1453 dnl Generate passwords
1454 dnl ------------------------------------------
1456 AC_ARG_WITH(dir-password,
1457 AC_HELP_STRING([--with-dir-password=PASSWORD], [specify Director's password]),
1459 if test "x$withval" != "xno" ; then
1460 dir_password=$withval
1465 if test "x$dir_password" = "x" ; then
1466 if test "x$OPENSSL" = "xnone" ; then
1467 key=`autoconf/randpass 33`
1469 key=`openssl rand -base64 33`
1475 AC_ARG_WITH(fd-password,
1476 AC_HELP_STRING([--with-fd-password=PASSWORD], [specify Client's password]),
1478 if test "x$withval" != "xno" ; then
1479 fd_password=$withval
1484 if test "x$fd_password" = "x" ; then
1485 if test "x$OPENSSL" = "xnone" ; then
1486 key=`autoconf/randpass 37`
1488 key=`openssl rand -base64 33`
1494 AC_ARG_WITH(sd-password,
1495 AC_HELP_STRING([--with-sd-password=PASSWORD], [specify Storage daemon's password]),
1497 if test "x$withval" != "xno" ; then
1498 sd_password=$withval
1503 if test "x$sd_password" = "x" ; then
1504 if test "x$OPENSSL" = "xnone" ; then
1505 key=`autoconf/randpass 41`
1507 key=`openssl rand -base64 33`
1513 AC_ARG_WITH(mon-dir-password,
1514 AC_HELP_STRING([--with-mon-dir-password=PASSWORD], [specify Director's password used by the monitor]),
1516 if test "x$withval" != "xno" ; then
1517 mon_dir_password=$withval
1522 if test "x$mon_dir_password" = "x" ; then
1523 if test "x$OPENSSL" = "xnone" ; then
1524 key=`autoconf/randpass 33`
1526 key=`openssl rand -base64 33`
1528 mon_dir_password=$key
1532 AC_ARG_WITH(mon-fd-password,
1533 AC_HELP_STRING([--with-mon-fd-password=PASSWORD], [specify Client's password used by the monitor]),
1535 if test "x$withval" != "xno" ; then
1536 mon_fd_password=$withval
1541 if test "x$mon_fd_password" = "x" ; then
1542 if test "x$OPENSSL" = "xnone" ; then
1543 key=`autoconf/randpass 37`
1545 key=`openssl rand -base64 33`
1547 mon_fd_password=$key
1551 AC_ARG_WITH(mon-sd-password,
1552 AC_HELP_STRING([--with-mon-sd-password=PASSWORD], [specify Storage daemon's password used by the monitor]),
1554 if test "x$withval" != "xno" ; then
1555 mon_sd_password=$withval
1560 if test "x$mon_sd_password" = "x" ; then
1561 if test "x$OPENSSL" = "xnone" ; then
1562 key=`autoconf/randpass 41`
1564 key=`openssl rand -base64 33`
1566 mon_sd_password=$key
1569 AC_SUBST(dir_password)
1570 AC_SUBST(fd_password)
1571 AC_SUBST(sd_password)
1572 AC_SUBST(mon_dir_password)
1573 AC_SUBST(mon_fd_password)
1574 AC_SUBST(mon_sd_password)
1577 dnl Pickup any database name
1580 AC_ARG_WITH(db_name,
1581 AC_HELP_STRING([--with-db-name=DBNAME], [specify database name @<:@default=bacula@:>@]),
1583 if test "x$withval" != "x" ; then
1591 AC_ARG_WITH(db_user,
1592 AC_HELP_STRING([--with-db-user=UNAME], [specify database user @<:@default=bacula@:>@]),
1594 if test "x$withval" != "x" ; then
1602 AC_ARG_WITH(db_password,
1603 AC_HELP_STRING([--with-db-password=PWD], [specify database password @<:@default=*none*@:>@]),
1605 if test "x$withval" != "x" ; then
1606 db_password=$withval
1610 AC_SUBST(db_password)
1613 dnl Pickup a database port
1616 AC_ARG_WITH(db_port,
1617 AC_HELP_STRING([--with-db-port=DBPORT], [specify a database port @<:@default=null@:>@]),
1619 if test "x$withval" != "x" ; then
1627 # Handle users and groups for each daemon
1630 AC_ARG_WITH(dir_user,
1631 AC_HELP_STRING([--with-dir-user=USER], [specify user for Director daemon]),
1633 if test "x$withval" != "x" ; then
1640 AC_ARG_WITH(dir_group,
1641 AC_HELP_STRING([--with-dir-group=GROUP], [specify group for Director daemon]),
1643 if test "x$withval" != "x" ; then
1650 AC_ARG_WITH(sd_user,
1651 AC_HELP_STRING([--with-sd-user=USER], [specify user for Storage daemon]),
1653 if test "x$withval" != "x" ; then
1660 AC_ARG_WITH(sd_group,
1661 AC_HELP_STRING([--with-sd-group=GROUP], [specify group for Storage daemon]),
1663 if test "x$withval" != "x" ; then
1670 AC_ARG_WITH(fd_user,
1671 AC_HELP_STRING([--with-fd-user=USER], [specify user for File daemon]),
1673 if test "x$withval" != "x" ; then
1680 AC_ARG_WITH(fd_group,
1681 AC_HELP_STRING([--with-fd-group=GROUP], [specify group for File daemon]),
1683 if test "x$withval" != "x" ; then
1697 dnl allow setting default executable permissions
1700 AC_ARG_WITH(sbin-perm,
1701 AC_HELP_STRING([--with-sbin-perm=MODE], [specify permissions for sbin binaries @<:@default=0750@:>@]),
1703 if test "x$withval" != "x" ; then
1711 dnl -------------------------------------------
1712 dnl enable batch attribute DB insert (default on)
1713 dnl -------------------------------------------
1714 support_batch_insert=yes
1715 AC_ARG_ENABLE(batch-insert,
1716 AC_HELP_STRING([--enable-batch-insert], [enable the DB batch insert code @<:@default=yes@:>@]),
1718 if test x$enableval = xno; then
1719 support_batch_insert=no
1724 if test x$support_batch_insert = xyes; then
1725 AC_DEFINE(USE_BATCH_FILE_INSERT, 1, [Set if DB batch insert code enabled])
1728 dnl ------------------------------------------------
1729 dnl Bacula check for various SQL database engines
1730 dnl ------------------------------------------------
1733 dnl Set uncomment_dbi by default to '#' if DBI is enabled this will get reset
1737 BA_CHECK_POSTGRESQL_DB
1747 #BA_CHECK_DBI_DRIVER
1749 dnl -------------------------------------------
1750 dnl If no batch insert backend are enable set
1751 dnl variable to None
1752 dnl -------------------------------------------
1753 if test -z "${batch_insert_db_backends}"; then
1754 batch_insert_db_backends="None"
1757 dnl -------------------------------------------
1758 dnl Make sure at least one database backend is found
1759 dnl -------------------------------------------
1760 if test "x${db_backends}" = "x" ; then
1763 echo "You have not specified either --enable-client-only or one of the"
1764 echo "supported databases: MySQL, PostgreSQL, or SQLite3."
1765 echo "This is not permitted. Please reconfigure."
1767 echo "Aborting the configuration ..."
1773 dnl -------------------------------------------
1774 dnl See how many catalog backends are configured.
1775 dnl -------------------------------------------
1776 case `echo $DB_BACKENDS | wc -w | sed -e 's/^ *//'` in
1778 DEFAULT_DB_TYPE="${DB_BACKENDS}"
1779 if test x$use_libtool = xno; then
1780 SHARED_CATALOG_TARGETS=""
1782 SHARED_CATALOG_TARGETS="libbaccats-${DEFAULT_DB_TYPE}.la"
1786 dnl ------------------------------------------------
1787 dnl Set the default backend to the first backend found
1788 dnl ------------------------------------------------
1789 DEFAULT_DB_TYPE=`echo ${DB_BACKENDS} | cut -d' ' -f1`
1791 dnl ------------------------------------------------
1792 dnl For multiple backend we need libtool support.
1793 dnl ------------------------------------------------
1794 if test x$use_libtool = xno; then
1797 echo "You have specified two or more of the"
1798 echo "supported databases: MySQL, PostgreSQL, or SQLite3."
1799 echo "This is not permitted when not using libtool Please reconfigure."
1801 echo "Aborting the configuration ..."
1807 SHARED_CATALOG_TARGETS=""
1808 for db_type in ${DB_BACKENDS}
1810 if test -z "${SHARED_CATALOG_TARGETS}"; then
1811 SHARED_CATALOG_TARGETS="libbaccats-${db_type}.la"
1813 SHARED_CATALOG_TARGETS="${SHARED_CATALOG_TARGETS} libbaccats-${db_type}.la"
1819 dnl -------------------------------------------
1820 dnl Unset DB_LIBS when using libtool as we link the
1821 dnl shared library using the right database lib no need to
1822 dnl set DB_LIBS which is only used for non shared versions
1823 dnl of the backends.
1824 dnl -------------------------------------------
1825 if test x$use_libtool = xyes; then
1829 AC_SUBST(uncomment_dbi)
1830 AC_SUBST(DB_BACKENDS)
1832 AC_SUBST(DEFAULT_DB_TYPE)
1833 AC_SUBST(SHARED_CATALOG_TARGETS)
1835 AC_DEFINE(PROTOTYPES)
1837 dnl --------------------------------------------------------------------------
1838 dnl Supply default CFLAGS, if not specified by `CFLAGS=flags ./configure'
1840 if test -z "$CFLAGS" -o "$CFLAGS" = "-g -O2"; then
1841 if test -z "$CCOPTS"; then
1842 CCOPTS='-g -O2 -Wall'
1850 dnl See if we can use 64 bit file addresses
1851 largefile_support="no"
1856 dnl --------------------------------------------------------------------------
1857 dnl CHECKING FOR HEADER FILES
1858 dnl --------------------------------------------------------------------------
1897 AC_STRUCT_ST_BLKSIZE
1901 dnl --------------------------------------------------------------------------
1902 dnl Check for utime.h structure
1903 dnl --------------------------------------------------------------------------
1904 AC_CACHE_CHECK(for utime.h, ba_cv_header_utime_h,
1908 #include <sys/types.h>
1913 ba_cv_header_utime_h=yes
1915 ba_cv_header_utime_h=no
1920 test $ba_cv_header_utime_h = yes && AC_DEFINE(HAVE_UTIME_H, 1, [Set if utime.h exists])
1922 dnl --------------------------------------------------------------------------
1923 dnl Check for socklen_t
1924 dnl --------------------------------------------------------------------------
1925 AC_CACHE_CHECK(for socklen_t, ba_cv_header_socklen_t,
1929 #include <sys/types.h>
1930 #include <sys/socket.h>
1934 ba_cv_header_socklen_t=yes
1936 ba_cv_header_socklen_t=no
1941 test $ba_cv_header_socklen_t = yes && AC_DEFINE(HAVE_SOCKLEN_T, 1, [Set if socklen_t exists])
1943 dnl --------------------------------------------------------------------------
1944 dnl Check for ioctl request type
1945 dnl --------------------------------------------------------------------------
1947 AC_CACHE_CHECK(for ioctl_req_t, ba_cv_header_ioctl_req_t,
1952 #include <sys/types.h>
1953 #include <sys/ioctl.h>
1955 int (*d_ioctl)(int fd, unsigned long int request, ...);
1958 ba_cv_header_ioctl_req_t=yes
1960 ba_cv_header_ioctl_req_t=no
1965 test $ba_cv_header_ioctl_req_t = yes && AC_DEFINE(HAVE_IOCTL_ULINT_REQUEST, 1, [Set if ioctl request is unsigned long int])
1967 dnl Note: it is more correct to use AC_LANG(C++) but some of the older
1968 dnl *BSD systems still use old style C prototypes, which are wrong with
1969 dnl compiled with a C++ compiler.
1972 dnl --------------------------------------------------------------------------
1973 dnl Check for typeof()
1974 dnl --------------------------------------------------------------------------
1976 AC_CACHE_CHECK(for typeof, ba_cv_have_typeof,
1980 main(){char *a = 0; a = (typeof a)a;}
1982 ba_cv_have_typeof=yes
1984 ba_cv_have_typeof=no
1986 ba_cv_have_typeof=no
1991 test $ba_cv_have_typeof = yes && AC_DEFINE([HAVE_TYPEOF], 1, [Defind to 1 if compiler has typeof])
1996 AC_C_BIGENDIAN([AC_DEFINE([HAVE_BIG_ENDIAN], [1], [Big Endian])], [AC_DEFINE([HAVE_LITTLE_ENDIAN], [1], [Little Endian])])
1998 dnl --------------------------------------------------------------------------
1999 dnl CHECKING FOR FILESYSTEM TYPE
2000 dnl --------------------------------------------------------------------------
2001 AC_MSG_CHECKING(how to get filesystem type)
2003 # The order of these tests is important.
2006 #include <sys/statvfs.h>
2007 #include <sys/fstyp.h>
2009 AC_DEFINE(FSTYPE_STATVFS) fstype=SVR4
2011 if test $fstype = no; then
2014 #include <sys/statfs.h>
2015 #include <sys/fstyp.h>
2017 AC_DEFINE(FSTYPE_USG_STATFS) fstype=SVR3
2020 if test $fstype = no; then
2023 #include <sys/statfs.h>
2024 #include <sys/vmount.h>
2026 AC_DEFINE(FSTYPE_AIX_STATFS) fstype=AIX
2029 if test $fstype = no; then
2034 AC_DEFINE(FSTYPE_MNTENT) fstype=4.3BSD
2037 if test $fstype = no; then
2038 AC_EGREP_HEADER(f_type;, sys/mount.h, AC_DEFINE(FSTYPE_STATFS) fstype=4.4BSD/OSF1)
2040 if test $fstype = no; then
2043 #include <sys/mount.h>
2044 #include <sys/fs_types.h>
2046 AC_DEFINE(FSTYPE_GETMNT) fstype=Ultrix
2049 AC_MSG_RESULT($fstype)
2051 AC_CHECK_HEADER(sys/statvfs.h, [ AC_DEFINE(HAVE_SYS_STATVFS_H,1,[Defines if your system have the sys/statvfs.h header file])] , )
2054 AC_CHECK_FUNCS(backtrace)
2057 dnl --------------------------------------------------------------------------
2058 dnl CHECKING FOR TYPEDEFS, STRUCTURES, AND COMPILER CHARACTERISTICS.
2059 dnl --------------------------------------------------------------------------
2069 AC_CHECK_TYPE(ino_t, unsigned long)
2070 AC_CHECK_TYPE(dev_t, unsigned long)
2071 AC_CHECK_TYPE(daddr_t, long)
2072 AC_CHECK_TYPE(major_t, int)
2073 AC_CHECK_TYPE(minor_t, int)
2074 AC_CHECK_TYPE(ssize_t, int)
2080 AC_CHECK_SIZEOF(char, 1)
2081 AC_CHECK_SIZEOF(short int, 2)
2082 AC_CHECK_SIZEOF(int, 4)
2083 AC_CHECK_SIZEOF(long int, 4)
2084 AC_CHECK_SIZEOF(long long int, 8)
2085 AC_CHECK_SIZEOF(int *, 4)
2087 dnl Check for sys/types.h types
2088 AC_CACHE_CHECK([for u_int type], ac_cv_have_u_int,
2092 #include <sys/types.h>
2096 ac_cv_have_u_int="yes"
2098 ac_cv_have_u_int="no"
2103 if test "x$ac_cv_have_u_int" = "xyes" ; then
2104 AC_DEFINE(HAVE_U_INT)
2108 AC_CACHE_CHECK([for intmax_t type], ac_cv_have_intmax_t,
2112 #include <sys/types.h>
2116 ac_cv_have_intmax_t="yes"
2124 ac_cv_have_intmax_t="yes"
2126 ac_cv_have_intmax_t="no"
2133 if test "x$ac_cv_have_intmax_t" = "xyes" ; then
2134 AC_DEFINE(HAVE_INTMAX_T)
2138 AC_CACHE_CHECK([for u_intmax_t type], ac_cv_have_u_intmax_t,
2142 #include <sys/types.h>
2144 u_intmax_t a; a = 1;
2146 ac_cv_have_u_intmax_t="yes"
2152 u_intmax_t a; a = 1;
2154 ac_cv_have_u_intmax_t="yes"
2156 ac_cv_have_u_intmax_t="no"
2163 if test "x$ac_cv_have_u_intmax_t" = "xyes" ; then
2164 AC_DEFINE(HAVE_U_INTMAX_T)
2168 AC_CACHE_CHECK([for intXX_t types], ac_cv_have_intxx_t,
2172 #include <sys/types.h>
2174 int8_t a; int16_t b; int32_t c; a = b = c = 1;
2176 ac_cv_have_intxx_t="yes"
2178 ac_cv_have_intxx_t="no"
2183 if test "x$ac_cv_have_intxx_t" = "xyes" ; then
2184 AC_DEFINE(HAVE_INTXX_T)
2188 AC_CACHE_CHECK([for int64_t type], ac_cv_have_int64_t,
2192 #include <sys/types.h>
2196 ac_cv_have_int64_t="yes"
2198 ac_cv_have_int64_t="no"
2203 if test "x$ac_cv_have_int64_t" = "xyes" ; then
2204 AC_DEFINE(HAVE_INT64_T)
2208 AC_CACHE_CHECK([for u_intXX_t types], ac_cv_have_u_intxx_t,
2212 #include <sys/types.h>
2214 u_int8_t a; u_int16_t b; u_int32_t c; a = b = c = 1;
2216 ac_cv_have_u_intxx_t="yes"
2218 ac_cv_have_u_intxx_t="no"
2223 if test "x$ac_cv_have_u_intxx_t" = "xyes" ; then
2224 AC_DEFINE(HAVE_U_INTXX_T)
2228 AC_CACHE_CHECK([for u_int64_t types], ac_cv_have_u_int64_t,
2232 #include <sys/types.h>
2236 ac_cv_have_u_int64_t="yes"
2238 ac_cv_have_u_int64_t="no"
2243 if test "x$ac_cv_have_u_int64_t" = "xyes" ; then
2244 AC_DEFINE(HAVE_U_INT64_T)
2248 if (test -z "$have_u_intxx_t" || test -z "$have_intxx_t" && \
2249 test "x$ac_cv_header_sys_bitypes_h" = "xyes")
2251 AC_MSG_CHECKING([for intXX_t and u_intXX_t types in sys/bitypes.h])
2254 #include <sys/bitypes.h>
2256 int8_t a; int16_t b; int32_t c;
2257 u_int8_t e; u_int16_t f; u_int32_t g;
2258 a = b = c = e = f = g = 1;
2260 AC_DEFINE(HAVE_U_INTXX_T)
2261 AC_DEFINE(HAVE_INTXX_T)
2262 AC_DEFINE(HAVE_SYS_BITYPES_H)
2270 if test -z "$have_u_intxx_t" ; then
2271 AC_CACHE_CHECK([for uintXX_t types], ac_cv_have_uintxx_t,
2275 #include <sys/types.h>
2277 uint8_t a; uint16_t b;
2278 uint32_t c; a = b = c = 1;
2280 ac_cv_have_uintxx_t="yes"
2282 ac_cv_have_uintxx_t="no"
2287 if test "x$ac_cv_have_uintxx_t" = "xyes" ; then
2288 AC_DEFINE(HAVE_UINTXX_T)
2292 if (test -z "$have_u_int64_t" || test -z "$have_int64_t" && \
2293 test "x$ac_cv_header_sys_bitypes_h" = "xyes")
2295 AC_MSG_CHECKING([for int64_t and u_int64_t types in sys/bitypes.h])
2298 #include <sys/bitypes.h>
2300 int64_t a; u_int64_t b;
2303 AC_DEFINE(HAVE_U_INT64_T)
2304 AC_DEFINE(HAVE_INT64_T)
2312 if (test -z "$have_uintxx_t" && \
2313 test "x$ac_cv_header_sys_bitypes_h" = "xyes")
2315 AC_MSG_CHECKING([for uintXX_t types in sys/bitypes.h])
2318 #include <sys/bitypes.h>
2320 uint8_t a; uint16_t b;
2321 uint32_t c; a = b = c = 1;
2323 AC_DEFINE(HAVE_UINTXX_T)
2331 dnl --------------------------------------------------------------------------
2332 dnl CHECKING FOR REQUIRED LIBRARY FUNCTIONS
2333 dnl --------------------------------------------------------------------------
2349 [echo 'configure: cannot find needed function.'; exit 1]
2354 AC_DEFINE(HAVE_FCNTL_F_CLOSEM, 1, [Set if you have 'F_CLOSEM' fcntl flag]),
2356 [#include <fcntl.h>]
2359 AC_CHECK_FUNC(closefrom, [AC_DEFINE(HAVE_CLOSEFROM, 1, [Define to 1 if you have the 'closefrom' function.])])
2360 AC_CHECK_FUNCS(getpagesize, [AC_DEFINE(HAVE_GETPAGESIZE, 1, [Set if have getpagesize])])
2361 AC_CHECK_FUNCS(malloc_trim, [AC_DEFINE(HAVE_MALLOC_TRIM, 1, [Set if have malloc_trim])])
2363 AC_CHECK_FUNCS(fchdir, [AC_DEFINE(HAVE_FCHDIR)])
2364 AC_CHECK_FUNCS(strtoll, [AC_DEFINE(HAVE_STRTOLL)])
2365 AC_CHECK_FUNCS(posix_fadvise)
2366 AC_CHECK_FUNCS(fdatasync)
2368 AC_CHECK_FUNCS(chflags)
2370 AC_CHECK_FUNCS(snprintf vsnprintf gethostid fseeko)
2372 AC_CACHE_CHECK(for va_copy, ba_cv_va_copy,
2377 void use_va_copy(va_list args){va_list args2; va_copy(args2,args); va_end(args2);}
2378 void call_use_va_copy(int junk,...){va_list args; va_start(args,junk); use_va_copy(args); va_end(args);}
2380 call_use_va_copy(1,2,3)
2389 test $ba_cv_va_copy = yes && AC_DEFINE(HAVE_VA_COPY, 1, [Set if va_copy exists])
2391 dnl --------------------------------------------------------------------------
2392 dnl CHECKING FOR THREAD SAFE FUNCTIONS
2393 dnl --------------------------------------------------------------------------
2394 AC_CHECK_FUNCS(localtime_r readdir_r strerror_r gethostbyname_r)
2396 # If resolver functions are not in libc check for -lnsl or -lresolv.
2397 AC_CHECK_FUNC(gethostbyname_r,
2398 AC_MSG_RESULT(using libc's resolver),
2399 AC_CHECK_LIB(nsl,gethostbyname_r)
2400 AC_CHECK_LIB(resolv,gethostbyname_r))
2402 AC_CHECK_FUNCS(inet_pton, [AC_DEFINE(HAVE_INET_PTON)])
2403 AC_CHECK_FUNCS(inet_ntop, [AC_DEFINE(HAVE_INET_NTOP)])
2404 AC_CHECK_FUNCS(gethostbyname2, [AC_DEFINE(HAVE_GETHOSTBYNAME2)])
2406 dnl ----------------------------
2407 dnl check sa_len of sockaddr
2408 dnl ----------------------------
2409 AC_CACHE_CHECK(for struct sockaddr has a sa_len field, ac_cv_struct_sockaddr_sa_len,
2413 #include <sys/socket.h>
2415 struct sockaddr s; s.sa_len;
2417 ac_cv_struct_sockaddr_sa_len=yes
2418 ], [ac_cv_struct_sockaddr_sa_len=no
2424 if test $ac_cv_struct_sockaddr_sa_len = yes; then
2425 AC_DEFINE(HAVE_SA_LEN, 1, [Define if sa_len field exists in struct sockaddr])
2429 dnl check for working getaddrinfo()
2431 dnl Note that if the system doesn't have gai_strerror(), we
2432 dnl can't use getaddrinfo() because we can't get strings
2433 dnl describing the error codes.
2435 AC_CACHE_CHECK(for working getaddrinfo, ac_cv_working_getaddrinfo,
2441 #include <sys/types.h>
2442 #include <sys/socket.h>
2445 struct addrinfo hints, *ai;
2448 memset(&hints, 0, sizeof(hints));
2449 hints.ai_family = AF_UNSPEC;
2450 hints.ai_socktype = SOCK_STREAM;
2451 error = getaddrinfo("127.0.0.1", NULL, &hints, &ai);
2455 if (ai->ai_addr->sa_family != AF_INET) {
2461 ac_cv_working_getaddrinfo="yes"
2463 ac_cv_working_getaddrinfo="no"
2465 ac_cv_working_getaddrinfo="yes"
2470 AC_CHECK_FUNC(gai_strerror, [AC_DEFINE(HAVE_GAI_STRERROR, 1, [Define to 1 if you have the 'gai_strerror' function.])])
2472 if test "$ac_cv_working_getaddrinfo" = "yes"; then
2473 if test "$ac_cv_func_gai_strerror" != "yes"; then
2474 ac_cv_working_getaddrinfo="no"
2476 AC_DEFINE(HAVE_GETADDRINFO, 1, [Define to 1 if getaddrinfo exists and works])
2484 AC_CHECK_FUNCS(getmntinfo, [AC_DEFINE(HAVE_GETMNTINFO)])
2485 AC_FUNC_CLOSEDIR_VOID
2486 AC_FUNC_SETPGRP dnl check for BSD setpgrp.
2487 # AC_FUNC_FNMATCH dnl use local version
2489 AC_CHECK_LIB(intl, gettext, [LIBS="$LIBS -lintl"])
2491 AC_CHECK_LIB(sun, getpwnam)
2493 AC_CHECK_HEADERS(zlib.h)
2494 AC_CHECK_LIB(z, deflate, [ZLIBS="-lz"])
2496 if test x$ZLIBS = x-lz; then
2497 AC_DEFINE(HAVE_LIBZ)
2506 AC_CHECK_HEADER(lzo/lzoconf.h,
2508 AC_CHECK_HEADER(lzo/lzo1x.h,
2510 AC_CHECK_LIB(lzo2, lzo1x_1_compress,
2513 AC_DEFINE(HAVE_LZO,1,[Define to 1 if you have LZO compression])
2521 dnl Check if we have AFS on this system
2527 AC_HELP_STRING([--disable-afs], [disable afs support @<:@default=auto@:>@]),
2529 if test x$enableval = xyes; then
2531 elif test x$enableval = xno; then
2538 if test x$support_afs = xyes -o x$support_afs = xauto; then
2540 AC_HELP_STRING([--with-afsdir@<:@=DIR@:>@], [Directory holding AFS includes/libs]),
2541 with_afsdir=$withval
2545 dnl Search in standard places, or --with-afsdir not specified
2547 if test x$with_afsdir = x; then
2548 for root in /usr /usr/local; do
2549 if test -d ${root}/include/afs/ ; then
2553 if test -d ${root}/include/openafs/afs/ ; then
2560 if test -d ${with_afsdir}/include/afs/ ; then
2561 AFS_CFLAGS="-I${with_afsdir}/include"
2563 if test -d ${with_afsdir}/include/openafs/afs/ ; then
2564 AFS_CFLAGS="-I${with_afsdir}/include/openafs"
2568 saved_CFLAGS="${CFLAGS}"
2569 saved_CPPFLAGS="${CPPFLAGS}"
2570 CFLAGS="${AFS_CFLAGS} ${saved_CFLAGS}"
2571 CPPFLAGS="${AFS_CFLAGS} ${saved_CPPFLAGS}"
2573 AC_CHECK_HEADERS(afs/afsint.h)
2576 #include <afs/afsint.h>
2577 #include <afs/venus.h>
2579 AC_DEFINE(HAVE_AFS_VENUS_H,1,[Define to 1 if you have the <afs/venus.h> header file.])
2582 CFLAGS="${saved_CFLAGS}"
2583 CPPFLAGS="${saved_CPPFLAGS}"
2586 dnl See if we can find a libsys with the pioctl symbol in there
2588 AC_MSG_CHECKING(for pioctl in AFS libsys)
2589 for dir in ${with_afsdir}/lib \
2590 ${with_afsdir}/lib/afs \
2591 ${with_afsdir}/lib/openafs \
2592 ${with_afsdir}/lib64 \
2593 ${with_afsdir}/lib64/afs \
2594 ${with_afsdir}/lib64/openafs
2596 for arch_type in .a .so
2598 A=`test -f ${dir}/libsys${arch_type} && nm ${dir}/libsys${arch_type} 2>/dev/null | grep pioctl`
2600 if test $pkg = 0; then
2602 AFS_LIBS="-L${dir} -lsys -lrx -llwp ${dir}/util${arch_type}"
2608 if test $have_afs = yes; then
2614 if test x$support_afs = xyes -a $have_afs != yes; then
2615 AC_MSG_ERROR([afs support explicitly enabled but no supported afs implementation found,
2616 please either load the afs libraries or rerun configure without --enable-afs])
2618 if test $have_afs = yes; then
2619 AC_DEFINE(HAVE_AFS,1,[Define to 1 if your system has AFS support])
2620 AC_DEFINE(HAVE_AFS_ACL,1,[Andrew FileSystem ACL support])
2624 AC_SUBST(AFS_CFLAGS)
2628 dnl Check for ACL support and libraries
2632 AC_HELP_STRING([--disable-acl], [disable acl support @<:@default=auto@:>@]),
2634 if test x$enableval = xyes; then
2636 elif test x$enableval = xno; then
2643 have_extended_acl=no
2644 if test x$support_acl = xyes -o x$support_acl = xauto; then
2645 AC_CHECK_HEADER(sys/acl.h, [ AC_DEFINE(HAVE_SYS_ACL_H,1,[Defines if your system have the sys/acl.h header file])] , )
2648 dnl First check for acl_get_file in libc
2650 AC_CHECK_FUNC(acl_get_file,
2657 dnl Check for acl_get_file in libacl (Linux)
2659 if test $have_acl = no; then
2660 AC_CHECK_LIB(acl, acl_get_file,
2663 if test $have_afs = yes; then
2665 dnl Because of possible naming conflict with AFS libacl make sure we use the one in /usr/lib64 or /usr/lib !!!
2667 if test -d /usr/lib64/; then
2668 FDLIBS="-L/usr/lib64 -lacl $FDLIBS"
2670 FDLIBS="-L/usr/lib -lacl $FDLIBS"
2673 FDLIBS="-lacl $FDLIBS"
2680 dnl Check for acl_get_file in libpacl (OSF1)
2681 dnl and if ACL_TYPE_DEFAULT_DIR is defined.
2683 if test $have_acl = no -a \
2684 x${HAVE_OSF1_OS_TRUE} = x; then
2685 AC_CHECK_LIB(pacl, acl_get_file,
2688 FDLIBS="-lpacl $FDLIBS"
2692 AC_MSG_CHECKING(for ACL_TYPE_DEFAULT_DIR in acl.h include file)
2693 grep ACL_TYPE_DEFAULT_DIR /usr/include/sys/acl.h > /dev/null 2>&1
2694 if test $? = 0; then
2695 AC_DEFINE(HAVE_ACL_TYPE_DEFAULT_DIR,1,[Defines if your system have the ACL_TYPE_DEFAULT_DIR acl type])
2703 dnl On OSX check for availability of ACL_TYPE_EXTENDED
2705 if test $have_acl = yes -a \
2706 x${HAVE_DARWIN_OS_TRUE} = x; then
2707 AC_MSG_CHECKING(for ACL_TYPE_EXTENDED in acl.h include file)
2708 grep ACL_TYPE_EXTENDED /usr/include/sys/acl.h > /dev/null 2>&1
2709 if test $? = 0; then
2710 AC_DEFINE(HAVE_ACL_TYPE_EXTENDED,1,[Defines if your system have the ACL_TYPE_EXTENDED acl type])
2718 dnl On FreeBSD check for availability of ACL_TYPE_NFS4
2720 if test $have_acl = yes -a \
2721 x${HAVE_FREEBSD_OS_TRUE} = x; then
2722 AC_MSG_CHECKING(for ACL_TYPE_NFS4 in acl.h include file)
2723 grep ACL_TYPE_NFS4 /usr/include/sys/acl.h > /dev/null 2>&1
2724 if test $? = 0; then
2725 AC_DEFINE(HAVE_ACL_TYPE_NFS4,1,[Defines if your system have the ACL_TYPE_NFS4 acl type])
2733 dnl Check for acltotext and acl_totext (Solaris)
2735 if test $have_acl = no -a \
2736 x${HAVE_SUN_OS_TRUE} = x; then
2737 AC_CHECK_LIB(sec, acltotext,
2740 FDLIBS="-lsec $FDLIBS"
2742 AC_CHECK_LIB(sec, acl_totext,
2744 have_extended_acl=yes
2752 dnl Check for acl_get and aclx_get (AIX)
2754 if test $have_acl = no -a \
2755 x${HAVE_AIX_OS_TRUE} = x; then
2756 AC_CHECK_FUNC(acl_get,
2760 AC_CHECK_FUNC(aclx_get,
2762 have_extended_acl=yes
2769 if test x$support_acl = xyes -a $have_acl != yes; then
2770 AC_MSG_ERROR([acl support explicitly enabled but no supported acl implementation found,
2771 please either load the acl libraries or rerun configure without --enable-acl])
2773 if test $have_acl = yes; then
2774 AC_DEFINE([HAVE_ACL],1,[Normal acl support])
2777 if test $have_extended_acl = yes; then
2778 AC_DEFINE([HAVE_EXTENDED_ACL],1,[Extended acl support])
2784 dnl Check for XATTR support
2787 AC_ARG_ENABLE(xattr,
2788 AC_HELP_STRING([--disable-xattr], [disable xattr support @<:@default=auto@:>@]),
2790 if test x$enableval = xyes; then
2792 elif test x$enableval = xno; then
2799 if test x$support_xattr = xyes -o x$support_xattr = xauto; then
2801 dnl First check for *BSD support
2802 dnl When running on a BSD variant
2804 if test x${HAVE_FREEBSD_OS_TRUE} = x -o \
2805 x${HAVE_NETBSD_OS_TRUE} = x -o \
2806 x${HAVE_OPENBSD_OS_TRUE} = x; then
2807 AC_CHECK_HEADER(sys/extattr.h, [ AC_DEFINE(HAVE_SYS_EXTATTR_H,1,[Defines if your system have the sys/extattr.h header file])] , )
2808 AC_CHECK_HEADER(libutil.h, [ AC_DEFINE(HAVE_LIBUTIL_H,1,[Defines if your system have the libutil.h header file])] , )
2809 AC_CHECK_FUNCS(extattr_get_link extattr_set_link extattr_list_link,
2812 AC_DEFINE([HAVE_EXTATTR_GET_LINK],1,[Define to 1 if you have the 'extattr_get_link' function.])
2813 AC_DEFINE([HAVE_EXTATTR_SET_LINK],1,[Define to 1 if you have the 'extattr_set_link' function.])
2814 AC_DEFINE([HAVE_EXTATTR_LIST_LINK],1,[Define to 1 if you have the 'extattr_list_link' function.])
2818 if test $have_xattr = no; then
2819 AC_CHECK_FUNCS(extattr_get_file extattr_set_file extattr_list_file,
2822 AC_DEFINE([HAVE_EXTATTR_GET_FILE],1,[Define to 1 if you have the 'extattr_get_file' function.])
2823 AC_DEFINE([HAVE_EXTATTR_SET_FILE],1,[Define to 1 if you have the 'extattr_set_file' function.])
2824 AC_DEFINE([HAVE_EXTATTR_LIST_FILE],1,[Define to 1 if you have the 'extattr_list_file' function.])
2829 if test $have_xattr = yes; then
2830 have_extattr_string_in_libc=no
2831 AC_CHECK_FUNCS(extattr_namespace_to_string extattr_string_to_namespace,
2833 have_extattr_string_in_libc=yes
2834 AC_DEFINE([HAVE_EXTATTR_NAMESPACE_TO_STRING],1,[Define to 1 if you have the 'extattr_namespace_to_string' function.])
2835 AC_DEFINE([HAVE_EXTATTR_STRING_TO_NAMESPACE],1,[Define to 1 if you have the 'extattr_string_to_namespace' function.])
2840 dnl If extattr_namespace_to_string and extattr_string_to_namespace are not in libc see if they are in libutil
2842 if test $have_extattr_string_in_libc = no; then
2843 AC_CHECK_LIB(util, extattr_namespace_to_string extattr_string_to_namespace,
2845 AC_DEFINE([HAVE_EXTATTR_NAMESPACE_TO_STRING],1,[Define to 1 if you have the 'extattr_namespace_to_string' function.])
2846 AC_DEFINE([HAVE_EXTATTR_STRING_TO_NAMESPACE],1,[Define to 1 if you have the 'extattr_string_to_namespace' function.])
2847 FDLIBS="-lutil $FDLIBS"
2855 dnl If we failed to find *BSD support try the AIX implementation of extented attributes (EA)
2856 dnl When running on AIX
2858 if test $have_xattr = no -a \
2859 x${HAVE_AIX_OS_TRUE} = x; then
2860 AC_CHECK_HEADER(sys/ea.h, [ AC_DEFINE(HAVE_SYS_EA_H,1,[Defines if your system have the sys/ea.h header file])] , )
2861 AC_CHECK_FUNCS(llistea lgetea lsetea,
2864 AC_DEFINE([HAVE_LLISTEA],1,[Define to 1 if you have the 'llistea' function.])
2865 AC_DEFINE([HAVE_LGETEA],1,[Define to 1 if you have the 'lgetea' function.])
2866 AC_DEFINE([HAVE_LSETEA],1,[Define to 1 if you have the 'lsetea' function.])
2870 if test $have_xattr = no; then
2871 AC_CHECK_FUNCS(listea getea setea,
2874 AC_DEFINE([HAVE_LISTEA],1,[Define to 1 if you have the 'listea' function.])
2875 AC_DEFINE([HAVE_GETEA],1,[Define to 1 if you have the 'getea' function.])
2876 AC_DEFINE([HAVE_SETEA],1,[Define to 1 if you have the 'setea' function.])
2883 dnl If we failed to find AIX support try the TRU64 implementation of extented attributes
2884 dnl when running on a TRU64 OS.
2886 if test $have_xattr = no -a \
2887 x${HAVE_OSF1_OS_TRUE} = x; then
2888 AC_CHECK_HEADER(sys/proplist.h, [ AC_DEFINE(HAVE_SYS_PROPLIST_H,1,[Defines if your system have the sys/proplist.h header file])] , )
2889 AC_CHECK_FUNCS(getproplist get_proplist_entry sizeof_proplist_entry add_proplist_entry setproplist,
2892 AC_DEFINE([HAVE_GETPROPLIST],1,[Define to 1 if you have the 'getproplist' function.])
2893 AC_DEFINE([HAVE_GET_PROPLIST_ENTRY],1,[Define to 1 if you have the 'get_proplist_entry' function.])
2894 AC_DEFINE([HAVE_SIZEOF_PROPLIST_ENTRY],1,[Define to 1 if you have the 'sizeof_proplist_entry' function.])
2895 AC_DEFINE([HAVE_ADD_PROPLIST_ENTRY],1,[Define to 1 if you have the 'add_proplist_entry' function.])
2896 AC_DEFINE([HAVE_SETPROPLIST],1,[Define to 1 if you have the 'setproplist' function.])
2902 dnl If we failed to find TRU64 support try the SOLARIS implementation of extented and extensible attributes
2903 dnl when running on a Solaris.
2905 if test $have_xattr = no -a \
2906 x${HAVE_SUN_OS_TRUE} = x; then
2907 AC_CHECK_HEADER(sys/attr.h, [ AC_DEFINE(HAVE_SYS_ATTR_H,1,[Defines if your system have the sys/attr.h header file])] , )
2908 AC_CHECK_HEADER(sys/nvpair.h, [ AC_DEFINE(HAVE_SYS_NVPAIR_H,1,[Defines if your system have the sys/nvpair.h header file])] , )
2909 AC_CHECK_HEADER(attr.h, [ AC_DEFINE(HAVE_ATTR_H,1,[Defines if your system have the attr.h header file])] , )
2911 AC_CHECK_FUNCS(openat fstatat unlinkat fchownat futimesat,
2914 AC_DEFINE([HAVE_OPENAT],1,[Define to 1 if you have the 'openat' function.])
2915 AC_DEFINE([HAVE_FSTATAT],1,[Define to 1 if you have the 'fstatat' function.])
2916 AC_DEFINE([HAVE_UNLINKAT],1,[Define to 1 if you have the 'unlinkat' function.])
2917 AC_DEFINE([HAVE_FCHOWNAT],1,[Define to 1 if you have the 'fchownat' function.])
2918 AC_DEFINE([HAVE_FUTIMESAT],1,[Define to 1 if you have the 'futimesat' function.])
2922 if test $have_xattr = yes; then
2923 AC_CHECK_LIB(nvpair, nvlist_next_nvpair,
2925 AC_DEFINE([HAVE_NVLIST_NEXT_NVPAIR],1,[Define to 1 if you have the 'nvlist_next_nvpair' function.])
2926 FDLIBS="-lnvpair $FDLIBS"
2933 dnl If we failed to find Solaris support try the generic xattr support code
2935 if test $have_xattr = no; then
2936 AC_CHECK_HEADER(sys/xattr.h, [ AC_DEFINE(HAVE_SYS_XATTR_H,1,[Defines if your system have the sys/xattr.h header file])] , )
2937 AC_CHECK_FUNCS(llistxattr lgetxattr lsetxattr,
2940 AC_DEFINE([HAVE_LLISTXATTR],1,[Define to 1 if you have the 'llistxattr' function.])
2941 AC_DEFINE([HAVE_LGETXATTR],1,[Define to 1 if you have the 'lgetxattr' function.])
2942 AC_DEFINE([HAVE_LSETXATTR],1,[Define to 1 if you have the 'lsetxattr' function.])
2946 if test $have_xattr = no; then
2947 AC_CHECK_FUNCS(listxattr getxattr setxattr,
2950 AC_DEFINE([HAVE_LISTXATTR],1,[Define to 1 if you have the 'listxattr' function.])
2951 AC_DEFINE([HAVE_GETXATTR],1,[Define to 1 if you have the 'getxattr' function.])
2952 AC_DEFINE([HAVE_SETXATTR],1,[Define to 1 if you have the 'setxattr' function.])
2958 if test x$support_xattr = xyes -a $have_xattr != yes; then
2959 AC_MSG_ERROR([xattr support explicitly enabled but no supported xattr implementation found,
2960 please either load the xattr libraries or rerun configure without --enable-xattr])
2962 if test $have_xattr = yes; then
2963 AC_DEFINE([HAVE_XATTR],1,[Extended Attributes support])
2969 dnl Check for pthread libraries
2972 AC_CHECK_LIB(pthread, pthread_create, PTHREAD_LIB="-lpthread",
2974 AC_CHECK_LIB(pthreads, pthread_create, PTHREAD_LIB="-lpthreads",
2976 AC_CHECK_LIB(c_r, pthread_create, PTHREAD_LIB="-lc_r",
2978 AC_CHECK_FUNC(pthread_create)
2987 dnl Check for headers, functions and libraries required to support
2988 dnl keeping readall capabilities
2990 AC_CHECK_HEADERS(sys/prctl.h sys/capability.h)
2991 AC_CHECK_FUNCS(prctl setreuid)
2992 AC_CHECK_LIB([cap], [cap_set_proc], [CAP_LIBS="-lcap"], [CAP_LIBS=])
2993 if test x$CAP_LIBS = x-lcap; then
2994 AC_DEFINE(HAVE_LIBCAP, 1, [Define if you have libcap])
3003 if test x$have_gcc = xyes ; then
3004 CPPFLAGS="$CPPFLAGS -fno-strict-aliasing -fno-exceptions -fno-rtti"
3005 CFLAGS="$CFLAGS -fno-strict-aliasing -fno-exceptions -fno-rtti"
3007 LDFLAGS=${LDFLAGS--O}
3008 CPPFLAGS="$CPPFLAGS"
3020 AC_SUBST(X_EXTRA_LIBS)
3025 dnl extra configurable objects
3036 dnl Finally we set appropriate distribution specific
3037 dnl variables and defaults
3039 dnl PFILES are platform specific files
3040 PFILES="platforms/Makefile"
3044 COMPRESS_MANPAGES=yes
3049 PSCMD="ps -e -o pid,comm"
3051 platforms/aix/Makefile"
3052 TAPEDRIVE="/dev/rmt0.1"
3056 PTHREAD_LIB="-lpthread -lexc"
3057 if test "${CC}" = "gcc" ; then
3064 TAPEDRIVE="/dev/nrmt0"
3067 DISTVER=`uname -a |awk '{print $3}'`
3068 TAPEDRIVE="/dev/nrmt0"
3069 PTHREAD_LIB="-pthread"
3070 CFLAGS="${CFLAGS} -pthread"
3071 PSCMD="ps -ax -o pid,command"
3075 platforms/bsdi/Makefile \
3076 platforms/bsdi/bacula-fd \
3077 platforms/bsdi/bacula-sd \
3078 platforms/bsdi/bacula-dir"
3079 largefile_support="yes"
3082 DISTVER=`uname -a |awk '{print $3}'`
3083 TAPEDRIVE="/dev/nrst0"
3086 WLDFLAGS="-mwindows"
3090 TAPEDRIVE="/dev/nst0"
3091 PSCMD="ps -e -o pid,command"
3094 platforms/darwin/Makefile"
3098 TAPEDRIVE="/dev/nst0"
3099 PSCMD="ps -e -o pid,command"
3102 platforms/osx/Makefile"
3105 if `test -f /etc/apt/sources.list && grep -q ubuntu /etc/apt/sources.list`; then
3108 DISTVER=`cat /etc/debian_version`
3109 if test -f /etc/lsb-release ; then
3111 if test "x$DISTRIB_ID" != "x" ; then
3112 DISTNAME=$DISTRIB_ID
3114 if test "x$DISTRIB_RELEASE" != "x" ; then
3115 DISTVER=$DISTRIB_RELEASE
3118 if test "$DISTNAME" = "Ubuntu" ; then
3121 TAPEDRIVE="/dev/nst0"
3122 PSCMD="ps -e -o pid,command"
3123 if test "$DISTNAME" = "ubuntu" ; then
3125 platforms/ubuntu/Makefile \
3126 platforms/ubuntu/bacula-fd \
3127 platforms/ubuntu/bacula-sd \
3128 platforms/ubuntu/bacula-dir"
3131 platforms/debian/Makefile \
3132 platforms/debian/bacula-fd \
3133 platforms/debian/bacula-sd \
3134 platforms/debian/bacula-dir"
3138 DISTVER=`uname -a |awk '{print $3}'`
3139 VER=`echo $DISTVER | cut -c 1`
3140 if test x$VER = x4 ; then
3141 PTHREAD_LIB="${PTHREAD_LIBS:--pthread}"
3142 CFLAGS="${CFLAGS} ${PTHREAD_CFLAGS:--pthread}"
3146 TAPEDRIVE="/dev/nrsa0"
3147 PSCMD="ps -ax -o pid,command"
3149 platforms/freebsd/Makefile \
3150 platforms/freebsd/bacula-fd \
3151 platforms/freebsd/bacula-sd \
3152 platforms/freebsd/bacula-dir"
3153 largefile_support="yes"
3156 PSCMD="UNIX95=1; ps -e -o pid,comm"
3157 CFLAGS="${CFLAGS} -D_XOPEN_SOURCE_EXTENDED=1"
3159 TAPEDRIVE="/dev/rmt/0hnb"
3160 PTHREAD_LIB="-lpthread"
3161 AC_DEFINE([_INCLUDE_LONGLONG])
3165 TAPEDRIVE="/dev/rmt/0cbn"
3166 PSCMD="ps -e -o pid,comm"
3168 platforms/irix/Makefile \
3169 platforms/irix/bacula-fd \
3170 platforms/irix/bacula-sd \
3171 platforms/irix/bacula-dir"
3174 DISTVER=`uname -a |awk '{print $3}'`
3177 TAPEDRIVE="/dev/nrst0"
3178 PSCMD="ps -ax -o pid,command"
3179 PTHREAD_LIB="-pthread"
3180 CFLAGS="${CFLAGS} -pthread"
3183 DISTVER=`uname -a |awk '{print $3}'`
3186 TAPEDRIVE="/dev/nrst0"
3187 PSCMD="ps -ax -o pid,command"
3188 PTHREAD_LIB="-pthread"
3189 CFLAGS="${CFLAGS} -pthread"
3191 platforms/openbsd/Makefile \
3192 platforms/openbsd/bacula-fd \
3193 platforms/openbsd/bacula-sd \
3194 platforms/openbsd/bacula-dir"
3197 if test -f /etc/whitebox-release ; then
3198 f=/etc/whitebox-release
3200 f=/etc/redhat-release
3202 if test `cat $f | grep release |\
3203 cut -f 3 -d ' '`x = "Enterprise"x ; then
3204 DISTVER="Enterprise "`cat $f | grep release |\
3207 DISTVER=`cat /etc/redhat-release | grep release |\
3210 TAPEDRIVE="/dev/nst0"
3211 PSCMD="ps -e -o pid,command"
3213 platforms/redhat/Makefile \
3214 platforms/redhat/bacula-fd \
3215 platforms/redhat/bacula-sd \
3216 platforms/redhat/bacula-dir
3220 DISTVER=`cat /etc/mandrake-release | grep release |\
3222 TAPEDRIVE="/dev/nst0"
3223 PSCMD="ps -e -o pid,command"
3225 platforms/mandrake/Makefile \
3226 platforms/mandrake/bacula-fd \
3227 platforms/mandrake/bacula-sd \
3228 platforms/mandrake/bacula-dir \
3232 DISTVER=`awk '/version / {print $5}' < /etc/gentoo-release`
3233 TAPEDRIVE="/dev/nst0"
3234 PSCMD="ps -e -o pid,command"
3236 platforms/gentoo/Makefile \
3237 platforms/gentoo/bacula-init \
3238 platforms/gentoo/bacula-fd \
3239 platforms/gentoo/bacula-sd \
3240 platforms/gentoo/bacula-dir"
3243 DISTVER=`cat /etc/slackware-version`
3244 TAPEDRIVE="/dev/nst0"
3245 PSCMD="ps -e -o pid,command"
3247 platforms/slackware/Makefile \
3248 platforms/slackware/rc.bacula-fd \
3249 platforms/slackware/rc.bacula-sd \
3250 platforms/slackware/rc.bacula-dir\
3251 platforms/slackware/functions.bacula"
3255 TAPEDRIVE="/dev/rmt/0cbn"
3256 PSCMD="ps -e -o pid,comm"
3258 platforms/solaris/Makefile \
3259 platforms/solaris/bacula-fd \
3260 platforms/solaris/bacula-sd \
3261 platforms/solaris/bacula-dir"
3265 AC_DEFINE(HAVE_OLD_SOCKOPT)
3266 AC_DEFINE(USE_THR_SETCONCURRENCY)
3269 AC_DEFINE(USE_THR_SETCONCURRENCY)
3274 LIBS="$LIBS -lresolv -lrt"
3277 DISTVER=`cat /etc/SuSE-release |grep VERSION|\
3279 TAPEDRIVE="/dev/nst0"
3280 PSCMD="ps -e -o pid,command"
3282 platforms/suse/Makefile \
3283 platforms/suse/bacula-fd \
3284 platforms/suse/bacula-sd \
3285 platforms/suse/bacula-dir \
3286 platforms/suse/bacula"
3291 TAPEDRIVE="/dev/nst0"
3292 PSCMD="ps -e -o pid,command"
3294 platforms/suse/Makefile \
3295 platforms/suse/bacula-fd \
3296 platforms/suse/bacula-sd \
3297 platforms/suse/bacula-dir"
3301 TAPEDRIVE="/dev/nst0"
3304 echo " === Something went wrong. Unknown DISTNAME $DISTNAME ==="
3308 dnl -------------------------------------------
3309 dnl systemd (default off)
3310 dnl -------------------------------------------
3311 AC_MSG_CHECKING(for systemd support)
3312 AC_ARG_WITH(systemd,
3313 AC_HELP_STRING([--with-systemd@<:@=UNITDIR@:>@], [Include systemd support. UNITDIR is where systemd system .service files are located, default is to ask systemctl.]),
3315 if test "$withval" != "no"; then
3316 if test "$withval" = "yes"; then
3317 SYSTEMD_UNITDIR="`systemctl show | grep UnitPath | cut -d " " -f2`"
3319 SYSTEMD_UNITDIR="${withval}"
3323 platforms/systemd/Makefile \
3324 platforms/systemd/bacula.conf \
3325 platforms/systemd/bacula-dir.service \
3326 platforms/systemd/bacula-fd.service \
3327 platforms/systemd/bacula-sd.service"
3328 AC_DEFINE(HAVE_SYSTEMD, 1, [Define to 1 if systemd support should be enabled])
3330 support_systemd="yes"
3333 support_systemd="no"
3336 support_systemd="no"
3340 AC_SUBST(SYSTEMD_UNITDIR)
3344 LIBS="$PTHREAD_LIB $LIBS"
3346 AC_DEFINE_UNQUOTED(lld, "$lld")
3347 AC_DEFINE_UNQUOTED(llu, "$llu")
3354 AC_SUBST(COMPRESS_MANPAGES)
3356 dnl common parts of the Makefile
3357 MCOMMON=./autoconf/Make.common
3358 AC_SUBST_FILE(MCOMMON)
3361 if test "x${subsysdir}" = "x${sbindir}" ; then
3364 echo "You have set both --sbindir and --with-subsys-dir"
3365 echo " equal to: ${subsysdir} "
3366 echo "This is not permitted. Please reconfigure."
3368 echo "Aborting configuration ..."
3374 AC_OUTPUT([autoconf/Make.common \
3377 scripts/btraceback \
3380 scripts/bacula-ctl-dir \
3381 scripts/bacula-ctl-fd \
3382 scripts/bacula-ctl-sd \
3383 scripts/devel_bacula \
3386 scripts/bacula.desktop.gnome1 \
3387 scripts/bacula.desktop.gnome2 \
3388 scripts/bacula.desktop.gnome1.consolehelper \
3389 scripts/bacula.desktop.gnome2.consolehelper \
3390 scripts/bacula.desktop.gnome1.xsu \
3391 scripts/bacula.desktop.gnome2.xsu \
3392 scripts/mtx-changer \
3393 scripts/disk-changer \
3394 scripts/dvd-handler \
3395 scripts/dvd-simulator \
3396 scripts/bacula-tray-monitor.desktop \
3397 scripts/logwatch/Makefile \
3398 scripts/logwatch/logfile.bacula.conf \
3399 scripts/wxconsole.console_apps \
3400 scripts/wxconsole.desktop.consolehelper \
3401 scripts/wxconsole.desktop.xsu \
3402 scripts/bat.desktop \
3403 scripts/bat.desktop.xsu \
3404 scripts/bat.desktop.consolehelper \
3405 scripts/bat.console_apps \
3408 src/console/Makefile \
3409 src/console/bconsole.conf \
3410 src/qt-console/tray-monitor/tray-monitor.pro \
3411 src/qt-console/tray-monitor/tray-monitor.conf \
3412 src/qt-console/bat.conf \
3413 src/qt-console/bat.pro \
3414 src/qt-console/bat.pro.mingw32 \
3415 src/qt-console/install_conf_file \
3416 src/wx-console/Makefile \
3417 src/wx-console/bwx-console.conf \
3418 src/tray-monitor/Makefile \
3419 src/tray-monitor/tray-monitor.conf \
3421 src/dird/bacula-dir.conf \
3423 src/stored/Makefile \
3424 src/stored/bacula-sd.conf \
3425 src/filed/Makefile \
3426 src/filed/bacula-fd.conf \
3428 src/cats/make_catalog_backup.pl \
3429 src/cats/make_catalog_backup \
3430 src/cats/delete_catalog_backup \
3431 src/cats/create_postgresql_database \
3432 src/cats/update_postgresql_tables \
3433 src/cats/make_postgresql_tables \
3434 src/cats/grant_postgresql_privileges \
3435 src/cats/drop_postgresql_tables \
3436 src/cats/drop_postgresql_database \
3437 src/cats/create_mysql_database \
3438 src/cats/update_mysql_tables \
3439 src/cats/make_mysql_tables \
3440 src/cats/grant_mysql_privileges \
3441 src/cats/drop_mysql_tables \
3442 src/cats/drop_mysql_database \
3443 src/cats/create_sqlite3_database \
3444 src/cats/update_sqlite3_tables \
3445 src/cats/make_sqlite3_tables \
3446 src/cats/grant_sqlite3_privileges \
3447 src/cats/drop_sqlite3_tables \
3448 src/cats/drop_sqlite3_database \
3451 src/cats/create_bacula_database \
3452 src/cats/update_bacula_tables \
3453 src/cats/grant_bacula_privileges \
3454 src/cats/make_bacula_tables \
3455 src/cats/drop_bacula_tables \
3456 src/cats/drop_bacula_database \
3457 src/cats/install-default-backend \
3458 src/findlib/Makefile \
3459 src/tools/Makefile \
3460 src/plugins/fd/Makefile \
3461 src/plugins/sd/Makefile \
3462 src/plugins/dir/Makefile \
3463 src/win32/Makefile.inc \
3465 updatedb/update_mysql_tables_9_to_10 \
3466 updatedb/update_sqlite3_tables_9_to_10 \
3467 updatedb/update_postgresql_tables_9_to_10 \
3468 updatedb/update_mysql_tables_10_to_11 \
3469 updatedb/update_sqlite3_tables_10_to_11 \
3470 updatedb/update_postgresql_tables_10_to_11 \
3471 updatedb/update_mysql_tables_11_to_12 \
3472 updatedb/update_sqlite3_tables_11_to_12 \
3473 updatedb/update_postgresql_tables_11_to_12 \
3474 updatedb/update_mysql_tables_12_to_14 \
3475 updatedb/update_sqlite3_tables_12_to_14 \
3476 updatedb/update_postgresql_tables_12_to_14 \
3477 examples/nagios/check_bacula/Makefile \
3478 platforms/rpms/redhat/bacula.spec \
3479 platforms/rpms/redhat/bacula-bat.spec \
3480 platforms/rpms/redhat/bacula-docs.spec \
3481 platforms/rpms/redhat/bacula-mtx.spec \
3486 if test "${support_bat}" = "yes" ; then
3487 if test "x$QMAKE" = "xnone"; then
3488 AC_MSG_ERROR([Could not find qmake $PATH. Check your Qt installation])
3492 echo "Creating bat Makefile"
3502 dnl if CC is gcc, we can rebuild the dependencies (since the depend rule
3503 dnl requires gcc). If it's not, don't rebuild dependencies
3505 if test X"$GCC" = "Xyes" ; then
3506 echo "Doing make of dependencies"
3507 ${MAKE:-make} depend
3511 chmod 755 install_conf_file build-depkgs-qt-console
3515 chmod 755 bacula btraceback mtx-changer
3516 chmod 755 dvd-handler dvd-simulator
3517 chmod 755 bconsole mtx-changer devel_bacula logrotate
3521 chmod 755 $c/update_mysql_tables_10_to_11 $c/update_sqlite3_tables_10_to_11
3522 chmod 755 $c/update_postgresql_tables_10_to_11
3523 chmod 755 $c/update_mysql_tables_11_to_12 $c/update_sqlite3_tables_11_to_12
3524 chmod 755 $c/update_postgresql_tables_11_to_12
3529 chmod 755 $c/create_bacula_database $c/update_bacula_tables $c/make_bacula_tables
3530 chmod 755 $c/grant_bacula_privileges $c/drop_bacula_tables $c/drop_bacula_database
3532 chmod 755 $c/create_mysql_database $c/update_mysql_tables $c/make_mysql_tables
3533 chmod 755 $c/grant_mysql_privileges $c/drop_mysql_tables $c/drop_mysql_database
3535 chmod 755 $c/create_sqlite3_database $c/update_sqlite3_tables $c/make_sqlite3_tables
3536 chmod 755 $c/grant_sqlite3_privileges $c/drop_sqlite3_tables $c/drop_sqlite3_database
3538 chmod 755 $c/create_postgresql_database $c/update_postgresql_tables $c/make_postgresql_tables
3539 chmod 755 $c/grant_postgresql_privileges $c/drop_postgresql_tables $c/drop_postgresql_database
3541 #chmod 755 $c/create_ingres_database $c/update_ingres_tables $c/make_ingres_tables
3542 #chmod 755 $c/grant_ingres_privileges $c/drop_ingres_tables $c/drop_ingres_database
3545 chmod 755 $c/make_catalog_backup $c/delete_catalog_backup $c/make_catalog_backup.pl
3549 chmod 755 $c/install-default-backend
3551 chmod 755 src/win32/build-depkgs-mingw32
3553 if test "x$ac_cv_sys_largefile_CFLAGS" != "xno" ; then
3554 largefile_support="yes"
3557 dnl Only try to find out the version number of the compiler when we know its some kind of GCC compiler
3558 if test X"$GCC" = "Xyes" ; then
3560 dnl A whole lot of hand springs to get the compiler version.
3561 dnl This is because gcc changed the output in version 3.0
3563 CCVERSION=`${CC} --version | tr '\n' ' ' | cut -f 3 -d ' '`
3564 if test "x${CCVERSION}" = "x" ; then
3565 CCVERSION=`${CC} --version | tr '\n' ' ' | cut -f 1 -d ' '`
3567 CXXVERSION=`${CXX} --version | tr '\n' ' ' | cut -f 3 -d ' '`
3568 if test x"${CXXVERSION}" = x ; then
3569 CXXVERSION=`${CXX} --version | tr '\n' ' ' | cut -f 1 -d ' '`
3573 # clean up any old junk
3580 Configuration on `date`:
3582 Host: ${host}${post_host} -- ${DISTNAME} ${DISTVER}
3583 Bacula version: ${BACULA} ${VERSION} (${DATE})
3584 Source code location: ${srcdir}
3585 Install binaries: ${sbindir}
3586 Install libraries: ${libdir}
3587 Install config files: ${sysconfdir}
3588 Scripts directory: ${scriptdir}
3589 Archive directory: ${archivedir}
3590 Working directory: ${working_dir}
3591 PID directory: ${piddir}
3592 Subsys directory: ${subsysdir}
3593 Man directory: ${mandir}
3594 Data directory: ${datarootdir}
3595 Plugin directory: ${plugindir}
3596 C Compiler: ${CC} ${CCVERSION}
3597 C++ Compiler: ${CXX} ${CXXVERSION}
3598 Compiler flags: ${WCFLAGS} ${CFLAGS}
3599 Linker flags: ${WLDFLAGS} ${LDFLAGS}
3601 Statically Linked Tools: ${support_static_tools}
3602 Statically Linked FD: ${support_static_fd}
3603 Statically Linked SD: ${support_static_sd}
3604 Statically Linked DIR: ${support_static_dir}
3605 Statically Linked CONS: ${support_static_cons}
3606 Database backends: ${db_backends}
3607 Database port: ${db_port}
3608 Database name: ${db_name}
3609 Database user: ${db_user}
3611 Job Output Email: ${job_email}
3612 Traceback Email: ${dump_email}
3613 SMTP Host Address: ${smtp_host}
3615 Director Port: ${dir_port}
3616 File daemon Port: ${fd_port}
3617 Storage daemon Port: ${sd_port}
3619 Director User: ${dir_user}
3620 Director Group: ${dir_group}
3621 Storage Daemon User: ${sd_user}
3622 Storage DaemonGroup: ${sd_group}
3623 File Daemon User: ${fd_user}
3624 File Daemon Group: ${fd_group}
3626 Large file support: $largefile_support
3627 Bacula conio support: ${got_conio} ${CONS_LIBS}
3628 readline support: ${got_readline} ${PRTREADLINE_SRC}
3629 TCP Wrappers support: ${TCPW_MSG} ${WRAPLIBS}
3630 TLS support: ${support_tls}
3631 Encryption support: ${support_crypto}
3632 ZLIB support: ${have_zlib}
3633 LZO support: ${have_lzo}
3634 enable-smartalloc: ${support_smartalloc}
3635 enable-lockmgr: ${support_lockmgr}
3636 bat support: ${support_bat}
3637 enable-gnome: ${support_gnome} ${gnome_version}
3638 enable-bwx-console: ${support_wx_console} ${wx_version}
3639 enable-tray-monitor: ${support_tray_monitor}
3640 client-only: ${build_client_only}
3641 build-dird: ${build_dird}
3642 build-stored: ${build_stored}
3643 Plugin support: ${have_plugins}
3644 AFS support: ${have_afs}
3645 ACL support: ${have_acl}
3646 XATTR support: ${have_xattr}
3647 Python support: ${support_python} ${PYTHON_LIBS}
3648 systemd support: ${support_systemd} ${SYSTEMD_UNITDIR}
3649 Batch insert enabled: ${batch_insert_db_backends}
3653 # create a small shell script useful for support with
3654 # configure options and config.out info
3655 cat > scripts/bacula_config << EOF
3658 $ $0 $ac_configure_args
3660 cat config.out >> scripts/bacula_config
3661 echo __EOC__ >> scripts/bacula_config
3662 chmod 755 scripts/bacula_config