3 dnl Process this file with autoconf to produce a configure script.
5 dnl require a recent autoconf
14 AC_CONFIG_AUX_DIR(${BUILD_DIR}/autoconf)
15 AC_CONFIG_HEADERS(src/config.h:autoconf/config.h.in)
17 dnl minimal Win32 stuff for "make clean"
18 WIN32BUILDDIR=${BUILD_DIR}/src/win32
19 WIN32MAINDIR=${BUILD_DIR}
20 WIN32TOPDIR=${TOP_DIR}
21 AC_SUBST(WIN32BUILDDIR)
22 AC_SUBST(WIN32MAINDIR)
25 dnl search for true and false programs.
26 AC_PATH_PROGS(TRUEPRG, true, :)
27 AC_PATH_PROGS(FALSEPRG, false, :)
32 if test "x$BACULA" != x; then
33 post_host=`echo -${BACULA} | tr 'A-Z ' 'a-z-'`
35 BACULA=${BACULA:-Bacula}
36 VERSION=`sed -n -e 's/^.*VERSION.*"\(.*\)"$/\1/p' ${srcdir}/src/version.h`
37 DATE=`sed -n -e 's/^.*[ \t]*BDATE.*"\(.*\)"$/\1/p' ${srcdir}/src/version.h`
38 LSMDATE=`sed -n -e 's/^.*LSMDATE.*"\(.*\)"$/\1/p' ${srcdir}/src/version.h`
39 BDB_VERSION=`sed -n -e 's/^.*BDB_VERSION \(.*\)$/\1/p' ${srcdir}/src/cats/cats.h`
44 AC_SUBST(post_host)dnl
45 AC_SUBST(BDB_VERSION)dnl
48 dnl can be overwritten by specific values from version.h
49 LIBBAC_LT_RELEASE=`sed -n -e 's/^#.*LIBBAC_LT_RELEASE.*"\(.*\)"$/\1/p' ${srcdir}/src/version.h`
50 LIBBACCFG_LT_RELEASE=`sed -n -e 's/^#.*LIBBACCFG_LT_RELEASE.*"\(.*\)"$/\1/p' ${srcdir}/src/version.h`
51 LIBBACPY_LT_RELEASE=`sed -n -e 's/^#.*LIBBACPY_LT_RELEASE.*"\(.*\)"$/\1/p' ${srcdir}/src/version.h`
53 LIBBAC_LT_RELEASE=${LIBBAC_LT_RELEASE:-$VERSION}
54 LIBBACCFG_LT_RELEASE=${LIBBACCFG_LT_RELEASE:-$VERSION}
55 LIBBACPY_LT_RELEASE=${LIBBACPY_LT_RELEASE:-$VERSION}
57 AC_SUBST(LIBBAC_LT_RELEASE)dnl
58 AC_SUBST(LIBBACCFG_LT_RELEASE)dnl
59 AC_SUBST(LIBBACPY_LT_RELEASE)dnl
62 dnl can be overwritten by specific values from version.h
63 LIBBACSQL_LT_RELEASE=`sed -n -e 's/^#.*LIBBACSQL_LT_RELEASE.*"\(.*\)"$/\1/p' ${srcdir}/src/version.h`
64 LIBBACCATS_LT_RELEASE=`sed -n -e 's/^#.*LIBBACCATS_LT_RELEASE.*"\(.*\)"$/\1/p' ${srcdir}/src/version.h`
66 LIBBACSQL_LT_RELEASE=${LIBBACSQL_LT_RELEASE:-$VERSION}
67 LIBBACCATS_LT_RELEASE=${LIBBACCATS_LT_RELEASE:-$VERSION}
69 AC_SUBST(LIBBACSQL_LT_RELEASE)dnl
70 AC_SUBST(LIBBACCATS_LT_RELEASE)dnl
73 dnl can be overwritten by specific values from version.h
74 LIBBACFIND_LT_RELEASE=`sed -n -e 's/^#.*LIBBACFIND_LT_RELEASE.*"\(.*\)"$/\1/p' ${srcdir}/src/version.h`
76 LIBBACFIND_LT_RELEASE=${LIBBACFIND_LT_RELEASE:-$VERSION}
78 AC_SUBST(LIBBACFIND_LT_RELEASE)dnl
80 echo "configuring for ${BACULA} $VERSION ($DATE)"
83 dnl -------------------------------------------------------
84 dnl Check for compiler.
85 dnl ------------------------------------------------------
89 AC_PROG_CC_C_O dnl Determine if C compiler support -c -o.
90 AC_PROG_GCC_TRADITIONAL dnl Determine if ioctl() need -traditional.
94 if test "x$BASECC" = xgcc; then
98 AC_PATH_PROG(CXX, $CXX, $CXX)
99 if test ! -e $CXX; then
100 AC_MSG_ERROR(Unable to find C++ compiler)
103 dnl -------------------------------------------------------
104 dnl Check for programs.
105 dnl ------------------------------------------------------
107 AC_PATH_PROG(MV, mv, mv)
109 dnl If we name the variable RM it will shadow the RM variable in the configure script and we overwrite the
110 dnl value with the name of the rm command and not rm -f which is its normal content. This gives all kind
111 dnl of strange output of the configure script (like things don't exist etc.).
112 dnl So we name it REMOVE (more software has run into this problem)
113 AC_PATH_PROG(REMOVE, rm, rm)
114 AC_PATH_PROG(CP, cp, cp)
115 AC_PATH_PROG(SED, sed, sed)
116 AC_PATH_PROG(ECHO, echo, echo)
117 AC_PATH_PROG(CMP, cmp, cmp)
118 AC_PATH_PROG(TBL, tbl, tbl)
119 AC_PATH_PROG(AR, ar, ar)
120 AC_PATH_PROG(OPENSSL, openssl, none)
121 AC_PATH_PROG(MTX, mtx, mtx)
122 AC_PATH_PROG(DD, dd, dd)
123 AC_PATH_PROG(MKISOFS, mkisofs, mkisofs)
124 AC_PATH_PROG(PYTHON, python, python)
125 AC_PATH_PROG(GROWISOFS, growisofs, growisofs)
126 AC_PATH_PROG(DVDRWMEDIAINFO, dvd+rw-mediainfo, dvd+rw-mediainfo)
127 AC_PATH_PROG(DVDRWFORMAT, dvd+rw-format, dvd+rw-format)
128 AC_PATH_PROG(PKGCONFIG, pkg-config, pkg-config)
129 AC_PATH_PROG(QMAKE, qmake, none)
130 AC_PATH_PROG(GMAKE, gmake, none)
131 AC_ARG_VAR(WXCONFIG, [wx-config command. On some systems, you must set it to wx-config-2.6 to use wxWidgets 2.6.])
132 if test "x$WXCONFIG" = x; then
135 AC_PATH_PROG(WXCONFIG, ${WXCONFIG}, ${WXCONFIG})
136 AC_ARG_VAR(WXFLAGS, [Parameters to pass to wx-config (e.g. --unicode=no).])
137 AC_PATH_PROG(CDRECORD, cdrecord, cdrecord)
138 AC_PATH_PROG(PIDOF, pidof, pidof)
140 # Some AWK programs fail, so test it and warn the user
141 if echo xfoo | $AWK 'BEGIN { prog=ARGV[1]; ARGC=1 }
142 { if ((prog == $2) || (("(" prog ")") == $2) ||
143 (("[" prog "]") == $2) ||
144 ((prog ":") == $2)) { print $1 ; exit 0 } }' xfoo>/dev/null; then :;
146 AC_MSG_ERROR([!!!!!!!!! WARNING !!!!!!!!!!!!!!
147 The regex engine of $AWK is too broken to be used you
148 might want to install GNU AWK.
149 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!])
152 AC_PATH_PROG(AWK, $THE_AWK, $THE_AWK)
155 test -n "$ARFLAG" || ARFLAGS="cr"
162 AC_SUBST(LOCAL_CFLAGS)
163 AC_SUBST(LOCAL_LDFLAGS)
166 dnl --------------------------------------------------
168 dnl --------------------------------------------------
170 AC_ARG_ENABLE(libtool,
171 AC_HELP_STRING([--enable-libtool], [enable building using GNU libtool @<:@default=yes@:>@]),
173 if test x$enableval = xno; then
178 LT_INIT([shared disable-static])
181 if test x$use_libtool != xno; then
182 DEFAULT_OBJECT_TYPE=".lo"
183 DEFAULT_ARCHIVE_TYPE=".la"
184 DEFAULT_SHARED_OBJECT_TYPE=".la"
185 LIBTOOL="\$(LIBTOOL)"
186 LIBTOOL_INSTALL_TARGET="libtool-install"
187 LIBTOOL_UNINSTALL_TARGET="libtool-uninstall"
188 LIBTOOL_CLEAN_TARGET="libtool-clean"
189 QMAKE_LIBTOOL="${BUILD_DIR}/libtool"
190 FD_PLUGIN_DIR="src/plugins/fd"
193 DEFAULT_OBJECT_TYPE=".o"
194 DEFAULT_ARCHIVE_TYPE=".a"
195 DEFAULT_SHARED_OBJECT_TYPE=".so"
196 LIBTOOL="# \$(LIBTOOL)"
197 LIBTOOL_INSTALL_TARGET=""
198 LIBTOOL_UNINSTALL_TARGET=""
199 LIBTOOL_CLEAN_TARGET=""
200 QMAKE_LIBTOOL="# ${BUILD_DIR}/libtool"
205 AC_SUBST(DEFAULT_OBJECT_TYPE)
206 AC_SUBST(DEFAULT_ARCHIVE_TYPE)
207 AC_SUBST(DEFAULT_SHARED_OBJECT_TYPE)
209 AC_SUBST(LIBTOOL_INSTALL_TARGET)
210 AC_SUBST(LIBTOOL_UNINSTALL_TARGET)
211 AC_SUBST(LIBTOOL_CLEAN_TARGET)
212 AC_SUBST(QMAKE_LIBTOOL)
213 AC_SUBST(FD_PLUGIN_DIR)
215 dnl --------------------------------------------------
216 dnl Include file handling
217 dnl --------------------------------------------------
218 AC_ARG_ENABLE(includes,
219 AC_HELP_STRING([--enable-includes], [enable installing of include files @<:@default=no@:>@]),
221 if test x$enableval = xyes; then
227 dnl It only makes sense to install include files when you install libraries which only happens when
228 dnl libtool is enabled
230 if test x$use_libtool != xno -a x$install_includes = xyes; then
231 INCLUDE_INSTALL_TARGET="install-includes"
232 INCLUDE_UNINSTALL_TARGET="uninstall-includes"
234 INCLUDE_INSTALL_TARGET=""
235 INCLUDE_UNINSTALL_TARGET=""
237 AC_SUBST(INCLUDE_INSTALL_TARGET)
238 AC_SUBST(INCLUDE_UNINSTALL_TARGET)
240 dnl --------------------------------------------------
241 dnl Bacula OP Sys determination (see aclocal.m4)
242 dnl --------------------------------------------------
245 dnl -----------------------------------------------------------
246 dnl Bacula OPSys Distribution determination (see aclocal.m4)
247 dnl ----------------------------------------------------------
248 BA_CHECK_OPSYS_DISTNAME
250 dnl --------------------------------------------------
251 dnl Suppport for gettext (translations)
252 dnl By default, $datarootdir is ${prefix}/share
253 dnl --------------------------------------------------
254 AM_GNU_GETTEXT([external])
256 dnl ------------------------------------------------------------------
257 dnl If the user has not set --prefix, we set our default to nothing.
258 dnl In this case, if the user has not set --sysconfdir, we set it
259 dnl to the package default of /etc/bacula. If either --prefix or
260 dnl --sysconfdir is set, we leave sysconfdir alone except to eval it.
261 dnl If the user has not set --libdir, we set it to the package
262 dnl default of /usr/lib. If either --prefix or --libdir is set,
263 dnl we leave libdir alone except to eval it. If the user has not set
264 dnl --includedir, we set it to the package default of /usr/include.
265 dnl If either --prefix or --includedir is set, we leave includedir
266 dnl alone except to eval it
267 dnl ------------------------------------------------------------------
268 os_name=`uname -s 2>/dev/null`
269 if test x${prefix} = xNONE ; then
270 if test `eval echo ${sysconfdir}` = NONE/etc ; then
271 sysconfdir=/etc/bacula
274 if test `eval echo ${libdir}` = NONE/lib ; then
277 os_processor=`uname -p 2>/dev/null`
278 case ${os_processor} in
293 if test `eval echo ${includedir}` = NONE/include ; then
294 includedir=/usr/include
297 if test `eval echo ${datarootdir}` = NONE/share ; then
298 datarootdir=/usr/share
303 dnl -------------------------------------------------------------------------
304 dnl If the user has not set --exec-prefix, we default to ${prefix}
305 dnl -------------------------------------------------------------------------
306 if test x${exec_prefix} = xNONE ; then
307 exec_prefix=${prefix}
310 sysconfdir=`eval echo ${sysconfdir}`
311 datarootdir=`eval echo ${datarootdir}`
312 docdir=`eval echo ${docdir}`
313 htmldir=`eval echo ${htmldir}`
314 libdir=`eval echo ${libdir}`
315 includedir=`eval echo ${includedir}`
316 localedir=`eval echo ${datarootdir}/locale`
317 AC_DEFINE_UNQUOTED(SYSCONFDIR, "$sysconfdir")
318 AC_DEFINE_UNQUOTED(LOCALEDIR, "$localedir")
320 dnl ------------------------------------------------------------------
321 dnl If the user has not set --sbindir, we set our default as /sbin
322 dnl ------------------------------------------------------------------
323 if test x$sbindir = x'${exec_prefix}/sbin' ; then
324 sbindir=${exec_prefix}/sbin
326 sbindir=`eval echo ${sbindir}`
328 dnl -------------------------------------------------------------------------
329 dnl If the user has not set --mandir, we default to /usr/share/man
330 dnl -------------------------------------------------------------------------
331 if test x$mandir = x'${prefix}/man' ; then
332 mandir=/usr/share/man
335 dnl -------------------------------------------------------------------------
336 dnl If the user has not set --htmldir, we default to /usr/share/doc/bacula/html
337 dnl -------------------------------------------------------------------------
338 if test x$htmldir = x${docdir} ; then
339 htmldir=`eval echo ${docdir}bacula/html`
342 dnl -------------------------------------------------------------------------
343 dnl If the user has not set --docdir, we default to /usr/share/doc/
344 dnl -------------------------------------------------------------------------
345 if test x$docdir = x'/usr/share/doc/' ; then
346 docdir=`eval echo ${docdir}bacula`
350 AC_PATH_PROGS(MSGFMT, msgfmt, no)
351 if test "$MSGFMT" = "no"
353 echo 'msgfmt program not found, disabling NLS !'
355 USE_INCLUDED_LIBINTL=no
360 support_smartalloc=yes
365 support_wx_console=no
366 support_tray_monitor=no
371 support_static_tools=no
374 support_static_dir=no
375 support_static_cons=no
383 dnl --------------------------------------------------------------------------
384 dnl CHECKING COMMAND LINE OPTIONS
385 dnl --------------------------------------------------------------------------
387 dnl -------------------------------------------
388 dnl gnome (default off)
389 dnl -------------------------------------------
391 AC_HELP_STRING([--enable-gnome], [enable build of bgnome-console GUI @<:@default=no@:>@]),
393 if test x$enableval = xyes; then
400 if test x$support_gnome = xyes; then
401 AC_MSG_ERROR(bgnome-console no longer supported)
402 AC_MSG_ERROR(--enable-gnome option no longer supported)
404 # AC_SUBST(GNOME_DIR)
406 dnl -------------------------------------------
407 dnl bat (default off)
408 dnl -------------------------------------------
410 AC_HELP_STRING([--enable-bat], [enable build of bat Qt4 GUI @<:@default=no@:>@]),
412 if test x$enableval = xyes; then
413 AC_DEFINE(HAVE_BAT, 1, [Set if Bacula bat Qt4 GUI support enabled])
420 if test x$support_bat = xyes; then
421 abc=`$PKGCONFIG --atleast-version=4.2 QtGui`
423 if test $pkg = 0; then
424 BAT_DIR=src/qt-console
426 AC_MSG_ERROR(Unable to find Qt4 installation needed by bat)
431 dnl The qwt library was used with bat, but that is no longer the case
439 dnl if test x$support_bat = xyes; then
440 dnl AC_MSG_CHECKING(for qwt support)
442 dnl AC_HELP_STRING([--with-qwt@<:@=DIR@:>@], [specify qwt library directory]),
444 dnl case "$with_qwt" in
449 dnl if test -f ${with_qwt}/include/qwt.h; then
450 dnl QWT_INC="${with_qwt}/include"
451 dnl QWT_LDFLAGS="-L${with_qwt}/lib"
461 dnl dnl Search in standard places, or --with-qwt not specified
463 dnl if test $no_qwt = no; then
464 dnl if test x$QWT_INC = x; then
465 dnl for root in /usr /usr/local; do
466 dnl for ver in qwt qwt5 qwt-qt4; do
467 dnl if test -f ${root}/include/${ver}/qwt.h; then
468 dnl QWT_INC="${root}/include/${ver}"
469 dnl if test -d ${root}/lib64/; then
470 dnl QWT_LDFLAGS="-L${root}/lib64"
471 dnl elif test -d ${root}/lib/64/; then
472 dnl QWT_LDFLAGS="-L${root}/64"
474 dnl QWT_LDFLAGS="-L${root}/lib"
485 dnl if test x$QWT_INC = x; then
486 dnl AC_MSG_RESULT(no)
488 dnl AC_DEFINE(HAVE_QWT, 1, [Set if bat QWT library found])
489 dnl AC_MSG_RESULT(yes)
495 AC_SUBST(QWT_LDFLAGS)
499 dnl -------------------------------------------
500 dnl bwx-console (default off)
501 dnl -------------------------------------------
502 AC_ARG_ENABLE(bwx-console,
503 AC_HELP_STRING([--enable-bwx-console], [enable build of wxWidgets console @<:@default=no@:>@]),
505 if test x$enableval = xyes; then
506 support_wx_console=yes
512 if test x$support_wx_console = xyes; then
513 abc=`$WXCONFIG $WXFLAGS --cppflags`
515 if test $pkg = 0; then
516 wx_version="wxWidgets `$WXCONFIG $WXFLAGS --release`"
517 WXCONS_CPPFLAGS=`$WXCONFIG $WXFLAGS --cppflags`
518 WXCONS_LDFLAGS=`$WXCONFIG $WXFLAGS --libs`
520 AC_SUBST(WXCONS_CPPFLAGS)
521 AC_SUBST(WXCONS_LDFLAGS)
522 WX_DIR="src/wx-console"
525 echo "wx-config program not found. bwx-console disabled."
527 support_wx_console=no
532 dnl -------------------------------------------
533 dnl tray-monitor (default off)
534 dnl -------------------------------------------
535 AC_ARG_ENABLE(tray-monitor,
536 AC_HELP_STRING([--enable-tray-monitor], [enable build of Gnome tray monitor (compatible with KDE @<:@default=no@:>@]),
538 if test x$enableval = xyes; then
539 support_tray_monitor=yes
545 if test x$support_tray_monitor = xyes; then
546 abc=`$PKGCONFIG --exists gtk+-2.0`
548 if test $pkg = 0; then
549 TRAY_MONITOR_CPPFLAGS=`$PKGCONFIG --cflags gtk+-2.0`
550 TRAY_MONITOR_LDFLAGS=`$PKGCONFIG --libs gtk+-2.0`
551 AC_SUBST(TRAY_MONITOR_CPPFLAGS)
552 AC_SUBST(TRAY_MONITOR_LDFLAGS)
553 TRAY_MONITOR_DIR=src/tray-monitor
554 abc=`$PKGCONFIG --atleast-version=2.4 gtk+-2.0`
556 if test $pkg = 0; then
557 AC_DEFINE(HAVE_GTK_2_4, 1, [Set if you have GTK 4.2 or greater loaded])
561 AC_SUBST(TRAY_MONITOR_DIR)
563 dnl -------------------------------------------
564 dnl smartalloc (default off)
565 dnl -------------------------------------------
566 AC_ARG_ENABLE(smartalloc,
567 AC_HELP_STRING([--enable-smartalloc], [enable smartalloc debugging support @<:@default=no@:>@]),
569 if test x$enableval = xno; then
570 support_smartalloc=no
575 if test x$support_smartalloc = xyes; then
576 AC_DEFINE(SMARTALLOC, 1, [Set if you want Smartalloc enabled])
579 dnl -------------------------------------------
580 dnl Lock Manager (default off)
581 dnl -------------------------------------------
582 AC_ARG_ENABLE(lockmgr,
583 AC_HELP_STRING([--enable-lockmgr], [enable lock manager support @<:@default=no@:>@]),
585 if test x$enableval = xyes; then
591 if test x$support_lockmgr = xyes; then
592 AC_DEFINE(_USE_LOCKMGR, 1, [Set if you want Lock Manager enabled])
596 dnl -------------------------------------------
597 dnl static-tools (default off)
598 dnl -------------------------------------------
599 AC_ARG_ENABLE(static-tools,
600 AC_HELP_STRING([--enable-static-tools], [enable static tape tools @<:@default=no@:>@]),
602 if test x$enableval = xyes; then
603 if test x$use_libtool = xyes; then
604 AC_MSG_ERROR([Libtool is enabled, not compatible with static tools,
605 please rerun configure with --disable-libtool])
607 support_static_tools=yes
613 if test x$support_static_tools = xyes; then
614 TTOOL_LDFLAGS="-static"
616 AC_SUBST(TTOOL_LDFLAGS)
618 dnl -------------------------------------------
619 dnl static-fd (default off)
620 dnl -------------------------------------------
621 AC_ARG_ENABLE(static-fd,
622 AC_HELP_STRING([--enable-static-fd], [enable static File daemon @<:@default=no@:>@]),
624 if test x$enableval = xyes; then
625 if test x$use_libtool = xyes; then
626 AC_MSG_ERROR([Libtool is enabled, not compatible with static tools,
627 please rerun configure with --disable-libtool])
629 support_static_fd=yes
635 if test x$support_static_fd = xyes; then
636 STATIC_FD="static-bacula-fd"
640 dnl -------------------------------------------
641 dnl static-sd (default off)
642 dnl -------------------------------------------
643 AC_ARG_ENABLE(static-sd,
644 AC_HELP_STRING([--enable-static-sd], [enable static Storage daemon @<:@default=no@:>@]),
646 if test x$enableval = xyes; then
647 if test x$use_libtool = xyes; then
648 AC_MSG_ERROR([Libtool is enabled, not compatible with static tools,
649 please rerun configure with --disable-libtool])
651 support_static_sd=yes
657 if test x$support_static_sd = xyes; then
658 STATIC_SD="static-bacula-sd"
662 dnl -------------------------------------------
663 dnl static-dir (default off)
664 dnl -------------------------------------------
665 AC_ARG_ENABLE(static-dir,
666 AC_HELP_STRING([--enable-static-dir], [enable static Director @<:@default=no@:>@]),
668 if test x$enableval = xyes; then
669 if test x$use_libtool = xyes; then
670 AC_MSG_ERROR([Libtool is enabled, not compatible with static tools,
671 please rerun configure with --disable-libtool])
673 support_static_dir=yes
679 if test x$support_static_dir = xyes; then
680 STATIC_DIR="static-bacula-dir"
684 dnl -------------------------------------------
685 dnl static-cons (default off)
686 dnl -------------------------------------------
687 AC_ARG_ENABLE(static-cons,
688 AC_HELP_STRING([--enable-static-cons], [enable static Console @<:@default=no@:>@]),
690 if test x$enableval = xyes; then
691 if test x$use_libtool = xyes; then
692 AC_MSG_ERROR([Libtool is enabled, not compatible with static tools,
693 please rerun configure with --disable-libtool])
695 support_static_cons=yes
703 if test x$support_static_cons = xyes; then
704 STATIC_CONS="static-bconsole"
705 STATIC_GNOME_CONS="static-bgnome-console"
706 STATIC_WX_CONS="static-bwx-console"
708 AC_SUBST(STATIC_CONS)
709 AC_SUBST(STATIC_GNOME_CONS)
710 AC_SUBST(STATIC_WX_CONS)
712 dnl -------------------------------------------
713 dnl client_only (default off)
714 dnl -------------------------------------------
715 AC_ARG_ENABLE(client-only,
716 AC_HELP_STRING([--enable-client-only], [build client (File daemon) only @<:@default=no@:>@]),
718 if test x$enableval = xyes; then
719 build_client_only=yes
725 if test x$build_client_only = xno; then
732 dnl -------------------------------------------
733 dnl director (default on)
734 dnl -------------------------------------------
735 AC_ARG_ENABLE(build-dird,
736 AC_HELP_STRING([--enable-build-dird], [enable building of dird (Director) @<:@default=yes@:>@]),
738 if test x$enableval = xno; then
743 if test x$build_dird = xyes; then
748 DIR_TOOLS="NODIRTOOLS"
753 dnl -------------------------------------------
754 dnl stored (default on)
755 dnl -------------------------------------------
756 AC_ARG_ENABLE(build-stored,
757 AC_HELP_STRING([--enable-build-stored], [enable building of stored (Storage daemon) @<:@default=yes@:>@]),
759 if test x$enableval = xno; then
764 if test x$build_stored = xyes; then
765 STORED_DIR="src/stored"
771 dnl ---------------------------------------------------
772 dnl Check for conio (Bacula readline substitute)(
773 dnl ---------------------------------------------------
774 dnl this allows you to turn it completely off
776 AC_HELP_STRING([--disable-conio], [disable conio support @<:@default=no@:>@]),
778 if test x$enableval = xno; then
785 dnl ---------------------------------------------------
786 dnl Check for IPv6 support
787 dnl ---------------------------------------------------
788 dnl this allows you to turn it completely off
791 AC_HELP_STRING([--enable-ipv6], [enable ipv6 support @<:@default=yes@:>@]),
793 if test x$enableval = xno; then
799 if test x$support_ipv6 = xyes; then
800 AC_TRY_LINK([ #include <sys/types.h>
801 #include <sys/socket.h>
802 #include <netinet/in.h>], [struct sockaddr_in6 s; struct in6_addr t=in6addr_any; int i=AF_INET6; s; t.s6_addr[0] = 0;],
803 [support_ipv6=yes], [support_ipv6=no])
806 if test x$support_ipv6 = xyes; then
807 AC_DEFINE(HAVE_IPV6,1,[Whether to enable IPv6 support])
811 AC_CHECK_HEADER(curses.h, [
812 AC_CHECK_LIB(tinfo, tgetent, [ TERM_LIB="-ltinfo" ], [
813 AC_CHECK_LIB(ncurses, tgetent, [ TERM_LIB="-lncurses" ], [
814 AC_CHECK_LIB(termcap, tgetent, [ TERM_LIB="-ltermcap" ])
818 [ AC_CHECK_HEADERS(curses.h)
819 AC_CHECK_HEADER(term.h,
820 [ AC_CHECK_LIB(curses, tgetent,
821 [ TERM_LIB="-lcurses" ] )
827 if test x$support_conio = xyes; then
828 if test x$TERM_LIB != x; then
834 AC_DEFINE(HAVE_CONIO, 1, [Set if Bacula conio support enabled])
836 echo " "; echo "Required libraries not found. CONIO turned off ..."; echo " "],
841 dnl ---------------------------------------------------
842 dnl Check for readline support/directory (default off)
843 dnl ---------------------------------------------------
844 dnl this allows you to turn it completely off
845 AC_ARG_ENABLE(readline,
846 AC_HELP_STRING([--disable-readline], [disable readline support @<:@default=yes@:>@]),
848 if test x$enableval = xno; then
853 if test x$TERM_LIB = x ; then
859 if test x$support_readline = xyes; then
860 AC_ARG_WITH(readline,
861 AC_HELP_STRING([--with-readline@<:@=DIR@:>@], [specify readline library directory]),
863 case "$with_readline" in
868 if test -f ${with_readline}/readline.h; then
869 CONS_INC="-I${with_readline}"
870 CONS_LDFLAGS="-L$with_readline"
871 elif test -f ${with_readline}/include/readline/readline.h; then
872 CONS_INC="-I${with_readline}/include/readline"
873 CONS_LDFLAGS="-L${with_readline}/lib"
874 with_readline="${with_readline}/include/readline"
876 with_readline="/usr/include/readline"
879 AC_CHECK_HEADER(${with_readline}/readline.h,
881 AC_DEFINE(HAVE_READLINE, 1, [Set to enable readline support])
882 CONS_LIBS="-lreadline -lhistory $TERM_LIB"
886 echo "readline.h not found. readline turned off ..."
893 dnl check for standard readline library
894 AC_CHECK_HEADER(/usr/include/readline/readline.h,
896 AC_DEFINE(HAVE_READLINE, 1, [Set to enable readline support])
898 CONS_INC="-I/usr/include/readline"
899 CONS_LIBS="-lreadline $TERM_LIB"
901 dnl Did not find standard library, so try Bacula's default
902 AC_CHECK_HEADER(${TOP_DIR}/depkgs/readline/readline.h,
904 AC_DEFINE(HAVE_READLINE, 1, [Set to enable readline support])
906 CONS_INC="-I${TOP_DIR}/depkgs/readline"
907 CONS_LIBS="-lreadline -lhistory $TERM_LIB"
908 CONS_LDFLAGS="-L${TOP_DIR}/depkgs/readline"
909 PRTREADLINE_SRC="${TOP_DIR}/depkgs/readline"
912 echo "readline.h not found. readline turned off ..."
926 AC_SUBST(CONS_LDFLAGS)
927 AC_SUBST(READLINE_SRC)
929 dnl Minimal stuff for readline Makefile configuration
934 AC_CHECK_FUNCS(strcasecmp select setenv putenv tcgetattr lstat lchown)
935 AC_CHECK_FUNCS(nanosleep nl_langinfo)
936 AC_CHECK_HEADERS(varargs.h)
938 dnl End of readline/conio stuff
939 dnl -----------------------------------------------------------------------
941 dnl -----------------------------------------------------------------------
942 dnl Check for Python support
944 AC_MSG_CHECKING(for Python support)
946 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.]),
950 if test "$withval" != "no"; then
951 if test "$withval" = "yes"; then
952 if test -e /usr/bin/python-config ; then
953 PYTHON_INCDIR=`/usr/bin/python-config --includes`
954 PYTHON_LIBS=`/usr/bin/python-config --libs`
956 for python_root in /usr /usr/local /usr/sfw; do
957 for ver in python2.2 python2.3 python2.4 python2.5 python2.6 python3; do
958 if test -f $python_root/include/${ver}/Python.h; then
959 PYTHON_INCDIR=-I$python_root/include/${ver}
960 if test -d $python_root/lib64/${ver}/config; then
961 PYTHON_LIBS="-L$python_root/lib64/${ver}/config -l${ver}"
963 PYTHON_LIBS="-L$python_root/lib/${ver}/config -l${ver}"
970 if test x$PYTHON_INCDIR = x; then
971 if test -f $prefix/include/Python.h; then
972 PYTHON_INCDIR=-I$prefix/include
973 if test -d $prefix/lib64/config; then
974 PYTHON_LIBS="-L$prefix/lib64/config -lpython"
976 PYTHON_LIBS="-L$prefix/lib/config -lpython"
980 AC_MSG_ERROR(Unable to find Python.h in standard locations)
985 if test -e $withval/bin/python-config ; then
986 PYTHON_INCDIR=`$withval/bin/python-config --includes`
987 PYTHON_LIBS=`$withval/bin/python-config --libs`
988 elif test -f $withval/Python.h; then
989 PYTHON_INCDIR=-I$withval
990 PYTHON_LIBS="-L$withval/config -lpython"
991 elif test -f $withval/include/Python.h; then
992 PYTHON_INCDIR=-I$withval/include
993 if test -d $withval/lib64/config; then
994 PYTHON_LIBS="-L$withval/lib64/config -lpython"
996 PYTHON_LIBS="-L$withval/lib/config -lpython"
998 elif test -f $withval/include/python/Python.h; then
999 PYTHON_INCDIR=-I$withval/include/python
1000 if test -d $withval/lib64/python/config; then
1001 PYTHON_LIBS="-L$withval/lib64/python/config -lpython"
1003 PYTHON_LIBS="-L$withval/lib/python/config -lpython"
1007 AC_MSG_ERROR(Invalid Python directory $withval - unable to find Python.h under $withval)
1011 AC_DEFINE([HAVE_PYTHON], 1)
1014 AC_MSG_NOTICE(checking for more Python libs)
1015 saved_LIBS="$LIBS"; LIBS=
1016 AC_SEARCH_LIBS(shm_open, [rt])
1017 AC_CHECK_LIB(util, openpty)
1018 PYTHON_LIBS="$PYTHON_LIBS $LIBS"
1027 AC_SUBST(PYTHON_LIBS)
1028 AC_SUBST(PYTHON_INCDIR)
1031 dnl Find where sockets are (especially for Solaris)
1032 dnl Do this before the TCP Wrappers test since tcp wrappers
1033 dnl uses the socket library and some linkers are stupid.
1035 AC_CHECK_FUNC(socket,
1036 AC_MSG_RESULT(using libc's socket),
1037 AC_CHECK_LIB(xnet,socket)
1038 AC_CHECK_LIB(socket,socket)
1039 AC_CHECK_LIB(inet,socket))
1041 dnl -----------------------------------------------------------
1042 dnl Check whether user wants TCP wrappers support (default off)
1043 dnl -----------------------------------------------------------
1046 AC_ARG_WITH(tcp-wrappers,
1047 AC_HELP_STRING([--with-tcp-wrappers@<:@=DIR@:>@], [enable tcpwrappers support]),
1049 if test "x$withval" != "xno" ; then
1051 LIBS="$saved_LIBS -lwrap"
1052 AC_SEARCH_LIBS(nanosleep, [rt])
1053 AC_MSG_CHECKING(for libwrap)
1056 #include <sys/types.h>
1058 int deny_severity = 0;
1059 int allow_severity = 0;
1060 struct request_info *req;
1065 AC_DEFINE(HAVE_LIBWRAP, 1, [Set to enable libwraper support])
1070 LIBS="$saved_LIBS -lwrap -lnsl"
1071 WRAPLIBS="$saved_LIBS -lwrap -lnsl"
1074 #include <sys/types.h>
1076 int deny_severity = 0;
1077 int allow_severity = 0;
1078 struct request_info *req;
1083 AC_DEFINE(HAVE_LIBWRAP, 1, [Set to enable libwraper support])
1088 AC_MSG_ERROR([*** libwrap missing])
1097 dnl -----------------------------------------------------------
1098 dnl Check whether OpenSSL is available
1099 dnl -----------------------------------------------------------
1100 AC_MSG_CHECKING([for OpenSSL])
1101 dnl The following uses quadrigraphs:
1104 AC_ARG_WITH(openssl,
1105 AC_HELP_STRING([--with-openssl@<:@=DIR@:>@], [Include OpenSSL support. DIR is the OpenSSL base]),
1107 with_openssl_directory=${withval}
1111 if test "x$with_openssl_directory" != "xno"; then
1112 OPENSSL_LIBS="-lssl -lcrypto"
1115 if test "x$with_openssl_directory" != "xyes" && test x"${with_openssl_directory}" != "x"; then
1117 # Make sure the $with_openssl_directory also makes sense
1119 if test -d "$with_openssl_directory/lib" -a -d "$with_openssl_directory/include"; then
1120 OPENSSL_LIBS="-L$with_openssl_directory/lib $OPENSSL_LIBS"
1121 OPENSSL_INC="-I$with_openssl_directory/include $OPENSSL_INC"
1125 saved_LIBS="${LIBS}"
1126 saved_CFLAGS="${CFLAGS}"
1127 LIBS="${saved_LIBS} ${OPENSSL_LIBS}"
1128 CFLAGS="${saved_CFLAGS} ${OPENSSL_INC}"
1132 #include <openssl/ssl.h>
1134 CRYPTO_set_id_callback(NULL);
1137 support_crypto="yes"
1146 #include <openssl/evp.h>
1150 ac_cv_openssl_sha2="yes"
1152 ac_cv_openssl_sha2="no"
1156 dnl Solaris disables greater than 128+ bit encryption in their OpenSSL
1157 dnl implementation, presumably for export reasons. If 192bit AES
1158 dnl is available, we assume that we're running with a 'non-export'
1159 dnl openssl library.
1162 #include <openssl/evp.h>
1166 ac_cv_openssl_export="no"
1168 ac_cv_openssl_export="yes"
1172 if test "$support_tls" = "yes"; then
1173 AC_DEFINE(HAVE_OPENSSL, 1, [Define if OpenSSL library is available])
1174 AC_DEFINE(HAVE_TLS, 1, [Define if TLS support should be enabled])
1175 AC_DEFINE(HAVE_CRYPTO, 1, [Define if encryption support should be enabled])
1178 if test "$ac_cv_openssl_sha2" = "yes"; then
1179 AC_DEFINE(HAVE_SHA2, 1, [Define if the SHA-2 family of digest algorithms is available])
1182 if test "$ac_cv_openssl_export" = "yes"; then
1183 AC_DEFINE(HAVE_OPENSSL_EXPORT_LIBRARY, 1, [Define if the OpenSSL library is export-contrained to 128bit ciphers])
1186 if test "$support_crypto" = "yes"; then
1187 AC_CHECK_LIB(crypto, EVP_PKEY_encrypt_old, AC_DEFINE(HAVE_OPENSSLv1, 1, [Set if have OpenSSL version 1.x]))
1190 LIBS="${saved_LIBS}"
1191 CFLAGS="${saved_CFLAGS}"
1198 AC_MSG_RESULT([$support_tls])
1200 if test "$support_tls" = "no"; then
1204 if test "$support_crypto" = "no"; then
1209 AC_SUBST(OPENSSL_LIBS)
1210 AC_SUBST(OPENSSL_INC)
1212 dnl -----------------------------------------------------------
1213 dnl dlopen is needed for plugins
1214 dnl -----------------------------------------------------------
1215 AC_SEARCH_LIBS(dlopen, [dl])
1217 dnl ------------------------------------------
1218 dnl Where to place working dir
1219 dnl ------------------------------------------
1220 working_dir=`eval echo ${prefix}/var/bacula/working`
1221 AC_ARG_WITH(working-dir,
1222 AC_HELP_STRING([--with-working-dir=PATH], [specify path of Bacula working directory]),
1224 if test "x$withval" != "xno" ; then
1225 working_dir=$withval
1230 AC_SUBST(working_dir)
1232 dnl ------------------------------------------------------------------
1233 dnl If the user has not set archivedir, we set our default as /tmp
1234 dnl ------------------------------------------------------------------
1236 AC_ARG_WITH(archivedir,
1237 AC_HELP_STRING([--with-archivedir=PATH], [specify path of SD archive directory]),
1239 if test "x$withval" != "xno" ; then
1245 AC_SUBST(archivedir)
1247 dnl ------------------------------------------------------------------
1248 dnl Allow the user to specify the daemon resource name default hostname
1249 dnl ------------------------------------------------------------------
1251 AC_ARG_WITH(basename,
1252 AC_HELP_STRING([--with-basename=RESNAME], [specify base resource name for daemons]),
1254 if test "x$withval" != "xno" ; then
1262 dnl ------------------------------------------------------------------
1263 dnl Allow the user to override the hostname (default = machine hostname)
1264 dnl ------------------------------------------------------------------
1265 hostname=`uname -n | cut -d '.' -f 1`
1266 if test x${hostname} = x ; then
1267 hostname="localhost"
1269 AC_ARG_WITH(hostname,
1270 AC_HELP_STRING([--with-hostname=RESNAME], [specify host name for daemons]),
1272 if test "x$withval" != "xno" ; then
1281 dnl ------------------------------------------
1282 dnl Where to place scriptdir (script files)
1283 dnl ------------------------------------------
1284 scriptdir=`eval echo ${sysconfdir}`
1285 AC_ARG_WITH(scriptdir,
1286 AC_HELP_STRING([--with-scriptdir=PATH], [specify path of Bacula scripts directory]),
1288 if test "x$withval" != "xno" ; then
1297 dnl ------------------------------------------
1298 dnl Where to place bsrdir (bsr files)
1299 dnl ------------------------------------------
1302 AC_HELP_STRING([--with-bsrdir=PATH], [specify path of Bacula bsrs directory]),
1304 if test "x$withval" != "xno" ; then
1312 dnl ------------------------------------------
1313 dnl Where to place logdir (bsr files)
1314 dnl ------------------------------------------
1317 AC_HELP_STRING([--with-logdir=PATH], [specify path of Bacula logs directory]),
1319 if test "x$withval" != "xno" ; then
1328 # ------------------------------------------
1329 # Where to place plugindir (plugin files)
1330 # ------------------------------------------
1331 plugindir=`eval echo ${libdir}`
1332 AC_ARG_WITH(plugindir,
1333 AC_HELP_STRING([--with-plugindir=PATH], [specify path of Bacula plugins directory]),
1335 if test "x$withval" != "xno" ; then
1343 dnl ------------------------------------------
1344 dnl Where to send dump email
1345 dnl ------------------------------------------
1346 dump_email=root@localhost
1347 AC_ARG_WITH(dump-email,
1348 AC_HELP_STRING([--with-dump-email=EMAIL], [dump email address]),
1350 if test "x$withval" != "xno" ; then
1356 AC_SUBST(dump_email)
1358 dnl ------------------------------------------
1359 dnl Where to send job email
1360 dnl ------------------------------------------
1361 job_email=root@localhost
1362 AC_ARG_WITH(job-email,
1363 AC_HELP_STRING([--with-job-email=EMAIL], [job output email address]),
1365 if test "x$withval" != "xno" ; then
1373 dnl ------------------------------------------
1374 dnl Where to find smtp host
1375 dnl ------------------------------------------
1377 AC_ARG_WITH(smtp_host,
1378 AC_HELP_STRING([--with-smtp-host=HOST], [SMTP mail host address]),
1380 if test "x$withval" != "xno" ; then
1388 dnl ------------------------------------
1389 dnl Where to place pid files
1390 dnl ------------------------------------
1392 AC_ARG_WITH(pid-dir,
1393 AC_HELP_STRING([--with-pid-dir=PATH], [specify location of Bacula pid files]),
1395 if test "x$withval" != "xno" ; then
1401 AC_DEFINE_UNQUOTED(_PATH_BACULA_PIDDIR, "$piddir")
1404 dnl ------------------------------------
1405 dnl Where to place subsys "lock file"
1406 dnl ------------------------------------
1407 subsysdir=/var/run/subsys
1408 if test -d /var/run/subsys; then
1409 subsysdir=/var/run/subsys
1410 elif test -d /var/lock/subsys; then
1411 subsysdir=/var/lock/subsys
1413 subsysdir=/var/run/subsys
1415 AC_ARG_WITH(subsys-dir,
1416 AC_HELP_STRING([--with-subsys-dir=PATH], [specify location of Bacula subsys file]),
1418 if test "x$withval" != "xno" ; then
1426 dnl ------------------------------------
1427 dnl Where to start assigning ports
1428 dnl ------------------------------------
1430 AC_ARG_WITH(baseport,
1431 AC_HELP_STRING([--with-baseport=PORT], [specify base port address for daemons]),
1433 if test "x$withval" != "xno" ; then
1440 dir_port=`expr $baseport`
1441 fd_port=`expr $baseport + 1`
1442 sd_port=`expr $fd_port + 1`
1448 dnl ------------------------------------------
1449 dnl Generate passwords
1450 dnl ------------------------------------------
1452 AC_ARG_WITH(dir-password,
1453 AC_HELP_STRING([--with-dir-password=PASSWORD], [specify Director's password]),
1455 if test "x$withval" != "xno" ; then
1456 dir_password=$withval
1461 if test "x$dir_password" = "x" ; then
1462 if test "x$OPENSSL" = "xnone" ; then
1463 key=`autoconf/randpass 33`
1465 key=`openssl rand -base64 33`
1471 AC_ARG_WITH(fd-password,
1472 AC_HELP_STRING([--with-fd-password=PASSWORD], [specify Client's password]),
1474 if test "x$withval" != "xno" ; then
1475 fd_password=$withval
1480 if test "x$fd_password" = "x" ; then
1481 if test "x$OPENSSL" = "xnone" ; then
1482 key=`autoconf/randpass 37`
1484 key=`openssl rand -base64 33`
1490 AC_ARG_WITH(sd-password,
1491 AC_HELP_STRING([--with-sd-password=PASSWORD], [specify Storage daemon's password]),
1493 if test "x$withval" != "xno" ; then
1494 sd_password=$withval
1499 if test "x$sd_password" = "x" ; then
1500 if test "x$OPENSSL" = "xnone" ; then
1501 key=`autoconf/randpass 41`
1503 key=`openssl rand -base64 33`
1509 AC_ARG_WITH(mon-dir-password,
1510 AC_HELP_STRING([--with-mon-dir-password=PASSWORD], [specify Director's password used by the monitor]),
1512 if test "x$withval" != "xno" ; then
1513 mon_dir_password=$withval
1518 if test "x$mon_dir_password" = "x" ; then
1519 if test "x$OPENSSL" = "xnone" ; then
1520 key=`autoconf/randpass 33`
1522 key=`openssl rand -base64 33`
1524 mon_dir_password=$key
1528 AC_ARG_WITH(mon-fd-password,
1529 AC_HELP_STRING([--with-mon-fd-password=PASSWORD], [specify Client's password used by the monitor]),
1531 if test "x$withval" != "xno" ; then
1532 mon_fd_password=$withval
1537 if test "x$mon_fd_password" = "x" ; then
1538 if test "x$OPENSSL" = "xnone" ; then
1539 key=`autoconf/randpass 37`
1541 key=`openssl rand -base64 33`
1543 mon_fd_password=$key
1547 AC_ARG_WITH(mon-sd-password,
1548 AC_HELP_STRING([--with-mon-sd-password=PASSWORD], [specify Storage daemon's password used by the monitor]),
1550 if test "x$withval" != "xno" ; then
1551 mon_sd_password=$withval
1556 if test "x$mon_sd_password" = "x" ; then
1557 if test "x$OPENSSL" = "xnone" ; then
1558 key=`autoconf/randpass 41`
1560 key=`openssl rand -base64 33`
1562 mon_sd_password=$key
1565 AC_SUBST(dir_password)
1566 AC_SUBST(fd_password)
1567 AC_SUBST(sd_password)
1568 AC_SUBST(mon_dir_password)
1569 AC_SUBST(mon_fd_password)
1570 AC_SUBST(mon_sd_password)
1573 dnl Pickup any database name
1576 AC_ARG_WITH(db_name,
1577 AC_HELP_STRING([--with-db-name=DBNAME], [specify database name @<:@default=bacula@:>@]),
1579 if test "x$withval" != "x" ; then
1587 AC_ARG_WITH(db_user,
1588 AC_HELP_STRING([--with-db-user=UNAME], [specify database user @<:@default=bacula@:>@]),
1590 if test "x$withval" != "x" ; then
1598 AC_ARG_WITH(db_password,
1599 AC_HELP_STRING([--with-db-password=PWD], [specify database password @<:@default=*none*@:>@]),
1601 if test "x$withval" != "x" ; then
1602 db_password=$withval
1606 AC_SUBST(db_password)
1609 dnl Pickup a database port
1612 AC_ARG_WITH(db_port,
1613 AC_HELP_STRING([--with-db-port=DBPORT], [specify a database port @<:@default=null@:>@]),
1615 if test "x$withval" != "x" ; then
1623 # Handle users and groups for each daemon
1626 AC_ARG_WITH(dir_user,
1627 AC_HELP_STRING([--with-dir-user=USER], [specify user for Director daemon]),
1629 if test "x$withval" != "x" ; then
1636 AC_ARG_WITH(dir_group,
1637 AC_HELP_STRING([--with-dir-group=GROUP], [specify group for Director daemon]),
1639 if test "x$withval" != "x" ; then
1646 AC_ARG_WITH(sd_user,
1647 AC_HELP_STRING([--with-sd-user=USER], [specify user for Storage daemon]),
1649 if test "x$withval" != "x" ; then
1656 AC_ARG_WITH(sd_group,
1657 AC_HELP_STRING([--with-sd-group=GROUP], [specify group for Storage daemon]),
1659 if test "x$withval" != "x" ; then
1666 AC_ARG_WITH(fd_user,
1667 AC_HELP_STRING([--with-fd-user=USER], [specify user for File daemon]),
1669 if test "x$withval" != "x" ; then
1676 AC_ARG_WITH(fd_group,
1677 AC_HELP_STRING([--with-fd-group=GROUP], [specify group for File daemon]),
1679 if test "x$withval" != "x" ; then
1693 dnl allow setting default executable permissions
1696 AC_ARG_WITH(sbin-perm,
1697 AC_HELP_STRING([--with-sbin-perm=MODE], [specify permissions for sbin binaries @<:@default=0750@:>@]),
1699 if test "x$withval" != "x" ; then
1707 dnl ------------------------------------------------
1708 dnl Bacula check for various SQL database engines
1709 dnl ------------------------------------------------
1710 BA_CHECK_POSTGRESQL_DB
1722 dnl -------------------------------------------
1723 dnl Make sure at least one database backend is found
1724 dnl -------------------------------------------
1725 if test "x${db_backends}" = "x" ; then
1728 echo "You have not specified either --enable-client-only or one of the"
1729 echo "supported databases: MySQL, PostgreSQL, Ingres, SQLite3 or DBI."
1730 echo "This is not permitted. Please reconfigure."
1732 echo "Aborting the configuration ..."
1738 dnl -------------------------------------------
1739 dnl See how many catalog backends are configured.
1740 dnl -------------------------------------------
1741 case `echo $DB_BACKENDS | wc -w | sed -e 's/^ *//'` in
1743 DEFAULT_DB_TYPE="${DB_BACKENDS}"
1744 if test x$use_libtool = xno; then
1745 SHARED_CATALOG_TARGETS=""
1747 SHARED_CATALOG_TARGETS="libbaccats-${DEFAULT_DB_TYPE}.la"
1751 dnl ------------------------------------------------
1752 dnl Set the default backend to the first backend found
1753 dnl ------------------------------------------------
1754 DEFAULT_DB_TYPE=`echo ${DB_BACKENDS} | cut -d' ' -f1`
1756 dnl ------------------------------------------------
1757 dnl For multiple backend we need libtool support.
1758 dnl ------------------------------------------------
1759 if test x$use_libtool = xno; then
1762 echo "You have specified two or more of the"
1763 echo "supported databases: MySQL, PostgreSQL, Ingres, SQLite3 or DBI."
1764 echo "This is not permitted when not using libtool Please reconfigure."
1766 echo "Aborting the configuration ..."
1772 SHARED_CATALOG_TARGETS=""
1773 for db_type in ${DB_BACKENDS}
1775 if test -z "${SHARED_CATALOG_TARGETS}"; then
1776 SHARED_CATALOG_TARGETS="libbaccats-${db_type}.la"
1778 SHARED_CATALOG_TARGETS="${SHARED_CATALOG_TARGETS} libbaccats-${db_type}.la"
1784 dnl -------------------------------------------
1785 dnl Unset DB_LIBS when using libtool as we link the
1786 dnl shared library using the right database lib no need to
1787 dnl set DB_LIBS which is only used for non shared versions
1788 dnl of the backends.
1789 dnl -------------------------------------------
1790 if test x$use_libtool = xyes; then
1794 AC_SUBST(DB_BACKENDS)
1796 AC_SUBST(DEFAULT_DB_TYPE)
1797 AC_SUBST(SHARED_CATALOG_TARGETS)
1799 dnl -------------------------------------------
1800 dnl enable batch attribute DB insert (default on)
1801 dnl -------------------------------------------
1802 support_batch_insert=yes
1803 AC_ARG_ENABLE(batch-insert,
1804 AC_HELP_STRING([--enable-batch-insert], [enable the DB batch insert code @<:@default=yes@:>@]),
1806 if test x$enableval = xno; then
1807 support_batch_insert=no
1812 if test x$support_batch_insert = xyes; then
1813 AC_DEFINE(USE_BATCH_FILE_INSERT, 1, [Set if DB batch insert code enabled])
1816 dnl -------------------------------------------
1817 dnl Check if mysql supports batch mode
1818 dnl -------------------------------------------
1819 if test ! -z "$MYSQL_LIB"; then
1820 AC_CHECK_LIB(mysql_r, mysql_thread_safe, AC_DEFINE(HAVE_MYSQL_THREAD_SAFE, 1, [Set if have mysql_thread_safe]))
1823 dnl -------------------------------------------
1824 dnl Check if sqlite supports batch mode
1825 dnl -------------------------------------------
1826 if test ! -z "SQLITE_LIB"; then
1827 AC_CHECK_LIB(sqlite3, sqlite3_threadsafe, AC_DEFINE(HAVE_SQLITE3_THREADSAFE, 1, [Set if have sqlite3_threadsafe]))
1830 dnl -------------------------------------------
1831 dnl Check if postgresql supports batch mode
1832 dnl -------------------------------------------
1833 if test ! -z "$POSTGRESQL_LIB"; then
1834 dnl For postgresql checking
1835 saved_LIBS="${LIBS}"
1836 LIBS="${saved_LIBS} ${POSTGRESQL_LIB}"
1838 AC_CHECK_LIB(pq, PQisthreadsafe, AC_DEFINE(HAVE_PQISTHREADSAFE, 1, [Set if have PQisthreadsafe]))
1839 AC_CHECK_LIB(pq, PQputCopyData, AC_DEFINE(HAVE_PQ_COPY, 1, [Set if have PQputCopyData]))
1840 if test "x$ac_cv_lib_pq_PQputCopyData" = "xyes"; then
1841 if test $support_batch_insert = yes ; then
1842 AC_DEFINE(HAVE_POSTGRESQL_BATCH_FILE_INSERT, 1, [Set if PostgreSQL DB batch insert code enabled])
1846 if test x$ac_cv_lib_pq_PQisthreadsafe != xyes -a x$support_batch_insert = xyes
1848 echo "WARNING: Your PostgreSQL client library is too old to detect "
1849 echo "if it was compiled with --enable-thread-safety, consider to "
1850 echo "upgrade it in order to avoid problems with Batch insert mode"
1854 dnl Revert after postgresql checks
1855 LIBS="${saved_LIBS}"
1858 dnl -------------------------------------------
1859 dnl Check if dbi supports batch mode
1860 dnl -------------------------------------------
1861 if test ! -z "$DBI_LIBS"; then
1862 dnl -------------------------------------------
1863 dnl Push the DB_PROG onto the stack of supported database backends for DBI
1864 dnl -------------------------------------------
1865 DB_BACKENDS="${DB_BACKENDS} ${DB_PROG}"
1867 dnl -------------------------------------------
1868 dnl Check for batch insert
1869 dnl -------------------------------------------
1870 if test $DB_PROG = postgresql; then
1871 AC_CHECK_LIB(pq, PQisthreadsafe, AC_DEFINE(HAVE_PQISTHREADSAFE))
1872 AC_CHECK_LIB(pq, PQputCopyData, AC_DEFINE(HAVE_PQ_COPY))
1873 test "x$ac_cv_lib_pq_PQputCopyData" = "xyes"
1875 if test $pkg = 0; then
1876 if test $support_batch_insert = yes ; then
1877 AC_DEFINE(HAVE_DBI_BATCH_FILE_INSERT, 1, [Set if DBI DB batch insert code enabled])
1882 dnl -------------------------------------------
1883 dnl If dbi was not chosen, let the comment in file
1884 dnl -------------------------------------------
1888 AC_SUBST(uncomment_dbi)
1890 AC_DEFINE(PROTOTYPES)
1892 dnl --------------------------------------------------------------------------
1893 dnl Supply default CFLAGS, if not specified by `CFLAGS=flags ./configure'
1895 if test -z "$CFLAGS" -o "$CFLAGS" = "-g -O2"; then
1896 if test -z "$CCOPTS"; then
1897 CCOPTS='-g -O2 -Wall'
1905 dnl See if we can use 64 bit file addresses
1906 largefile_support="no"
1911 dnl --------------------------------------------------------------------------
1912 dnl CHECKING FOR HEADER FILES
1913 dnl --------------------------------------------------------------------------
1951 AC_STRUCT_ST_BLKSIZE
1955 dnl --------------------------------------------------------------------------
1956 dnl Check for utime.h structure
1957 dnl --------------------------------------------------------------------------
1958 AC_CACHE_CHECK(for utime.h, ba_cv_header_utime_h,
1962 #include <sys/types.h>
1967 ba_cv_header_utime_h=yes
1969 ba_cv_header_utime_h=no
1974 test $ba_cv_header_utime_h = yes && AC_DEFINE(HAVE_UTIME_H, 1, [Set if utime.h exists])
1976 dnl --------------------------------------------------------------------------
1977 dnl Check for socklen_t
1978 dnl --------------------------------------------------------------------------
1979 AC_CACHE_CHECK(for socklen_t, ba_cv_header_socklen_t,
1983 #include <sys/types.h>
1984 #include <sys/socket.h>
1988 ba_cv_header_socklen_t=yes
1990 ba_cv_header_socklen_t=no
1995 test $ba_cv_header_socklen_t = yes && AC_DEFINE(HAVE_SOCKLEN_T, 1, [Set if socklen_t exists])
1997 dnl --------------------------------------------------------------------------
1998 dnl Check for ioctl request type
1999 dnl --------------------------------------------------------------------------
2001 AC_CACHE_CHECK(for ioctl_req_t, ba_cv_header_ioctl_req_t,
2006 #include <sys/types.h>
2007 #include <sys/ioctl.h>
2009 int (*d_ioctl)(int fd, unsigned long int request, ...);
2012 ba_cv_header_ioctl_req_t=yes
2014 ba_cv_header_ioctl_req_t=no
2019 test $ba_cv_header_ioctl_req_t = yes && AC_DEFINE(HAVE_IOCTL_ULINT_REQUEST, 1, [Set if ioctl request is unsigned long int])
2021 dnl Note: it is more correct to use AC_LANG(C++) but some of the older
2022 dnl *BSD systems still use old style C prototypes, which are wrong with
2023 dnl compiled with a C++ compiler.
2026 dnl --------------------------------------------------------------------------
2027 dnl Check for typeof()
2028 dnl --------------------------------------------------------------------------
2030 AC_CACHE_CHECK(for typeof, ba_cv_have_typeof,
2034 main(){char *a = 0; a = (typeof a)a;}
2036 ba_cv_have_typeof=yes
2038 ba_cv_have_typeof=no
2040 ba_cv_have_typeof=no
2045 test $ba_cv_have_typeof = yes && AC_DEFINE([HAVE_TYPEOF], 1, [Defind to 1 if compiler has typeof])
2050 AC_C_BIGENDIAN([AC_DEFINE([HAVE_BIG_ENDIAN], [1], [Big Endian])], [AC_DEFINE([HAVE_LITTLE_ENDIAN], [1], [Little Endian])])
2052 dnl --------------------------------------------------------------------------
2053 dnl CHECKING FOR FILESYSTEM TYPE
2054 dnl --------------------------------------------------------------------------
2055 AC_MSG_CHECKING(how to get filesystem type)
2057 # The order of these tests is important.
2060 #include <sys/statvfs.h>
2061 #include <sys/fstyp.h>
2063 AC_DEFINE(FSTYPE_STATVFS) fstype=SVR4
2065 if test $fstype = no; then
2068 #include <sys/statfs.h>
2069 #include <sys/fstyp.h>
2071 AC_DEFINE(FSTYPE_USG_STATFS) fstype=SVR3
2074 if test $fstype = no; then
2077 #include <sys/statfs.h>
2078 #include <sys/vmount.h>
2080 AC_DEFINE(FSTYPE_AIX_STATFS) fstype=AIX
2083 if test $fstype = no; then
2088 AC_DEFINE(FSTYPE_MNTENT) fstype=4.3BSD
2091 if test $fstype = no; then
2092 AC_EGREP_HEADER(f_type;, sys/mount.h, AC_DEFINE(FSTYPE_STATFS) fstype=4.4BSD/OSF1)
2094 if test $fstype = no; then
2097 #include <sys/mount.h>
2098 #include <sys/fs_types.h>
2100 AC_DEFINE(FSTYPE_GETMNT) fstype=Ultrix
2103 AC_MSG_RESULT($fstype)
2105 AC_CHECK_HEADER(sys/statvfs.h, [ AC_DEFINE(HAVE_SYS_STATVFS_H,1,[Defines if your system have the sys/statvfs.h header file])] , )
2108 AC_CHECK_HEADERS([cxxabi.h execinfo.h], [ AC_DEFINE(HAVE_BACKTRACE,1,[Defines if your system have the cxxabi.h and execinfo.h header files for backtrace()])] , )
2111 dnl --------------------------------------------------------------------------
2112 dnl CHECKING FOR TYPEDEFS, STRUCTURES, AND COMPILER CHARACTERISTICS.
2113 dnl --------------------------------------------------------------------------
2123 AC_CHECK_TYPE(ino_t, unsigned long)
2124 AC_CHECK_TYPE(dev_t, unsigned long)
2125 AC_CHECK_TYPE(daddr_t, long)
2126 AC_CHECK_TYPE(major_t, int)
2127 AC_CHECK_TYPE(minor_t, int)
2128 AC_CHECK_TYPE(ssize_t, int)
2134 AC_CHECK_SIZEOF(char, 1)
2135 AC_CHECK_SIZEOF(short int, 2)
2136 AC_CHECK_SIZEOF(int, 4)
2137 AC_CHECK_SIZEOF(long int, 4)
2138 AC_CHECK_SIZEOF(long long int, 8)
2139 AC_CHECK_SIZEOF(int *, 4)
2141 dnl Check for sys/types.h types
2142 AC_CACHE_CHECK([for u_int type], ac_cv_have_u_int,
2146 #include <sys/types.h>
2150 ac_cv_have_u_int="yes"
2152 ac_cv_have_u_int="no"
2157 if test "x$ac_cv_have_u_int" = "xyes" ; then
2158 AC_DEFINE(HAVE_U_INT)
2162 AC_CACHE_CHECK([for intmax_t type], ac_cv_have_intmax_t,
2166 #include <sys/types.h>
2170 ac_cv_have_intmax_t="yes"
2178 ac_cv_have_intmax_t="yes"
2180 ac_cv_have_intmax_t="no"
2187 if test "x$ac_cv_have_intmax_t" = "xyes" ; then
2188 AC_DEFINE(HAVE_INTMAX_T)
2192 AC_CACHE_CHECK([for u_intmax_t type], ac_cv_have_u_intmax_t,
2196 #include <sys/types.h>
2198 u_intmax_t a; a = 1;
2200 ac_cv_have_u_intmax_t="yes"
2206 u_intmax_t a; a = 1;
2208 ac_cv_have_u_intmax_t="yes"
2210 ac_cv_have_u_intmax_t="no"
2217 if test "x$ac_cv_have_u_intmax_t" = "xyes" ; then
2218 AC_DEFINE(HAVE_U_INTMAX_T)
2222 AC_CACHE_CHECK([for intXX_t types], ac_cv_have_intxx_t,
2226 #include <sys/types.h>
2228 int8_t a; int16_t b; int32_t c; a = b = c = 1;
2230 ac_cv_have_intxx_t="yes"
2232 ac_cv_have_intxx_t="no"
2237 if test "x$ac_cv_have_intxx_t" = "xyes" ; then
2238 AC_DEFINE(HAVE_INTXX_T)
2242 AC_CACHE_CHECK([for int64_t type], ac_cv_have_int64_t,
2246 #include <sys/types.h>
2250 ac_cv_have_int64_t="yes"
2252 ac_cv_have_int64_t="no"
2257 if test "x$ac_cv_have_int64_t" = "xyes" ; then
2258 AC_DEFINE(HAVE_INT64_T)
2262 AC_CACHE_CHECK([for u_intXX_t types], ac_cv_have_u_intxx_t,
2266 #include <sys/types.h>
2268 u_int8_t a; u_int16_t b; u_int32_t c; a = b = c = 1;
2270 ac_cv_have_u_intxx_t="yes"
2272 ac_cv_have_u_intxx_t="no"
2277 if test "x$ac_cv_have_u_intxx_t" = "xyes" ; then
2278 AC_DEFINE(HAVE_U_INTXX_T)
2282 AC_CACHE_CHECK([for u_int64_t types], ac_cv_have_u_int64_t,
2286 #include <sys/types.h>
2290 ac_cv_have_u_int64_t="yes"
2292 ac_cv_have_u_int64_t="no"
2297 if test "x$ac_cv_have_u_int64_t" = "xyes" ; then
2298 AC_DEFINE(HAVE_U_INT64_T)
2302 if (test -z "$have_u_intxx_t" || test -z "$have_intxx_t" && \
2303 test "x$ac_cv_header_sys_bitypes_h" = "xyes")
2305 AC_MSG_CHECKING([for intXX_t and u_intXX_t types in sys/bitypes.h])
2308 #include <sys/bitypes.h>
2310 int8_t a; int16_t b; int32_t c;
2311 u_int8_t e; u_int16_t f; u_int32_t g;
2312 a = b = c = e = f = g = 1;
2314 AC_DEFINE(HAVE_U_INTXX_T)
2315 AC_DEFINE(HAVE_INTXX_T)
2316 AC_DEFINE(HAVE_SYS_BITYPES_H)
2324 if test -z "$have_u_intxx_t" ; then
2325 AC_CACHE_CHECK([for uintXX_t types], ac_cv_have_uintxx_t,
2329 #include <sys/types.h>
2331 uint8_t a; uint16_t b;
2332 uint32_t c; a = b = c = 1;
2334 ac_cv_have_uintxx_t="yes"
2336 ac_cv_have_uintxx_t="no"
2341 if test "x$ac_cv_have_uintxx_t" = "xyes" ; then
2342 AC_DEFINE(HAVE_UINTXX_T)
2346 if (test -z "$have_u_int64_t" || test -z "$have_int64_t" && \
2347 test "x$ac_cv_header_sys_bitypes_h" = "xyes")
2349 AC_MSG_CHECKING([for int64_t and u_int64_t types in sys/bitypes.h])
2352 #include <sys/bitypes.h>
2354 int64_t a; u_int64_t b;
2357 AC_DEFINE(HAVE_U_INT64_T)
2358 AC_DEFINE(HAVE_INT64_T)
2366 if (test -z "$have_uintxx_t" && \
2367 test "x$ac_cv_header_sys_bitypes_h" = "xyes")
2369 AC_MSG_CHECKING([for uintXX_t types in sys/bitypes.h])
2372 #include <sys/bitypes.h>
2374 uint8_t a; uint16_t b;
2375 uint32_t c; a = b = c = 1;
2377 AC_DEFINE(HAVE_UINTXX_T)
2385 dnl --------------------------------------------------------------------------
2386 dnl CHECKING FOR REQUIRED LIBRARY FUNCTIONS
2387 dnl --------------------------------------------------------------------------
2403 [echo 'configure: cannot find needed function.'; exit 1]
2406 AC_CHECK_FUNCS(getpagesize, [AC_DEFINE(HAVE_GETPAGESIZE, 1, [Set if have getpagesize])])
2407 AC_CHECK_FUNCS(malloc_trim, [AC_DEFINE(HAVE_MALLOC_TRIM, 1, [Set if have malloc_trim])])
2409 AC_CHECK_FUNCS(fchdir, [AC_DEFINE(HAVE_FCHDIR)])
2410 AC_CHECK_FUNCS(strtoll, [AC_DEFINE(HAVE_STRTOLL)])
2411 AC_CHECK_FUNCS(posix_fadvise)
2412 AC_CHECK_FUNCS(fdatasync)
2414 AC_CHECK_FUNCS(chflags)
2416 AC_CHECK_FUNCS(snprintf vsnprintf gethostid fseeko)
2418 AC_CACHE_CHECK(for va_copy, ba_cv_va_copy,
2423 void use_va_copy(va_list args){va_list args2; va_copy(args2,args); va_end(args2);}
2424 void call_use_va_copy(int junk,...){va_list args; va_start(args,junk); use_va_copy(args); va_end(args);}
2426 call_use_va_copy(1,2,3)
2435 test $ba_cv_va_copy = yes && AC_DEFINE(HAVE_VA_COPY, 1, [Set if va_copy exists])
2437 dnl --------------------------------------------------------------------------
2438 dnl CHECKING FOR THREAD SAFE FUNCTIONS
2439 dnl --------------------------------------------------------------------------
2440 AC_CHECK_FUNCS(localtime_r readdir_r strerror_r gethostbyname_r)
2442 # If resolver functions are not in libc check for -lnsl or -lresolv.
2443 AC_CHECK_FUNC(gethostbyname_r,
2444 AC_MSG_RESULT(using libc's resolver),
2445 AC_CHECK_LIB(nsl,gethostbyname_r)
2446 AC_CHECK_LIB(resolv,gethostbyname_r))
2448 AC_CHECK_FUNCS(inet_pton, [AC_DEFINE(HAVE_INET_PTON)])
2449 AC_CHECK_FUNCS(inet_ntop, [AC_DEFINE(HAVE_INET_NTOP)])
2450 AC_CHECK_FUNCS(gethostbyname2, [AC_DEFINE(HAVE_GETHOSTBYNAME2)])
2452 dnl ----------------------------
2453 dnl check sa_len of sockaddr
2454 dnl ----------------------------
2455 AC_CACHE_CHECK(for struct sockaddr has a sa_len field, ac_cv_struct_sockaddr_sa_len,
2459 #include <sys/socket.h>
2461 struct sockaddr s; s.sa_len;
2463 ac_cv_struct_sockaddr_sa_len=yes
2464 ], [ac_cv_struct_sockaddr_sa_len=no
2470 if test $ac_cv_struct_sockaddr_sa_len = yes; then
2471 AC_DEFINE(HAVE_SA_LEN, 1, [Define if sa_len field exists in struct sockaddr])
2478 AC_CHECK_FUNCS(getmntinfo, [AC_DEFINE(HAVE_GETMNTINFO)])
2479 AC_FUNC_CLOSEDIR_VOID
2480 AC_FUNC_SETPGRP dnl check for BSD setpgrp.
2481 # AC_FUNC_FNMATCH dnl use local version
2483 AC_CHECK_LIB(intl, gettext, [LIBS="$LIBS -lintl"])
2485 AC_CHECK_LIB(sun, getpwnam)
2487 AC_CHECK_HEADERS(zlib.h)
2488 AC_CHECK_LIB(z, deflate, [ZLIBS="-lz"])
2490 if test x$ZLIBS = x-lz; then
2491 AC_DEFINE(HAVE_LIBZ)
2497 dnl Check if we have AFS on this system
2503 AC_HELP_STRING([--disable-afs], [disable afs support @<:@default=auto@:>@]),
2505 if test x$enableval = xyes; then
2507 elif test x$enableval = xno; then
2514 if test x$support_afs = xyes -o x$support_afs = xauto; then
2516 AC_HELP_STRING([--with-afsdir@<:@=DIR@:>@], [Directory holding AFS includes/libs]),
2517 with_afsdir=$withval
2521 dnl Search in standard places, or --with-afsdir not specified
2523 if test x$with_afsdir = x; then
2524 for root in /usr /usr/local; do
2525 if test -d ${root}/include/afs/ ; then
2532 AFS_CFLAGS="-I${with_afsdir}/include"
2534 saved_CFLAGS="${CFLAGS}"
2535 CFLAGS="${AFS_CFLAGS} ${saved_CFLAGS}"
2537 AC_CHECK_HEADERS(afs/stds.h)
2539 CFLAGS="${saved_CFLAGS}"
2542 dnl See if we can find a libsys with the pioctl symbol in there
2544 for dir in ${with_afsdir}/lib ${with_afsdir}/lib/afs
2546 for arch_type in .a .so
2548 A=`test -f ${dir}/libsys${arch_type} && nm ${dir}/libsys${arch_type} | grep pioctl`
2550 if test $pkg = 0; then
2552 AFS_LIBS="-L${dir} -lsys -lrx -llwp ${dir}/util.a"
2558 if test x$support_afs = xyes -a $have_afs != yes; then
2559 AC_MSG_ERROR([afs support explicitly enabled but no supported afs implementation found,
2560 please either load the afs libraries or rerun configure without --enable-afs])
2562 if test $have_afs = yes; then
2563 AC_DEFINE([HAVE_AFS],1,[Defines if your system has AFS support])
2564 AC_DEFINE([HAVE_AFS_ACL],1,[Andrew FileSystem ACL support])
2569 AC_SUBST(AFS_CFLAGS)
2573 dnl Check for ACL support and libraries
2577 AC_HELP_STRING([--disable-acl], [disable acl support @<:@default=auto@:>@]),
2579 if test x$enableval = xyes; then
2581 elif test x$enableval = xno; then
2588 have_extended_acl=no
2589 if test x$support_acl = xyes -o x$support_acl = xauto; then
2590 AC_CHECK_HEADER(sys/acl.h, [ AC_DEFINE(HAVE_SYS_ACL_H,1,[Defines if your system have the sys/acl.h header file])] , )
2593 dnl First check for acl_get_file in libc
2595 AC_CHECK_FUNC(acl_get_file,
2602 dnl Check for acl_get_file in libacl (Linux)
2604 if test $have_acl = no; then
2605 AC_CHECK_LIB(acl, acl_get_file,
2608 if test $have_afs = yes; then
2610 dnl Because of possible naming conflict with AFS libacl make sure we use the one in /usr/lib64 or /usr/lib !!!
2612 if test -d /usr/lib64/; then
2613 FDLIBS="-L/usr/lib64 -lacl $FDLIBS"
2615 FDLIBS="-L/usr/lib -lacl $FDLIBS"
2618 FDLIBS="-lacl $FDLIBS"
2625 dnl Check for acl_get_file in libpacl (OSF1)
2627 if test $have_acl = no; then
2628 AC_CHECK_LIB(pacl, acl_get_file,
2631 FDLIBS="-lpacl $FDLIBS"
2637 dnl Check for acltotext and acl_totext (Solaris)
2639 if test $have_acl = no -a \
2640 x${HAVE_SUN_OS_TRUE} = x; then
2641 AC_CHECK_LIB(sec, acltotext,
2644 FDLIBS="-lsec $FDLIBS"
2646 AC_CHECK_LIB(sec, acl_totext,
2648 have_extended_acl=yes
2656 dnl Check for acl_get and aclx_get (AIX)
2658 if test $have_acl = no -a \
2659 x${HAVE_AIX_OS_TRUE} = x; then
2660 AC_CHECK_FUNC(acl_get,
2664 AC_CHECK_FUNC(aclx_get,
2666 have_extended_acl=yes
2673 if test x$support_acl = xyes -a $have_acl != yes; then
2674 AC_MSG_ERROR([acl support explicitly enabled but no supported acl implementation found,
2675 please either load the acl libraries or rerun configure without --enable-acl])
2677 if test $have_acl = yes; then
2678 AC_DEFINE([HAVE_ACL],1,[Normal acl support])
2681 if test $have_extended_acl = yes; then
2682 AC_DEFINE([HAVE_EXTENDED_ACL],1,[Extended acl support])
2688 dnl Check for XATTR support
2691 AC_ARG_ENABLE(xattr,
2692 AC_HELP_STRING([--disable-xattr], [disable xattr support @<:@default=auto@:>@]),
2694 if test x$enableval = xyes; then
2696 elif test x$enableval = xno; then
2703 if test x$support_xattr = xyes -o x$support_xattr = xauto; then
2705 dnl First check for *BSD support
2706 dnl When running on a BSD variant
2708 if test x${HAVE_FREEBSD_OS_TRUE} = x -o \
2709 x${HAVE_NETBSD_OS_TRUE} = x -o \
2710 x${HAVE_OPENBSD_OS_TRUE} = x; then
2711 AC_CHECK_HEADER(sys/extattr.h, [ AC_DEFINE(HAVE_SYS_EXTATTR_H,1,[Defines if your system have the sys/extattr.h header file])] , )
2712 AC_CHECK_HEADER(libutil.h, [ AC_DEFINE(HAVE_LIBUTIL_H,1,[Defines if your system have the libutil.h header file])] , )
2713 AC_CHECK_FUNCS(extattr_get_link extattr_set_link extattr_list_link,
2716 AC_DEFINE([HAVE_EXTATTR_GET_LINK],1,[Define to 1 if you have the 'extattr_get_link' function.])
2717 AC_DEFINE([HAVE_EXTATTR_SET_LINK],1,[Define to 1 if you have the 'extattr_set_link' function.])
2718 AC_DEFINE([HAVE_EXTATTR_LIST_LINK],1,[Define to 1 if you have the 'extattr_list_link' function.])
2722 if test $have_xattr = no; then
2723 AC_CHECK_FUNCS(extattr_get_file extattr_set_file extattr_list_file,
2726 AC_DEFINE([HAVE_EXTATTR_GET_FILE],1,[Define to 1 if you have the 'extattr_get_file' function.])
2727 AC_DEFINE([HAVE_EXTATTR_SET_FILE],1,[Define to 1 if you have the 'extattr_set_file' function.])
2728 AC_DEFINE([HAVE_EXTATTR_LIST_FILE],1,[Define to 1 if you have the 'extattr_list_file' function.])
2733 if test $have_xattr = yes; then
2734 have_extattr_string_in_libc=no
2735 AC_CHECK_FUNCS(extattr_namespace_to_string extattr_string_to_namespace,
2737 have_extattr_string_in_libc=yes
2738 AC_DEFINE([HAVE_EXTATTR_NAMESPACE_TO_STRING],1,[Define to 1 if you have the 'extattr_namespace_to_string' function.])
2739 AC_DEFINE([HAVE_EXTATTR_STRING_TO_NAMESPACE],1,[Define to 1 if you have the 'extattr_string_to_namespace' function.])
2744 dnl If extattr_namespace_to_string and extattr_string_to_namespace are not in libc see if they are in libutil
2746 if test $have_extattr_string_in_libc = no; then
2747 AC_CHECK_LIB(util, extattr_namespace_to_string extattr_string_to_namespace,
2749 AC_DEFINE([HAVE_EXTATTR_NAMESPACE_TO_STRING],1,[Define to 1 if you have the 'extattr_namespace_to_string' function.])
2750 AC_DEFINE([HAVE_EXTATTR_STRING_TO_NAMESPACE],1,[Define to 1 if you have the 'extattr_string_to_namespace' function.])
2751 FDLIBS="-lutil $FDLIBS"
2759 dnl If we failed to find *BSD support try the AIX implementation of extented attributes (EA)
2760 dnl When running on AIX
2762 if test $have_xattr = no -a \
2763 x${HAVE_AIX_OS_TRUE} = x; then
2764 AC_CHECK_HEADER(sys/ea.h, [ AC_DEFINE(HAVE_SYS_EA_H,1,[Defines if your system have the sys/ea.h header file])] , )
2765 AC_CHECK_FUNCS(llistea lgetea lsetea,
2768 AC_DEFINE([HAVE_LLISTEA],1,[Define to 1 if you have the 'llistea' function.])
2769 AC_DEFINE([HAVE_LGETEA],1,[Define to 1 if you have the 'lgetea' function.])
2770 AC_DEFINE([HAVE_LSETEA],1,[Define to 1 if you have the 'lsetea' function.])
2774 if test $have_xattr = no; then
2775 AC_CHECK_FUNCS(listea getea setea,
2778 AC_DEFINE([HAVE_LISTEA],1,[Define to 1 if you have the 'listea' function.])
2779 AC_DEFINE([HAVE_GETEA],1,[Define to 1 if you have the 'getea' function.])
2780 AC_DEFINE([HAVE_SETEA],1,[Define to 1 if you have the 'setea' function.])
2787 dnl If we failed to find AIX support try the TRU64 implementation of extented attributes
2788 dnl when running on a TRU64 OS.
2790 if test $have_xattr = no -a \
2791 x${HAVE_OSF1_OS_TRUE} = x; then
2792 AC_CHECK_HEADER(sys/proplist.h, [ AC_DEFINE(HAVE_SYS_PROPLIST_H,1,[Defines if your system have the sys/proplist.h header file])] , )
2793 AC_CHECK_FUNCS(getproplist get_proplist_entry sizeof_proplist_entry add_proplist_entry setproplist,
2796 AC_DEFINE([HAVE_GETPROPLIST],1,[Define to 1 if you have the 'getproplist' function.])
2797 AC_DEFINE([HAVE_GET_PROPLIST_ENTRY],1,[Define to 1 if you have the 'get_proplist_entry' function.])
2798 AC_DEFINE([HAVE_SIZEOF_PROPLIST_ENTRY],1,[Define to 1 if you have the 'sizeof_proplist_entry' function.])
2799 AC_DEFINE([HAVE_ADD_PROPLIST_ENTRY],1,[Define to 1 if you have the 'add_proplist_entry' function.])
2800 AC_DEFINE([HAVE_SETPROPLIST],1,[Define to 1 if you have the 'setproplist' function.])
2806 dnl If we failed to find TRU64 support try the SOLARIS implementation of extented and extensible attributes
2807 dnl when running on a Solaris.
2809 if test $have_xattr = no -a \
2810 x${HAVE_SUN_OS_TRUE} = x; then
2811 AC_CHECK_HEADER(sys/attr.h, [ AC_DEFINE(HAVE_SYS_ATTR_H,1,[Defines if your system have the sys/attr.h header file])] , )
2812 AC_CHECK_HEADER(sys/nvpair.h, [ AC_DEFINE(HAVE_SYS_NVPAIR_H,1,[Defines if your system have the sys/nvpair.h header file])] , )
2813 AC_CHECK_HEADER(attr.h, [ AC_DEFINE(HAVE_ATTR_H,1,[Defines if your system have the attr.h header file])] , )
2815 AC_CHECK_FUNCS(openat fstatat unlinkat fchownat futimesat,
2818 AC_DEFINE([HAVE_OPENAT],1,[Define to 1 if you have the 'openat' function.])
2819 AC_DEFINE([HAVE_FSTATAT],1,[Define to 1 if you have the 'fstatat' function.])
2820 AC_DEFINE([HAVE_UNLINKAT],1,[Define to 1 if you have the 'unlinkat' function.])
2821 AC_DEFINE([HAVE_FCHOWNAT],1,[Define to 1 if you have the 'fchownat' function.])
2822 AC_DEFINE([HAVE_FUTIMESAT],1,[Define to 1 if you have the 'futimesat' function.])
2826 if test $have_xattr = yes; then
2827 AC_CHECK_LIB(nvpair, nvlist_next_nvpair,
2829 AC_DEFINE([HAVE_NVLIST_NEXT_NVPAIR],1,[Define to 1 if you have the 'nvlist_next_nvpair' function.])
2830 FDLIBS="-lnvpair $FDLIBS"
2837 dnl If we failed to find Solaris support try the generic xattr support code
2839 if test $have_xattr = no; then
2840 AC_CHECK_HEADER(sys/xattr.h, [ AC_DEFINE(HAVE_SYS_XATTR_H,1,[Defines if your system have the sys/xattr.h header file])] , )
2841 AC_CHECK_FUNCS(llistxattr lgetxattr lsetxattr,
2844 AC_DEFINE([HAVE_LLISTXATTR],1,[Define to 1 if you have the 'llistxattr' function.])
2845 AC_DEFINE([HAVE_LGETXATTR],1,[Define to 1 if you have the 'lgetxattr' function.])
2846 AC_DEFINE([HAVE_LSETXATTR],1,[Define to 1 if you have the 'lsetxattr' function.])
2850 if test $have_xattr = no; then
2851 AC_CHECK_FUNCS(listxattr getxattr setxattr,
2854 AC_DEFINE([HAVE_LISTXATTR],1,[Define to 1 if you have the 'listxattr' function.])
2855 AC_DEFINE([HAVE_GETXATTR],1,[Define to 1 if you have the 'getxattr' function.])
2856 AC_DEFINE([HAVE_SETXATTR],1,[Define to 1 if you have the 'setxattr' function.])
2862 if test x$support_xattr = xyes -a $have_xattr != yes; then
2863 AC_MSG_ERROR([xattr support explicitly enabled but no supported xattr implementation found,
2864 please either load the xattr libraries or rerun configure without --enable-xattr])
2866 if test $have_xattr = yes; then
2867 AC_DEFINE([HAVE_XATTR],1,[Extended Attributes support])
2873 dnl Check for pthread libraries
2876 AC_CHECK_LIB(pthread, pthread_create, PTHREAD_LIB="-lpthread",
2878 AC_CHECK_LIB(pthreads, pthread_create, PTHREAD_LIB="-lpthreads",
2880 AC_CHECK_LIB(c_r, pthread_create, PTHREAD_LIB="-lc_r",
2882 AC_CHECK_FUNC(pthread_create)
2891 dnl Check for headers, functions and libraries required to support
2892 dnl keeping readall capabilities
2894 AC_CHECK_HEADERS(sys/prctl.h sys/capability.h)
2895 AC_CHECK_FUNCS(prctl setreuid)
2896 AC_CHECK_LIB([cap], [cap_set_proc], [CAP_LIBS="-lcap"], [CAP_LIBS=])
2897 if test x$CAP_LIBS = x-lcap; then
2898 AC_DEFINE(HAVE_LIBCAP, 1, [Define if you have libcap])
2907 if test x$have_gcc = xyes ; then
2908 CPPFLAGS="$CPPFLAGS -fno-strict-aliasing -fno-exceptions -fno-rtti"
2909 CFLAGS="$CFLAGS -fno-strict-aliasing -fno-exceptions -fno-rtti"
2911 LDFLAGS=${LDFLAGS--O}
2912 CPPFLAGS="$CPPFLAGS"
2924 AC_SUBST(X_EXTRA_LIBS)
2929 dnl extra configurable objects
2940 dnl Finally we set appropriate distribution specific
2941 dnl variables and defaults
2943 dnl PFILES are platform specific files
2944 PFILES="platforms/Makefile"
2949 hostname=`uname -n | cut -d '.' -f 1`
2950 if test x${hostname} = x ; then
2951 hostname="localhost"
2953 dnl Make sure hostname is resolved
2954 ping -c 1 $hostname 2>/dev/null 1>/dev/null
2955 if test ! $? = 0; then
2956 hostname="localhost"
2962 PSCMD="ps -e -o pid,comm"
2964 platforms/aix/Makefile"
2965 TAPEDRIVE="/dev/rmt0.1"
2969 PTHREAD_LIB="-lpthread -lexc"
2970 if test "${CC}" = "gcc" ; then
2977 TAPEDRIVE="/dev/nrmt0"
2980 DISTVER=`uname -a |awk '{print $3}'`
2981 TAPEDRIVE="/dev/nrmt0"
2982 PTHREAD_LIB="-pthread"
2983 CFLAGS="${CFLAGS} -pthread"
2984 PSCMD="ps -ax -o pid,command"
2988 platforms/bsdi/Makefile \
2989 platforms/bsdi/bacula-fd \
2990 platforms/bsdi/bacula-sd \
2991 platforms/bsdi/bacula-dir"
2992 largefile_support="yes"
2995 DISTVER=`uname -a |awk '{print $3}'`
2996 TAPEDRIVE="/dev/nrst0"
2999 WLDFLAGS="-mwindows"
3003 TAPEDRIVE="/dev/nst0"
3004 PSCMD="ps -e -o pid,command"
3007 platforms/darwin/Makefile"
3011 TAPEDRIVE="/dev/nst0"
3012 PSCMD="ps -e -o pid,command"
3015 platforms/osx/Makefile"
3018 if `test -f /etc/apt/sources.list && grep -q ubuntu /etc/apt/sources.list`; then
3021 DISTVER=`cat /etc/debian_version`
3022 if test -f /etc/lsb-release ; then
3024 if test "x$DISTRIB_ID" != "x" ; then
3025 DISTNAME=$DISTRIB_ID
3027 if test "x$DISTRIB_RELEASE" != "x" ; then
3028 DISTVER=$DISTRIB_RELEASE
3031 if test "$DISTNAME" = "Ubuntu" ; then
3034 TAPEDRIVE="/dev/nst0"
3035 PSCMD="ps -e -o pid,command"
3036 if test "$DISTNAME" = "ubuntu" ; then
3038 platforms/ubuntu/Makefile \
3039 platforms/ubuntu/bacula-fd \
3040 platforms/ubuntu/bacula-sd \
3041 platforms/ubuntu/bacula-dir"
3044 platforms/debian/Makefile \
3045 platforms/debian/bacula-fd \
3046 platforms/debian/bacula-sd \
3047 platforms/debian/bacula-dir"
3051 DISTVER=`uname -a |awk '{print $3}'`
3052 VER=`echo $DISTVER | cut -c 1`
3053 if test x$VER = x4 ; then
3054 PTHREAD_LIB="${PTHREAD_LIBS:--pthread}"
3055 CFLAGS="${CFLAGS} ${PTHREAD_CFLAGS:--pthread}"
3059 TAPEDRIVE="/dev/nrsa0"
3060 PSCMD="ps -ax -o pid,command"
3062 platforms/freebsd/Makefile \
3063 platforms/freebsd/bacula-fd \
3064 platforms/freebsd/bacula-sd \
3065 platforms/freebsd/bacula-dir"
3066 largefile_support="yes"
3069 PSCMD="UNIX95=1; ps -e -o pid,comm"
3070 CFLAGS="${CFLAGS} -D_XOPEN_SOURCE_EXTENDED=1"
3072 TAPEDRIVE="/dev/rmt/0hnb"
3073 PTHREAD_LIB="-lpthread"
3074 AC_DEFINE([_INCLUDE_LONGLONG])
3078 TAPEDRIVE="/dev/rmt/0cbn"
3079 PSCMD="ps -e -o pid,comm"
3081 platforms/irix/Makefile \
3082 platforms/irix/bacula-fd \
3083 platforms/irix/bacula-sd \
3084 platforms/irix/bacula-dir"
3087 DISTVER=`uname -a |awk '{print $3}'`
3090 TAPEDRIVE="/dev/nrst0"
3091 PSCMD="ps -ax -o pid,command"
3092 PTHREAD_LIB="-pthread"
3093 CFLAGS="${CFLAGS} -pthread"
3096 DISTVER=`uname -a |awk '{print $3}'`
3099 TAPEDRIVE="/dev/nrst0"
3100 PSCMD="ps -ax -o pid,command"
3101 PTHREAD_LIB="-pthread"
3102 CFLAGS="${CFLAGS} -pthread"
3104 platforms/openbsd/Makefile \
3105 platforms/openbsd/bacula-fd \
3106 platforms/openbsd/bacula-sd \
3107 platforms/openbsd/bacula-dir"
3110 if test -f /etc/whitebox-release ; then
3111 f=/etc/whitebox-release
3113 f=/etc/redhat-release
3115 if test `cat $f | grep release |\
3116 cut -f 3 -d ' '`x = "Enterprise"x ; then
3117 DISTVER="Enterprise "`cat $f | grep release |\
3120 DISTVER=`cat /etc/redhat-release | grep release |\
3123 TAPEDRIVE="/dev/nst0"
3124 PSCMD="ps -e -o pid,command"
3126 platforms/redhat/Makefile \
3127 platforms/redhat/bacula-fd \
3128 platforms/redhat/bacula-sd \
3129 platforms/redhat/bacula-dir
3133 DISTVER=`cat /etc/mandrake-release | grep release |\
3135 TAPEDRIVE="/dev/nst0"
3136 PSCMD="ps -e -o pid,command"
3138 platforms/mandrake/Makefile \
3139 platforms/mandrake/bacula-fd \
3140 platforms/mandrake/bacula-sd \
3141 platforms/mandrake/bacula-dir \
3145 DISTVER=`awk '/version / {print $5}' < /etc/gentoo-release`
3146 TAPEDRIVE="/dev/nst0"
3147 PSCMD="ps -e -o pid,command"
3149 platforms/gentoo/Makefile \
3150 platforms/gentoo/bacula-init \
3151 platforms/gentoo/bacula-fd \
3152 platforms/gentoo/bacula-sd \
3153 platforms/gentoo/bacula-dir"
3156 DISTVER=`cat /etc/slackware-version`
3157 TAPEDRIVE="/dev/nst0"
3158 PSCMD="ps -e -o pid,command"
3160 platforms/slackware/Makefile \
3161 platforms/slackware/rc.bacula-fd \
3162 platforms/slackware/rc.bacula-sd \
3163 platforms/slackware/rc.bacula-dir\
3164 platforms/slackware/functions.bacula"
3168 TAPEDRIVE="/dev/rmt/0cbn"
3169 PSCMD="ps -e -o pid,comm"
3171 platforms/solaris/Makefile \
3172 platforms/solaris/bacula-fd \
3173 platforms/solaris/bacula-sd \
3174 platforms/solaris/bacula-dir"
3175 if test x$DISTVER = x5.6 ; then
3176 AC_DEFINE(HAVE_OLD_SOCKOPT)
3178 LIBS="$LIBS -lresolv -lrt"
3181 DISTVER=`cat /etc/SuSE-release |grep VERSION|\
3183 TAPEDRIVE="/dev/nst0"
3184 PSCMD="ps -e -o pid,command"
3186 platforms/suse/Makefile \
3187 platforms/suse/bacula-fd \
3188 platforms/suse/bacula-sd \
3189 platforms/suse/bacula-dir \
3190 platforms/suse/bacula"
3195 TAPEDRIVE="/dev/nst0"
3196 PSCMD="ps -e -o pid,command"
3198 platforms/suse/Makefile \
3199 platforms/suse/bacula-fd \
3200 platforms/suse/bacula-sd \
3201 platforms/suse/bacula-dir"
3205 TAPEDRIVE="/dev/nst0"
3208 echo " === Something went wrong. Unknown DISTNAME $DISTNAME ==="
3214 LIBS="$PTHREAD_LIB $LIBS"
3216 AC_DEFINE_UNQUOTED(lld, "$lld")
3217 AC_DEFINE_UNQUOTED(llu, "$llu")
3225 dnl common parts of the Makefile
3226 MCOMMON=./autoconf/Make.common
3227 AC_SUBST_FILE(MCOMMON)
3230 if test "x${subsysdir}" = "x${sbindir}" ; then
3233 echo "You have set both --sbindir and --with-subsys-dir"
3234 echo " equal to: ${subsysdir} "
3235 echo "This is not permitted. Please reconfigure."
3237 echo "Aborting configuration ..."
3243 AC_OUTPUT([autoconf/Make.common \
3246 scripts/btraceback \
3249 scripts/bacula-ctl-dir \
3250 scripts/bacula-ctl-fd \
3251 scripts/bacula-ctl-sd \
3252 scripts/devel_bacula \
3255 scripts/bacula.desktop.gnome1 \
3256 scripts/bacula.desktop.gnome2 \
3257 scripts/bacula.desktop.gnome1.consolehelper \
3258 scripts/bacula.desktop.gnome2.consolehelper \
3259 scripts/bacula.desktop.gnome1.xsu \
3260 scripts/bacula.desktop.gnome2.xsu \
3261 scripts/bgnome-console.console_apps \
3262 scripts/mtx-changer \
3263 scripts/disk-changer \
3264 scripts/dvd-handler \
3265 scripts/dvd-simulator \
3266 scripts/bacula-tray-monitor.desktop \
3267 scripts/logwatch/Makefile \
3268 scripts/logwatch/logfile.bacula.conf \
3269 scripts/wxconsole.console_apps \
3270 scripts/wxconsole.desktop.consolehelper \
3271 scripts/wxconsole.desktop.xsu \
3272 scripts/bat.desktop \
3273 scripts/bat.desktop.xsu \
3274 scripts/bat.desktop.consolehelper \
3275 scripts/bat.console_apps \
3278 src/console/Makefile \
3279 src/console/bconsole.conf \
3280 src/qt-console/tray-monitor/tray-monitor.pro \
3281 src/qt-console/tray-monitor/tray-monitor.conf \
3282 src/qt-console/bat.conf \
3283 src/qt-console/bat.pro \
3284 src/qt-console/bat.pro.mingw32 \
3285 src/qt-console/install_conf_file \
3286 src/wx-console/Makefile \
3287 src/wx-console/bwx-console.conf \
3288 src/tray-monitor/Makefile \
3289 src/tray-monitor/tray-monitor.conf \
3291 src/dird/bacula-dir.conf \
3293 src/stored/Makefile \
3294 src/stored/bacula-sd.conf \
3295 src/filed/Makefile \
3296 src/filed/bacula-fd.conf \
3298 src/cats/make_catalog_backup.pl \
3299 src/cats/make_catalog_backup \
3300 src/cats/delete_catalog_backup \
3301 src/cats/create_postgresql_database \
3302 src/cats/update_postgresql_tables \
3303 src/cats/make_postgresql_tables \
3304 src/cats/grant_postgresql_privileges \
3305 src/cats/drop_postgresql_tables \
3306 src/cats/drop_postgresql_database \
3307 src/cats/create_mysql_database \
3308 src/cats/update_mysql_tables \
3309 src/cats/make_mysql_tables \
3310 src/cats/grant_mysql_privileges \
3311 src/cats/drop_mysql_tables \
3312 src/cats/drop_mysql_database \
3313 src/cats/create_sqlite3_database \
3314 src/cats/update_sqlite3_tables \
3315 src/cats/make_sqlite3_tables \
3316 src/cats/grant_sqlite3_privileges \
3317 src/cats/drop_sqlite3_tables \
3318 src/cats/drop_sqlite3_database \
3319 src/cats/create_ingres_database \
3320 src/cats/update_ingres_tables \
3321 src/cats/make_ingres_tables \
3322 src/cats/grant_ingres_privileges \
3323 src/cats/drop_ingres_tables \
3324 src/cats/drop_ingres_database \
3327 src/cats/create_bacula_database \
3328 src/cats/update_bacula_tables \
3329 src/cats/grant_bacula_privileges \
3330 src/cats/make_bacula_tables \
3331 src/cats/drop_bacula_tables \
3332 src/cats/drop_bacula_database \
3333 src/findlib/Makefile \
3334 src/tools/Makefile \
3335 src/plugins/fd/Makefile \
3336 src/plugins/sd/Makefile \
3337 src/plugins/dir/Makefile \
3338 src/win32/Makefile.inc \
3340 updatedb/update_mysql_tables_9_to_10 \
3341 updatedb/update_sqlite3_tables_9_to_10 \
3342 updatedb/update_postgresql_tables_9_to_10 \
3343 updatedb/update_mysql_tables_10_to_11 \
3344 updatedb/update_sqlite3_tables_10_to_11 \
3345 updatedb/update_postgresql_tables_10_to_11 \
3346 updatedb/update_mysql_tables_11_to_12 \
3347 updatedb/update_sqlite3_tables_11_to_12 \
3348 updatedb/update_postgresql_tables_11_to_12 \
3349 examples/nagios/check_bacula/Makefile \
3354 if test "${support_bat}" = "yes" ; then
3355 if test "x$QMAKE" = "xnone"; then
3356 AC_MSG_ERROR([Could not find qmake $PATH. Check your Qt installation])
3360 echo "Creating bat Makefile"
3370 dnl if CC is gcc, we can rebuild the dependencies (since the depend rule
3371 dnl requires gcc). If it's not, don't rebuild dependencies
3373 if test X"$GCC" = "Xyes" ; then
3374 echo "Doing make of dependencies"
3375 ${MAKE:-make} depend
3379 chmod 755 install_conf_file build-depkgs-qt-console
3383 chmod 755 bacula btraceback mtx-changer
3384 chmod 755 dvd-handler dvd-simulator
3385 chmod 755 bconsole mtx-changer devel_bacula logrotate
3389 chmod 755 $c/update_mysql_tables_10_to_11 $c/update_sqlite3_tables_10_to_11
3390 chmod 755 $c/update_postgresql_tables_10_to_11
3391 chmod 755 $c/update_mysql_tables_11_to_12 $c/update_sqlite3_tables_11_to_12
3392 chmod 755 $c/update_postgresql_tables_11_to_12
3397 chmod 755 $c/create_bacula_database $c/update_bacula_tables $c/make_bacula_tables
3398 chmod 755 $c/grant_bacula_privileges $c/drop_bacula_tables $c/drop_bacula_database
3400 chmod 755 $c/create_mysql_database $c/update_mysql_tables $c/make_mysql_tables
3401 chmod 755 $c/grant_mysql_privileges $c/drop_mysql_tables $c/drop_mysql_database
3403 chmod 755 $c/create_sqlite3_database $c/update_sqlite3_tables $c/make_sqlite3_tables
3404 chmod 755 $c/grant_sqlite3_privileges $c/drop_sqlite3_tables $c/drop_sqlite3_database
3406 chmod 755 $c/create_postgresql_database $c/update_postgresql_tables $c/make_postgresql_tables
3407 chmod 755 $c/grant_postgresql_privileges $c/drop_postgresql_tables $c/drop_postgresql_database
3409 chmod 755 $c/create_ingres_database $c/update_ingres_tables $c/make_ingres_tables
3410 chmod 755 $c/grant_ingres_privileges $c/drop_ingres_tables $c/drop_ingres_database
3413 chmod 755 $c/make_catalog_backup $c/delete_catalog_backup $c/make_catalog_backup.pl
3417 chmod 755 src/win32/build-depkgs-mingw32
3419 if test "x$ac_cv_sys_largefile_CFLAGS" != "xno" ; then
3420 largefile_support="yes"
3423 dnl Only try to find out the version number of the compiler when we know its some kind of GCC compiler
3424 if test X"$GCC" = "Xyes" ; then
3426 dnl A whole lot of hand springs to get the compiler version.
3427 dnl This is because gcc changed the output in version 3.0
3429 CCVERSION=`${CC} --version | tr '\n' ' ' | cut -f 3 -d ' '`
3430 if test "x${CCVERSION}" = "x" ; then
3431 CCVERSION=`${CC} --version | tr '\n' ' ' | cut -f 1 -d ' '`
3433 CXXVERSION=`${CXX} --version | tr '\n' ' ' | cut -f 3 -d ' '`
3434 if test x"${CXXVERSION}" = x ; then
3435 CXXVERSION=`${CXX} --version | tr '\n' ' ' | cut -f 1 -d ' '`
3439 # clean up any old junk
3446 Configuration on `date`:
3448 Host: ${host}${post_host} -- ${DISTNAME} ${DISTVER}
3449 Bacula version: ${BACULA} ${VERSION} (${DATE})
3450 Source code location: ${srcdir}
3451 Install binaries: ${sbindir}
3452 Install libraries: ${libdir}
3453 Install config files: ${sysconfdir}
3454 Scripts directory: ${scriptdir}
3455 Archive directory: ${archivedir}
3456 Working directory: ${working_dir}
3457 PID directory: ${piddir}
3458 Subsys directory: ${subsysdir}
3459 Man directory: ${mandir}
3460 Data directory: ${datarootdir}
3461 Plugin directory: ${plugindir}
3462 C Compiler: ${CC} ${CCVERSION}
3463 C++ Compiler: ${CXX} ${CXXVERSION}
3464 Compiler flags: ${WCFLAGS} ${CFLAGS}
3465 Linker flags: ${WLDFLAGS} ${LDFLAGS}
3467 Statically Linked Tools: ${support_static_tools}
3468 Statically Linked FD: ${support_static_fd}
3469 Statically Linked SD: ${support_static_sd}
3470 Statically Linked DIR: ${support_static_dir}
3471 Statically Linked CONS: ${support_static_cons}
3472 Database backends: ${db_backends}
3473 Database port: ${db_port}
3474 Database name: ${db_name}
3475 Database user: ${db_user}
3477 Job Output Email: ${job_email}
3478 Traceback Email: ${dump_email}
3479 SMTP Host Address: ${smtp_host}
3481 Director Port: ${dir_port}
3482 File daemon Port: ${fd_port}
3483 Storage daemon Port: ${sd_port}
3485 Director User: ${dir_user}
3486 Director Group: ${dir_group}
3487 Storage Daemon User: ${sd_user}
3488 Storage DaemonGroup: ${sd_group}
3489 File Daemon User: ${fd_user}
3490 File Daemon Group: ${fd_group}
3492 Large file support: $largefile_support
3493 Bacula conio support: ${got_conio} ${CONS_LIBS}
3494 readline support: ${got_readline} ${PRTREADLINE_SRC}
3495 TCP Wrappers support: ${TCPW_MSG} ${WRAPLIBS}
3496 TLS support: ${support_tls}
3497 Encryption support: ${support_crypto}
3498 ZLIB support: ${have_zlib}
3499 enable-smartalloc: ${support_smartalloc}
3500 enable-lockmgr: ${support_lockmgr}
3501 bat support: ${support_bat}
3502 enable-gnome: ${support_gnome} ${gnome_version}
3503 enable-bwx-console: ${support_wx_console} ${wx_version}
3504 enable-tray-monitor: ${support_tray_monitor}
3505 client-only: ${build_client_only}
3506 build-dird: ${build_dird}
3507 build-stored: ${build_stored}
3508 Plugin support: ${have_plugins}
3509 AFS support: ${have_afs}
3510 ACL support: ${have_acl}
3511 XATTR support: ${have_xattr}
3512 Python support: ${support_python} ${PYTHON_LIBS}
3513 Batch insert enabled: ${support_batch_insert}
3517 # create a small shell script useful for support with
3518 # configure options and config.out info
3519 cat > scripts/bacula_config << EOF
3522 $ $0 $ac_configure_args
3524 cat config.out >> scripts/bacula_config
3525 echo __EOC__ >> scripts/bacula_config
3526 chmod 755 scripts/bacula_config