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 echo "Libtool is enabled, not compatible with static tools, 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 echo "Libtool is enabled, not compatible with static tools, 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 echo "Libtool is enabled, not compatible with static tools, 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 echo "Libtool is enabled, not compatible with static tools, 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 echo "Libtool is enabled, not compatible with static tools, 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 for python_root in /usr /usr/local /usr/sfw; do
926 for ver in python2.2 python2.3 python2.4 python2.5 python2.6 python3; do
927 if test -f $python_root/include/${ver}/Python.h; then
928 PYTHON_INCDIR=-I$python_root/include/${ver}
929 if test -d $python_root/lib64/${ver}/config; then
930 PYTHON_LIBS="-L$python_root/lib64/${ver}/config -l${ver}"
932 PYTHON_LIBS="-L$python_root/lib/${ver}/config -l${ver}"
939 if test x$PYTHON_INCDIR = x; then
940 if test -f $prefix/include/Python.h; then
941 PYTHON_INCDIR=-I$prefix/include
942 if test -d $prefix/lib64/config; then
943 PYTHON_LIBS="-L$prefix/lib64/config -lpython"
945 PYTHON_LIBS="-L$prefix/lib/config -lpython"
949 AC_MSG_ERROR(Unable to find Python.h in standard locations)
953 if test -f $withval/Python.h; then
954 PYTHON_INCDIR=-I$withval
955 PYTHON_LIBS="-L$withval/config -lpython"
956 elif test -f $withval/include/Python.h; then
957 PYTHON_INCDIR=-I$withval/include
958 if test -d $withval/lib64/config; then
959 PYTHON_LIBS="-L$withval/lib64/config -lpython"
961 PYTHON_LIBS="-L$withval/lib/config -lpython"
963 elif test -f $withval/include/python/Python.h; then
964 PYTHON_INCDIR=-I$withval/include/python
965 if test -d $withval/lib64/python/config; then
966 PYTHON_LIBS="-L$withval/lib64/python/config -lpython"
968 PYTHON_LIBS="-L$withval/lib/python/config -lpython"
972 AC_MSG_ERROR(Invalid Python directory $withval - unable to find Python.h under $withval)
976 AC_DEFINE([HAVE_PYTHON], 1)
979 AC_MSG_NOTICE(checking for more Python libs)
980 saved_LIBS="$LIBS"; LIBS=
981 AC_SEARCH_LIBS(shm_open, [rt])
982 AC_CHECK_LIB(util, openpty)
983 PYTHON_LIBS="$PYTHON_LIBS $LIBS"
992 AC_SUBST(PYTHON_LIBS)
993 AC_SUBST(PYTHON_INCDIR)
996 dnl Find where sockets are (especially for Solaris)
997 dnl Do this before the TCP Wrappers test since tcp wrappers
998 dnl uses the socket library and some linkers are stupid.
1000 AC_CHECK_FUNC(socket,
1001 AC_MSG_RESULT(using libc's socket),
1002 AC_CHECK_LIB(xnet,socket)
1003 AC_CHECK_LIB(socket,socket)
1004 AC_CHECK_LIB(inet,socket))
1006 dnl -----------------------------------------------------------
1007 dnl Check whether user wants TCP wrappers support (default off)
1008 dnl -----------------------------------------------------------
1011 AC_ARG_WITH(tcp-wrappers,
1012 AC_HELP_STRING([--with-tcp-wrappers@<:@=DIR@:>@], [enable tcpwrappers support]),
1014 if test "x$withval" != "xno" ; then
1016 LIBS="$saved_LIBS -lwrap"
1017 AC_MSG_CHECKING(for libwrap)
1018 AC_SEARCH_LIBS(nanosleep, [rt])
1021 #include <sys/types.h>
1023 int deny_severity = 0;
1024 int allow_severity = 0;
1025 struct request_info *req;
1030 AC_DEFINE(HAVE_LIBWRAP, 1, [Set to enable libwraper support])
1035 LIBS="$saved_LIBS -lwrap -lnsl"
1036 WRAPLIBS="$saved_LIBS -lwrap -lnsl"
1039 #include <sys/types.h>
1041 int deny_severity = 0;
1042 int allow_severity = 0;
1043 struct request_info *req;
1048 AC_DEFINE(HAVE_LIBWRAP, 1, [Set to enable libwraper support])
1053 AC_MSG_ERROR([*** libwrap missing])
1062 dnl -----------------------------------------------------------
1063 dnl Check whether OpenSSL is available
1064 dnl -----------------------------------------------------------
1065 AC_MSG_CHECKING([for OpenSSL])
1066 dnl The following uses quadrigraphs:
1069 AC_ARG_WITH(openssl,
1070 AC_HELP_STRING([--with-openssl@<:@=DIR@:>@], [Include OpenSSL support. DIR is the OpenSSL base]),
1072 with_openssl_directory=${withval}
1076 if test "x$with_openssl_directory" != "xno"; then
1077 OPENSSL_LIBS="-lssl -lcrypto"
1080 if test "x$with_openssl_directory" != "xyes" && test x"${with_openssl_directory}" != "x"; then
1082 # Make sure the $with_openssl_directory also makes sense
1084 if test -d "$with_openssl_directory/lib" -a -d "$with_openssl_directory/include"; then
1085 OPENSSL_LIBS="-L$with_openssl_directory/lib $OPENSSL_LIBS"
1086 OPENSSL_INC="-I$with_openssl_directory/include $OPENSSL_INC"
1090 saved_LIBS="${LIBS}"
1091 saved_CFLAGS="${CFLAGS}"
1092 LIBS="${saved_LIBS} ${OPENSSL_LIBS}"
1093 CFLAGS="${saved_CFLAGS} ${OPENSSL_INC}"
1097 #include <openssl/ssl.h>
1099 CRYPTO_set_id_callback(NULL);
1102 support_crypto="yes"
1110 #include <openssl/evp.h>
1114 ac_cv_openssl_sha2="yes"
1116 ac_cv_openssl_sha2="no"
1120 dnl Solaris disables greater than 128+ bit encryption in their OpenSSL
1121 dnl implementation, presumably for export reasons. If 192bit AES
1122 dnl is available, we assume that we're running with a 'non-export'
1123 dnl openssl library.
1126 #include <openssl/evp.h>
1130 ac_cv_openssl_export="no"
1132 ac_cv_openssl_export="yes"
1136 LIBS="${saved_LIBS}"
1137 CFLAGS="${saved_CFLAGS}"
1139 if test "$support_tls" = "yes"; then
1140 AC_DEFINE(HAVE_OPENSSL, 1, [Define if OpenSSL library is available])
1141 AC_DEFINE(HAVE_TLS, 1, [Define if TLS support should be enabled])
1142 AC_DEFINE(HAVE_CRYPTO, 1, [Define if encryption support should be enabled])
1145 if test "$ac_cv_openssl_sha2" = "yes"; then
1146 AC_DEFINE(HAVE_SHA2, 1, [Define if the SHA-2 family of digest algorithms is available])
1149 if test "$ac_cv_openssl_export" = "yes"; then
1150 AC_DEFINE(HAVE_OPENSSL_EXPORT_LIBRARY, 1, [Define if the OpenSSL library is export-contrained to 128bit ciphers])
1159 AC_MSG_RESULT([$support_tls])
1160 AC_SUBST(OPENSSL_LIBS)
1161 AC_SUBST(OPENSSL_INC)
1163 dnl -----------------------------------------------------------
1164 dnl dlopen is needed for plugins
1165 dnl -----------------------------------------------------------
1166 AC_SEARCH_LIBS(dlopen, [dl])
1168 dnl ------------------------------------------
1169 dnl Where to place working dir
1170 dnl ------------------------------------------
1171 working_dir=`eval echo ${prefix}/var/bacula/working`
1172 AC_ARG_WITH(working-dir,
1173 AC_HELP_STRING([--with-working-dir=PATH], [specify path of Bacula working directory]),
1175 if test "x$withval" != "xno" ; then
1176 working_dir=$withval
1181 AC_SUBST(working_dir)
1183 dnl ------------------------------------------------------------------
1184 dnl If the user has not set archivedir, we set our default as /tmp
1185 dnl ------------------------------------------------------------------
1187 AC_ARG_WITH(archivedir,
1188 AC_HELP_STRING([--with-archivedir=PATH], [specify path of SD archive directory]),
1190 if test "x$withval" != "xno" ; then
1196 AC_SUBST(archivedir)
1198 dnl ------------------------------------------------------------------
1199 dnl Allow the user to specify the daemon resource name default hostname
1200 dnl ------------------------------------------------------------------
1202 AC_ARG_WITH(basename,
1203 AC_HELP_STRING([--with-basename=RESNAME], [specify base resource name for daemons]),
1205 if test "x$withval" != "xno" ; then
1214 dnl ------------------------------------------
1215 dnl Where to place scriptdir (script files)
1216 dnl ------------------------------------------
1217 scriptdir=`eval echo ${sysconfdir}`
1218 AC_ARG_WITH(scriptdir,
1219 AC_HELP_STRING([--with-scriptdir=PATH], [specify path of Bacula scripts directory]),
1221 if test "x$withval" != "xno" ; then
1230 dnl ------------------------------------------
1231 dnl Where to place bsrdir (bsr files)
1232 dnl ------------------------------------------
1235 AC_HELP_STRING([--with-bsrdir=PATH], [specify path of Bacula bsrs directory]),
1237 if test "x$withval" != "xno" ; then
1245 dnl ------------------------------------------
1246 dnl Where to place logdir (bsr files)
1247 dnl ------------------------------------------
1250 AC_HELP_STRING([--with-logdir=PATH], [specify path of Bacula logs directory]),
1252 if test "x$withval" != "xno" ; then
1261 # ------------------------------------------
1262 # Where to place plugindir (plugin files)
1263 # ------------------------------------------
1264 plugindir=`eval echo ${libdir}`
1265 AC_ARG_WITH(plugindir,
1266 AC_HELP_STRING([--with-plugindir=PATH], [specify path of Bacula plugins directory]),
1268 if test "x$withval" != "xno" ; then
1276 dnl ------------------------------------------
1277 dnl Where to send dump email
1278 dnl ------------------------------------------
1279 dump_email=root@localhost
1280 AC_ARG_WITH(dump-email,
1281 AC_HELP_STRING([--with-dump-email=EMAIL], [dump email address]),
1283 if test "x$withval" != "xno" ; then
1289 AC_SUBST(dump_email)
1291 dnl ------------------------------------------
1292 dnl Where to send job email
1293 dnl ------------------------------------------
1294 job_email=root@localhost
1295 AC_ARG_WITH(job-email,
1296 AC_HELP_STRING([--with-job-email=EMAIL], [job output email address]),
1298 if test "x$withval" != "xno" ; then
1306 dnl ------------------------------------------
1307 dnl Where to find smtp host
1308 dnl ------------------------------------------
1310 AC_ARG_WITH(smtp_host,
1311 AC_HELP_STRING([--with-smtp-host=HOST], [SMTP mail host address]),
1313 if test "x$withval" != "xno" ; then
1321 dnl ------------------------------------
1322 dnl Where to place pid files
1323 dnl ------------------------------------
1325 AC_ARG_WITH(pid-dir,
1326 AC_HELP_STRING([--with-pid-dir=PATH], [specify location of Bacula pid files]),
1328 if test "x$withval" != "xno" ; then
1334 AC_DEFINE_UNQUOTED(_PATH_BACULA_PIDDIR, "$piddir")
1337 dnl ------------------------------------
1338 dnl Where to place subsys "lock file"
1339 dnl ------------------------------------
1340 subsysdir=/var/run/subsys
1341 if test -d /var/run/subsys; then
1342 subsysdir=/var/run/subsys
1343 elif test -d /var/lock/subsys; then
1344 subsysdir=/var/lock/subsys
1346 subsysdir=/var/run/subsys
1348 AC_ARG_WITH(subsys-dir,
1349 AC_HELP_STRING([--with-subsys-dir=PATH], [specify location of Bacula subsys file]),
1351 if test "x$withval" != "xno" ; then
1359 dnl ------------------------------------
1360 dnl Where to start assigning ports
1361 dnl ------------------------------------
1363 AC_ARG_WITH(baseport,
1364 AC_HELP_STRING([--with-baseport=PORT], [specify base port address for daemons]),
1366 if test "x$withval" != "xno" ; then
1373 dir_port=`expr $baseport`
1374 fd_port=`expr $baseport + 1`
1375 sd_port=`expr $fd_port + 1`
1381 dnl ------------------------------------------
1382 dnl Generate passwords
1383 dnl ------------------------------------------
1385 AC_ARG_WITH(dir-password,
1386 AC_HELP_STRING([--with-dir-password=PASSWORD], [specify Director's password]),
1388 if test "x$withval" != "xno" ; then
1389 dir_password=$withval
1394 if test "x$dir_password" = "x" ; then
1395 if test "x$OPENSSL" = "xnone" ; then
1396 key=`autoconf/randpass 33`
1398 key=`openssl rand -base64 33`
1404 AC_ARG_WITH(fd-password,
1405 AC_HELP_STRING([--with-fd-password=PASSWORD], [specify Client's password]),
1407 if test "x$withval" != "xno" ; then
1408 fd_password=$withval
1413 if test "x$fd_password" = "x" ; then
1414 if test "x$OPENSSL" = "xnone" ; then
1415 key=`autoconf/randpass 37`
1417 key=`openssl rand -base64 33`
1423 AC_ARG_WITH(sd-password,
1424 AC_HELP_STRING([--with-sd-password=PASSWORD], [specify Storage daemon's password]),
1426 if test "x$withval" != "xno" ; then
1427 sd_password=$withval
1432 if test "x$sd_password" = "x" ; then
1433 if test "x$OPENSSL" = "xnone" ; then
1434 key=`autoconf/randpass 41`
1436 key=`openssl rand -base64 33`
1442 AC_ARG_WITH(mon-dir-password,
1443 AC_HELP_STRING([--with-mon-dir-password=PASSWORD], [specify Director's password used by the monitor]),
1445 if test "x$withval" != "xno" ; then
1446 mon_dir_password=$withval
1451 if test "x$mon_dir_password" = "x" ; then
1452 if test "x$OPENSSL" = "xnone" ; then
1453 key=`autoconf/randpass 33`
1455 key=`openssl rand -base64 33`
1457 mon_dir_password=$key
1461 AC_ARG_WITH(mon-fd-password,
1462 AC_HELP_STRING([--with-mon-fd-password=PASSWORD], [specify Client's password used by the monitor]),
1464 if test "x$withval" != "xno" ; then
1465 mon_fd_password=$withval
1470 if test "x$mon_fd_password" = "x" ; then
1471 if test "x$OPENSSL" = "xnone" ; then
1472 key=`autoconf/randpass 37`
1474 key=`openssl rand -base64 33`
1476 mon_fd_password=$key
1480 AC_ARG_WITH(mon-sd-password,
1481 AC_HELP_STRING([--with-mon-sd-password=PASSWORD], [specify Storage daemon's password used by the monitor]),
1483 if test "x$withval" != "xno" ; then
1484 mon_sd_password=$withval
1489 if test "x$mon_sd_password" = "x" ; then
1490 if test "x$OPENSSL" = "xnone" ; then
1491 key=`autoconf/randpass 41`
1493 key=`openssl rand -base64 33`
1495 mon_sd_password=$key
1498 AC_SUBST(dir_password)
1499 AC_SUBST(fd_password)
1500 AC_SUBST(sd_password)
1501 AC_SUBST(mon_dir_password)
1502 AC_SUBST(mon_fd_password)
1503 AC_SUBST(mon_sd_password)
1506 dnl Pickup any database name
1509 AC_ARG_WITH(db_name,
1510 AC_HELP_STRING([--with-db-name=DBNAME], [specify database name @<:@default=bacula@:>@]),
1512 if test "x$withval" != "x" ; then
1520 AC_ARG_WITH(db_user,
1521 AC_HELP_STRING([--with-db-user=UNAME], [specify database user @<:@default=bacula@:>@]),
1523 if test "x$withval" != "x" ; then
1531 AC_ARG_WITH(db_password,
1532 AC_HELP_STRING([--with-db-password=PWD], [specify database password @<:@default=*none*@:>@]),
1534 if test "x$withval" != "x" ; then
1535 db_password=$withval
1539 AC_SUBST(db_password)
1542 dnl Pickup a database port
1545 AC_ARG_WITH(db_port,
1546 AC_HELP_STRING([--with-db-port=DBPORT], [specify a database port @<:@default=null@:>@]),
1548 if test "x$withval" != "x" ; then
1556 # Handle users and groups for each daemon
1559 AC_ARG_WITH(dir_user,
1560 AC_HELP_STRING([--with-dir-user=USER], [specify user for Director daemon]),
1562 if test "x$withval" != "x" ; then
1569 AC_ARG_WITH(dir_group,
1570 AC_HELP_STRING([--with-dir-group=GROUP], [specify group for Director daemon]),
1572 if test "x$withval" != "x" ; then
1579 AC_ARG_WITH(sd_user,
1580 AC_HELP_STRING([--with-sd-user=USER], [specify user for Storage daemon]),
1582 if test "x$withval" != "x" ; then
1589 AC_ARG_WITH(sd_group,
1590 AC_HELP_STRING([--with-sd-group=GROUP], [specify group for Storage daemon]),
1592 if test "x$withval" != "x" ; then
1599 AC_ARG_WITH(fd_user,
1600 AC_HELP_STRING([--with-fd-user=USER], [specify user for File daemon]),
1602 if test "x$withval" != "x" ; then
1609 AC_ARG_WITH(fd_group,
1610 AC_HELP_STRING([--with-fd-group=GROUP], [specify group for File daemon]),
1612 if test "x$withval" != "x" ; then
1626 dnl allow setting default executable permissions
1629 AC_ARG_WITH(sbin-perm,
1630 AC_HELP_STRING([--with-sbin-perm=MODE], [specify permissions for sbin binaries @<:@default=0754@:>@]),
1632 if test "x$withval" != "x" ; then
1640 dnl ------------------------------------------------
1641 dnl Bacula check for various SQL database engines
1642 dnl ------------------------------------------------
1644 BA_CHECK_POSTGRESQL_DB
1659 dnl -------------------------------------------
1660 dnl enable batch attribute DB insert (default on)
1661 dnl -------------------------------------------
1662 support_batch_insert=no
1663 A=`test -f $SQL_LIB && nm $SQL_LIB | grep pthread_mutex_lock`
1665 if test $pkg = 0; then
1666 support_batch_insert=yes
1667 AC_ARG_ENABLE(batch-insert,
1668 AC_HELP_STRING([--enable-batch-insert], [enable the DB batch insert code @<:@default=no@:>@]),
1670 if test x$enableval = xno; then
1671 support_batch_insert=no
1673 support_batch_insert=yes
1679 dnl Check if postgresql support batch mode
1680 if test x$DB_TYPE = xpostgresql; then
1681 A=`test -f $SQL_LIB && nm $SQL_LIB | grep PQputCopyData`
1683 if test $pkg != 0; then
1684 support_batch_insert=no
1688 if test x$DB_TYPE = xdbi; then
1692 dnl Check for batch insert
1693 if test $DB_PROG = postgresql; then
1694 A=`test -f $SQL_LIB && nm $SQL_LIB | grep PQputCopyData`
1698 if test $DB_PROG = mysql; then
1699 A=`test -f $SQL_LIB && nm $DB_PROG_LIB | grep pthread_mutex_lock`
1703 if test $DB_PROG = sqlite3; then
1704 A=`test -f $SQL_LIB && nm $DB_PROG_LIB | grep pthread_mutex_lock`
1708 if test $pkg = 0; then
1709 AC_ARG_ENABLE(batch-insert,
1710 AC_HELP_STRING([--enable-batch-insert], [enable the DB batch insert code @<:@default=no@:>@]),
1712 if test x$enableval = xno; then
1713 support_batch_insert=no
1715 support_batch_insert=yes
1721 dnl If dbi was not chosen, let the comment in file
1725 AC_SUBST(uncomment_dbi)
1727 if test $support_batch_insert = yes ; then
1728 AC_DEFINE(HAVE_BATCH_FILE_INSERT, 1, [Set if DB batch insert code enabled])
1731 AC_DEFINE(PROTOTYPES)
1733 dnl --------------------------------------------------------------------------
1734 dnl Supply default CFLAGS, if not specified by `CFLAGS=flags ./configure'
1736 if test -z "$CFLAGS" -o "$CFLAGS" = "-g -O2"; then
1737 if test -z "$CCOPTS"; then
1738 CCOPTS='-g -O2 -Wall'
1746 dnl See if we can use 64 bit file addresses
1747 largefile_support="no"
1752 dnl --------------------------------------------------------------------------
1753 dnl CHECKING FOR HEADER FILES
1754 dnl --------------------------------------------------------------------------
1792 AC_STRUCT_ST_BLKSIZE
1796 dnl --------------------------------------------------------------------------
1797 dnl Check for utime.h structure
1798 dnl --------------------------------------------------------------------------
1799 AC_CACHE_CHECK(for utime.h, ba_cv_header_utime_h,
1803 #include <sys/types.h>
1808 ba_cv_header_utime_h=yes
1810 ba_cv_header_utime_h=no
1815 test $ba_cv_header_utime_h = yes && AC_DEFINE(HAVE_UTIME_H, 1, [Set if utime.h exists])
1817 dnl --------------------------------------------------------------------------
1818 dnl Check for socklen_t
1819 dnl --------------------------------------------------------------------------
1820 AC_CACHE_CHECK(for socklen_t, ba_cv_header_socklen_t,
1824 #include <sys/types.h>
1825 #include <sys/socket.h>
1829 ba_cv_header_socklen_t=yes
1831 ba_cv_header_socklen_t=no
1836 test $ba_cv_header_socklen_t = yes && AC_DEFINE(HAVE_SOCKLEN_T)
1838 dnl --------------------------------------------------------------------------
1839 dnl Check for bigendian
1840 dnl --------------------------------------------------------------------------
1841 AC_CACHE_CHECK([for bigendian], ba_cv_bigendian,
1845 main(){long a=1L; char *p=(char *)&a; exit(*p);}
1856 test $ba_cv_bigendian = yes && AC_DEFINE(HAVE_BIGENDIAN)
1858 dnl --------------------------------------------------------------------------
1859 dnl Check for typeof()
1860 dnl --------------------------------------------------------------------------
1862 AC_CACHE_CHECK(for typeof, ba_cv_have_typeof,
1866 main(){char *a = 0; a = (typeof a)a;}
1868 ba_cv_have_typeof=yes
1870 ba_cv_have_typeof=no
1872 ba_cv_have_typeof=no
1877 test $ba_cv_have_typeof = yes && AC_DEFINE([HAVE_TYPEOF], 1, [Defind to 1 if compiler has typeof])
1882 dnl --------------------------------------------------------------------------
1883 dnl CHECKING FOR FILESYSTEM TYPE
1884 dnl --------------------------------------------------------------------------
1885 AC_MSG_CHECKING(how to get filesystem type)
1887 # The order of these tests is important.
1890 #include <sys/statvfs.h>
1891 #include <sys/fstyp.h>
1893 AC_DEFINE(FSTYPE_STATVFS) fstype=SVR4
1895 if test $fstype = no; then
1898 #include <sys/statfs.h>
1899 #include <sys/fstyp.h>
1901 AC_DEFINE(FSTYPE_USG_STATFS) fstype=SVR3
1904 if test $fstype = no; then
1907 #include <sys/statfs.h>
1908 #include <sys/vmount.h>
1910 AC_DEFINE(FSTYPE_AIX_STATFS) fstype=AIX
1913 if test $fstype = no; then
1918 AC_DEFINE(FSTYPE_MNTENT) fstype=4.3BSD
1921 if test $fstype = no; then
1922 AC_EGREP_HEADER(f_type;, sys/mount.h, AC_DEFINE(FSTYPE_STATFS) fstype=4.4BSD/OSF1)
1924 if test $fstype = no; then
1927 #include <sys/mount.h>
1928 #include <sys/fs_types.h>
1930 AC_DEFINE(FSTYPE_GETMNT) fstype=Ultrix
1933 AC_MSG_RESULT($fstype)
1935 AC_CHECK_HEADER(sys/statvfs.h, [ AC_DEFINE(HAVE_SYS_STATVFS_H,1,[Defines if your system have the sys/statvfs.h header file])] , )
1937 dnl --------------------------------------------------------------------------
1938 dnl CHECKING FOR TYPEDEFS, STRUCTURES, AND COMPILER CHARACTERISTICS.
1939 dnl --------------------------------------------------------------------------
1949 AC_CHECK_TYPE(ino_t, unsigned long)
1950 AC_CHECK_TYPE(dev_t, unsigned long)
1951 AC_CHECK_TYPE(daddr_t, long)
1952 AC_CHECK_TYPE(major_t, int)
1953 AC_CHECK_TYPE(minor_t, int)
1954 AC_CHECK_TYPE(ssize_t, int)
1960 AC_CHECK_SIZEOF(char, 1)
1961 AC_CHECK_SIZEOF(short int, 2)
1962 AC_CHECK_SIZEOF(int, 4)
1963 AC_CHECK_SIZEOF(long int, 4)
1964 AC_CHECK_SIZEOF(long long int, 8)
1965 AC_CHECK_SIZEOF(int *, 4)
1967 dnl Check for sys/types.h types
1968 AC_CACHE_CHECK([for u_int type], ac_cv_have_u_int,
1972 #include <sys/types.h>
1976 ac_cv_have_u_int="yes"
1978 ac_cv_have_u_int="no"
1983 if test "x$ac_cv_have_u_int" = "xyes" ; then
1984 AC_DEFINE(HAVE_U_INT)
1988 AC_CACHE_CHECK([for intmax_t type], ac_cv_have_intmax_t,
1992 #include <sys/types.h>
1996 ac_cv_have_intmax_t="yes"
2004 ac_cv_have_intmax_t="yes"
2006 ac_cv_have_intmax_t="no"
2013 if test "x$ac_cv_have_intmax_t" = "xyes" ; then
2014 AC_DEFINE(HAVE_INTMAX_T)
2018 AC_CACHE_CHECK([for u_intmax_t type], ac_cv_have_u_intmax_t,
2022 #include <sys/types.h>
2024 u_intmax_t a; a = 1;
2026 ac_cv_have_u_intmax_t="yes"
2032 u_intmax_t a; a = 1;
2034 ac_cv_have_u_intmax_t="yes"
2036 ac_cv_have_u_intmax_t="no"
2043 if test "x$ac_cv_have_u_intmax_t" = "xyes" ; then
2044 AC_DEFINE(HAVE_U_INTMAX_T)
2048 AC_CACHE_CHECK([for intXX_t types], ac_cv_have_intxx_t,
2052 #include <sys/types.h>
2054 int8_t a; int16_t b; int32_t c; a = b = c = 1;
2056 ac_cv_have_intxx_t="yes"
2058 ac_cv_have_intxx_t="no"
2063 if test "x$ac_cv_have_intxx_t" = "xyes" ; then
2064 AC_DEFINE(HAVE_INTXX_T)
2068 AC_CACHE_CHECK([for int64_t type], ac_cv_have_int64_t,
2072 #include <sys/types.h>
2076 ac_cv_have_int64_t="yes"
2078 ac_cv_have_int64_t="no"
2083 if test "x$ac_cv_have_int64_t" = "xyes" ; then
2084 AC_DEFINE(HAVE_INT64_T)
2088 AC_CACHE_CHECK([for u_intXX_t types], ac_cv_have_u_intxx_t,
2092 #include <sys/types.h>
2094 u_int8_t a; u_int16_t b; u_int32_t c; a = b = c = 1;
2096 ac_cv_have_u_intxx_t="yes"
2098 ac_cv_have_u_intxx_t="no"
2103 if test "x$ac_cv_have_u_intxx_t" = "xyes" ; then
2104 AC_DEFINE(HAVE_U_INTXX_T)
2108 AC_CACHE_CHECK([for u_int64_t types], ac_cv_have_u_int64_t,
2112 #include <sys/types.h>
2116 ac_cv_have_u_int64_t="yes"
2118 ac_cv_have_u_int64_t="no"
2123 if test "x$ac_cv_have_u_int64_t" = "xyes" ; then
2124 AC_DEFINE(HAVE_U_INT64_T)
2128 if (test -z "$have_u_intxx_t" || test -z "$have_intxx_t" && \
2129 test "x$ac_cv_header_sys_bitypes_h" = "xyes")
2131 AC_MSG_CHECKING([for intXX_t and u_intXX_t types in sys/bitypes.h])
2134 #include <sys/bitypes.h>
2136 int8_t a; int16_t b; int32_t c;
2137 u_int8_t e; u_int16_t f; u_int32_t g;
2138 a = b = c = e = f = g = 1;
2140 AC_DEFINE(HAVE_U_INTXX_T)
2141 AC_DEFINE(HAVE_INTXX_T)
2142 AC_DEFINE(HAVE_SYS_BITYPES_H)
2150 if test -z "$have_u_intxx_t" ; then
2151 AC_CACHE_CHECK([for uintXX_t types], ac_cv_have_uintxx_t,
2155 #include <sys/types.h>
2157 uint8_t a; uint16_t b;
2158 uint32_t c; a = b = c = 1;
2160 ac_cv_have_uintxx_t="yes"
2162 ac_cv_have_uintxx_t="no"
2167 if test "x$ac_cv_have_uintxx_t" = "xyes" ; then
2168 AC_DEFINE(HAVE_UINTXX_T)
2172 if (test -z "$have_u_int64_t" || test -z "$have_int64_t" && \
2173 test "x$ac_cv_header_sys_bitypes_h" = "xyes")
2175 AC_MSG_CHECKING([for int64_t and u_int64_t types in sys/bitypes.h])
2178 #include <sys/bitypes.h>
2180 int64_t a; u_int64_t b;
2183 AC_DEFINE(HAVE_U_INT64_T)
2184 AC_DEFINE(HAVE_INT64_T)
2192 if (test -z "$have_uintxx_t" && \
2193 test "x$ac_cv_header_sys_bitypes_h" = "xyes")
2195 AC_MSG_CHECKING([for uintXX_t types in sys/bitypes.h])
2198 #include <sys/bitypes.h>
2200 uint8_t a; uint16_t b;
2201 uint32_t c; a = b = c = 1;
2203 AC_DEFINE(HAVE_UINTXX_T)
2211 dnl --------------------------------------------------------------------------
2212 dnl CHECKING FOR REQUIRED LIBRARY FUNCTIONS
2213 dnl --------------------------------------------------------------------------
2229 [echo 'configure: cannot find needed function.'; exit 1]
2232 AC_CHECK_FUNCS(fchdir, [AC_DEFINE(HAVE_FCHDIR)])
2233 AC_CHECK_FUNCS(strtoll, [AC_DEFINE(HAVE_STRTOLL)])
2234 AC_CHECK_FUNCS(posix_fadvise)
2235 AC_CHECK_FUNCS(fdatasync)
2237 AC_CHECK_FUNCS(chflags)
2239 AC_CHECK_FUNCS(snprintf vsnprintf gethostid fseeko)
2241 AC_CACHE_CHECK(for va_copy, ba_cv_va_copy,
2246 void use_va_copy(va_list args){va_list args2; va_copy(args2,args); va_end(args2);}
2247 void call_use_va_copy(int junk,...){va_list args; va_start(args,junk); use_va_copy(args); va_end(args);}
2249 call_use_va_copy(1,2,3)
2258 test $ba_cv_va_copy = yes && AC_DEFINE(HAVE_VA_COPY, 1, [Set if va_copy exists])
2260 dnl --------------------------------------------------------------------------
2261 dnl CHECKING FOR THREAD SAFE FUNCTIONS
2262 dnl --------------------------------------------------------------------------
2263 AC_CHECK_FUNCS(localtime_r readdir_r strerror_r gethostbyname_r)
2265 # If resolver functions are not in libc check for -lnsl or -lresolv.
2266 AC_CHECK_FUNC(gethostbyname_r,
2267 AC_MSG_RESULT(using libc's resolver),
2268 AC_CHECK_LIB(nsl,gethostbyname_r)
2269 AC_CHECK_LIB(resolv,gethostbyname_r))
2271 AC_CHECK_FUNCS(inet_pton, [AC_DEFINE(HAVE_INET_PTON)])
2272 AC_CHECK_FUNCS(inet_ntop, [AC_DEFINE(HAVE_INET_NTOP)])
2273 AC_CHECK_FUNCS(gethostbyname2, [AC_DEFINE(HAVE_GETHOSTBYNAME2)])
2275 dnl ----------------------------
2276 dnl check sa_len of sockaddr
2277 dnl ----------------------------
2278 AC_CACHE_CHECK(for struct sockaddr has a sa_len field, ac_cv_struct_sockaddr_sa_len,
2282 #include <sys/socket.h>
2284 struct sockaddr s; s.sa_len;
2286 ac_cv_struct_sockaddr_sa_len=yes
2287 ], [ac_cv_struct_sockaddr_sa_len=no
2293 if test $ac_cv_struct_sockaddr_sa_len = yes; then
2294 AC_DEFINE(HAVE_SA_LEN, 1, [Define if sa_len field exists in struct sockaddr])
2301 AC_FUNC_CLOSEDIR_VOID
2302 AC_FUNC_SETPGRP dnl check for BSD setpgrp.
2303 # AC_FUNC_FNMATCH dnl use local version
2305 AC_CHECK_LIB(intl, gettext, [LIBS="$LIBS -lintl"])
2307 AC_CHECK_LIB(sun, getpwnam)
2309 AC_CHECK_HEADERS(zlib.h)
2310 AC_CHECK_LIB(z, deflate, [FDLIBS="-lz"])
2312 if test x$FDLIBS = x-lz; then
2313 AC_DEFINE(HAVE_LIBZ)
2318 dnl Check for ACL support and libraries
2322 AC_HELP_STRING([--disable-acl], [disable acl support @<:@default=auto@:>@]),
2324 if test x$enableval = xno; then
2331 have_extended_acl=no
2332 if test x$support_acl = xyes; then
2333 AC_CHECK_HEADER(sys/acl.h, [ AC_DEFINE(HAVE_SYS_ACL_H,1,[Defines if your system have the sys/acl.h header file])] , )
2334 AC_CHECK_FUNC(acl_get_file,
2338 AC_CHECK_LIB(acl, acl_get_file,
2341 FDLIBS="-lacl $FDLIBS"
2343 AC_CHECK_LIB(pacl, acl_get_file,
2346 FDLIBS="-lpacl $FDLIBS"
2348 AC_CHECK_LIB(sec, acltotext,
2351 FDLIBS="-lsec $FDLIBS"
2353 AC_CHECK_LIB(sec, acl_totext,
2355 have_extended_acl=yes
2366 if test $have_acl = yes; then
2367 AC_DEFINE([HAVE_ACL], [], [Normal attribute support])
2370 if test $have_extended_acl = yes; then
2371 AC_DEFINE([HAVE_EXTENDED_ACL], [], [Extended attribute support])
2376 dnl Check for XATTR support
2379 AC_ARG_ENABLE(xattr,
2380 AC_HELP_STRING([--disable-xattr], [disable xattr support @<:@default=auto@:>@]),
2382 if test x$enableval = xno; then
2389 if test x$support_xattr = xyes; then
2390 AC_CHECK_HEADER(sys/xattr.h, [ AC_DEFINE(HAVE_SYS_XATTR_H,1,[Defines if your system have the sys/xattr.h header file])] , )
2391 AC_CHECK_FUNCS(llistxattr lgetxattr lsetxattr,
2394 AC_DEFINE([HAVE_LLISTXATTR], [], [LLISTXATTR support])
2395 AC_DEFINE([HAVE_LGETXATTR], [], [LGETXATTR support])
2396 AC_DEFINE([HAVE_LSETXATTR], [], [LSETXATTR support])
2403 if test $have_xattr = no; then
2404 AC_CHECK_FUNCS(listxattr getxattr setxattr,
2407 AC_DEFINE([HAVE_LLISTXATTR], [], [LLISTXATTR support])
2408 AC_DEFINE([HAVE_LGETXATTR], [], [LGETXATTR support])
2409 AC_DEFINE([HAVE_LSETXATTR], [], [LSETXATTR support])
2417 if test $have_xattr = no; then
2418 AC_CHECK_HEADER(sys/attr.h, [ AC_DEFINE(HAVE_SYS_ATTR_H,1,[Defines if your system have the sys/attr.h header file])] , )
2419 AC_CHECK_HEADER(sys/nvpair.h, [ AC_DEFINE(HAVE_SYS_NVPAIR_H,1,[Defines if your system have the sys/nvpair.h header file])] , )
2420 AC_CHECK_HEADER(attr.h, [ AC_DEFINE(HAVE_ATTR_H,1,[Defines if your system have the attr.h header file])] , )
2422 AC_CHECK_FUNCS(openat fstatat unlinkat fchownat futimesat,
2425 AC_DEFINE([HAVE_OPENAT], [], [OPENAT support])
2426 AC_DEFINE([HAVE_FSTATAT], [], [FSTATAT support])
2427 AC_DEFINE([HAVE_UNLINKAT], [], [UNLINKAT support])
2428 AC_DEFINE([HAVE_FCHOWNAT], [], [FCHOWNAT support])
2429 AC_DEFINE([HAVE_FUTIMESAT], [], [FUTIMESAT support])
2433 if test $have_xattr = yes; then
2434 AC_CHECK_LIB(nvpair, nvlist_next_nvpair,
2436 FDLIBS="-lnvpair $FDLIBS"
2442 if test $have_xattr = yes; then
2443 AC_DEFINE([HAVE_XATTR], [], [XATTR support])
2448 dnl Check for pthread libraries
2451 AC_CHECK_LIB(pthread, pthread_create, PTHREAD_LIB="-lpthread",
2453 AC_CHECK_LIB(pthreads, pthread_create, PTHREAD_LIB="-lpthreads",
2455 AC_CHECK_LIB(c_r, pthread_create, PTHREAD_LIB="-lc_r",
2457 AC_CHECK_FUNC(pthread_create)
2470 if test x$have_gcc = xyes ; then
2471 CPPFLAGS="$CPPFLAGS -fno-strict-aliasing -fno-exceptions -fno-rtti"
2472 CFLAGS="$CFLAGS -fno-strict-aliasing -fno-exceptions -fno-rtti"
2474 LDFLAGS=${LDFLAGS--O}
2475 DB_LIBS="${SQL_LFLAGS}"
2476 CPPFLAGS="$CPPFLAGS"
2489 AC_SUBST(X_EXTRA_LIBS)
2494 dnl extra configurable objects
2505 dnl Finally we set appropriate distribution specific
2506 dnl variables and defaults
2508 dnl PFILES are platform specific files
2509 PFILES="platforms/Makefile"
2513 hostname=`uname -n | cut -d '.' -f 1`
2514 if test x${hostname} = x ; then
2515 hostname="localhost"
2520 PSCMD="ps -e -o pid,comm"
2522 platforms/aix/Makefile"
2523 TAPEDRIVE="/dev/rmt0.1"
2527 PTHREAD_LIB="-lpthread -lexc"
2528 if test "${CC}" = "gcc" ; then
2535 TAPEDRIVE="/dev/nrmt0"
2538 DISTVER=`uname -a |awk '{print $3}'`
2539 TAPEDRIVE="/dev/nrmt0"
2540 PTHREAD_LIB="-pthread"
2541 CFLAGS="${CFLAGS} -pthread"
2542 PSCMD="ps -ax -o pid,command"
2546 platforms/bsdi/Makefile \
2547 platforms/bsdi/bacula-fd \
2548 platforms/bsdi/bacula-sd \
2549 platforms/bsdi/bacula-dir"
2550 largefile_support="yes"
2553 DISTVER=`uname -a |awk '{print $3}'`
2554 TAPEDRIVE="/dev/nrst0"
2557 WLDFLAGS="-mwindows"
2561 TAPEDRIVE="/dev/nst0"
2562 PSCMD="ps -e -o pid,command"
2565 platforms/darwin/Makefile"
2568 dnl Make sure hostname is resolved
2569 ping -c 1 $hostname 2>&1 1>/dev/null
2570 if test ! $? = 0; then
2571 hostname="localhost"
2573 if `test -f /etc/apt/sources.list && grep -q ubuntu /etc/apt/sources.list`; then
2576 DISTVER=`cat /etc/debian_version`
2577 if test -f /etc/lsb-release ; then
2579 if test "x$DISTRIB_ID" != "x" ; then
2580 DISTNAME=$DISTRIB_ID
2582 if test "x$DISTRIB_RELEASE" != "x" ; then
2583 DISTVER=$DISTRIB_RELEASE
2586 if test "$DISTNAME" = "Ubuntu" ; then
2589 TAPEDRIVE="/dev/nst0"
2590 PSCMD="ps -e -o pid,command"
2591 if test "$DISTNAME" = "ubuntu" ; then
2593 platforms/ubuntu/Makefile \
2594 platforms/ubuntu/bacula-fd \
2595 platforms/ubuntu/bacula-sd \
2596 platforms/ubuntu/bacula-dir"
2599 platforms/debian/Makefile \
2600 platforms/debian/bacula-fd \
2601 platforms/debian/bacula-sd \
2602 platforms/debian/bacula-dir"
2606 dnl Make sure hostname is resolved
2607 ping -c 1 $hostname 2>&1 1>/dev/null
2608 if test ! $? = 0; then
2609 hostname="localhost"
2611 DISTVER=`uname -a |awk '{print $3}'`
2612 VER=`echo $DISTVER | cut -c 1`
2613 if test x$VER = x4 ; then
2614 PTHREAD_LIB="${PTHREAD_LIBS:--pthread}"
2615 CFLAGS="${CFLAGS} ${PTHREAD_CFLAGS:--pthread}"
2619 TAPEDRIVE="/dev/nrsa0"
2620 PSCMD="ps -ax -o pid,command"
2622 platforms/freebsd/Makefile \
2623 platforms/freebsd/bacula-fd \
2624 platforms/freebsd/bacula-sd \
2625 platforms/freebsd/bacula-dir"
2626 largefile_support="yes"
2629 PSCMD="UNIX95=1; ps -e -o pid,comm"
2630 CFLAGS="${CFLAGS} -D_XOPEN_SOURCE_EXTENDED=1"
2632 TAPEDRIVE="/dev/rmt/0hnb"
2633 PTHREAD_LIB="-lpthread"
2634 AC_DEFINE([_INCLUDE_LONGLONG])
2638 TAPEDRIVE="/dev/rmt/0cbn"
2639 PSCMD="ps -e -o pid,comm"
2641 platforms/irix/Makefile \
2642 platforms/irix/bacula-fd \
2643 platforms/irix/bacula-sd \
2644 platforms/irix/bacula-dir"
2647 DISTVER=`uname -a |awk '{print $3}'`
2650 TAPEDRIVE="/dev/nrst0"
2651 PSCMD="ps -ax -o pid,command"
2652 PTHREAD_LIB="-pthread"
2653 CFLAGS="${CFLAGS} -pthread"
2656 DISTVER=`uname -a |awk '{print $3}'`
2659 TAPEDRIVE="/dev/nrst0"
2660 PSCMD="ps -ax -o pid,command"
2661 PTHREAD_LIB="-pthread"
2662 CFLAGS="${CFLAGS} -pthread"
2664 platforms/openbsd/Makefile \
2665 platforms/openbsd/bacula-fd \
2666 platforms/openbsd/bacula-sd \
2667 platforms/openbsd/bacula-dir"
2670 dnl Make sure hostname is resolved
2671 ping -c 1 $hostname 2>&1 1>/dev/null
2672 if test ! $? = 0; then
2673 hostname="localhost"
2675 if test -f /etc/whitebox-release ; then
2676 f=/etc/whitebox-release
2678 f=/etc/redhat-release
2680 if test `cat $f | grep release |\
2681 cut -f 3 -d ' '`x = "Enterprise"x ; then
2682 DISTVER="Enterprise "`cat $f | grep release |\
2685 DISTVER=`cat /etc/redhat-release | grep release |\
2688 TAPEDRIVE="/dev/nst0"
2689 PSCMD="ps -e -o pid,command"
2691 platforms/redhat/Makefile \
2692 platforms/redhat/bacula-fd \
2693 platforms/redhat/bacula-sd \
2694 platforms/redhat/bacula-dir \
2695 platforms/redhat/bacula.spec \
2699 dnl Make sure hostname is resolved
2700 ping -c 1 $hostname 2>&1 1>/dev/null
2701 if test ! $? = 0; then
2702 hostname="localhost"
2704 DISTVER=`cat /etc/mandrake-release | grep release |\
2706 TAPEDRIVE="/dev/nst0"
2707 PSCMD="ps -e -o pid,command"
2709 platforms/mandrake/Makefile \
2710 platforms/mandrake/bacula-fd \
2711 platforms/mandrake/bacula-sd \
2712 platforms/mandrake/bacula-dir \
2713 platforms/mandrake/bacula.spec \
2717 dnl Make sure hostname is resolved
2718 ping -c 1 $hostname 2>&1 1>/dev/null
2719 if test ! $? = 0; then
2720 hostname="localhost"
2722 DISTVER=`awk '/version / {print $5}' < /etc/gentoo-release`
2723 TAPEDRIVE="/dev/nst0"
2724 PSCMD="ps -e -o pid,command"
2726 platforms/gentoo/Makefile \
2727 platforms/gentoo/bacula-init \
2728 platforms/gentoo/bacula-fd \
2729 platforms/gentoo/bacula-sd \
2730 platforms/gentoo/bacula-dir"
2733 dnl Make sure hostname is resolved
2734 ping -c 1 $hostname 2>&1 1>/dev/null
2735 if test ! $? = 0; then
2736 hostname="localhost"
2738 DISTVER=`cat /etc/slackware-version`
2739 TAPEDRIVE="/dev/nst0"
2740 PSCMD="ps -e -o pid,command"
2742 platforms/slackware/Makefile \
2743 platforms/slackware/rc.bacula-fd \
2744 platforms/slackware/rc.bacula-sd \
2745 platforms/slackware/rc.bacula-dir\
2746 platforms/slackware/functions.bacula"
2750 TAPEDRIVE="/dev/rmt/0cbn"
2751 PSCMD="ps -e -o pid,comm"
2753 platforms/solaris/Makefile \
2754 platforms/solaris/bacula-fd \
2755 platforms/solaris/bacula-sd \
2756 platforms/solaris/bacula-dir"
2757 if test x$DISTVER = x5.6 ; then
2758 AC_DEFINE(HAVE_OLD_SOCKOPT)
2760 LIBS="$LIBS -lresolv"
2763 dnl Make sure hostname is resolved
2764 ping -c 1 $hostname 2>&1 1>/dev/null
2765 if test ! $? = 0; then
2766 hostname="localhost"
2768 DISTVER=`cat /etc/SuSE-release |grep VERSION|\
2770 TAPEDRIVE="/dev/nst0"
2771 PSCMD="ps -e -o pid,command"
2773 platforms/suse/Makefile \
2774 platforms/suse/bacula-fd \
2775 platforms/suse/bacula-sd \
2776 platforms/suse/bacula-dir \
2777 platforms/suse/bacula \
2778 platforms/suse/bacula.spec"
2781 dnl Make sure hostname is resolved
2782 ping -c 1 $hostname 2>&1 1>/dev/null
2783 if test ! $? = 0; then
2784 hostname="localhost"
2788 TAPEDRIVE="/dev/nst0"
2789 PSCMD="ps -e -o pid,command"
2791 platforms/suse/Makefile \
2792 platforms/suse/bacula-fd \
2793 platforms/suse/bacula-sd \
2794 platforms/suse/bacula-dir"
2798 TAPEDRIVE="/dev/nst0"
2801 echo " === Something went wrong. Unknown DISTNAME $DISTNAME ==="
2807 LIBS="$PTHREAD_LIB $LIBS"
2809 AC_DEFINE_UNQUOTED(lld, "$lld")
2810 AC_DEFINE_UNQUOTED(llu, "$llu")
2818 dnl common parts of the Makefile
2819 MCOMMON=./autoconf/Make.common
2820 AC_SUBST_FILE(MCOMMON)
2823 if test "x${subsysdir}" = "x${sbindir}" ; then
2826 echo "You have set both --sbindir and --with-subsys-dir"
2827 echo " equal to: ${subsysdir} "
2828 echo "This is not permitted. Please reconfigure."
2830 echo "Aborting configuration ..."
2836 AC_OUTPUT([autoconf/Make.common \
2839 scripts/startmysql \
2841 scripts/btraceback \
2847 scripts/bacula-ctl-dir \
2848 scripts/bacula-ctl-fd \
2849 scripts/bacula-ctl-sd \
2850 scripts/devel_bacula \
2853 scripts/bacula.desktop.gnome1 \
2854 scripts/bacula.desktop.gnome2 \
2855 scripts/bacula.desktop.gnome1.consolehelper \
2856 scripts/bacula.desktop.gnome2.consolehelper \
2857 scripts/bacula.desktop.gnome1.xsu \
2858 scripts/bacula.desktop.gnome2.xsu \
2859 scripts/bgnome-console.console_apps \
2860 scripts/mtx-changer \
2861 scripts/disk-changer \
2862 scripts/dvd-handler \
2863 scripts/dvd-simulator \
2864 scripts/bacula-tray-monitor.desktop \
2865 scripts/logwatch/Makefile \
2866 scripts/logwatch/logfile.bacula.conf \
2867 scripts/wxconsole.console_apps \
2868 scripts/wxconsole.desktop.consolehelper \
2869 scripts/wxconsole.desktop.xsu \
2870 scripts/bat.desktop \
2871 scripts/bat.desktop.xsu \
2872 scripts/bat.desktop.consolehelper \
2873 scripts/bat.console_apps \
2876 src/console/Makefile \
2877 src/console/bconsole.conf \
2878 src/gnome2-console/Makefile \
2879 src/gnome2-console/bgnome-console.conf \
2880 src/qt-console/bat.conf \
2881 src/qt-console/bat.pro \
2882 src/qt-console/bat.pro.mingw32 \
2883 src/qt-console/install_conf_file \
2884 src/wx-console/Makefile \
2885 src/wx-console/bwx-console.conf \
2886 src/tray-monitor/Makefile \
2887 src/tray-monitor/tray-monitor.conf \
2889 src/dird/bacula-dir.conf \
2891 src/stored/Makefile \
2892 src/stored/bacula-sd.conf \
2893 src/filed/Makefile \
2894 src/filed/bacula-fd.conf \
2896 src/cats/make_catalog_backup \
2897 src/cats/delete_catalog_backup \
2898 src/cats/create_postgresql_database \
2899 src/cats/update_postgresql_tables \
2900 src/cats/make_postgresql_tables \
2901 src/cats/grant_postgresql_privileges \
2902 src/cats/drop_postgresql_tables \
2903 src/cats/drop_postgresql_database \
2904 src/cats/create_mysql_database \
2905 src/cats/update_mysql_tables \
2906 src/cats/make_mysql_tables \
2907 src/cats/grant_mysql_privileges \
2908 src/cats/drop_mysql_tables \
2909 src/cats/drop_mysql_database \
2910 src/cats/create_sqlite_database \
2911 src/cats/update_sqlite_tables \
2912 src/cats/make_sqlite_tables \
2913 src/cats/grant_sqlite_privileges \
2914 src/cats/drop_sqlite_tables \
2915 src/cats/drop_sqlite_database \
2916 src/cats/create_sqlite3_database \
2917 src/cats/update_sqlite3_tables \
2918 src/cats/make_sqlite3_tables \
2919 src/cats/grant_sqlite3_privileges \
2920 src/cats/drop_sqlite3_tables \
2921 src/cats/drop_sqlite3_database \
2924 src/cats/create_bdb_database \
2925 src/cats/update_bdb_tables \
2926 src/cats/make_bdb_tables \
2927 src/cats/grant_bdb_privileges \
2928 src/cats/drop_bdb_tables \
2929 src/cats/drop_bdb_database \
2930 src/cats/create_bacula_database \
2931 src/cats/update_bacula_tables \
2932 src/cats/grant_bacula_privileges \
2933 src/cats/make_bacula_tables \
2934 src/cats/drop_bacula_tables \
2935 src/cats/drop_bacula_database \
2936 src/findlib/Makefile \
2937 src/tools/Makefile \
2938 src/plugins/fd/Makefile \
2939 src/plugins/sd/Makefile \
2940 src/plugins/dir/Makefile \
2941 src/win32/Makefile.inc \
2943 updatedb/update_mysql_tables_9_to_10 \
2944 updatedb/update_sqlite3_tables_9_to_10 \
2945 updatedb/update_postgresql_tables_9_to_10 \
2946 updatedb/update_sqlite_tables_9_to_10 \
2947 updatedb/update_mysql_tables_10_to_11 \
2948 updatedb/update_sqlite3_tables_10_to_11 \
2949 updatedb/update_postgresql_tables_10_to_11 \
2950 updatedb/update_sqlite_tables_10_to_11 \
2955 if test "${support_bat}" = "yes" ; then
2956 if test "x$QMAKE" = "xnone" && test "x$QMAKEQT4" = "xnone"; then
2957 echo "Could not find qmake or qmake-qt4 in $PATH. Check your Qt installation"
2963 if test "x$QMAKEQT4" != "xnone"; then
2968 echo "Creating bat Makefile"
2977 dnl if CC is gcc, we can rebuild the dependencies (since the depend rule
2978 dnl requires gcc). If it's not, don't rebuild dependencies
2980 if test X"$GCC" = "Xyes" ; then
2981 echo "Doing make of dependencies"
2982 ${MAKE:-make} depend
2986 chmod 755 install_conf_file build-depkgs-qt-console
2990 chmod 755 startmysql stopmysql bacula startit stopit btraceback mtx-changer
2991 chmod 755 dvd-handler dvd-simulator
2992 chmod 755 bconsole gconsole mtx-changer devel_bacula logrotate
2996 chmod 755 $c/update_mysql_tables_10_to_11 $c/update_sqlite3_tables_10_to_11
2997 chmod 755 $c/update_postgresql_tables_10_to_11 $c/update_sqlite_tables_10_to_11
3001 chmod 755 $c/create_bacula_database $c/update_bacula_tables $c/make_bacula_tables
3002 chmod 755 $c/grant_bacula_privileges $c/drop_bacula_tables $c/drop_bacula_database
3004 chmod 755 $c/create_bdb_database $c/update_bdb_tables $c/make_bdb_tables
3005 chmod 755 $c/grant_bdb_privileges $c/drop_bdb_tables $c/drop_bdb_database
3007 chmod 755 $c/create_mysql_database $c/update_mysql_tables $c/make_mysql_tables
3008 chmod 755 $c/grant_mysql_privileges $c/drop_mysql_tables $c/drop_mysql_database
3010 chmod 755 $c/create_sqlite_database $c/update_sqlite_tables $c/make_sqlite_tables
3011 chmod 755 $c/grant_sqlite_privileges $c/drop_sqlite_tables $c/drop_sqlite_database
3013 chmod 755 $c/create_sqlite3_database $c/update_sqlite3_tables $c/make_sqlite3_tables
3014 chmod 755 $c/grant_sqlite3_privileges $c/drop_sqlite3_tables $c/drop_sqlite3_database
3016 chmod 755 $c/create_postgresql_database $c/update_postgresql_tables $c/make_postgresql_tables
3017 chmod 755 $c/grant_postgresql_privileges $c/drop_postgresql_tables $c/drop_postgresql_database
3019 chmod 755 $c/make_catalog_backup $c/delete_catalog_backup
3023 chmod 755 src/win32/build-depkgs-mingw32
3025 if test "x$ac_cv_sys_largefile_CFLAGS" != "xno" ; then
3026 largefile_support="yes"
3029 dnl Only try to find out the version number of the compiler when we know its some kind of GCC compiler
3030 if test X"$GCC" = "Xyes" ; then
3032 dnl A whole lot of hand springs to get the compiler version.
3033 dnl This is because gcc changed the output in version 3.0
3035 CCVERSION=`${CC} --version | tr '\n' ' ' | cut -f 3 -d ' '`
3036 if test "x${CCVERSION}" = "x" ; then
3037 CCVERSION=`${CC} --version | tr '\n' ' ' | cut -f 1 -d ' '`
3039 CXXVERSION=`${CXX} --version | tr '\n' ' ' | cut -f 3 -d ' '`
3040 if test x"${CXXVERSION}" = x ; then
3041 CXXVERSION=`${CXX} --version | tr '\n' ' ' | cut -f 1 -d ' '`
3045 # clean up any old junk
3051 if test "x${db_type}" = "xInternal" ; then
3054 echo "You have not specified either --enable-client-only or one of the"
3055 echo " supported databases: MySQL, PostgreSQL, SQLite3, SQLite or DBI."
3056 echo " This is not permitted. Please reconfigure."
3058 echo "Aborting the configuration ..."
3065 Configuration on `date`:
3067 Host: ${host}${post_host} -- ${DISTNAME} ${DISTVER}
3068 Bacula version: ${BACULA} ${VERSION} (${DATE})
3069 Source code location: ${srcdir}
3070 Install binaries: ${sbindir}
3071 Install libraries: ${libdir}
3072 Install config files: ${sysconfdir}
3073 Scripts directory: ${scriptdir}
3074 Archive directory: ${archivedir}
3075 Working directory: ${working_dir}
3076 PID directory: ${piddir}
3077 Subsys directory: ${subsysdir}
3078 Man directory: ${mandir}
3079 Data directory: ${datarootdir}
3080 Plugin directory: ${plugindir}
3081 C Compiler: ${CC} ${CCVERSION}
3082 C++ Compiler: ${CXX} ${CXXVERSION}
3083 Compiler flags: ${WCFLAGS} ${CFLAGS}
3084 Linker flags: ${WLDFLAGS} ${LDFLAGS}
3086 Statically Linked Tools: ${support_static_tools}
3087 Statically Linked FD: ${support_static_fd}
3088 Statically Linked SD: ${support_static_sd}
3089 Statically Linked DIR: ${support_static_dir}
3090 Statically Linked CONS: ${support_static_cons}
3091 Database type: ${db_type}
3092 Database port: ${db_port}
3093 Database lib: ${DB_LIBS}
3094 Database name: ${db_name}
3095 Database user: ${db_user}
3097 Job Output Email: ${job_email}
3098 Traceback Email: ${dump_email}
3099 SMTP Host Address: ${smtp_host}
3101 Director Port: ${dir_port}
3102 File daemon Port: ${fd_port}
3103 Storage daemon Port: ${sd_port}
3105 Director User: ${dir_user}
3106 Director Group: ${dir_group}
3107 Storage Daemon User: ${sd_user}
3108 Storage DaemonGroup: ${sd_group}
3109 File Daemon User: ${fd_user}
3110 File Daemon Group: ${fd_group}
3112 SQL binaries Directory ${SQL_BINDIR}
3114 Large file support: $largefile_support
3115 Bacula conio support: ${got_conio} ${CONS_LIBS}
3116 readline support: ${got_readline} ${PRTREADLINE_SRC}
3117 TCP Wrappers support: ${TCPW_MSG} ${WRAPLIBS}
3118 TLS support: ${support_tls}
3119 Encryption support: ${support_crypto}
3120 ZLIB support: ${have_zlib}
3121 enable-smartalloc: ${support_smartalloc}
3122 enable-lockmgr: ${support_lockmgr}
3123 bat support: ${support_bat} ${QWT_LDFLAGS}
3124 enable-gnome: ${support_gnome} ${gnome_version}
3125 enable-bwx-console: ${support_wx_console} ${wx_version}
3126 enable-tray-monitor: ${support_tray_monitor}
3127 client-only: ${build_client_only}
3128 build-dird: ${build_dird}
3129 build-stored: ${build_stored}
3130 ACL support: ${have_acl}
3131 XATTR support: ${have_xattr}
3132 Python support: ${support_python} ${PYTHON_LIBS}
3133 Batch insert enabled: ${support_batch_insert}