3 dnl Process this file with autoconf to produce a configure script.
12 AC_CONFIG_AUX_DIR(${BUILD_DIR}/autoconf)
13 AC_CONFIG_HEADER(src/config.h:autoconf/config.h.in)
15 dnl minimal Win32 stuff for "make clean"
16 WIN32BUILDDIR=${BUILD_DIR}/src/win32
17 WIN32MAINDIR=${BUILD_DIR}
18 WIN32TOPDIR=${TOP_DIR}
19 AC_SUBST(WIN32BUILDDIR)
20 AC_SUBST(WIN32MAINDIR)
23 dnl require a recent autoconf
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`
45 AC_SUBST(post_host)dnl
46 echo "configuring for ${BACULA} $VERSION ($DATE)"
48 dnl -------------------------------------------------------
49 dnl Check for compiler.
50 dnl ------------------------------------------------------
54 AC_PROG_CC_C_O dnl Determine if C compiler support -c -o.
55 AC_PROG_GCC_TRADITIONAL dnl Determine if ioctl() need -traditional.
59 if test "x$BASECC" = xgcc; then
63 AC_PATH_PROG(CXX, $CXX, $CXX)
64 if test ! -e $CXX; then
65 AC_MSG_ERROR(Unable to find C++ compiler)
68 dnl -------------------------------------------------------
69 dnl Check for programs.
70 dnl ------------------------------------------------------
72 AC_PATH_PROG(MV, mv, mv)
74 dnl If we name the variable RM it will shadow the RM variable in the configure script and we overwrite the
75 dnl value with the name of the rm command and not rm -f which is its normal content. This gives all kind
76 dnl of strange output of the configure script (like things don't exist etc.).
77 dnl So we name it REMOVE (more software has run into this problem)
78 AC_PATH_PROG(REMOVE, rm, rm)
79 AC_PATH_PROG(CP, cp, cp)
80 AC_PATH_PROG(SED, sed, sed)
81 AC_PATH_PROG(ECHO, echo, echo)
82 AC_PATH_PROG(CMP, cmp, cmp)
83 AC_PATH_PROG(TBL, tbl, tbl)
84 AC_PATH_PROG(AR, ar, ar)
85 AC_PATH_PROG(OPENSSL, openssl, none)
86 AC_PATH_PROG(MTX, mtx, mtx)
87 AC_PATH_PROG(DD, dd, dd)
88 AC_PATH_PROG(MKISOFS, mkisofs, mkisofs)
89 AC_PATH_PROG(PYTHON, python, python)
90 AC_PATH_PROG(GROWISOFS, growisofs, growisofs)
91 AC_PATH_PROG(DVDRWMEDIAINFO, dvd+rw-mediainfo, dvd+rw-mediainfo)
92 AC_PATH_PROG(DVDRWFORMAT, dvd+rw-format, dvd+rw-format)
93 AC_PATH_PROG(PKGCONFIG, pkg-config, pkg-config)
94 AC_PATH_PROG(QMAKE, qmake, none)
95 AC_PATH_PROG(QMAKEQT4, qmake-qt4, none)
96 AC_PATH_PROG(GMAKE, gmake, none)
97 AC_ARG_VAR(WXCONFIG, [wx-config command. On some systems, you must set it to wx-config-2.6 to use wxWidgets 2.6.])
98 if test "x$WXCONFIG" = x; then
101 AC_PATH_PROG(WXCONFIG, ${WXCONFIG}, ${WXCONFIG})
102 AC_ARG_VAR(WXFLAGS, [Parameters to pass to wx-config (e.g. --unicode=no).])
103 AC_PATH_PROG(CDRECORD, cdrecord, cdrecord)
104 AC_PATH_PROG(PIDOF, pidof, pidof)
106 # Some AWK programs fail, so test it and warn the user
107 if echo xfoo | $AWK 'BEGIN { prog=ARGV[1]; ARGC=1 }
108 { if ((prog == $2) || (("(" prog ")") == $2) ||
109 (("[" prog "]") == $2) ||
110 ((prog ":") == $2)) { print $1 ; exit 0 } }' xfoo>/dev/null; then :;
112 AC_MSG_ERROR([!!!!!!!!! WARNING !!!!!!!!!!!!!!
113 The regex engine of $AWK is too broken to be used you
114 might want to install GNU AWK.
115 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!])
118 AC_PATH_PROG(AWK, $THE_AWK, $THE_AWK)
121 test -n "$ARFLAG" || ARFLAGS="cr"
128 AC_SUBST(LOCAL_CFLAGS)
129 AC_SUBST(LOCAL_LDFLAGS)
132 dnl --------------------------------------------------
134 dnl --------------------------------------------------
135 AC_ARG_ENABLE(libtool,
136 AC_HELP_STRING([--enable-libtool], [enable building using GNU libtool @<:@default=yes@:>@]),
138 if test x$enableval = xno; then
143 LT_INIT([shared disable-static])
146 if test x$use_libtool != xno; then
147 DEFAULT_OBJECT_TYPE=".lo"
148 DEFAULT_ARCHIVE_TYPE=".la"
149 DEFAULT_SHARED_OBJECT_TYPE=".la"
150 LIBTOOL="\$(LIBTOOL)"
151 LIBTOOL_INSTALL_TARGET="libtool-install"
152 LIBTOOL_UNINSTALL_TARGET="libtool-uninstall"
153 LIBTOOL_CLEAN_TARGET="libtool-clean"
154 QMAKE_LIBTOOL="${BUILD_DIR}/libtool"
156 DEFAULT_OBJECT_TYPE=".o"
157 DEFAULT_ARCHIVE_TYPE=".a"
158 DEFAULT_SHARED_OBJECT_TYPE=".so"
159 LIBTOOL="# \$(LIBTOOL)"
160 LIBTOOL_INSTALL_TARGET=""
161 LIBTOOL_UNINSTALL_TARGET=""
162 LIBTOOL_CLEAN_TARGET=""
163 QMAKE_LIBTOOL="# ${BUILD_DIR}/libtool"
166 AC_SUBST(DEFAULT_OBJECT_TYPE)
167 AC_SUBST(DEFAULT_ARCHIVE_TYPE)
168 AC_SUBST(DEFAULT_SHARED_OBJECT_TYPE)
170 AC_SUBST(LIBTOOL_INSTALL_TARGET)
171 AC_SUBST(LIBTOOL_UNINSTALL_TARGET)
172 AC_SUBST(LIBTOOL_CLEAN_TARGET)
173 AC_SUBST(QMAKE_LIBTOOL)
175 dnl --------------------------------------------------
176 dnl Include file handling
177 dnl --------------------------------------------------
178 AC_ARG_ENABLE(includes,
179 AC_HELP_STRING([--enable-includes], [enable installing of include files @<:@default=no@:>@]),
181 if test x$enableval = xyes; then
187 dnl It only makes sense to install include files when you install libraries which only happens when
188 dnl libtool is enabled
190 if test x$use_libtool != xno -a x$install_includes = xyes; then
191 INCLUDE_INSTALL_TARGET="install-includes"
192 INCLUDE_UNINSTALL_TARGET="uninstall-includes"
194 INCLUDE_INSTALL_TARGET=""
195 INCLUDE_UNINSTALL_TARGET=""
197 AC_SUBST(INCLUDE_INSTALL_TARGET)
198 AC_SUBST(INCLUDE_UNINSTALL_TARGET)
200 dnl --------------------------------------------------
201 dnl Bacula OP Sys determination (see aclocal.m4)
202 dnl --------------------------------------------------
205 dnl -----------------------------------------------------------
206 dnl Bacula OPSys Distribution determination (see aclocal.m4)
207 dnl ----------------------------------------------------------
208 BA_CHECK_OPSYS_DISTNAME
210 dnl --------------------------------------------------
211 dnl Suppport for gettext (translations)
212 dnl By default, $datarootdir is ${prefix}/share
213 dnl --------------------------------------------------
214 AM_GNU_GETTEXT([external])
216 dnl ------------------------------------------------------------------
217 dnl If the user has not set --prefix, we set our default to nothing.
218 dnl In this case, if the user has not set --sysconfdir, we set it
219 dnl to the package default of /etc/bacula. If either --prefix or
220 dnl --sysconfdir is set, we leave sysconfdir alone except to eval it.
221 dnl If the user has not set --libdir, we set it to the package
222 dnl default of /usr/lib. If either --prefix or --libdir is set,
223 dnl we leave libdir alone except to eval it. If the user has not set
224 dnl --includedir, we set it to the package default of /usr/include.
225 dnl If either --prefix or --includedir is set, we leave includedir
226 dnl alone except to eval it
227 dnl ------------------------------------------------------------------
228 if test x${prefix} = xNONE ; then
229 if test `eval echo ${sysconfdir}` = NONE/etc ; then
230 sysconfdir=/etc/bacula
233 if test `eval echo ${libdir}` = NONE/lib ; then
237 if test `eval echo ${includedir}` = NONE/include ; then
238 includedir=/usr/include
241 if test `eval echo ${datarootdir}` = NONE/share ; then
242 datarootdir=/usr/share
247 dnl -------------------------------------------------------------------------
248 dnl If the user has not set --exec-prefix, we default to ${prefix}
249 dnl -------------------------------------------------------------------------
250 if test x${exec_prefix} = xNONE ; then
251 exec_prefix=${prefix}
254 sysconfdir=`eval echo ${sysconfdir}`
255 datarootdir=`eval echo ${datarootdir}`
256 docdir=`eval echo ${docdir}`
257 htmldir=`eval echo ${htmldir}`
258 libdir=`eval echo ${libdir}`
259 includedir=`eval echo ${includedir}`
260 localedir=`eval echo ${datarootdir}/locale`
261 AC_DEFINE_UNQUOTED(SYSCONFDIR, "$sysconfdir")
262 AC_DEFINE_UNQUOTED(LOCALEDIR, "$localedir")
264 dnl ------------------------------------------------------------------
265 dnl If the user has not set --sbindir, we set our default as /sbin
266 dnl ------------------------------------------------------------------
267 if test x$sbindir = x'${exec_prefix}/sbin' ; then
268 sbindir=${exec_prefix}/sbin
270 sbindir=`eval echo ${sbindir}`
272 dnl -------------------------------------------------------------------------
273 dnl If the user has not set --mandir, we default to /usr/share/man
274 dnl -------------------------------------------------------------------------
275 if test x$mandir = x'${prefix}/man' ; then
276 mandir=/usr/share/man
279 dnl -------------------------------------------------------------------------
280 dnl If the user has not set --htmldir, we default to /usr/share/doc/bacula/html
281 dnl -------------------------------------------------------------------------
282 if test x$htmldir = x${docdir} ; then
283 htmldir=`eval echo ${docdir}bacula/html`
286 dnl -------------------------------------------------------------------------
287 dnl If the user has not set --docdir, we default to /usr/share/doc/
288 dnl -------------------------------------------------------------------------
289 if test x$docdir = x'/usr/share/doc/' ; then
290 docdir=`eval echo ${docdir}bacula`
294 AC_PATH_PROGS(MSGFMT, msgfmt, no)
295 if test "$MSGFMT" = "no"
297 echo 'msgfmt program not found, disabling NLS !'
299 USE_INCLUDED_LIBINTL=no
307 support_postgresql=no
309 support_smartalloc=yes
314 support_wx_console=no
315 support_tray_monitor=no
320 support_static_tools=no
323 support_static_dir=no
324 support_static_cons=no
334 dnl --------------------------------------------------------------------------
335 dnl CHECKING COMMAND LINE OPTIONS
336 dnl --------------------------------------------------------------------------
338 dnl -------------------------------------------
339 dnl gnome (default off)
340 dnl -------------------------------------------
342 AC_HELP_STRING([--enable-gnome], [enable build of bgnome-console GUI @<:@default=no@:>@]),
344 if test x$enableval = xyes; then
351 if test x$support_gnome = xyes; then
352 abc=`$PKGCONFIG --exists libgnomeui-2.0`
354 if test $pkg = 0; then
355 GNOME_INCLUDEDIR=`$PKGCONFIG --cflags-only-I libgnomeui-2.0`
356 GNOMEUI_LIBS=`$PKGCONFIG --libs-only-l libgnomeui-2.0`
357 GNOME_LIBDIR=`$PKGCONFIG --libs libgnomeui-2.0`
358 GNOME_LIBS=`$PKGCONFIG --libs-only-l libgnomeui-2.0`
359 AC_SUBST(GNOME_INCLUDEDIR)
360 AC_SUBST(GNOMEUI_LIBS)
361 AC_SUBST(GNOME_LIBDIR)
363 GNOME_DIR=src/gnome2-console
364 gnome_version="Version 2.x"
366 AC_MSG_ERROR(Unable to find Gnome 2 installation)
371 dnl -------------------------------------------
372 dnl bat (default off)
373 dnl -------------------------------------------
375 AC_HELP_STRING([--enable-bat], [enable build of bat Qt4 GUI @<:@default=no@:>@]),
377 if test x$enableval = xyes; then
378 AC_DEFINE(HAVE_BAT, 1, [Set if Bacula bat Qt4 GUI support enabled])
385 if test x$support_bat = xyes; then
386 abc=`$PKGCONFIG --atleast-version=4.2 QtGui`
388 if test $pkg = 0; then
389 BAT_DIR=src/qt-console
391 AC_MSG_ERROR(Unable to find Qt4 installation needed by bat)
396 dnl If bat is enabled, we need the qwt library
404 if test x$support_bat = xyes; then
405 AC_MSG_CHECKING(for qwt support)
407 AC_HELP_STRING([--with-qwt@<:@=DIR@:>@], [specify qwt library directory]),
414 if test -f ${with_qwt}/include/qwt.h; then
415 QWT_INC="${with_qwt}/include"
416 QWT_LDFLAGS="-L${with_qwt}/lib"
426 dnl Search in standard places, or --with-qwt not specified
428 if test $no_qwt = no; then
429 if test x$QWT_INC = x; then
430 for root in /usr /usr/local; do
431 for ver in qwt qwt5 qwt-qt4; do
432 if test -f ${root}/include/${ver}/qwt.h; then
433 QWT_INC="${root}/include/${ver}"
434 if test -d ${root}/lib64/; then
435 QWT_LDFLAGS="-L${root}/lib64"
436 elif test -d ${root}/lib/64/; then
437 QWT_LDFLAGS="-L${root}/64"
439 QWT_LDFLAGS="-L${root}/lib"
450 if test x$QWT_INC = x; then
453 AC_DEFINE(HAVE_QWT, 1, [Set if bat QWT library found])
460 AC_SUBST(QWT_LDFLAGS)
464 dnl -------------------------------------------
465 dnl bwx-console (default off)
466 dnl -------------------------------------------
467 AC_ARG_ENABLE(bwx-console,
468 AC_HELP_STRING([--enable-bwx-console], [enable build of wxWidgets console @<:@default=no@:>@]),
470 if test x$enableval = xyes; then
471 support_wx_console=yes
477 if test x$support_wx_console = xyes; then
478 abc=`$WXCONFIG $WXFLAGS --cppflags`
480 if test $pkg = 0; then
481 wx_version="wxWidgets `$WXCONFIG $WXFLAGS --release`"
482 WXCONS_CPPFLAGS=`$WXCONFIG $WXFLAGS --cppflags`
483 WXCONS_LDFLAGS=`$WXCONFIG $WXFLAGS --libs`
485 AC_SUBST(WXCONS_CPPFLAGS)
486 AC_SUBST(WXCONS_LDFLAGS)
487 WX_DIR="src/wx-console"
490 echo "wx-config program not found. bwx-console disabled."
492 support_wx_console=no
497 dnl -------------------------------------------
498 dnl tray-monitor (default off)
499 dnl -------------------------------------------
500 AC_ARG_ENABLE(tray-monitor,
501 AC_HELP_STRING([--enable-tray-monitor], [enable build of Gnome tray monitor (compatible with KDE @<:@default=no@:>@]),
503 if test x$enableval = xyes; then
504 support_tray_monitor=yes
510 if test x$support_tray_monitor = xyes; then
511 abc=`$PKGCONFIG --exists gtk+-2.0`
513 if test $pkg = 0; then
514 TRAY_MONITOR_CPPFLAGS=`$PKGCONFIG --cflags gtk+-2.0`
515 TRAY_MONITOR_LDFLAGS=`$PKGCONFIG --libs gtk+-2.0`
516 AC_SUBST(TRAY_MONITOR_CPPFLAGS)
517 AC_SUBST(TRAY_MONITOR_LDFLAGS)
518 TRAY_MONITOR_DIR=src/tray-monitor
519 abc=`$PKGCONFIG --atleast-version=2.4 gtk+-2.0`
521 if test $pkg = 0; then
522 AC_DEFINE(HAVE_GTK_2_4, 1, [Set if you have GTK 4.2 or greater loaded])
526 AC_SUBST(TRAY_MONITOR_DIR)
528 dnl -------------------------------------------
529 dnl smartalloc (default off)
530 dnl -------------------------------------------
531 AC_ARG_ENABLE(smartalloc,
532 AC_HELP_STRING([--enable-smartalloc], [enable smartalloc debugging support @<:@default=no@:>@]),
534 if test x$enableval = xno; then
535 support_smartalloc=no
540 if test x$support_smartalloc = xyes; then
541 AC_DEFINE(SMARTALLOC, 1, [Set if you want Smartalloc enabled])
544 dnl -------------------------------------------
545 dnl Lock Manager (default off)
546 dnl -------------------------------------------
547 AC_ARG_ENABLE(lockmgr,
548 AC_HELP_STRING([--enable-lockmgr], [enable lock manager support @<:@default=no@:>@]),
550 if test x$enableval = xyes; then
556 if test x$support_lockmgr = xyes; then
557 AC_DEFINE(_USE_LOCKMGR, 1, [Set if you want Lock Manager enabled])
561 dnl -------------------------------------------
562 dnl static-tools (default off)
563 dnl -------------------------------------------
564 AC_ARG_ENABLE(static-tools,
565 AC_HELP_STRING([--enable-static-tools], [enable static tape tools @<:@default=no@:>@]),
567 if test x$enableval = xyes; then
568 if test x$use_libtool = xyes; then
569 AC_MSG_ERROR([Libtool is enabled, not compatible with static tools,
570 please rerun configure with --disable-libtool])
572 support_static_tools=yes
578 if test x$support_static_tools = xyes; then
579 TTOOL_LDFLAGS="-static"
581 AC_SUBST(TTOOL_LDFLAGS)
583 dnl -------------------------------------------
584 dnl static-fd (default off)
585 dnl -------------------------------------------
586 AC_ARG_ENABLE(static-fd,
587 AC_HELP_STRING([--enable-static-fd], [enable static File daemon @<:@default=no@:>@]),
589 if test x$enableval = xyes; then
590 if test x$use_libtool = xyes; then
591 AC_MSG_ERROR([Libtool is enabled, not compatible with static tools,
592 please rerun configure with --disable-libtool])
594 support_static_fd=yes
600 if test x$support_static_fd = xyes; then
601 STATIC_FD="static-bacula-fd"
605 dnl -------------------------------------------
606 dnl static-sd (default off)
607 dnl -------------------------------------------
608 AC_ARG_ENABLE(static-sd,
609 AC_HELP_STRING([--enable-static-sd], [enable static Storage daemon @<:@default=no@:>@]),
611 if test x$enableval = xyes; then
612 if test x$use_libtool = xyes; then
613 AC_MSG_ERROR([Libtool is enabled, not compatible with static tools,
614 please rerun configure with --disable-libtool])
616 support_static_sd=yes
622 if test x$support_static_sd = xyes; then
623 STATIC_SD="static-bacula-sd"
627 dnl -------------------------------------------
628 dnl static-dir (default off)
629 dnl -------------------------------------------
630 AC_ARG_ENABLE(static-dir,
631 AC_HELP_STRING([--enable-static-dir], [enable static Director @<:@default=no@:>@]),
633 if test x$enableval = xyes; then
634 if test x$use_libtool = xyes; then
635 AC_MSG_ERROR([Libtool is enabled, not compatible with static tools,
636 please rerun configure with --disable-libtool])
638 support_static_dir=yes
644 if test x$support_static_dir = xyes; then
645 STATIC_DIR="static-bacula-dir"
649 dnl -------------------------------------------
650 dnl static-cons (default off)
651 dnl -------------------------------------------
652 AC_ARG_ENABLE(static-cons,
653 AC_HELP_STRING([--enable-static-cons], [enable static Console @<:@default=no@:>@]),
655 if test x$enableval = xyes; then
656 if test x$use_libtool = xyes; then
657 AC_MSG_ERROR([Libtool is enabled, not compatible with static tools,
658 please rerun configure with --disable-libtool])
660 support_static_cons=yes
668 if test x$support_static_cons = xyes; then
669 STATIC_CONS="static-bconsole"
670 STATIC_GNOME_CONS="static-bgnome-console"
671 STATIC_WX_CONS="static-bwx-console"
673 AC_SUBST(STATIC_CONS)
674 AC_SUBST(STATIC_GNOME_CONS)
675 AC_SUBST(STATIC_WX_CONS)
677 dnl -------------------------------------------
678 dnl client_only (default off)
679 dnl -------------------------------------------
680 AC_ARG_ENABLE(client-only,
681 AC_HELP_STRING([--enable-client-only], [build client (File daemon) only @<:@default=no@:>@]),
683 if test x$enableval = xyes; then
684 build_client_only=yes
690 if test x$build_client_only = xno; then
697 dnl -------------------------------------------
698 dnl director (default on)
699 dnl -------------------------------------------
700 AC_ARG_ENABLE(build-dird,
701 AC_HELP_STRING([--enable-build-dird], [enable building of dird (Director) @<:@default=yes@:>@]),
703 if test x$enableval = xno; then
708 if test x$build_dird = xyes; then
713 DIR_TOOLS="NODIRTOOLS"
718 dnl -------------------------------------------
719 dnl stored (default on)
720 dnl -------------------------------------------
721 AC_ARG_ENABLE(build-stored,
722 AC_HELP_STRING([--enable-build-stored], [enable building of stored (Storage daemon) @<:@default=yes@:>@]),
724 if test x$enableval = xno; then
729 if test x$build_stored = xyes; then
730 STORED_DIR="src/stored"
736 dnl ---------------------------------------------------
737 dnl Check for conio (Bacula readline substitute)(
738 dnl ---------------------------------------------------
739 dnl this allows you to turn it completely off
741 AC_HELP_STRING([--disable-conio], [disable conio support @<:@default=no@:>@]),
743 if test x$enableval = xno; then
750 dnl ---------------------------------------------------
751 dnl Check for IPv6 support
752 dnl ---------------------------------------------------
753 dnl this allows you to turn it completely off
756 AC_HELP_STRING([--enable-ipv6], [enable ipv6 support @<:@default=yes@:>@]),
758 if test x$enableval = xno; then
764 if test x$support_ipv6 = xyes; then
765 AC_TRY_LINK([ #include <sys/types.h>
766 #include <sys/socket.h>
767 #include <netinet/in.h>], [struct sockaddr_in6 s; struct in6_addr t=in6addr_any; int i=AF_INET6; s; t.s6_addr[0] = 0;],
768 [support_ipv6=yes], [support_ipv6=no])
771 if test x$support_ipv6 = xyes; then
772 AC_DEFINE(HAVE_IPV6,1,[Whether to enable IPv6 support])
776 if test x$support_conio = xyes; then
777 AC_CHECK_HEADER(termcap.h,
778 [ AC_CHECK_LIB(termcap, tgetent,
779 [ CONS_LIBS="-ltermcap"
784 AC_DEFINE(HAVE_CONIO, 1, [Set if Bacula conio support enabled])
786 [ AC_CHECK_LIB(ncurses, tgetent,
787 [ CONS_LIBS="-lncurses"
792 AC_DEFINE(HAVE_CONIO, 1, [Set if Bacula conio support enabled])
797 AC_CHECK_HEADERS(curses.h)
798 AC_CHECK_HEADER(term.h,
799 [ AC_CHECK_LIB(curses, tgetent,
800 [ CONS_LIBS="-lcurses"
805 AC_DEFINE(HAVE_CONIO, 1, [Set if Bacula conio support enabled])
808 [ echo " "; echo "Required libraries not found. CONIO turned off ..."; echo " "],
817 dnl ---------------------------------------------------
818 dnl Check for readline support/directory (default off)
819 dnl ---------------------------------------------------
820 dnl this allows you to turn it completely off
821 AC_ARG_ENABLE(readline,
822 AC_HELP_STRING([--disable-readline], [disable readline support @<:@default=yes@:>@]),
824 if test x$enableval = xno; then
832 if test x$support_readline = xyes; then
833 AC_ARG_WITH(readline,
834 AC_HELP_STRING([--with-readline@<:@=DIR@:>@], [specify readline library directory]),
836 case "$with_readline" in
841 if test -f ${with_readline}/readline.h; then
842 CONS_INC="-I${with_readline}"
843 CONS_LDFLAGS="-L$with_readline"
844 elif test -f ${with_readline}/include/readline/readline.h; then
845 CONS_INC="-I${with_readline}/include/readline"
846 CONS_LDFLAGS="-L${with_readline}/lib"
847 with_readline="${with_readline}/include/readline"
849 with_readline="/usr/include/readline"
852 AC_CHECK_HEADER(${with_readline}/readline.h,
854 AC_DEFINE(HAVE_READLINE, 1, [Set to enable readline support])
855 CONS_LIBS="-lreadline -lhistory -ltermcap"
859 echo "readline.h not found. readline turned off ..."
866 dnl check for standard readline library
867 AC_CHECK_HEADER(/usr/include/readline/readline.h,
869 AC_DEFINE(HAVE_READLINE, 1, [Set to enable readline support])
871 CONS_INC="-I/usr/include/readline"
872 CONS_LIBS="-lreadline -ltermcap"
874 dnl Did not find standard library, so try Bacula's default
875 AC_CHECK_HEADER(${TOP_DIR}/depkgs/readline/readline.h,
877 AC_DEFINE(HAVE_READLINE, 1, [Set to enable readline support])
879 CONS_INC="-I${TOP_DIR}/depkgs/readline"
880 CONS_LIBS="-lreadline -lhistory -ltermcap"
881 CONS_LDFLAGS="-L${TOP_DIR}/depkgs/readline"
882 PRTREADLINE_SRC="${TOP_DIR}/depkgs/readline"
885 echo "readline.h not found. readline turned off ..."
899 AC_SUBST(CONS_LDFLAGS)
900 AC_SUBST(READLINE_SRC)
902 dnl Minimal stuff for readline Makefile configuration
907 AC_CHECK_FUNCS(strcasecmp select setenv putenv tcgetattr lstat lchown)
908 AC_CHECK_FUNCS(nanosleep nl_langinfo)
909 AC_CHECK_HEADERS(varargs.h)
911 dnl End of readline/conio stuff
912 dnl -----------------------------------------------------------------------
914 dnl -----------------------------------------------------------------------
915 dnl Check for Python support
917 AC_MSG_CHECKING(for Python support)
919 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.]),
923 if test "$withval" != "no"; then
924 if test "$withval" = "yes"; then
925 if test -e /usr/bin/python-config ; then
926 PYTHON_INCDIR=`/usr/bin/python-config --includes`
927 PYTHON_LIBS=`/usr/bin/python-config --libs`
929 for python_root in /usr /usr/local /usr/sfw; do
930 for ver in python2.2 python2.3 python2.4 python2.5 python2.6 python3; do
931 if test -f $python_root/include/${ver}/Python.h; then
932 PYTHON_INCDIR=-I$python_root/include/${ver}
933 if test -d $python_root/lib64/${ver}/config; then
934 PYTHON_LIBS="-L$python_root/lib64/${ver}/config -l${ver}"
936 PYTHON_LIBS="-L$python_root/lib/${ver}/config -l${ver}"
943 if test x$PYTHON_INCDIR = x; then
944 if test -f $prefix/include/Python.h; then
945 PYTHON_INCDIR=-I$prefix/include
946 if test -d $prefix/lib64/config; then
947 PYTHON_LIBS="-L$prefix/lib64/config -lpython"
949 PYTHON_LIBS="-L$prefix/lib/config -lpython"
953 AC_MSG_ERROR(Unable to find Python.h in standard locations)
958 if test -e $withval/bin/python-config ; then
959 PYTHON_INCDIR=`$withval/bin/python-config --includes`
960 PYTHON_LIBS=`$withval/bin/python-config --libs`
961 elif test -f $withval/Python.h; then
962 PYTHON_INCDIR=-I$withval
963 PYTHON_LIBS="-L$withval/config -lpython"
964 elif test -f $withval/include/Python.h; then
965 PYTHON_INCDIR=-I$withval/include
966 if test -d $withval/lib64/config; then
967 PYTHON_LIBS="-L$withval/lib64/config -lpython"
969 PYTHON_LIBS="-L$withval/lib/config -lpython"
971 elif test -f $withval/include/python/Python.h; then
972 PYTHON_INCDIR=-I$withval/include/python
973 if test -d $withval/lib64/python/config; then
974 PYTHON_LIBS="-L$withval/lib64/python/config -lpython"
976 PYTHON_LIBS="-L$withval/lib/python/config -lpython"
980 AC_MSG_ERROR(Invalid Python directory $withval - unable to find Python.h under $withval)
984 AC_DEFINE([HAVE_PYTHON], 1)
987 AC_MSG_NOTICE(checking for more Python libs)
988 saved_LIBS="$LIBS"; LIBS=
989 AC_SEARCH_LIBS(shm_open, [rt])
990 AC_CHECK_LIB(util, openpty)
991 PYTHON_LIBS="$PYTHON_LIBS $LIBS"
1000 AC_SUBST(PYTHON_LIBS)
1001 AC_SUBST(PYTHON_INCDIR)
1004 dnl Find where sockets are (especially for Solaris)
1005 dnl Do this before the TCP Wrappers test since tcp wrappers
1006 dnl uses the socket library and some linkers are stupid.
1008 AC_CHECK_FUNC(socket,
1009 AC_MSG_RESULT(using libc's socket),
1010 AC_CHECK_LIB(xnet,socket)
1011 AC_CHECK_LIB(socket,socket)
1012 AC_CHECK_LIB(inet,socket))
1014 dnl -----------------------------------------------------------
1015 dnl Check whether user wants TCP wrappers support (default off)
1016 dnl -----------------------------------------------------------
1019 AC_ARG_WITH(tcp-wrappers,
1020 AC_HELP_STRING([--with-tcp-wrappers@<:@=DIR@:>@], [enable tcpwrappers support]),
1022 if test "x$withval" != "xno" ; then
1024 LIBS="$saved_LIBS -lwrap"
1025 AC_SEARCH_LIBS(nanosleep, [rt])
1026 AC_MSG_CHECKING(for libwrap)
1029 #include <sys/types.h>
1031 int deny_severity = 0;
1032 int allow_severity = 0;
1033 struct request_info *req;
1038 AC_DEFINE(HAVE_LIBWRAP, 1, [Set to enable libwraper support])
1043 LIBS="$saved_LIBS -lwrap -lnsl"
1044 WRAPLIBS="$saved_LIBS -lwrap -lnsl"
1047 #include <sys/types.h>
1049 int deny_severity = 0;
1050 int allow_severity = 0;
1051 struct request_info *req;
1056 AC_DEFINE(HAVE_LIBWRAP, 1, [Set to enable libwraper support])
1061 AC_MSG_ERROR([*** libwrap missing])
1070 dnl -----------------------------------------------------------
1071 dnl Check whether OpenSSL is available
1072 dnl -----------------------------------------------------------
1073 AC_MSG_CHECKING([for OpenSSL])
1074 dnl The following uses quadrigraphs:
1077 AC_ARG_WITH(openssl,
1078 AC_HELP_STRING([--with-openssl@<:@=DIR@:>@], [Include OpenSSL support. DIR is the OpenSSL base]),
1080 with_openssl_directory=${withval}
1084 if test "x$with_openssl_directory" != "xno"; then
1085 OPENSSL_LIBS="-lssl -lcrypto"
1088 if test "x$with_openssl_directory" != "xyes" && test x"${with_openssl_directory}" != "x"; then
1090 # Make sure the $with_openssl_directory also makes sense
1092 if test -d "$with_openssl_directory/lib" -a -d "$with_openssl_directory/include"; then
1093 OPENSSL_LIBS="-L$with_openssl_directory/lib $OPENSSL_LIBS"
1094 OPENSSL_INC="-I$with_openssl_directory/include $OPENSSL_INC"
1098 saved_LIBS="${LIBS}"
1099 saved_CFLAGS="${CFLAGS}"
1100 LIBS="${saved_LIBS} ${OPENSSL_LIBS}"
1101 CFLAGS="${saved_CFLAGS} ${OPENSSL_INC}"
1105 #include <openssl/ssl.h>
1107 CRYPTO_set_id_callback(NULL);
1110 support_crypto="yes"
1118 #include <openssl/evp.h>
1122 ac_cv_openssl_sha2="yes"
1124 ac_cv_openssl_sha2="no"
1128 dnl Solaris disables greater than 128+ bit encryption in their OpenSSL
1129 dnl implementation, presumably for export reasons. If 192bit AES
1130 dnl is available, we assume that we're running with a 'non-export'
1131 dnl openssl library.
1134 #include <openssl/evp.h>
1138 ac_cv_openssl_export="no"
1140 ac_cv_openssl_export="yes"
1144 LIBS="${saved_LIBS}"
1145 CFLAGS="${saved_CFLAGS}"
1147 if test "$support_tls" = "yes"; then
1148 AC_DEFINE(HAVE_OPENSSL, 1, [Define if OpenSSL library is available])
1149 AC_DEFINE(HAVE_TLS, 1, [Define if TLS support should be enabled])
1150 AC_DEFINE(HAVE_CRYPTO, 1, [Define if encryption support should be enabled])
1153 if test "$ac_cv_openssl_sha2" = "yes"; then
1154 AC_DEFINE(HAVE_SHA2, 1, [Define if the SHA-2 family of digest algorithms is available])
1157 if test "$ac_cv_openssl_export" = "yes"; then
1158 AC_DEFINE(HAVE_OPENSSL_EXPORT_LIBRARY, 1, [Define if the OpenSSL library is export-contrained to 128bit ciphers])
1167 if test "$support_tls" = "no"; then
1172 AC_MSG_RESULT([$support_tls])
1173 AC_SUBST(OPENSSL_LIBS)
1174 AC_SUBST(OPENSSL_INC)
1176 dnl -----------------------------------------------------------
1177 dnl dlopen is needed for plugins
1178 dnl -----------------------------------------------------------
1179 AC_SEARCH_LIBS(dlopen, [dl])
1181 dnl ------------------------------------------
1182 dnl Where to place working dir
1183 dnl ------------------------------------------
1184 working_dir=`eval echo ${prefix}/var/bacula/working`
1185 AC_ARG_WITH(working-dir,
1186 AC_HELP_STRING([--with-working-dir=PATH], [specify path of Bacula working directory]),
1188 if test "x$withval" != "xno" ; then
1189 working_dir=$withval
1194 AC_SUBST(working_dir)
1196 dnl ------------------------------------------------------------------
1197 dnl If the user has not set archivedir, we set our default as /tmp
1198 dnl ------------------------------------------------------------------
1200 AC_ARG_WITH(archivedir,
1201 AC_HELP_STRING([--with-archivedir=PATH], [specify path of SD archive directory]),
1203 if test "x$withval" != "xno" ; then
1209 AC_SUBST(archivedir)
1211 dnl ------------------------------------------------------------------
1212 dnl Allow the user to specify the daemon resource name default hostname
1213 dnl ------------------------------------------------------------------
1215 AC_ARG_WITH(basename,
1216 AC_HELP_STRING([--with-basename=RESNAME], [specify base resource name for daemons]),
1218 if test "x$withval" != "xno" ; then
1226 dnl ------------------------------------------------------------------
1227 dnl Allow the user to override the hostname (default = machine hostname)
1228 dnl ------------------------------------------------------------------
1229 hostname=`uname -n | cut -d '.' -f 1`
1230 if test x${hostname} = x ; then
1231 hostname="localhost"
1233 AC_ARG_WITH(hostname,
1234 AC_HELP_STRING([--with-hostname=RESNAME], [specify host name for daemons]),
1236 if test "x$withval" != "xno" ; then
1245 dnl ------------------------------------------
1246 dnl Where to place scriptdir (script files)
1247 dnl ------------------------------------------
1248 scriptdir=`eval echo ${sysconfdir}`
1249 AC_ARG_WITH(scriptdir,
1250 AC_HELP_STRING([--with-scriptdir=PATH], [specify path of Bacula scripts directory]),
1252 if test "x$withval" != "xno" ; then
1261 dnl ------------------------------------------
1262 dnl Where to place bsrdir (bsr files)
1263 dnl ------------------------------------------
1266 AC_HELP_STRING([--with-bsrdir=PATH], [specify path of Bacula bsrs directory]),
1268 if test "x$withval" != "xno" ; then
1276 dnl ------------------------------------------
1277 dnl Where to place logdir (bsr files)
1278 dnl ------------------------------------------
1281 AC_HELP_STRING([--with-logdir=PATH], [specify path of Bacula logs directory]),
1283 if test "x$withval" != "xno" ; then
1292 # ------------------------------------------
1293 # Where to place plugindir (plugin files)
1294 # ------------------------------------------
1295 plugindir=`eval echo ${libdir}`
1296 AC_ARG_WITH(plugindir,
1297 AC_HELP_STRING([--with-plugindir=PATH], [specify path of Bacula plugins directory]),
1299 if test "x$withval" != "xno" ; then
1307 dnl ------------------------------------------
1308 dnl Where to send dump email
1309 dnl ------------------------------------------
1310 dump_email=root@localhost
1311 AC_ARG_WITH(dump-email,
1312 AC_HELP_STRING([--with-dump-email=EMAIL], [dump email address]),
1314 if test "x$withval" != "xno" ; then
1320 AC_SUBST(dump_email)
1322 dnl ------------------------------------------
1323 dnl Where to send job email
1324 dnl ------------------------------------------
1325 job_email=root@localhost
1326 AC_ARG_WITH(job-email,
1327 AC_HELP_STRING([--with-job-email=EMAIL], [job output email address]),
1329 if test "x$withval" != "xno" ; then
1337 dnl ------------------------------------------
1338 dnl Where to find smtp host
1339 dnl ------------------------------------------
1341 AC_ARG_WITH(smtp_host,
1342 AC_HELP_STRING([--with-smtp-host=HOST], [SMTP mail host address]),
1344 if test "x$withval" != "xno" ; then
1352 dnl ------------------------------------
1353 dnl Where to place pid files
1354 dnl ------------------------------------
1356 AC_ARG_WITH(pid-dir,
1357 AC_HELP_STRING([--with-pid-dir=PATH], [specify location of Bacula pid files]),
1359 if test "x$withval" != "xno" ; then
1365 AC_DEFINE_UNQUOTED(_PATH_BACULA_PIDDIR, "$piddir")
1368 dnl ------------------------------------
1369 dnl Where to place subsys "lock file"
1370 dnl ------------------------------------
1371 subsysdir=/var/run/subsys
1372 if test -d /var/run/subsys; then
1373 subsysdir=/var/run/subsys
1374 elif test -d /var/lock/subsys; then
1375 subsysdir=/var/lock/subsys
1377 subsysdir=/var/run/subsys
1379 AC_ARG_WITH(subsys-dir,
1380 AC_HELP_STRING([--with-subsys-dir=PATH], [specify location of Bacula subsys file]),
1382 if test "x$withval" != "xno" ; then
1390 dnl ------------------------------------
1391 dnl Where to start assigning ports
1392 dnl ------------------------------------
1394 AC_ARG_WITH(baseport,
1395 AC_HELP_STRING([--with-baseport=PORT], [specify base port address for daemons]),
1397 if test "x$withval" != "xno" ; then
1404 dir_port=`expr $baseport`
1405 fd_port=`expr $baseport + 1`
1406 sd_port=`expr $fd_port + 1`
1412 dnl ------------------------------------------
1413 dnl Generate passwords
1414 dnl ------------------------------------------
1416 AC_ARG_WITH(dir-password,
1417 AC_HELP_STRING([--with-dir-password=PASSWORD], [specify Director's password]),
1419 if test "x$withval" != "xno" ; then
1420 dir_password=$withval
1425 if test "x$dir_password" = "x" ; then
1426 if test "x$OPENSSL" = "xnone" ; then
1427 key=`autoconf/randpass 33`
1429 key=`openssl rand -base64 33`
1435 AC_ARG_WITH(fd-password,
1436 AC_HELP_STRING([--with-fd-password=PASSWORD], [specify Client's password]),
1438 if test "x$withval" != "xno" ; then
1439 fd_password=$withval
1444 if test "x$fd_password" = "x" ; then
1445 if test "x$OPENSSL" = "xnone" ; then
1446 key=`autoconf/randpass 37`
1448 key=`openssl rand -base64 33`
1454 AC_ARG_WITH(sd-password,
1455 AC_HELP_STRING([--with-sd-password=PASSWORD], [specify Storage daemon's password]),
1457 if test "x$withval" != "xno" ; then
1458 sd_password=$withval
1463 if test "x$sd_password" = "x" ; then
1464 if test "x$OPENSSL" = "xnone" ; then
1465 key=`autoconf/randpass 41`
1467 key=`openssl rand -base64 33`
1473 AC_ARG_WITH(mon-dir-password,
1474 AC_HELP_STRING([--with-mon-dir-password=PASSWORD], [specify Director's password used by the monitor]),
1476 if test "x$withval" != "xno" ; then
1477 mon_dir_password=$withval
1482 if test "x$mon_dir_password" = "x" ; then
1483 if test "x$OPENSSL" = "xnone" ; then
1484 key=`autoconf/randpass 33`
1486 key=`openssl rand -base64 33`
1488 mon_dir_password=$key
1492 AC_ARG_WITH(mon-fd-password,
1493 AC_HELP_STRING([--with-mon-fd-password=PASSWORD], [specify Client's password used by the monitor]),
1495 if test "x$withval" != "xno" ; then
1496 mon_fd_password=$withval
1501 if test "x$mon_fd_password" = "x" ; then
1502 if test "x$OPENSSL" = "xnone" ; then
1503 key=`autoconf/randpass 37`
1505 key=`openssl rand -base64 33`
1507 mon_fd_password=$key
1511 AC_ARG_WITH(mon-sd-password,
1512 AC_HELP_STRING([--with-mon-sd-password=PASSWORD], [specify Storage daemon's password used by the monitor]),
1514 if test "x$withval" != "xno" ; then
1515 mon_sd_password=$withval
1520 if test "x$mon_sd_password" = "x" ; then
1521 if test "x$OPENSSL" = "xnone" ; then
1522 key=`autoconf/randpass 41`
1524 key=`openssl rand -base64 33`
1526 mon_sd_password=$key
1529 AC_SUBST(dir_password)
1530 AC_SUBST(fd_password)
1531 AC_SUBST(sd_password)
1532 AC_SUBST(mon_dir_password)
1533 AC_SUBST(mon_fd_password)
1534 AC_SUBST(mon_sd_password)
1537 dnl Pickup any database name
1540 AC_ARG_WITH(db_name,
1541 AC_HELP_STRING([--with-db-name=DBNAME], [specify database name @<:@default=bacula@:>@]),
1543 if test "x$withval" != "x" ; then
1551 AC_ARG_WITH(db_user,
1552 AC_HELP_STRING([--with-db-user=UNAME], [specify database user @<:@default=bacula@:>@]),
1554 if test "x$withval" != "x" ; then
1562 AC_ARG_WITH(db_password,
1563 AC_HELP_STRING([--with-db-password=PWD], [specify database password @<:@default=*none*@:>@]),
1565 if test "x$withval" != "x" ; then
1566 db_password=$withval
1570 AC_SUBST(db_password)
1573 dnl Pickup a database port
1576 AC_ARG_WITH(db_port,
1577 AC_HELP_STRING([--with-db-port=DBPORT], [specify a database port @<:@default=null@:>@]),
1579 if test "x$withval" != "x" ; then
1587 # Handle users and groups for each daemon
1590 AC_ARG_WITH(dir_user,
1591 AC_HELP_STRING([--with-dir-user=USER], [specify user for Director daemon]),
1593 if test "x$withval" != "x" ; then
1600 AC_ARG_WITH(dir_group,
1601 AC_HELP_STRING([--with-dir-group=GROUP], [specify group for Director daemon]),
1603 if test "x$withval" != "x" ; then
1610 AC_ARG_WITH(sd_user,
1611 AC_HELP_STRING([--with-sd-user=USER], [specify user for Storage daemon]),
1613 if test "x$withval" != "x" ; then
1620 AC_ARG_WITH(sd_group,
1621 AC_HELP_STRING([--with-sd-group=GROUP], [specify group for Storage daemon]),
1623 if test "x$withval" != "x" ; then
1630 AC_ARG_WITH(fd_user,
1631 AC_HELP_STRING([--with-fd-user=USER], [specify user for File daemon]),
1633 if test "x$withval" != "x" ; then
1640 AC_ARG_WITH(fd_group,
1641 AC_HELP_STRING([--with-fd-group=GROUP], [specify group for File daemon]),
1643 if test "x$withval" != "x" ; then
1657 dnl allow setting default executable permissions
1660 AC_ARG_WITH(sbin-perm,
1661 AC_HELP_STRING([--with-sbin-perm=MODE], [specify permissions for sbin binaries @<:@default=0754@:>@]),
1663 if test "x$withval" != "x" ; then
1671 dnl ------------------------------------------------
1672 dnl Bacula check for various SQL database engines
1673 dnl ------------------------------------------------
1675 BA_CHECK_POSTGRESQL_DB
1690 dnl -------------------------------------------
1691 dnl enable batch attribute DB insert (default on)
1692 dnl -------------------------------------------
1693 support_batch_insert=no
1694 A=`test -f $SQL_LIB && nm $SQL_LIB | grep pthread_mutex_lock`
1696 if test $pkg = 0; then
1697 support_batch_insert=yes
1698 AC_ARG_ENABLE(batch-insert,
1699 AC_HELP_STRING([--enable-batch-insert], [enable the DB batch insert code @<:@default=no@:>@]),
1701 if test x$enableval = xno; then
1702 support_batch_insert=no
1704 support_batch_insert=yes
1710 dnl Check if postgresql support batch mode
1711 if test x$DB_TYPE = xpostgresql; then
1712 A=`test -f $SQL_LIB && nm $SQL_LIB | grep PQputCopyData`
1714 if test $pkg != 0; then
1715 support_batch_insert=no
1719 if test x$DB_TYPE = xdbi; then
1723 dnl Check for batch insert
1724 if test $DB_PROG = postgresql; then
1725 A=`test -f $SQL_LIB && nm $SQL_LIB | grep PQputCopyData`
1729 if test $DB_PROG = mysql; then
1730 A=`test -f $SQL_LIB && nm $DB_PROG_LIB | grep pthread_mutex_lock`
1734 if test $DB_PROG = sqlite3; then
1735 A=`test -f $SQL_LIB && nm $DB_PROG_LIB | grep pthread_mutex_lock`
1739 if test $pkg = 0; then
1740 AC_ARG_ENABLE(batch-insert,
1741 AC_HELP_STRING([--enable-batch-insert], [enable the DB batch insert code @<:@default=no@:>@]),
1743 if test x$enableval = xno; then
1744 support_batch_insert=no
1746 support_batch_insert=yes
1752 dnl If dbi was not chosen, let the comment in file
1756 AC_SUBST(uncomment_dbi)
1758 if test $support_batch_insert = yes ; then
1759 AC_DEFINE(HAVE_BATCH_FILE_INSERT, 1, [Set if DB batch insert code enabled])
1762 AC_DEFINE(PROTOTYPES)
1764 dnl --------------------------------------------------------------------------
1765 dnl Supply default CFLAGS, if not specified by `CFLAGS=flags ./configure'
1767 if test -z "$CFLAGS" -o "$CFLAGS" = "-g -O2"; then
1768 if test -z "$CCOPTS"; then
1769 CCOPTS='-g -O2 -Wall'
1777 dnl See if we can use 64 bit file addresses
1778 largefile_support="no"
1783 dnl --------------------------------------------------------------------------
1784 dnl CHECKING FOR HEADER FILES
1785 dnl --------------------------------------------------------------------------
1823 AC_STRUCT_ST_BLKSIZE
1827 dnl --------------------------------------------------------------------------
1828 dnl Check for utime.h structure
1829 dnl --------------------------------------------------------------------------
1830 AC_CACHE_CHECK(for utime.h, ba_cv_header_utime_h,
1834 #include <sys/types.h>
1839 ba_cv_header_utime_h=yes
1841 ba_cv_header_utime_h=no
1846 test $ba_cv_header_utime_h = yes && AC_DEFINE(HAVE_UTIME_H, 1, [Set if utime.h exists])
1848 dnl --------------------------------------------------------------------------
1849 dnl Check for socklen_t
1850 dnl --------------------------------------------------------------------------
1851 AC_CACHE_CHECK(for socklen_t, ba_cv_header_socklen_t,
1855 #include <sys/types.h>
1856 #include <sys/socket.h>
1860 ba_cv_header_socklen_t=yes
1862 ba_cv_header_socklen_t=no
1867 test $ba_cv_header_socklen_t = yes && AC_DEFINE(HAVE_SOCKLEN_T)
1869 dnl --------------------------------------------------------------------------
1870 dnl Check for typeof()
1871 dnl --------------------------------------------------------------------------
1873 AC_CACHE_CHECK(for typeof, ba_cv_have_typeof,
1877 main(){char *a = 0; a = (typeof a)a;}
1879 ba_cv_have_typeof=yes
1881 ba_cv_have_typeof=no
1883 ba_cv_have_typeof=no
1888 test $ba_cv_have_typeof = yes && AC_DEFINE([HAVE_TYPEOF], 1, [Defind to 1 if compiler has typeof])
1893 dnl --------------------------------------------------------------------------
1894 dnl CHECKING FOR FILESYSTEM TYPE
1895 dnl --------------------------------------------------------------------------
1896 AC_MSG_CHECKING(how to get filesystem type)
1898 # The order of these tests is important.
1901 #include <sys/statvfs.h>
1902 #include <sys/fstyp.h>
1904 AC_DEFINE(FSTYPE_STATVFS) fstype=SVR4
1906 if test $fstype = no; then
1909 #include <sys/statfs.h>
1910 #include <sys/fstyp.h>
1912 AC_DEFINE(FSTYPE_USG_STATFS) fstype=SVR3
1915 if test $fstype = no; then
1918 #include <sys/statfs.h>
1919 #include <sys/vmount.h>
1921 AC_DEFINE(FSTYPE_AIX_STATFS) fstype=AIX
1924 if test $fstype = no; then
1929 AC_DEFINE(FSTYPE_MNTENT) fstype=4.3BSD
1932 if test $fstype = no; then
1933 AC_EGREP_HEADER(f_type;, sys/mount.h, AC_DEFINE(FSTYPE_STATFS) fstype=4.4BSD/OSF1)
1935 if test $fstype = no; then
1938 #include <sys/mount.h>
1939 #include <sys/fs_types.h>
1941 AC_DEFINE(FSTYPE_GETMNT) fstype=Ultrix
1944 AC_MSG_RESULT($fstype)
1946 AC_CHECK_HEADER(sys/statvfs.h, [ AC_DEFINE(HAVE_SYS_STATVFS_H,1,[Defines if your system have the sys/statvfs.h header file])] , )
1948 dnl --------------------------------------------------------------------------
1949 dnl CHECKING FOR TYPEDEFS, STRUCTURES, AND COMPILER CHARACTERISTICS.
1950 dnl --------------------------------------------------------------------------
1960 AC_CHECK_TYPE(ino_t, unsigned long)
1961 AC_CHECK_TYPE(dev_t, unsigned long)
1962 AC_CHECK_TYPE(daddr_t, long)
1963 AC_CHECK_TYPE(major_t, int)
1964 AC_CHECK_TYPE(minor_t, int)
1965 AC_CHECK_TYPE(ssize_t, int)
1971 AC_CHECK_SIZEOF(char, 1)
1972 AC_CHECK_SIZEOF(short int, 2)
1973 AC_CHECK_SIZEOF(int, 4)
1974 AC_CHECK_SIZEOF(long int, 4)
1975 AC_CHECK_SIZEOF(long long int, 8)
1976 AC_CHECK_SIZEOF(int *, 4)
1978 dnl Check for sys/types.h types
1979 AC_CACHE_CHECK([for u_int type], ac_cv_have_u_int,
1983 #include <sys/types.h>
1987 ac_cv_have_u_int="yes"
1989 ac_cv_have_u_int="no"
1994 if test "x$ac_cv_have_u_int" = "xyes" ; then
1995 AC_DEFINE(HAVE_U_INT)
1999 AC_CACHE_CHECK([for intmax_t type], ac_cv_have_intmax_t,
2003 #include <sys/types.h>
2007 ac_cv_have_intmax_t="yes"
2015 ac_cv_have_intmax_t="yes"
2017 ac_cv_have_intmax_t="no"
2024 if test "x$ac_cv_have_intmax_t" = "xyes" ; then
2025 AC_DEFINE(HAVE_INTMAX_T)
2029 AC_CACHE_CHECK([for u_intmax_t type], ac_cv_have_u_intmax_t,
2033 #include <sys/types.h>
2035 u_intmax_t a; a = 1;
2037 ac_cv_have_u_intmax_t="yes"
2043 u_intmax_t a; a = 1;
2045 ac_cv_have_u_intmax_t="yes"
2047 ac_cv_have_u_intmax_t="no"
2054 if test "x$ac_cv_have_u_intmax_t" = "xyes" ; then
2055 AC_DEFINE(HAVE_U_INTMAX_T)
2059 AC_CACHE_CHECK([for intXX_t types], ac_cv_have_intxx_t,
2063 #include <sys/types.h>
2065 int8_t a; int16_t b; int32_t c; a = b = c = 1;
2067 ac_cv_have_intxx_t="yes"
2069 ac_cv_have_intxx_t="no"
2074 if test "x$ac_cv_have_intxx_t" = "xyes" ; then
2075 AC_DEFINE(HAVE_INTXX_T)
2079 AC_CACHE_CHECK([for int64_t type], ac_cv_have_int64_t,
2083 #include <sys/types.h>
2087 ac_cv_have_int64_t="yes"
2089 ac_cv_have_int64_t="no"
2094 if test "x$ac_cv_have_int64_t" = "xyes" ; then
2095 AC_DEFINE(HAVE_INT64_T)
2099 AC_CACHE_CHECK([for u_intXX_t types], ac_cv_have_u_intxx_t,
2103 #include <sys/types.h>
2105 u_int8_t a; u_int16_t b; u_int32_t c; a = b = c = 1;
2107 ac_cv_have_u_intxx_t="yes"
2109 ac_cv_have_u_intxx_t="no"
2114 if test "x$ac_cv_have_u_intxx_t" = "xyes" ; then
2115 AC_DEFINE(HAVE_U_INTXX_T)
2119 AC_CACHE_CHECK([for u_int64_t types], ac_cv_have_u_int64_t,
2123 #include <sys/types.h>
2127 ac_cv_have_u_int64_t="yes"
2129 ac_cv_have_u_int64_t="no"
2134 if test "x$ac_cv_have_u_int64_t" = "xyes" ; then
2135 AC_DEFINE(HAVE_U_INT64_T)
2139 if (test -z "$have_u_intxx_t" || test -z "$have_intxx_t" && \
2140 test "x$ac_cv_header_sys_bitypes_h" = "xyes")
2142 AC_MSG_CHECKING([for intXX_t and u_intXX_t types in sys/bitypes.h])
2145 #include <sys/bitypes.h>
2147 int8_t a; int16_t b; int32_t c;
2148 u_int8_t e; u_int16_t f; u_int32_t g;
2149 a = b = c = e = f = g = 1;
2151 AC_DEFINE(HAVE_U_INTXX_T)
2152 AC_DEFINE(HAVE_INTXX_T)
2153 AC_DEFINE(HAVE_SYS_BITYPES_H)
2161 if test -z "$have_u_intxx_t" ; then
2162 AC_CACHE_CHECK([for uintXX_t types], ac_cv_have_uintxx_t,
2166 #include <sys/types.h>
2168 uint8_t a; uint16_t b;
2169 uint32_t c; a = b = c = 1;
2171 ac_cv_have_uintxx_t="yes"
2173 ac_cv_have_uintxx_t="no"
2178 if test "x$ac_cv_have_uintxx_t" = "xyes" ; then
2179 AC_DEFINE(HAVE_UINTXX_T)
2183 if (test -z "$have_u_int64_t" || test -z "$have_int64_t" && \
2184 test "x$ac_cv_header_sys_bitypes_h" = "xyes")
2186 AC_MSG_CHECKING([for int64_t and u_int64_t types in sys/bitypes.h])
2189 #include <sys/bitypes.h>
2191 int64_t a; u_int64_t b;
2194 AC_DEFINE(HAVE_U_INT64_T)
2195 AC_DEFINE(HAVE_INT64_T)
2203 if (test -z "$have_uintxx_t" && \
2204 test "x$ac_cv_header_sys_bitypes_h" = "xyes")
2206 AC_MSG_CHECKING([for uintXX_t types in sys/bitypes.h])
2209 #include <sys/bitypes.h>
2211 uint8_t a; uint16_t b;
2212 uint32_t c; a = b = c = 1;
2214 AC_DEFINE(HAVE_UINTXX_T)
2222 dnl --------------------------------------------------------------------------
2223 dnl CHECKING FOR REQUIRED LIBRARY FUNCTIONS
2224 dnl --------------------------------------------------------------------------
2240 [echo 'configure: cannot find needed function.'; exit 1]
2243 AC_CHECK_FUNCS(fchdir, [AC_DEFINE(HAVE_FCHDIR)])
2244 AC_CHECK_FUNCS(strtoll, [AC_DEFINE(HAVE_STRTOLL)])
2245 AC_CHECK_FUNCS(posix_fadvise)
2246 AC_CHECK_FUNCS(fdatasync)
2248 AC_CHECK_FUNCS(chflags)
2250 AC_CHECK_FUNCS(snprintf vsnprintf gethostid fseeko)
2252 AC_CACHE_CHECK(for va_copy, ba_cv_va_copy,
2257 void use_va_copy(va_list args){va_list args2; va_copy(args2,args); va_end(args2);}
2258 void call_use_va_copy(int junk,...){va_list args; va_start(args,junk); use_va_copy(args); va_end(args);}
2260 call_use_va_copy(1,2,3)
2269 test $ba_cv_va_copy = yes && AC_DEFINE(HAVE_VA_COPY, 1, [Set if va_copy exists])
2271 dnl --------------------------------------------------------------------------
2272 dnl CHECKING FOR THREAD SAFE FUNCTIONS
2273 dnl --------------------------------------------------------------------------
2274 AC_CHECK_FUNCS(localtime_r readdir_r strerror_r gethostbyname_r)
2276 # If resolver functions are not in libc check for -lnsl or -lresolv.
2277 AC_CHECK_FUNC(gethostbyname_r,
2278 AC_MSG_RESULT(using libc's resolver),
2279 AC_CHECK_LIB(nsl,gethostbyname_r)
2280 AC_CHECK_LIB(resolv,gethostbyname_r))
2282 AC_CHECK_FUNCS(inet_pton, [AC_DEFINE(HAVE_INET_PTON)])
2283 AC_CHECK_FUNCS(inet_ntop, [AC_DEFINE(HAVE_INET_NTOP)])
2284 AC_CHECK_FUNCS(gethostbyname2, [AC_DEFINE(HAVE_GETHOSTBYNAME2)])
2286 dnl ----------------------------
2287 dnl check sa_len of sockaddr
2288 dnl ----------------------------
2289 AC_CACHE_CHECK(for struct sockaddr has a sa_len field, ac_cv_struct_sockaddr_sa_len,
2293 #include <sys/socket.h>
2295 struct sockaddr s; s.sa_len;
2297 ac_cv_struct_sockaddr_sa_len=yes
2298 ], [ac_cv_struct_sockaddr_sa_len=no
2304 if test $ac_cv_struct_sockaddr_sa_len = yes; then
2305 AC_DEFINE(HAVE_SA_LEN, 1, [Define if sa_len field exists in struct sockaddr])
2312 AC_FUNC_CLOSEDIR_VOID
2313 AC_FUNC_SETPGRP dnl check for BSD setpgrp.
2314 # AC_FUNC_FNMATCH dnl use local version
2316 AC_CHECK_LIB(intl, gettext, [LIBS="$LIBS -lintl"])
2318 AC_CHECK_LIB(sun, getpwnam)
2320 AC_CHECK_HEADERS(zlib.h)
2321 AC_CHECK_LIB(z, deflate, [FDLIBS="-lz"])
2323 if test x$FDLIBS = x-lz; then
2324 AC_DEFINE(HAVE_LIBZ)
2329 dnl Check for ACL support and libraries
2333 AC_HELP_STRING([--disable-acl], [disable acl support @<:@default=auto@:>@]),
2335 if test x$enableval = xyes; then
2337 elif test x$enableval = xno; then
2344 have_extended_acl=no
2345 if test x$support_acl = xyes -o x$support_acl = xauto; then
2346 AC_CHECK_HEADER(sys/acl.h, [ AC_DEFINE(HAVE_SYS_ACL_H,1,[Defines if your system have the sys/acl.h header file])] , )
2347 AC_CHECK_FUNC(acl_get_file,
2351 AC_CHECK_LIB(acl, acl_get_file,
2354 FDLIBS="-lacl $FDLIBS"
2356 AC_CHECK_LIB(pacl, acl_get_file,
2359 FDLIBS="-lpacl $FDLIBS"
2361 AC_CHECK_LIB(sec, acltotext,
2364 FDLIBS="-lsec $FDLIBS"
2366 AC_CHECK_LIB(sec, acl_totext,
2368 have_extended_acl=yes
2380 if test x$support_acl = xyes -a $have_acl != yes; then
2381 AC_MSG_ERROR([acl support explicitly enabled but no supported acl implementation found,
2382 please either load the acl libraries or rerun configure without --enable-acl])
2384 if test $have_acl = yes; then
2385 AC_DEFINE([HAVE_ACL], [], [Normal attribute support])
2388 if test $have_extended_acl = yes; then
2389 AC_DEFINE([HAVE_EXTENDED_ACL], [], [Extended attribute support])
2395 dnl Check for XATTR support
2398 AC_ARG_ENABLE(xattr,
2399 AC_HELP_STRING([--disable-xattr], [disable xattr support @<:@default=auto@:>@]),
2401 if test x$enableval = xyes; then
2403 elif test x$enableval = xno; then
2410 if test x$support_xattr = xyes -o x$support_xattr = xauto; then
2411 AC_CHECK_HEADER(sys/xattr.h, [ AC_DEFINE(HAVE_SYS_XATTR_H,1,[Defines if your system have the sys/xattr.h header file])] , )
2412 AC_CHECK_FUNCS(llistxattr lgetxattr lsetxattr,
2415 AC_DEFINE([HAVE_LLISTXATTR], [], [LLISTXATTR support])
2416 AC_DEFINE([HAVE_LGETXATTR], [], [LGETXATTR support])
2417 AC_DEFINE([HAVE_LSETXATTR], [], [LSETXATTR support])
2424 if test $have_xattr = no; then
2425 AC_CHECK_FUNCS(listxattr getxattr setxattr,
2428 AC_DEFINE([HAVE_LLISTXATTR], [], [LLISTXATTR support])
2429 AC_DEFINE([HAVE_LGETXATTR], [], [LGETXATTR support])
2430 AC_DEFINE([HAVE_LSETXATTR], [], [LSETXATTR support])
2438 if test $have_xattr = no; then
2439 AC_CHECK_HEADER(sys/attr.h, [ AC_DEFINE(HAVE_SYS_ATTR_H,1,[Defines if your system have the sys/attr.h header file])] , )
2440 AC_CHECK_HEADER(sys/nvpair.h, [ AC_DEFINE(HAVE_SYS_NVPAIR_H,1,[Defines if your system have the sys/nvpair.h header file])] , )
2441 AC_CHECK_HEADER(attr.h, [ AC_DEFINE(HAVE_ATTR_H,1,[Defines if your system have the attr.h header file])] , )
2443 AC_CHECK_FUNCS(openat fstatat unlinkat fchownat futimesat,
2446 AC_DEFINE([HAVE_OPENAT], [], [OPENAT support])
2447 AC_DEFINE([HAVE_FSTATAT], [], [FSTATAT support])
2448 AC_DEFINE([HAVE_UNLINKAT], [], [UNLINKAT support])
2449 AC_DEFINE([HAVE_FCHOWNAT], [], [FCHOWNAT support])
2450 AC_DEFINE([HAVE_FUTIMESAT], [], [FUTIMESAT support])
2454 if test $have_xattr = yes; then
2455 AC_CHECK_LIB(nvpair, nvlist_next_nvpair,
2457 FDLIBS="-lnvpair $FDLIBS"
2463 if test x$support_xattr = xyes -a $have_xattr != yes; then
2464 AC_MSG_ERROR([xattr support explicitly enabled but no supported xattr implementation found,
2465 please either load the xattr libraries or rerun configure without --enable-xatt])
2467 if test $have_xattr = yes; then
2468 AC_DEFINE([HAVE_XATTR], [], [XATTR support])
2474 dnl Check for pthread libraries
2477 AC_CHECK_LIB(pthread, pthread_create, PTHREAD_LIB="-lpthread",
2479 AC_CHECK_LIB(pthreads, pthread_create, PTHREAD_LIB="-lpthreads",
2481 AC_CHECK_LIB(c_r, pthread_create, PTHREAD_LIB="-lc_r",
2483 AC_CHECK_FUNC(pthread_create)
2492 dnl Check for headers, functions and libraries required to support
2493 dnl keeping readall capabilities
2495 AC_CHECK_HEADERS(sys/prctl.h sys/capability.h)
2496 AC_CHECK_FUNCS(prctl setreuid)
2497 AC_CHECK_LIB([cap], [cap_set_proc], [CAP_LIBS="-lcap"], [CAP_LIBS=])
2498 if test x$CAP_LIBS = x-lcap; then
2499 AC_DEFINE(HAVE_LIBCAP, 1, [Define if you have libcap])
2508 if test x$have_gcc = xyes ; then
2509 CPPFLAGS="$CPPFLAGS -fno-strict-aliasing -fno-exceptions -fno-rtti"
2510 CFLAGS="$CFLAGS -fno-strict-aliasing -fno-exceptions -fno-rtti"
2512 LDFLAGS=${LDFLAGS--O}
2513 DB_LIBS="${SQL_LFLAGS}"
2514 CPPFLAGS="$CPPFLAGS"
2527 AC_SUBST(X_EXTRA_LIBS)
2532 dnl extra configurable objects
2543 dnl Finally we set appropriate distribution specific
2544 dnl variables and defaults
2546 dnl PFILES are platform specific files
2547 PFILES="platforms/Makefile"
2552 hostname=`uname -n | cut -d '.' -f 1`
2553 if test x${hostname} = x ; then
2554 hostname="localhost"
2556 dnl Make sure hostname is resolved
2557 ping -c 1 $hostname 2>/dev/null 1>/dev/null
2558 if test ! $? = 0; then
2559 hostname="localhost"
2565 PSCMD="ps -e -o pid,comm"
2567 platforms/aix/Makefile"
2568 TAPEDRIVE="/dev/rmt0.1"
2572 PTHREAD_LIB="-lpthread -lexc"
2573 if test "${CC}" = "gcc" ; then
2580 TAPEDRIVE="/dev/nrmt0"
2583 DISTVER=`uname -a |awk '{print $3}'`
2584 TAPEDRIVE="/dev/nrmt0"
2585 PTHREAD_LIB="-pthread"
2586 CFLAGS="${CFLAGS} -pthread"
2587 PSCMD="ps -ax -o pid,command"
2591 platforms/bsdi/Makefile \
2592 platforms/bsdi/bacula-fd \
2593 platforms/bsdi/bacula-sd \
2594 platforms/bsdi/bacula-dir"
2595 largefile_support="yes"
2598 DISTVER=`uname -a |awk '{print $3}'`
2599 TAPEDRIVE="/dev/nrst0"
2602 WLDFLAGS="-mwindows"
2606 TAPEDRIVE="/dev/nst0"
2607 PSCMD="ps -e -o pid,command"
2610 platforms/darwin/Makefile"
2614 TAPEDRIVE="/dev/nst0"
2615 PSCMD="ps -e -o pid,command"
2618 platforms/osx/Makefile"
2621 if `test -f /etc/apt/sources.list && grep -q ubuntu /etc/apt/sources.list`; then
2624 DISTVER=`cat /etc/debian_version`
2625 if test -f /etc/lsb-release ; then
2627 if test "x$DISTRIB_ID" != "x" ; then
2628 DISTNAME=$DISTRIB_ID
2630 if test "x$DISTRIB_RELEASE" != "x" ; then
2631 DISTVER=$DISTRIB_RELEASE
2634 if test "$DISTNAME" = "Ubuntu" ; then
2637 TAPEDRIVE="/dev/nst0"
2638 PSCMD="ps -e -o pid,command"
2639 if test "$DISTNAME" = "ubuntu" ; then
2641 platforms/ubuntu/Makefile \
2642 platforms/ubuntu/bacula-fd \
2643 platforms/ubuntu/bacula-sd \
2644 platforms/ubuntu/bacula-dir"
2647 platforms/debian/Makefile \
2648 platforms/debian/bacula-fd \
2649 platforms/debian/bacula-sd \
2650 platforms/debian/bacula-dir"
2654 DISTVER=`uname -a |awk '{print $3}'`
2655 VER=`echo $DISTVER | cut -c 1`
2656 if test x$VER = x4 ; then
2657 PTHREAD_LIB="${PTHREAD_LIBS:--pthread}"
2658 CFLAGS="${CFLAGS} ${PTHREAD_CFLAGS:--pthread}"
2662 TAPEDRIVE="/dev/nrsa0"
2663 PSCMD="ps -ax -o pid,command"
2665 platforms/freebsd/Makefile \
2666 platforms/freebsd/bacula-fd \
2667 platforms/freebsd/bacula-sd \
2668 platforms/freebsd/bacula-dir"
2669 largefile_support="yes"
2672 PSCMD="UNIX95=1; ps -e -o pid,comm"
2673 CFLAGS="${CFLAGS} -D_XOPEN_SOURCE_EXTENDED=1"
2675 TAPEDRIVE="/dev/rmt/0hnb"
2676 PTHREAD_LIB="-lpthread"
2677 AC_DEFINE([_INCLUDE_LONGLONG])
2681 TAPEDRIVE="/dev/rmt/0cbn"
2682 PSCMD="ps -e -o pid,comm"
2684 platforms/irix/Makefile \
2685 platforms/irix/bacula-fd \
2686 platforms/irix/bacula-sd \
2687 platforms/irix/bacula-dir"
2690 DISTVER=`uname -a |awk '{print $3}'`
2693 TAPEDRIVE="/dev/nrst0"
2694 PSCMD="ps -ax -o pid,command"
2695 PTHREAD_LIB="-pthread"
2696 CFLAGS="${CFLAGS} -pthread"
2699 DISTVER=`uname -a |awk '{print $3}'`
2702 TAPEDRIVE="/dev/nrst0"
2703 PSCMD="ps -ax -o pid,command"
2704 PTHREAD_LIB="-pthread"
2705 CFLAGS="${CFLAGS} -pthread"
2707 platforms/openbsd/Makefile \
2708 platforms/openbsd/bacula-fd \
2709 platforms/openbsd/bacula-sd \
2710 platforms/openbsd/bacula-dir"
2713 if test -f /etc/whitebox-release ; then
2714 f=/etc/whitebox-release
2716 f=/etc/redhat-release
2718 if test `cat $f | grep release |\
2719 cut -f 3 -d ' '`x = "Enterprise"x ; then
2720 DISTVER="Enterprise "`cat $f | grep release |\
2723 DISTVER=`cat /etc/redhat-release | grep release |\
2726 TAPEDRIVE="/dev/nst0"
2727 PSCMD="ps -e -o pid,command"
2729 platforms/redhat/Makefile \
2730 platforms/redhat/bacula-fd \
2731 platforms/redhat/bacula-sd \
2732 platforms/redhat/bacula-dir
2736 DISTVER=`cat /etc/mandrake-release | grep release |\
2738 TAPEDRIVE="/dev/nst0"
2739 PSCMD="ps -e -o pid,command"
2741 platforms/mandrake/Makefile \
2742 platforms/mandrake/bacula-fd \
2743 platforms/mandrake/bacula-sd \
2744 platforms/mandrake/bacula-dir \
2745 platforms/mandrake/bacula.spec \
2749 DISTVER=`awk '/version / {print $5}' < /etc/gentoo-release`
2750 TAPEDRIVE="/dev/nst0"
2751 PSCMD="ps -e -o pid,command"
2753 platforms/gentoo/Makefile \
2754 platforms/gentoo/bacula-init \
2755 platforms/gentoo/bacula-fd \
2756 platforms/gentoo/bacula-sd \
2757 platforms/gentoo/bacula-dir"
2760 DISTVER=`cat /etc/slackware-version`
2761 TAPEDRIVE="/dev/nst0"
2762 PSCMD="ps -e -o pid,command"
2764 platforms/slackware/Makefile \
2765 platforms/slackware/rc.bacula-fd \
2766 platforms/slackware/rc.bacula-sd \
2767 platforms/slackware/rc.bacula-dir\
2768 platforms/slackware/functions.bacula"
2772 TAPEDRIVE="/dev/rmt/0cbn"
2773 PSCMD="ps -e -o pid,comm"
2775 platforms/solaris/Makefile \
2776 platforms/solaris/bacula-fd \
2777 platforms/solaris/bacula-sd \
2778 platforms/solaris/bacula-dir"
2779 if test x$DISTVER = x5.6 ; then
2780 AC_DEFINE(HAVE_OLD_SOCKOPT)
2782 LIBS="$LIBS -lresolv"
2785 DISTVER=`cat /etc/SuSE-release |grep VERSION|\
2787 TAPEDRIVE="/dev/nst0"
2788 PSCMD="ps -e -o pid,command"
2790 platforms/suse/Makefile \
2791 platforms/suse/bacula-fd \
2792 platforms/suse/bacula-sd \
2793 platforms/suse/bacula-dir \
2794 platforms/suse/bacula \
2795 platforms/suse/bacula.spec"
2800 TAPEDRIVE="/dev/nst0"
2801 PSCMD="ps -e -o pid,command"
2803 platforms/suse/Makefile \
2804 platforms/suse/bacula-fd \
2805 platforms/suse/bacula-sd \
2806 platforms/suse/bacula-dir"
2810 TAPEDRIVE="/dev/nst0"
2813 echo " === Something went wrong. Unknown DISTNAME $DISTNAME ==="
2819 LIBS="$PTHREAD_LIB $LIBS"
2821 AC_DEFINE_UNQUOTED(lld, "$lld")
2822 AC_DEFINE_UNQUOTED(llu, "$llu")
2830 dnl common parts of the Makefile
2831 MCOMMON=./autoconf/Make.common
2832 AC_SUBST_FILE(MCOMMON)
2835 if test "x${subsysdir}" = "x${sbindir}" ; then
2838 echo "You have set both --sbindir and --with-subsys-dir"
2839 echo " equal to: ${subsysdir} "
2840 echo "This is not permitted. Please reconfigure."
2842 echo "Aborting configuration ..."
2848 AC_OUTPUT([autoconf/Make.common \
2851 scripts/startmysql \
2853 scripts/btraceback \
2859 scripts/bacula-ctl-dir \
2860 scripts/bacula-ctl-fd \
2861 scripts/bacula-ctl-sd \
2862 scripts/devel_bacula \
2865 scripts/bacula.desktop.gnome1 \
2866 scripts/bacula.desktop.gnome2 \
2867 scripts/bacula.desktop.gnome1.consolehelper \
2868 scripts/bacula.desktop.gnome2.consolehelper \
2869 scripts/bacula.desktop.gnome1.xsu \
2870 scripts/bacula.desktop.gnome2.xsu \
2871 scripts/bgnome-console.console_apps \
2872 scripts/mtx-changer \
2873 scripts/disk-changer \
2874 scripts/dvd-handler \
2875 scripts/dvd-simulator \
2876 scripts/bacula-tray-monitor.desktop \
2877 scripts/logwatch/Makefile \
2878 scripts/logwatch/logfile.bacula.conf \
2879 scripts/wxconsole.console_apps \
2880 scripts/wxconsole.desktop.consolehelper \
2881 scripts/wxconsole.desktop.xsu \
2882 scripts/bat.desktop \
2883 scripts/bat.desktop.xsu \
2884 scripts/bat.desktop.consolehelper \
2885 scripts/bat.console_apps \
2888 src/console/Makefile \
2889 src/console/bconsole.conf \
2890 src/gnome2-console/Makefile \
2891 src/gnome2-console/bgnome-console.conf \
2892 src/qt-console/bat.conf \
2893 src/qt-console/bat.pro \
2894 src/qt-console/bat.pro.mingw32 \
2895 src/qt-console/install_conf_file \
2896 src/wx-console/Makefile \
2897 src/wx-console/bwx-console.conf \
2898 src/tray-monitor/Makefile \
2899 src/tray-monitor/tray-monitor.conf \
2901 src/dird/bacula-dir.conf \
2903 src/stored/Makefile \
2904 src/stored/bacula-sd.conf \
2905 src/filed/Makefile \
2906 src/filed/bacula-fd.conf \
2908 src/cats/make_catalog_backup \
2909 src/cats/delete_catalog_backup \
2910 src/cats/create_postgresql_database \
2911 src/cats/update_postgresql_tables \
2912 src/cats/make_postgresql_tables \
2913 src/cats/grant_postgresql_privileges \
2914 src/cats/drop_postgresql_tables \
2915 src/cats/drop_postgresql_database \
2916 src/cats/create_mysql_database \
2917 src/cats/update_mysql_tables \
2918 src/cats/make_mysql_tables \
2919 src/cats/grant_mysql_privileges \
2920 src/cats/drop_mysql_tables \
2921 src/cats/drop_mysql_database \
2922 src/cats/create_sqlite_database \
2923 src/cats/update_sqlite_tables \
2924 src/cats/make_sqlite_tables \
2925 src/cats/grant_sqlite_privileges \
2926 src/cats/drop_sqlite_tables \
2927 src/cats/drop_sqlite_database \
2928 src/cats/create_sqlite3_database \
2929 src/cats/update_sqlite3_tables \
2930 src/cats/make_sqlite3_tables \
2931 src/cats/grant_sqlite3_privileges \
2932 src/cats/drop_sqlite3_tables \
2933 src/cats/drop_sqlite3_database \
2936 src/cats/create_bdb_database \
2937 src/cats/update_bdb_tables \
2938 src/cats/make_bdb_tables \
2939 src/cats/grant_bdb_privileges \
2940 src/cats/drop_bdb_tables \
2941 src/cats/drop_bdb_database \
2942 src/cats/create_bacula_database \
2943 src/cats/update_bacula_tables \
2944 src/cats/grant_bacula_privileges \
2945 src/cats/make_bacula_tables \
2946 src/cats/drop_bacula_tables \
2947 src/cats/drop_bacula_database \
2948 src/findlib/Makefile \
2949 src/tools/Makefile \
2950 src/plugins/fd/Makefile \
2951 src/plugins/sd/Makefile \
2952 src/plugins/dir/Makefile \
2953 src/win32/Makefile.inc \
2955 updatedb/update_mysql_tables_9_to_10 \
2956 updatedb/update_sqlite3_tables_9_to_10 \
2957 updatedb/update_postgresql_tables_9_to_10 \
2958 updatedb/update_sqlite_tables_9_to_10 \
2959 updatedb/update_mysql_tables_10_to_11 \
2960 updatedb/update_sqlite3_tables_10_to_11 \
2961 updatedb/update_postgresql_tables_10_to_11 \
2962 updatedb/update_sqlite_tables_10_to_11 \
2967 if test "${support_bat}" = "yes" ; then
2968 if test "x$QMAKE" = "xnone" && test "x$QMAKEQT4" = "xnone"; then
2969 AC_MSG_ERROR([Could not find qmake or qmake-qt4 in $PATH. Check your Qt installation])
2974 if test "x$QMAKEQT4" != "xnone"; then
2979 echo "Creating bat Makefile"
2988 dnl if CC is gcc, we can rebuild the dependencies (since the depend rule
2989 dnl requires gcc). If it's not, don't rebuild dependencies
2991 if test X"$GCC" = "Xyes" ; then
2992 echo "Doing make of dependencies"
2993 ${MAKE:-make} depend
2997 chmod 755 install_conf_file build-depkgs-qt-console
3001 chmod 755 startmysql stopmysql bacula startit stopit btraceback mtx-changer
3002 chmod 755 dvd-handler dvd-simulator
3003 chmod 755 bconsole gconsole mtx-changer devel_bacula logrotate
3007 chmod 755 $c/update_mysql_tables_10_to_11 $c/update_sqlite3_tables_10_to_11
3008 chmod 755 $c/update_postgresql_tables_10_to_11 $c/update_sqlite_tables_10_to_11
3012 chmod 755 $c/create_bacula_database $c/update_bacula_tables $c/make_bacula_tables
3013 chmod 755 $c/grant_bacula_privileges $c/drop_bacula_tables $c/drop_bacula_database
3015 chmod 755 $c/create_bdb_database $c/update_bdb_tables $c/make_bdb_tables
3016 chmod 755 $c/grant_bdb_privileges $c/drop_bdb_tables $c/drop_bdb_database
3018 chmod 755 $c/create_mysql_database $c/update_mysql_tables $c/make_mysql_tables
3019 chmod 755 $c/grant_mysql_privileges $c/drop_mysql_tables $c/drop_mysql_database
3021 chmod 755 $c/create_sqlite_database $c/update_sqlite_tables $c/make_sqlite_tables
3022 chmod 755 $c/grant_sqlite_privileges $c/drop_sqlite_tables $c/drop_sqlite_database
3024 chmod 755 $c/create_sqlite3_database $c/update_sqlite3_tables $c/make_sqlite3_tables
3025 chmod 755 $c/grant_sqlite3_privileges $c/drop_sqlite3_tables $c/drop_sqlite3_database
3027 chmod 755 $c/create_postgresql_database $c/update_postgresql_tables $c/make_postgresql_tables
3028 chmod 755 $c/grant_postgresql_privileges $c/drop_postgresql_tables $c/drop_postgresql_database
3030 chmod 755 $c/make_catalog_backup $c/delete_catalog_backup
3034 chmod 755 src/win32/build-depkgs-mingw32
3036 if test "x$ac_cv_sys_largefile_CFLAGS" != "xno" ; then
3037 largefile_support="yes"
3040 dnl Only try to find out the version number of the compiler when we know its some kind of GCC compiler
3041 if test X"$GCC" = "Xyes" ; then
3043 dnl A whole lot of hand springs to get the compiler version.
3044 dnl This is because gcc changed the output in version 3.0
3046 CCVERSION=`${CC} --version | tr '\n' ' ' | cut -f 3 -d ' '`
3047 if test "x${CCVERSION}" = "x" ; then
3048 CCVERSION=`${CC} --version | tr '\n' ' ' | cut -f 1 -d ' '`
3050 CXXVERSION=`${CXX} --version | tr '\n' ' ' | cut -f 3 -d ' '`
3051 if test x"${CXXVERSION}" = x ; then
3052 CXXVERSION=`${CXX} --version | tr '\n' ' ' | cut -f 1 -d ' '`
3056 # clean up any old junk
3062 if test "x${db_type}" = "xInternal" ; then
3065 echo "You have not specified either --enable-client-only or one of the"
3066 echo " supported databases: MySQL, PostgreSQL, SQLite3, SQLite or DBI."
3067 echo " This is not permitted. Please reconfigure."
3069 echo "Aborting the configuration ..."
3076 Configuration on `date`:
3078 Host: ${host}${post_host} -- ${DISTNAME} ${DISTVER}
3079 Bacula version: ${BACULA} ${VERSION} (${DATE})
3080 Source code location: ${srcdir}
3081 Install binaries: ${sbindir}
3082 Install libraries: ${libdir}
3083 Install config files: ${sysconfdir}
3084 Scripts directory: ${scriptdir}
3085 Archive directory: ${archivedir}
3086 Working directory: ${working_dir}
3087 PID directory: ${piddir}
3088 Subsys directory: ${subsysdir}
3089 Man directory: ${mandir}
3090 Data directory: ${datarootdir}
3091 Plugin directory: ${plugindir}
3092 C Compiler: ${CC} ${CCVERSION}
3093 C++ Compiler: ${CXX} ${CXXVERSION}
3094 Compiler flags: ${WCFLAGS} ${CFLAGS}
3095 Linker flags: ${WLDFLAGS} ${LDFLAGS}
3097 Statically Linked Tools: ${support_static_tools}
3098 Statically Linked FD: ${support_static_fd}
3099 Statically Linked SD: ${support_static_sd}
3100 Statically Linked DIR: ${support_static_dir}
3101 Statically Linked CONS: ${support_static_cons}
3102 Database type: ${db_type}
3103 Database port: ${db_port}
3104 Database lib: ${DB_LIBS}
3105 Database name: ${db_name}
3106 Database user: ${db_user}
3108 Job Output Email: ${job_email}
3109 Traceback Email: ${dump_email}
3110 SMTP Host Address: ${smtp_host}
3112 Director Port: ${dir_port}
3113 File daemon Port: ${fd_port}
3114 Storage daemon Port: ${sd_port}
3116 Director User: ${dir_user}
3117 Director Group: ${dir_group}
3118 Storage Daemon User: ${sd_user}
3119 Storage DaemonGroup: ${sd_group}
3120 File Daemon User: ${fd_user}
3121 File Daemon Group: ${fd_group}
3123 SQL binaries Directory ${SQL_BINDIR}
3125 Large file support: $largefile_support
3126 Bacula conio support: ${got_conio} ${CONS_LIBS}
3127 readline support: ${got_readline} ${PRTREADLINE_SRC}
3128 TCP Wrappers support: ${TCPW_MSG} ${WRAPLIBS}
3129 TLS support: ${support_tls}
3130 Encryption support: ${support_crypto}
3131 ZLIB support: ${have_zlib}
3132 enable-smartalloc: ${support_smartalloc}
3133 enable-lockmgr: ${support_lockmgr}
3134 bat support: ${support_bat} ${QWT_LDFLAGS}
3135 enable-gnome: ${support_gnome} ${gnome_version}
3136 enable-bwx-console: ${support_wx_console} ${wx_version}
3137 enable-tray-monitor: ${support_tray_monitor}
3138 client-only: ${build_client_only}
3139 build-dird: ${build_dird}
3140 build-stored: ${build_stored}
3141 ACL support: ${have_acl}
3142 XATTR support: ${have_xattr}
3143 Python support: ${support_python} ${PYTHON_LIBS}
3144 Batch insert enabled: ${support_batch_insert}