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 Where to place scriptdir (script files)
1200 dnl ------------------------------------------
1201 scriptdir=`eval echo ${sysconfdir}`
1202 AC_ARG_WITH(scriptdir,
1203 AC_HELP_STRING([--with-scriptdir=PATH], [specify path of Bacula scripts directory]),
1205 if test "x$withval" != "xno" ; then
1214 dnl ------------------------------------------
1215 dnl Where to place bsrdir (bsr files)
1216 dnl ------------------------------------------
1219 AC_HELP_STRING([--with-bsrdir=PATH], [specify path of Bacula bsrs directory]),
1221 if test "x$withval" != "xno" ; then
1229 dnl ------------------------------------------
1230 dnl Where to place logdir (bsr files)
1231 dnl ------------------------------------------
1234 AC_HELP_STRING([--with-logdir=PATH], [specify path of Bacula logs directory]),
1236 if test "x$withval" != "xno" ; then
1245 # ------------------------------------------
1246 # Where to place plugindir (plugin files)
1247 # ------------------------------------------
1248 plugindir=`eval echo ${libdir}`
1249 AC_ARG_WITH(plugindir,
1250 AC_HELP_STRING([--with-plugindir=PATH], [specify path of Bacula plugins directory]),
1252 if test "x$withval" != "xno" ; then
1260 dnl ------------------------------------------
1261 dnl Where to send dump email
1262 dnl ------------------------------------------
1263 dump_email=root@localhost
1264 AC_ARG_WITH(dump-email,
1265 AC_HELP_STRING([--with-dump-email=EMAIL], [dump email address]),
1267 if test "x$withval" != "xno" ; then
1273 AC_SUBST(dump_email)
1275 dnl ------------------------------------------
1276 dnl Where to send job email
1277 dnl ------------------------------------------
1278 job_email=root@localhost
1279 AC_ARG_WITH(job-email,
1280 AC_HELP_STRING([--with-job-email=EMAIL], [job output email address]),
1282 if test "x$withval" != "xno" ; then
1290 dnl ------------------------------------------
1291 dnl Where to find smtp host
1292 dnl ------------------------------------------
1294 AC_ARG_WITH(smtp_host,
1295 AC_HELP_STRING([--with-smtp-host=HOST], [SMTP mail host address]),
1297 if test "x$withval" != "xno" ; then
1305 dnl ------------------------------------
1306 dnl Where to place pid files
1307 dnl ------------------------------------
1309 AC_ARG_WITH(pid-dir,
1310 AC_HELP_STRING([--with-pid-dir=PATH], [specify location of Bacula pid files]),
1312 if test "x$withval" != "xno" ; then
1318 AC_DEFINE_UNQUOTED(_PATH_BACULA_PIDDIR, "$piddir")
1321 dnl ------------------------------------
1322 dnl Where to place subsys "lock file"
1323 dnl ------------------------------------
1324 subsysdir=/var/run/subsys
1325 if test -d /var/run/subsys; then
1326 subsysdir=/var/run/subsys
1327 elif test -d /var/lock/subsys; then
1328 subsysdir=/var/lock/subsys
1330 subsysdir=/var/run/subsys
1332 AC_ARG_WITH(subsys-dir,
1333 AC_HELP_STRING([--with-subsys-dir=PATH], [specify location of Bacula subsys file]),
1335 if test "x$withval" != "xno" ; then
1343 dnl ------------------------------------
1344 dnl Where to start assigning ports
1345 dnl ------------------------------------
1347 AC_ARG_WITH(baseport,
1348 AC_HELP_STRING([--with-baseport=PORT], [specify base port address for daemons]),
1350 if test "x$withval" != "xno" ; then
1357 dir_port=`expr $baseport`
1358 fd_port=`expr $baseport + 1`
1359 sd_port=`expr $fd_port + 1`
1365 dnl ------------------------------------------
1366 dnl Generate passwords
1367 dnl ------------------------------------------
1369 AC_ARG_WITH(dir-password,
1370 AC_HELP_STRING([--with-dir-password=PASSWORD], [specify Director's password]),
1372 if test "x$withval" != "xno" ; then
1373 dir_password=$withval
1378 if test "x$dir_password" = "x" ; then
1379 if test "x$OPENSSL" = "xnone" ; then
1380 key=`autoconf/randpass 33`
1382 key=`openssl rand -base64 33`
1388 AC_ARG_WITH(fd-password,
1389 AC_HELP_STRING([--with-fd-password=PASSWORD], [specify Client's password]),
1391 if test "x$withval" != "xno" ; then
1392 fd_password=$withval
1397 if test "x$fd_password" = "x" ; then
1398 if test "x$OPENSSL" = "xnone" ; then
1399 key=`autoconf/randpass 37`
1401 key=`openssl rand -base64 33`
1407 AC_ARG_WITH(sd-password,
1408 AC_HELP_STRING([--with-sd-password=PASSWORD], [specify Storage daemon's password]),
1410 if test "x$withval" != "xno" ; then
1411 sd_password=$withval
1416 if test "x$sd_password" = "x" ; then
1417 if test "x$OPENSSL" = "xnone" ; then
1418 key=`autoconf/randpass 41`
1420 key=`openssl rand -base64 33`
1426 AC_ARG_WITH(mon-dir-password,
1427 AC_HELP_STRING([--with-mon-dir-password=PASSWORD], [specify Director's password used by the monitor]),
1429 if test "x$withval" != "xno" ; then
1430 mon_dir_password=$withval
1435 if test "x$mon_dir_password" = "x" ; then
1436 if test "x$OPENSSL" = "xnone" ; then
1437 key=`autoconf/randpass 33`
1439 key=`openssl rand -base64 33`
1441 mon_dir_password=$key
1445 AC_ARG_WITH(mon-fd-password,
1446 AC_HELP_STRING([--with-mon-fd-password=PASSWORD], [specify Client's password used by the monitor]),
1448 if test "x$withval" != "xno" ; then
1449 mon_fd_password=$withval
1454 if test "x$mon_fd_password" = "x" ; then
1455 if test "x$OPENSSL" = "xnone" ; then
1456 key=`autoconf/randpass 37`
1458 key=`openssl rand -base64 33`
1460 mon_fd_password=$key
1464 AC_ARG_WITH(mon-sd-password,
1465 AC_HELP_STRING([--with-mon-sd-password=PASSWORD], [specify Storage daemon's password used by the monitor]),
1467 if test "x$withval" != "xno" ; then
1468 mon_sd_password=$withval
1473 if test "x$mon_sd_password" = "x" ; then
1474 if test "x$OPENSSL" = "xnone" ; then
1475 key=`autoconf/randpass 41`
1477 key=`openssl rand -base64 33`
1479 mon_sd_password=$key
1482 AC_SUBST(dir_password)
1483 AC_SUBST(fd_password)
1484 AC_SUBST(sd_password)
1485 AC_SUBST(mon_dir_password)
1486 AC_SUBST(mon_fd_password)
1487 AC_SUBST(mon_sd_password)
1490 dnl Pickup any database name
1493 AC_ARG_WITH(db_name,
1494 AC_HELP_STRING([--with-db-name=DBNAME], [specify database name @<:@default=bacula@:>@]),
1496 if test "x$withval" != "x" ; then
1504 AC_ARG_WITH(db_user,
1505 AC_HELP_STRING([--with-db-user=UNAME], [specify database user @<:@default=bacula@:>@]),
1507 if test "x$withval" != "x" ; then
1515 AC_ARG_WITH(db_password,
1516 AC_HELP_STRING([--with-db-password=PWD], [specify database password @<:@default=*none*@:>@]),
1518 if test "x$withval" != "x" ; then
1519 db_password=$withval
1523 AC_SUBST(db_password)
1526 dnl Pickup a database port
1529 AC_ARG_WITH(db_port,
1530 AC_HELP_STRING([--with-db-port=DBPORT], [specify a database port @<:@default=null@:>@]),
1532 if test "x$withval" != "x" ; then
1540 # Handle users and groups for each daemon
1543 AC_ARG_WITH(dir_user,
1544 AC_HELP_STRING([--with-dir-user=USER], [specify user for Director daemon]),
1546 if test "x$withval" != "x" ; then
1553 AC_ARG_WITH(dir_group,
1554 AC_HELP_STRING([--with-dir-group=GROUP], [specify group for Director daemon]),
1556 if test "x$withval" != "x" ; then
1563 AC_ARG_WITH(sd_user,
1564 AC_HELP_STRING([--with-sd-user=USER], [specify user for Storage daemon]),
1566 if test "x$withval" != "x" ; then
1573 AC_ARG_WITH(sd_group,
1574 AC_HELP_STRING([--with-sd-group=GROUP], [specify group for Storage daemon]),
1576 if test "x$withval" != "x" ; then
1583 AC_ARG_WITH(fd_user,
1584 AC_HELP_STRING([--with-fd-user=USER], [specify user for File daemon]),
1586 if test "x$withval" != "x" ; then
1593 AC_ARG_WITH(fd_group,
1594 AC_HELP_STRING([--with-fd-group=GROUP], [specify group for File daemon]),
1596 if test "x$withval" != "x" ; then
1610 dnl allow setting default executable permissions
1613 AC_ARG_WITH(sbin-perm,
1614 AC_HELP_STRING([--with-sbin-perm=MODE], [specify permissions for sbin binaries @<:@default=0754@:>@]),
1616 if test "x$withval" != "x" ; then
1624 dnl ------------------------------------------------
1625 dnl Bacula check for various SQL database engines
1626 dnl ------------------------------------------------
1628 BA_CHECK_POSTGRESQL_DB
1643 dnl -------------------------------------------
1644 dnl enable batch attribute DB insert (default on)
1645 dnl -------------------------------------------
1646 support_batch_insert=no
1647 A=`test -f $SQL_LIB && nm $SQL_LIB | grep pthread_mutex_lock`
1649 if test $pkg = 0; then
1650 support_batch_insert=yes
1651 AC_ARG_ENABLE(batch-insert,
1652 AC_HELP_STRING([--enable-batch-insert], [enable the DB batch insert code @<:@default=no@:>@]),
1654 if test x$enableval = xno; then
1655 support_batch_insert=no
1657 support_batch_insert=yes
1663 dnl Check if postgresql support batch mode
1664 if test x$DB_TYPE = xpostgresql; then
1665 A=`test -f $SQL_LIB && nm $SQL_LIB | grep PQputCopyData`
1667 if test $pkg != 0; then
1668 support_batch_insert=no
1672 if test x$DB_TYPE = xdbi; then
1676 dnl Check for batch insert
1677 if test $DB_PROG = postgresql; then
1678 A=`test -f $SQL_LIB && nm $SQL_LIB | grep PQputCopyData`
1682 if test $DB_PROG = mysql; then
1683 A=`test -f $SQL_LIB && nm $DB_PROG_LIB | grep pthread_mutex_lock`
1687 if test $DB_PROG = sqlite3; then
1688 A=`test -f $SQL_LIB && nm $DB_PROG_LIB | grep pthread_mutex_lock`
1692 if test $pkg = 0; then
1693 AC_ARG_ENABLE(batch-insert,
1694 AC_HELP_STRING([--enable-batch-insert], [enable the DB batch insert code @<:@default=no@:>@]),
1696 if test x$enableval = xno; then
1697 support_batch_insert=no
1699 support_batch_insert=yes
1705 dnl If dbi was not chosen, let the comment in file
1709 AC_SUBST(uncomment_dbi)
1711 if test $support_batch_insert = yes ; then
1712 AC_DEFINE(HAVE_BATCH_FILE_INSERT, 1, [Set if DB batch insert code enabled])
1715 AC_DEFINE(PROTOTYPES)
1717 dnl --------------------------------------------------------------------------
1718 dnl Supply default CFLAGS, if not specified by `CFLAGS=flags ./configure'
1720 if test -z "$CFLAGS" -o "$CFLAGS" = "-g -O2"; then
1721 if test -z "$CCOPTS"; then
1722 CCOPTS='-g -O2 -Wall'
1730 dnl See if we can use 64 bit file addresses
1731 largefile_support="no"
1736 dnl --------------------------------------------------------------------------
1737 dnl CHECKING FOR HEADER FILES
1738 dnl --------------------------------------------------------------------------
1776 AC_STRUCT_ST_BLKSIZE
1780 dnl --------------------------------------------------------------------------
1781 dnl Check for utime.h structure
1782 dnl --------------------------------------------------------------------------
1783 AC_CACHE_CHECK(for utime.h, ba_cv_header_utime_h,
1787 #include <sys/types.h>
1792 ba_cv_header_utime_h=yes
1794 ba_cv_header_utime_h=no
1799 test $ba_cv_header_utime_h = yes && AC_DEFINE(HAVE_UTIME_H, 1, [Set if utime.h exists])
1801 dnl --------------------------------------------------------------------------
1802 dnl Check for socklen_t
1803 dnl --------------------------------------------------------------------------
1804 AC_CACHE_CHECK(for socklen_t, ba_cv_header_socklen_t,
1808 #include <sys/types.h>
1809 #include <sys/socket.h>
1813 ba_cv_header_socklen_t=yes
1815 ba_cv_header_socklen_t=no
1820 test $ba_cv_header_socklen_t = yes && AC_DEFINE(HAVE_SOCKLEN_T)
1822 dnl --------------------------------------------------------------------------
1823 dnl Check for bigendian
1824 dnl --------------------------------------------------------------------------
1825 AC_CACHE_CHECK([for bigendian], ba_cv_bigendian,
1829 main(){long a=1L; char *p=(char *)&a; exit(*p);}
1840 test $ba_cv_bigendian = yes && AC_DEFINE(HAVE_BIGENDIAN)
1842 dnl --------------------------------------------------------------------------
1843 dnl Check for typeof()
1844 dnl --------------------------------------------------------------------------
1846 AC_CACHE_CHECK(for typeof, ba_cv_have_typeof,
1850 main(){char *a = 0; a = (typeof a)a;}
1852 ba_cv_have_typeof=yes
1854 ba_cv_have_typeof=no
1856 ba_cv_have_typeof=no
1861 test $ba_cv_have_typeof = yes && AC_DEFINE([HAVE_TYPEOF], 1, [Defind to 1 if compiler has typeof])
1866 dnl --------------------------------------------------------------------------
1867 dnl CHECKING FOR FILESYSTEM TYPE
1868 dnl --------------------------------------------------------------------------
1869 AC_MSG_CHECKING(how to get filesystem type)
1871 # The order of these tests is important.
1874 #include <sys/statvfs.h>
1875 #include <sys/fstyp.h>
1877 AC_DEFINE(FSTYPE_STATVFS) fstype=SVR4
1879 if test $fstype = no; then
1882 #include <sys/statfs.h>
1883 #include <sys/fstyp.h>
1885 AC_DEFINE(FSTYPE_USG_STATFS) fstype=SVR3
1888 if test $fstype = no; then
1891 #include <sys/statfs.h>
1892 #include <sys/vmount.h>
1894 AC_DEFINE(FSTYPE_AIX_STATFS) fstype=AIX
1897 if test $fstype = no; then
1902 AC_DEFINE(FSTYPE_MNTENT) fstype=4.3BSD
1905 if test $fstype = no; then
1906 AC_EGREP_HEADER(f_type;, sys/mount.h, AC_DEFINE(FSTYPE_STATFS) fstype=4.4BSD/OSF1)
1908 if test $fstype = no; then
1911 #include <sys/mount.h>
1912 #include <sys/fs_types.h>
1914 AC_DEFINE(FSTYPE_GETMNT) fstype=Ultrix
1917 AC_MSG_RESULT($fstype)
1919 AC_CHECK_HEADER(sys/statvfs.h, [ AC_DEFINE(HAVE_SYS_STATVFS_H,1,[Defines if your system have the sys/statvfs.h header file])] , )
1921 dnl --------------------------------------------------------------------------
1922 dnl CHECKING FOR TYPEDEFS, STRUCTURES, AND COMPILER CHARACTERISTICS.
1923 dnl --------------------------------------------------------------------------
1933 AC_CHECK_TYPE(ino_t, unsigned long)
1934 AC_CHECK_TYPE(dev_t, unsigned long)
1935 AC_CHECK_TYPE(daddr_t, long)
1936 AC_CHECK_TYPE(major_t, int)
1937 AC_CHECK_TYPE(minor_t, int)
1938 AC_CHECK_TYPE(ssize_t, int)
1944 AC_CHECK_SIZEOF(char, 1)
1945 AC_CHECK_SIZEOF(short int, 2)
1946 AC_CHECK_SIZEOF(int, 4)
1947 AC_CHECK_SIZEOF(long int, 4)
1948 AC_CHECK_SIZEOF(long long int, 8)
1949 AC_CHECK_SIZEOF(int *, 4)
1951 dnl Check for sys/types.h types
1952 AC_CACHE_CHECK([for u_int type], ac_cv_have_u_int,
1956 #include <sys/types.h>
1960 ac_cv_have_u_int="yes"
1962 ac_cv_have_u_int="no"
1967 if test "x$ac_cv_have_u_int" = "xyes" ; then
1968 AC_DEFINE(HAVE_U_INT)
1972 AC_CACHE_CHECK([for intmax_t type], ac_cv_have_intmax_t,
1976 #include <sys/types.h>
1980 ac_cv_have_intmax_t="yes"
1988 ac_cv_have_intmax_t="yes"
1990 ac_cv_have_intmax_t="no"
1997 if test "x$ac_cv_have_intmax_t" = "xyes" ; then
1998 AC_DEFINE(HAVE_INTMAX_T)
2002 AC_CACHE_CHECK([for u_intmax_t type], ac_cv_have_u_intmax_t,
2006 #include <sys/types.h>
2008 u_intmax_t a; a = 1;
2010 ac_cv_have_u_intmax_t="yes"
2016 u_intmax_t a; a = 1;
2018 ac_cv_have_u_intmax_t="yes"
2020 ac_cv_have_u_intmax_t="no"
2027 if test "x$ac_cv_have_u_intmax_t" = "xyes" ; then
2028 AC_DEFINE(HAVE_U_INTMAX_T)
2032 AC_CACHE_CHECK([for intXX_t types], ac_cv_have_intxx_t,
2036 #include <sys/types.h>
2038 int8_t a; int16_t b; int32_t c; a = b = c = 1;
2040 ac_cv_have_intxx_t="yes"
2042 ac_cv_have_intxx_t="no"
2047 if test "x$ac_cv_have_intxx_t" = "xyes" ; then
2048 AC_DEFINE(HAVE_INTXX_T)
2052 AC_CACHE_CHECK([for int64_t type], ac_cv_have_int64_t,
2056 #include <sys/types.h>
2060 ac_cv_have_int64_t="yes"
2062 ac_cv_have_int64_t="no"
2067 if test "x$ac_cv_have_int64_t" = "xyes" ; then
2068 AC_DEFINE(HAVE_INT64_T)
2072 AC_CACHE_CHECK([for u_intXX_t types], ac_cv_have_u_intxx_t,
2076 #include <sys/types.h>
2078 u_int8_t a; u_int16_t b; u_int32_t c; a = b = c = 1;
2080 ac_cv_have_u_intxx_t="yes"
2082 ac_cv_have_u_intxx_t="no"
2087 if test "x$ac_cv_have_u_intxx_t" = "xyes" ; then
2088 AC_DEFINE(HAVE_U_INTXX_T)
2092 AC_CACHE_CHECK([for u_int64_t types], ac_cv_have_u_int64_t,
2096 #include <sys/types.h>
2100 ac_cv_have_u_int64_t="yes"
2102 ac_cv_have_u_int64_t="no"
2107 if test "x$ac_cv_have_u_int64_t" = "xyes" ; then
2108 AC_DEFINE(HAVE_U_INT64_T)
2112 if (test -z "$have_u_intxx_t" || test -z "$have_intxx_t" && \
2113 test "x$ac_cv_header_sys_bitypes_h" = "xyes")
2115 AC_MSG_CHECKING([for intXX_t and u_intXX_t types in sys/bitypes.h])
2118 #include <sys/bitypes.h>
2120 int8_t a; int16_t b; int32_t c;
2121 u_int8_t e; u_int16_t f; u_int32_t g;
2122 a = b = c = e = f = g = 1;
2124 AC_DEFINE(HAVE_U_INTXX_T)
2125 AC_DEFINE(HAVE_INTXX_T)
2126 AC_DEFINE(HAVE_SYS_BITYPES_H)
2134 if test -z "$have_u_intxx_t" ; then
2135 AC_CACHE_CHECK([for uintXX_t types], ac_cv_have_uintxx_t,
2139 #include <sys/types.h>
2141 uint8_t a; uint16_t b;
2142 uint32_t c; a = b = c = 1;
2144 ac_cv_have_uintxx_t="yes"
2146 ac_cv_have_uintxx_t="no"
2151 if test "x$ac_cv_have_uintxx_t" = "xyes" ; then
2152 AC_DEFINE(HAVE_UINTXX_T)
2156 if (test -z "$have_u_int64_t" || test -z "$have_int64_t" && \
2157 test "x$ac_cv_header_sys_bitypes_h" = "xyes")
2159 AC_MSG_CHECKING([for int64_t and u_int64_t types in sys/bitypes.h])
2162 #include <sys/bitypes.h>
2164 int64_t a; u_int64_t b;
2167 AC_DEFINE(HAVE_U_INT64_T)
2168 AC_DEFINE(HAVE_INT64_T)
2176 if (test -z "$have_uintxx_t" && \
2177 test "x$ac_cv_header_sys_bitypes_h" = "xyes")
2179 AC_MSG_CHECKING([for uintXX_t types in sys/bitypes.h])
2182 #include <sys/bitypes.h>
2184 uint8_t a; uint16_t b;
2185 uint32_t c; a = b = c = 1;
2187 AC_DEFINE(HAVE_UINTXX_T)
2195 dnl --------------------------------------------------------------------------
2196 dnl CHECKING FOR REQUIRED LIBRARY FUNCTIONS
2197 dnl --------------------------------------------------------------------------
2213 [echo 'configure: cannot find needed function.'; exit 1]
2216 AC_CHECK_FUNCS(fchdir, [AC_DEFINE(HAVE_FCHDIR)])
2217 AC_CHECK_FUNCS(strtoll, [AC_DEFINE(HAVE_STRTOLL)])
2218 AC_CHECK_FUNCS(posix_fadvise)
2219 AC_CHECK_FUNCS(fdatasync)
2221 AC_CHECK_FUNCS(chflags)
2223 AC_CHECK_FUNCS(snprintf vsnprintf gethostid fseeko)
2225 AC_CACHE_CHECK(for va_copy, ba_cv_va_copy,
2230 void use_va_copy(va_list args){va_list args2; va_copy(args2,args); va_end(args2);}
2231 void call_use_va_copy(int junk,...){va_list args; va_start(args,junk); use_va_copy(args); va_end(args);}
2233 call_use_va_copy(1,2,3)
2242 test $ba_cv_va_copy = yes && AC_DEFINE(HAVE_VA_COPY, 1, [Set if va_copy exists])
2244 dnl --------------------------------------------------------------------------
2245 dnl CHECKING FOR THREAD SAFE FUNCTIONS
2246 dnl --------------------------------------------------------------------------
2247 AC_CHECK_FUNCS(localtime_r readdir_r strerror_r gethostbyname_r)
2249 # If resolver functions are not in libc check for -lnsl or -lresolv.
2250 AC_CHECK_FUNC(gethostbyname_r,
2251 AC_MSG_RESULT(using libc's resolver),
2252 AC_CHECK_LIB(nsl,gethostbyname_r)
2253 AC_CHECK_LIB(resolv,gethostbyname_r))
2255 AC_CHECK_FUNCS(inet_pton, [AC_DEFINE(HAVE_INET_PTON)])
2256 AC_CHECK_FUNCS(inet_ntop, [AC_DEFINE(HAVE_INET_NTOP)])
2257 AC_CHECK_FUNCS(gethostbyname2, [AC_DEFINE(HAVE_GETHOSTBYNAME2)])
2259 dnl ----------------------------
2260 dnl check sa_len of sockaddr
2261 dnl ----------------------------
2262 AC_CACHE_CHECK(for struct sockaddr has a sa_len field, ac_cv_struct_sockaddr_sa_len,
2266 #include <sys/socket.h>
2268 struct sockaddr s; s.sa_len;
2270 ac_cv_struct_sockaddr_sa_len=yes
2271 ], [ac_cv_struct_sockaddr_sa_len=no
2277 if test $ac_cv_struct_sockaddr_sa_len = yes; then
2278 AC_DEFINE(HAVE_SA_LEN, 1, [Define if sa_len field exists in struct sockaddr])
2285 AC_FUNC_CLOSEDIR_VOID
2286 AC_FUNC_SETPGRP dnl check for BSD setpgrp.
2287 # AC_FUNC_FNMATCH dnl use local version
2289 AC_CHECK_LIB(intl, gettext, [LIBS="$LIBS -lintl"])
2291 AC_CHECK_LIB(sun, getpwnam)
2293 AC_CHECK_HEADERS(zlib.h)
2294 AC_CHECK_LIB(z, deflate, [FDLIBS="-lz"])
2296 if test x$FDLIBS = x-lz; then
2297 AC_DEFINE(HAVE_LIBZ)
2302 dnl Check for ACL support and libraries
2306 AC_HELP_STRING([--disable-acl], [disable acl support @<:@default=auto@:>@]),
2308 if test x$enableval = xno; then
2315 have_extended_acl=no
2316 if test x$support_acl = xyes; then
2317 AC_CHECK_HEADER(sys/acl.h, [ AC_DEFINE(HAVE_SYS_ACL_H,1,[Defines if your system have the sys/acl.h header file])] , )
2318 AC_CHECK_FUNC(acl_get_file,
2322 AC_CHECK_LIB(acl, acl_get_file,
2325 FDLIBS="-lacl $FDLIBS"
2327 AC_CHECK_LIB(pacl, acl_get_file,
2330 FDLIBS="-lpacl $FDLIBS"
2332 AC_CHECK_LIB(sec, acltotext,
2335 FDLIBS="-lsec $FDLIBS"
2337 AC_CHECK_LIB(sec, acl_totext,
2339 have_extended_acl=yes
2350 if test $have_acl = yes; then
2351 AC_DEFINE([HAVE_ACL], [], [Normal attribute support])
2354 if test $have_extended_acl = yes; then
2355 AC_DEFINE([HAVE_EXTENDED_ACL], [], [Extended attribute support])
2360 dnl Check for XATTR support
2363 AC_ARG_ENABLE(xattr,
2364 AC_HELP_STRING([--disable-xattr], [disable xattr support @<:@default=auto@:>@]),
2366 if test x$enableval = xno; then
2373 if test x$support_xattr = xyes; then
2374 AC_CHECK_HEADER(sys/xattr.h, [ AC_DEFINE(HAVE_SYS_XATTR_H,1,[Defines if your system have the sys/xattr.h header file])] , )
2375 AC_CHECK_FUNCS(llistxattr lgetxattr lsetxattr,
2378 AC_DEFINE([HAVE_LLISTXATTR], [], [LLISTXATTR support])
2379 AC_DEFINE([HAVE_LGETXATTR], [], [LGETXATTR support])
2380 AC_DEFINE([HAVE_LSETXATTR], [], [LSETXATTR support])
2387 if test $have_xattr = no; then
2388 AC_CHECK_FUNCS(listxattr getxattr setxattr,
2391 AC_DEFINE([HAVE_LLISTXATTR], [], [LLISTXATTR support])
2392 AC_DEFINE([HAVE_LGETXATTR], [], [LGETXATTR support])
2393 AC_DEFINE([HAVE_LSETXATTR], [], [LSETXATTR support])
2401 if test $have_xattr = no; then
2402 AC_CHECK_HEADER(sys/attr.h, [ AC_DEFINE(HAVE_SYS_ATTR_H,1,[Defines if your system have the sys/attr.h header file])] , )
2403 AC_CHECK_HEADER(sys/nvpair.h, [ AC_DEFINE(HAVE_SYS_NVPAIR_H,1,[Defines if your system have the sys/nvpair.h header file])] , )
2404 AC_CHECK_HEADER(attr.h, [ AC_DEFINE(HAVE_ATTR_H,1,[Defines if your system have the attr.h header file])] , )
2406 AC_CHECK_FUNCS(openat fstatat unlinkat fchownat futimesat,
2409 AC_DEFINE([HAVE_OPENAT], [], [OPENAT support])
2410 AC_DEFINE([HAVE_FSTATAT], [], [FSTATAT support])
2411 AC_DEFINE([HAVE_UNLINKAT], [], [UNLINKAT support])
2412 AC_DEFINE([HAVE_FCHOWNAT], [], [FCHOWNAT support])
2413 AC_DEFINE([HAVE_FUTIMESAT], [], [FUTIMESAT support])
2417 if test $have_xattr = yes; then
2418 AC_CHECK_LIB(nvpair, nvlist_next_nvpair,
2420 FDLIBS="-lnvpair $FDLIBS"
2426 if test $have_xattr = yes; then
2427 AC_DEFINE([HAVE_XATTR], [], [XATTR support])
2432 dnl Check for pthread libraries
2435 AC_CHECK_LIB(pthread, pthread_create, PTHREAD_LIB="-lpthread",
2437 AC_CHECK_LIB(pthreads, pthread_create, PTHREAD_LIB="-lpthreads",
2439 AC_CHECK_LIB(c_r, pthread_create, PTHREAD_LIB="-lc_r",
2441 AC_CHECK_FUNC(pthread_create)
2454 if test x$have_gcc = xyes ; then
2455 CPPFLAGS="$CPPFLAGS -fno-strict-aliasing -fno-exceptions -fno-rtti"
2456 CFLAGS="$CFLAGS -fno-strict-aliasing -fno-exceptions -fno-rtti"
2458 LDFLAGS=${LDFLAGS--O}
2459 DB_LIBS="${SQL_LFLAGS}"
2460 CPPFLAGS="$CPPFLAGS"
2473 AC_SUBST(X_EXTRA_LIBS)
2478 dnl extra configurable objects
2489 dnl Finally we set appropriate distribution specific
2490 dnl variables and defaults
2492 dnl PFILES are platform specific files
2493 PFILES="platforms/Makefile"
2497 hostname=`uname -n | cut -d '.' -f 1`
2498 if test x${hostname} = x ; then
2499 hostname="localhost"
2504 PSCMD="ps -e -o pid,comm"
2506 platforms/aix/Makefile"
2507 TAPEDRIVE="/dev/rmt0.1"
2511 PTHREAD_LIB="-lpthread -lexc"
2512 if test "${CC}" = "gcc" ; then
2519 TAPEDRIVE="/dev/nrmt0"
2522 DISTVER=`uname -a |awk '{print $3}'`
2523 TAPEDRIVE="/dev/nrmt0"
2524 PTHREAD_LIB="-pthread"
2525 CFLAGS="${CFLAGS} -pthread"
2526 PSCMD="ps -ax -o pid,command"
2530 platforms/bsdi/Makefile \
2531 platforms/bsdi/bacula-fd \
2532 platforms/bsdi/bacula-sd \
2533 platforms/bsdi/bacula-dir"
2534 largefile_support="yes"
2537 DISTVER=`uname -a |awk '{print $3}'`
2538 TAPEDRIVE="/dev/nrst0"
2541 WLDFLAGS="-mwindows"
2545 TAPEDRIVE="/dev/nst0"
2546 PSCMD="ps -e -o pid,command"
2549 platforms/darwin/Makefile"
2552 dnl Make sure hostname is resolved
2553 ping -c 1 $hostname 2>&1 1>/dev/null
2554 if test ! $? = 0; then
2555 hostname="localhost"
2557 if `test -f /etc/apt/sources.list && grep -q ubuntu /etc/apt/sources.list`; then
2560 DISTVER=`cat /etc/debian_version`
2561 if test -f /etc/lsb-release ; then
2563 if test "x$DISTRIB_ID" != "x" ; then
2564 DISTNAME=$DISTRIB_ID
2566 if test "x$DISTRIB_RELEASE" != "x" ; then
2567 DISTVER=$DISTRIB_RELEASE
2570 if test "$DISTNAME" = "Ubuntu" ; then
2573 TAPEDRIVE="/dev/nst0"
2574 PSCMD="ps -e -o pid,command"
2575 if test "$DISTNAME" = "ubuntu" ; then
2577 platforms/ubuntu/Makefile \
2578 platforms/ubuntu/bacula-fd \
2579 platforms/ubuntu/bacula-sd \
2580 platforms/ubuntu/bacula-dir"
2583 platforms/debian/Makefile \
2584 platforms/debian/bacula-fd \
2585 platforms/debian/bacula-sd \
2586 platforms/debian/bacula-dir"
2590 dnl Make sure hostname is resolved
2591 ping -c 1 $hostname 2>&1 1>/dev/null
2592 if test ! $? = 0; then
2593 hostname="localhost"
2595 DISTVER=`uname -a |awk '{print $3}'`
2596 VER=`echo $DISTVER | cut -c 1`
2597 if test x$VER = x4 ; then
2598 PTHREAD_LIB="${PTHREAD_LIBS:--pthread}"
2599 CFLAGS="${CFLAGS} ${PTHREAD_CFLAGS:--pthread}"
2603 TAPEDRIVE="/dev/nrsa0"
2604 PSCMD="ps -ax -o pid,command"
2606 platforms/freebsd/Makefile \
2607 platforms/freebsd/bacula-fd \
2608 platforms/freebsd/bacula-sd \
2609 platforms/freebsd/bacula-dir"
2610 largefile_support="yes"
2613 PSCMD="UNIX95=1; ps -e -o pid,comm"
2614 CFLAGS="${CFLAGS} -D_XOPEN_SOURCE_EXTENDED=1"
2616 TAPEDRIVE="/dev/rmt/0hnb"
2617 PTHREAD_LIB="-lpthread"
2618 AC_DEFINE([_INCLUDE_LONGLONG])
2622 TAPEDRIVE="/dev/rmt/0cbn"
2623 PSCMD="ps -e -o pid,comm"
2625 platforms/irix/Makefile \
2626 platforms/irix/bacula-fd \
2627 platforms/irix/bacula-sd \
2628 platforms/irix/bacula-dir"
2631 DISTVER=`uname -a |awk '{print $3}'`
2634 TAPEDRIVE="/dev/nrst0"
2635 PSCMD="ps -ax -o pid,command"
2636 PTHREAD_LIB="-pthread"
2637 CFLAGS="${CFLAGS} -pthread"
2640 DISTVER=`uname -a |awk '{print $3}'`
2643 TAPEDRIVE="/dev/nrst0"
2644 PSCMD="ps -ax -o pid,command"
2645 PTHREAD_LIB="-pthread"
2646 CFLAGS="${CFLAGS} -pthread"
2648 platforms/openbsd/Makefile \
2649 platforms/openbsd/bacula-fd \
2650 platforms/openbsd/bacula-sd \
2651 platforms/openbsd/bacula-dir"
2654 dnl Make sure hostname is resolved
2655 ping -c 1 $hostname 2>&1 1>/dev/null
2656 if test ! $? = 0; then
2657 hostname="localhost"
2659 if test -f /etc/whitebox-release ; then
2660 f=/etc/whitebox-release
2662 f=/etc/redhat-release
2664 if test `cat $f | grep release |\
2665 cut -f 3 -d ' '`x = "Enterprise"x ; then
2666 DISTVER="Enterprise "`cat $f | grep release |\
2669 DISTVER=`cat /etc/redhat-release | grep release |\
2672 TAPEDRIVE="/dev/nst0"
2673 PSCMD="ps -e -o pid,command"
2675 platforms/redhat/Makefile \
2676 platforms/redhat/bacula-fd \
2677 platforms/redhat/bacula-sd \
2678 platforms/redhat/bacula-dir \
2679 platforms/redhat/bacula.spec \
2683 dnl Make sure hostname is resolved
2684 ping -c 1 $hostname 2>&1 1>/dev/null
2685 if test ! $? = 0; then
2686 hostname="localhost"
2688 DISTVER=`cat /etc/mandrake-release | grep release |\
2690 TAPEDRIVE="/dev/nst0"
2691 PSCMD="ps -e -o pid,command"
2693 platforms/mandrake/Makefile \
2694 platforms/mandrake/bacula-fd \
2695 platforms/mandrake/bacula-sd \
2696 platforms/mandrake/bacula-dir \
2697 platforms/mandrake/bacula.spec \
2701 dnl Make sure hostname is resolved
2702 ping -c 1 $hostname 2>&1 1>/dev/null
2703 if test ! $? = 0; then
2704 hostname="localhost"
2706 DISTVER=`awk '/version / {print $5}' < /etc/gentoo-release`
2707 TAPEDRIVE="/dev/nst0"
2708 PSCMD="ps -e -o pid,command"
2710 platforms/gentoo/Makefile \
2711 platforms/gentoo/bacula-init \
2712 platforms/gentoo/bacula-fd \
2713 platforms/gentoo/bacula-sd \
2714 platforms/gentoo/bacula-dir"
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=`cat /etc/slackware-version`
2723 TAPEDRIVE="/dev/nst0"
2724 PSCMD="ps -e -o pid,command"
2726 platforms/slackware/Makefile \
2727 platforms/slackware/rc.bacula-fd \
2728 platforms/slackware/rc.bacula-sd \
2729 platforms/slackware/rc.bacula-dir\
2730 platforms/slackware/functions.bacula"
2734 TAPEDRIVE="/dev/rmt/0cbn"
2735 PSCMD="ps -e -o pid,comm"
2737 platforms/solaris/Makefile \
2738 platforms/solaris/bacula-fd \
2739 platforms/solaris/bacula-sd \
2740 platforms/solaris/bacula-dir"
2741 if test x$DISTVER = x5.6 ; then
2742 AC_DEFINE(HAVE_OLD_SOCKOPT)
2744 LIBS="$LIBS -lresolv"
2747 dnl Make sure hostname is resolved
2748 ping -c 1 $hostname 2>&1 1>/dev/null
2749 if test ! $? = 0; then
2750 hostname="localhost"
2752 DISTVER=`cat /etc/SuSE-release |grep VERSION|\
2754 TAPEDRIVE="/dev/nst0"
2755 PSCMD="ps -e -o pid,command"
2757 platforms/suse/Makefile \
2758 platforms/suse/bacula-fd \
2759 platforms/suse/bacula-sd \
2760 platforms/suse/bacula-dir \
2761 platforms/suse/bacula \
2762 platforms/suse/bacula.spec"
2765 dnl Make sure hostname is resolved
2766 ping -c 1 $hostname 2>&1 1>/dev/null
2767 if test ! $? = 0; then
2768 hostname="localhost"
2772 TAPEDRIVE="/dev/nst0"
2773 PSCMD="ps -e -o pid,command"
2775 platforms/suse/Makefile \
2776 platforms/suse/bacula-fd \
2777 platforms/suse/bacula-sd \
2778 platforms/suse/bacula-dir"
2782 TAPEDRIVE="/dev/nst0"
2785 echo " === Something went wrong. Unknown DISTNAME $DISTNAME ==="
2791 LIBS="$PTHREAD_LIB $LIBS"
2793 AC_DEFINE_UNQUOTED(lld, "$lld")
2794 AC_DEFINE_UNQUOTED(llu, "$llu")
2802 dnl common parts of the Makefile
2803 MCOMMON=./autoconf/Make.common
2804 AC_SUBST_FILE(MCOMMON)
2807 if test "x${subsysdir}" = "x${sbindir}" ; then
2810 echo "You have set both --sbindir and --with-subsys-dir"
2811 echo " equal to: ${subsysdir} "
2812 echo "This is not permitted. Please reconfigure."
2814 echo "Aborting configuration ..."
2820 AC_OUTPUT([autoconf/Make.common \
2823 scripts/startmysql \
2825 scripts/btraceback \
2831 scripts/bacula-ctl-dir \
2832 scripts/bacula-ctl-fd \
2833 scripts/bacula-ctl-sd \
2834 scripts/devel_bacula \
2837 scripts/bacula.desktop.gnome1 \
2838 scripts/bacula.desktop.gnome2 \
2839 scripts/bacula.desktop.gnome1.consolehelper \
2840 scripts/bacula.desktop.gnome2.consolehelper \
2841 scripts/bacula.desktop.gnome1.xsu \
2842 scripts/bacula.desktop.gnome2.xsu \
2843 scripts/bgnome-console.console_apps \
2844 scripts/mtx-changer \
2845 scripts/disk-changer \
2846 scripts/dvd-handler \
2847 scripts/dvd-simulator \
2848 scripts/bacula-tray-monitor.desktop \
2849 scripts/logwatch/Makefile \
2850 scripts/logwatch/logfile.bacula.conf \
2851 scripts/wxconsole.console_apps \
2852 scripts/wxconsole.desktop.consolehelper \
2853 scripts/wxconsole.desktop.xsu \
2854 scripts/bat.desktop \
2855 scripts/bat.desktop.xsu \
2856 scripts/bat.desktop.consolehelper \
2857 scripts/bat.console_apps \
2860 src/console/Makefile \
2861 src/console/bconsole.conf \
2862 src/gnome2-console/Makefile \
2863 src/gnome2-console/bgnome-console.conf \
2864 src/qt-console/bat.conf \
2865 src/qt-console/bat.pro \
2866 src/qt-console/bat.pro.mingw32 \
2867 src/qt-console/install_conf_file \
2868 src/wx-console/Makefile \
2869 src/wx-console/bwx-console.conf \
2870 src/tray-monitor/Makefile \
2871 src/tray-monitor/tray-monitor.conf \
2873 src/dird/bacula-dir.conf \
2875 src/stored/Makefile \
2876 src/stored/bacula-sd.conf \
2877 src/filed/Makefile \
2878 src/filed/bacula-fd.conf \
2880 src/cats/make_catalog_backup \
2881 src/cats/delete_catalog_backup \
2882 src/cats/create_postgresql_database \
2883 src/cats/update_postgresql_tables \
2884 src/cats/make_postgresql_tables \
2885 src/cats/grant_postgresql_privileges \
2886 src/cats/drop_postgresql_tables \
2887 src/cats/drop_postgresql_database \
2888 src/cats/create_mysql_database \
2889 src/cats/update_mysql_tables \
2890 src/cats/make_mysql_tables \
2891 src/cats/grant_mysql_privileges \
2892 src/cats/drop_mysql_tables \
2893 src/cats/drop_mysql_database \
2894 src/cats/create_sqlite_database \
2895 src/cats/update_sqlite_tables \
2896 src/cats/make_sqlite_tables \
2897 src/cats/grant_sqlite_privileges \
2898 src/cats/drop_sqlite_tables \
2899 src/cats/drop_sqlite_database \
2900 src/cats/create_sqlite3_database \
2901 src/cats/update_sqlite3_tables \
2902 src/cats/make_sqlite3_tables \
2903 src/cats/grant_sqlite3_privileges \
2904 src/cats/drop_sqlite3_tables \
2905 src/cats/drop_sqlite3_database \
2908 src/cats/create_bdb_database \
2909 src/cats/update_bdb_tables \
2910 src/cats/make_bdb_tables \
2911 src/cats/grant_bdb_privileges \
2912 src/cats/drop_bdb_tables \
2913 src/cats/drop_bdb_database \
2914 src/cats/create_bacula_database \
2915 src/cats/update_bacula_tables \
2916 src/cats/grant_bacula_privileges \
2917 src/cats/make_bacula_tables \
2918 src/cats/drop_bacula_tables \
2919 src/cats/drop_bacula_database \
2920 src/findlib/Makefile \
2921 src/tools/Makefile \
2922 src/plugins/fd/Makefile \
2923 src/plugins/sd/Makefile \
2924 src/plugins/dir/Makefile \
2925 src/win32/Makefile.inc \
2927 updatedb/update_mysql_tables_9_to_10 \
2928 updatedb/update_sqlite3_tables_9_to_10 \
2929 updatedb/update_postgresql_tables_9_to_10 \
2930 updatedb/update_sqlite_tables_9_to_10 \
2931 updatedb/update_mysql_tables_10_to_11 \
2932 updatedb/update_sqlite3_tables_10_to_11 \
2933 updatedb/update_postgresql_tables_10_to_11 \
2934 updatedb/update_sqlite_tables_10_to_11 \
2939 if test "${support_bat}" = "yes" ; then
2940 if test "x$QMAKE" = "xnone" && test "x$QMAKEQT4" = "xnone"; then
2941 echo "Could not find qmake or qmake-qt4 in $PATH. Check your Qt installation"
2947 if test "x$QMAKEQT4" != "xnone"; then
2952 echo "Creating bat Makefile"
2959 dnl if CC is gcc, we can rebuild the dependencies (since the depend rule
2960 dnl requires gcc). If it's not, don't rebuild dependencies
2962 if test X"$GCC" = "Xyes" ; then
2963 echo "Doing make of dependencies"
2964 ${MAKE:-make} depend
2968 chmod 755 install_conf_file build-depkgs-qt-console
2972 chmod 755 startmysql stopmysql bacula startit stopit btraceback mtx-changer
2973 chmod 755 dvd-handler dvd-simulator
2974 chmod 755 bconsole gconsole mtx-changer devel_bacula logrotate
2978 chmod 755 $c/update_mysql_tables_10_to_11 $c/update_sqlite3_tables_10_to_11
2979 chmod 755 $c/update_postgresql_tables_10_to_11 $c/update_sqlite_tables_10_to_11
2983 chmod 755 $c/create_bacula_database $c/update_bacula_tables $c/make_bacula_tables
2984 chmod 755 $c/grant_bacula_privileges $c/drop_bacula_tables $c/drop_bacula_database
2986 chmod 755 $c/create_bdb_database $c/update_bdb_tables $c/make_bdb_tables
2987 chmod 755 $c/grant_bdb_privileges $c/drop_bdb_tables $c/drop_bdb_database
2989 chmod 755 $c/create_mysql_database $c/update_mysql_tables $c/make_mysql_tables
2990 chmod 755 $c/grant_mysql_privileges $c/drop_mysql_tables $c/drop_mysql_database
2992 chmod 755 $c/create_sqlite_database $c/update_sqlite_tables $c/make_sqlite_tables
2993 chmod 755 $c/grant_sqlite_privileges $c/drop_sqlite_tables $c/drop_sqlite_database
2995 chmod 755 $c/create_sqlite3_database $c/update_sqlite3_tables $c/make_sqlite3_tables
2996 chmod 755 $c/grant_sqlite3_privileges $c/drop_sqlite3_tables $c/drop_sqlite3_database
2998 chmod 755 $c/create_postgresql_database $c/update_postgresql_tables $c/make_postgresql_tables
2999 chmod 755 $c/grant_postgresql_privileges $c/drop_postgresql_tables $c/drop_postgresql_database
3001 chmod 755 $c/make_catalog_backup $c/delete_catalog_backup
3005 chmod 755 src/win32/build-depkgs-mingw32
3007 if test "x$ac_cv_sys_largefile_CFLAGS" != "xno" ; then
3008 largefile_support="yes"
3011 dnl Only try to find out the version number of the compiler when we know its some kind of GCC compiler
3012 if test X"$GCC" = "Xyes" ; then
3014 dnl A whole lot of hand springs to get the compiler version.
3015 dnl This is because gcc changed the output in version 3.0
3017 CCVERSION=`${CC} --version | tr '\n' ' ' | cut -f 3 -d ' '`
3018 if test "x${CCVERSION}" = "x" ; then
3019 CCVERSION=`${CC} --version | tr '\n' ' ' | cut -f 1 -d ' '`
3021 CXXVERSION=`${CXX} --version | tr '\n' ' ' | cut -f 3 -d ' '`
3022 if test x"${CXXVERSION}" = x ; then
3023 CXXVERSION=`${CXX} --version | tr '\n' ' ' | cut -f 1 -d ' '`
3027 # clean up any old junk
3033 if test "x${db_type}" = "xInternal" ; then
3036 echo "You have not specified either --enable-client-only or one of the"
3037 echo " supported databases: MySQL, PostgreSQL, SQLite3, SQLite or DBI."
3038 echo " This is not permitted. Please reconfigure."
3040 echo "Aborting the configuration ..."
3047 Configuration on `date`:
3049 Host: ${host}${post_host} -- ${DISTNAME} ${DISTVER}
3050 Bacula version: ${BACULA} ${VERSION} (${DATE})
3051 Source code location: ${srcdir}
3052 Install binaries: ${sbindir}
3053 Install libraries: ${libdir}
3054 Install config files: ${sysconfdir}
3055 Scripts directory: ${scriptdir}
3056 Archive directory: ${archivedir}
3057 Working directory: ${working_dir}
3058 PID directory: ${piddir}
3059 Subsys directory: ${subsysdir}
3060 Man directory: ${mandir}
3061 Data directory: ${datarootdir}
3062 Plugin directory: ${plugindir}
3063 C Compiler: ${CC} ${CCVERSION}
3064 C++ Compiler: ${CXX} ${CXXVERSION}
3065 Compiler flags: ${WCFLAGS} ${CFLAGS}
3066 Linker flags: ${WLDFLAGS} ${LDFLAGS}
3068 Statically Linked Tools: ${support_static_tools}
3069 Statically Linked FD: ${support_static_fd}
3070 Statically Linked SD: ${support_static_sd}
3071 Statically Linked DIR: ${support_static_dir}
3072 Statically Linked CONS: ${support_static_cons}
3073 Database type: ${db_type}
3074 Database port: ${db_port}
3075 Database lib: ${DB_LIBS}
3076 Database name: ${db_name}
3077 Database user: ${db_user}
3079 Job Output Email: ${job_email}
3080 Traceback Email: ${dump_email}
3081 SMTP Host Address: ${smtp_host}
3083 Director Port: ${dir_port}
3084 File daemon Port: ${fd_port}
3085 Storage daemon Port: ${sd_port}
3087 Director User: ${dir_user}
3088 Director Group: ${dir_group}
3089 Storage Daemon User: ${sd_user}
3090 Storage DaemonGroup: ${sd_group}
3091 File Daemon User: ${fd_user}
3092 File Daemon Group: ${fd_group}
3094 SQL binaries Directory ${SQL_BINDIR}
3096 Large file support: $largefile_support
3097 Bacula conio support: ${got_conio} ${CONS_LIBS}
3098 readline support: ${got_readline} ${PRTREADLINE_SRC}
3099 TCP Wrappers support: ${TCPW_MSG} ${WRAPLIBS}
3100 TLS support: ${support_tls}
3101 Encryption support: ${support_crypto}
3102 ZLIB support: ${have_zlib}
3103 enable-smartalloc: ${support_smartalloc}
3104 enable-lockmgr: ${support_lockmgr}
3105 bat support: ${support_bat} ${QWT_LDFLAGS}
3106 enable-gnome: ${support_gnome} ${gnome_version}
3107 enable-bwx-console: ${support_wx_console} ${wx_version}
3108 enable-tray-monitor: ${support_tray_monitor}
3109 client-only: ${build_client_only}
3110 build-dird: ${build_dird}
3111 build-stored: ${build_stored}
3112 ACL support: ${have_acl}
3113 XATTR support: ${have_xattr}
3114 Python support: ${support_python} ${PYTHON_LIBS}
3115 Batch insert enabled: ${support_batch_insert}