]> git.sur5r.net Git - bacula/bacula/blob - bacula/autoconf/configure.in
Merge branch 'master' of ssh://bacula.git.sourceforge.net/gitroot/bacula/bacula
[bacula/bacula] / bacula / autoconf / configure.in
1 dnl
2 dnl
3 dnl Process this file with autoconf to produce a configure script.
4 dnl
5 AC_INIT(src/version.h)
6 BUILD_DIR=`pwd`
7 cd ..
8 TOP_DIR=`pwd`
9 cd ${BUILD_DIR}
10 AC_SUBST(BUILD_DIR)
11 AC_SUBST(TOP_DIR)
12 AC_CONFIG_AUX_DIR(${BUILD_DIR}/autoconf)
13 AC_CONFIG_HEADER(src/config.h:autoconf/config.h.in)
14
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)
21 AC_SUBST(WIN32TOPDIR)
22
23 dnl require a recent autoconf
24 AC_PREREQ(2.61)
25
26
27 dnl search for true and false programs.
28 AC_PATH_PROGS(TRUEPRG, true, :)
29 AC_PATH_PROGS(FALSEPRG, false, :)
30
31
32 dnl bacula version
33 post_host=
34 if test "x$BACULA" != x; then
35    post_host=`echo -${BACULA} | tr 'A-Z ' 'a-z-'`
36 fi
37 BACULA=${BACULA:-Bacula}
38 VERSION=`sed -n -e 's/^.*VERSION.*"\(.*\)"$/\1/p' ${srcdir}/src/version.h`
39 DATE=`sed -n -e 's/^.*[ \t]*BDATE.*"\(.*\)"$/\1/p' ${srcdir}/src/version.h`
40 LSMDATE=`sed -n -e 's/^.*LSMDATE.*"\(.*\)"$/\1/p' ${srcdir}/src/version.h`
41 AC_SUBST(VERSION)dnl 
42 AC_SUBST(DATE)dnl 
43 AC_SUBST(LSMDATE)dnl 
44 AC_SUBST(BACULA)dnl
45 AC_SUBST(post_host)dnl
46 echo "configuring for ${BACULA} $VERSION ($DATE)"
47
48 dnl -------------------------------------------------------
49 dnl Check for compiler.
50 dnl ------------------------------------------------------
51
52 AC_PROG_CC
53 AC_PROG_CXX
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.
56
57 BASECC=`basename $CC`
58 have_gcc=no
59 if test "x$BASECC" = xgcc; then
60    AC_DEFINE(HAVE_GCC)
61    have_gcc=yes
62 fi
63 AC_PATH_PROG(CXX, $CXX, $CXX)
64 if test ! -e $CXX; then
65    AC_MSG_ERROR(Unable to find C++ compiler)
66 fi
67
68 dnl -------------------------------------------------------
69 dnl Check for programs.
70 dnl ------------------------------------------------------
71 AC_PROG_INSTALL
72 AC_PATH_PROG(MV, mv, mv)
73 dnl Alert !!!
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
99    WXCONFIG=wx-config
100 fi
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)
105 AC_PROG_AWK
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 :;
111 else
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    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!])
116 fi
117 THE_AWK=$AWK
118 AC_PATH_PROG(AWK, $THE_AWK, $THE_AWK)
119
120
121 test -n "$ARFLAG" || ARFLAGS="cr"
122 AC_SUBST(ARFLAGS)
123
124 MAKE_SHELL=/bin/sh
125 AC_SUBST(MAKE_SHELL)
126
127 AC_SUBST(LOCAL_LIBS)
128 AC_SUBST(LOCAL_CFLAGS)
129 AC_SUBST(LOCAL_LDFLAGS)
130 AC_SUBST(LOCAL_DEFS)
131
132 dnl --------------------------------------------------
133 dnl Libtool config
134 dnl --------------------------------------------------
135 use_libtool=yes
136 AC_ARG_ENABLE(libtool,
137    AC_HELP_STRING([--enable-libtool], [enable building using GNU libtool @<:@default=yes@:>@]),
138    [
139        if test x$enableval = xno; then
140           use_libtool=no
141        fi
142    ]
143 )
144 LT_INIT([shared disable-static])
145 LT_LANG([C++])
146
147 if test x$use_libtool != xno; then
148    DEFAULT_OBJECT_TYPE=".lo"
149    DEFAULT_ARCHIVE_TYPE=".la"
150    DEFAULT_SHARED_OBJECT_TYPE=".la"
151    LIBTOOL="\$(LIBTOOL)"
152    LIBTOOL_INSTALL_TARGET="libtool-install"
153    LIBTOOL_UNINSTALL_TARGET="libtool-uninstall"
154    LIBTOOL_CLEAN_TARGET="libtool-clean"
155    QMAKE_LIBTOOL="${BUILD_DIR}/libtool"
156 else
157    DEFAULT_OBJECT_TYPE=".o"
158    DEFAULT_ARCHIVE_TYPE=".a"
159    DEFAULT_SHARED_OBJECT_TYPE=".so"
160    LIBTOOL="# \$(LIBTOOL)"
161    LIBTOOL_INSTALL_TARGET=""
162    LIBTOOL_UNINSTALL_TARGET=""
163    LIBTOOL_CLEAN_TARGET=""
164    QMAKE_LIBTOOL="# ${BUILD_DIR}/libtool"
165 fi
166
167 AC_SUBST(DEFAULT_OBJECT_TYPE)
168 AC_SUBST(DEFAULT_ARCHIVE_TYPE)
169 AC_SUBST(DEFAULT_SHARED_OBJECT_TYPE)
170 AC_SUBST(LIBTOOL)
171 AC_SUBST(LIBTOOL_INSTALL_TARGET)
172 AC_SUBST(LIBTOOL_UNINSTALL_TARGET)
173 AC_SUBST(LIBTOOL_CLEAN_TARGET)
174 AC_SUBST(QMAKE_LIBTOOL)
175
176 dnl --------------------------------------------------
177 dnl Include file handling
178 dnl --------------------------------------------------
179 AC_ARG_ENABLE(includes,
180    AC_HELP_STRING([--enable-includes], [enable installing of include files @<:@default=no@:>@]),
181    [
182        if test x$enableval = xyes; then
183           install_includes=yes
184        fi
185    ]
186 )
187
188 dnl It only makes sense to install include files when you install libraries which only happens when
189 dnl libtool is enabled
190
191 if test x$use_libtool != xno -a x$install_includes = xyes; then
192    INCLUDE_INSTALL_TARGET="install-includes"
193    INCLUDE_UNINSTALL_TARGET="uninstall-includes"
194 else
195    INCLUDE_INSTALL_TARGET=""
196    INCLUDE_UNINSTALL_TARGET=""
197 fi
198 AC_SUBST(INCLUDE_INSTALL_TARGET)
199 AC_SUBST(INCLUDE_UNINSTALL_TARGET)
200
201 dnl --------------------------------------------------
202 dnl Bacula OP Sys determination (see aclocal.m4)
203 dnl --------------------------------------------------
204 BA_CHECK_OPSYS
205
206 dnl -----------------------------------------------------------
207 dnl Bacula OPSys Distribution determination (see aclocal.m4)
208 dnl ----------------------------------------------------------
209 BA_CHECK_OPSYS_DISTNAME
210
211 dnl --------------------------------------------------
212 dnl Suppport for gettext (translations)
213 dnl By default, $datarootdir is ${prefix}/share
214 dnl --------------------------------------------------
215 AM_GNU_GETTEXT([external])
216
217 dnl ------------------------------------------------------------------
218 dnl If the user has not set --prefix, we set our default to nothing.
219 dnl In this case, if the user has not set --sysconfdir, we set it
220 dnl to the package default of /etc/bacula.  If either --prefix or
221 dnl --sysconfdir is set, we leave sysconfdir alone except to eval it.
222 dnl If the user has not set --libdir, we set it to the package
223 dnl default of /usr/lib. If either --prefix or --libdir is set,
224 dnl we leave libdir alone except to eval it. If the user has not set
225 dnl --includedir, we set it to the package default of /usr/include.
226 dnl If either --prefix or --includedir is set, we leave includedir
227 dnl alone except to eval it
228 dnl ------------------------------------------------------------------
229 os_name=`uname -s 2>/dev/null`
230 if test x${prefix} = xNONE ; then
231    if test `eval echo ${sysconfdir}` = NONE/etc ; then
232       sysconfdir=/etc/bacula
233    fi
234
235    if test `eval echo ${libdir}` = NONE/lib ; then
236       case ${os_name} in
237       Linux)
238          os_processor=`uname -p 2>/dev/null`
239          case ${os_processor} in
240          x86_64)
241             libdir=/usr/lib64
242             ;;
243          *)
244             libdir=/usr/lib
245             ;;
246          esac
247          ;;
248       *)
249          libdir=/usr/lib
250          ;;
251       esac
252    fi
253
254    if test `eval echo ${includedir}` = NONE/include ; then
255       includedir=/usr/include
256    fi
257
258    if test `eval echo ${datarootdir}` = NONE/share ; then
259       datarootdir=/usr/share
260    fi
261    prefix=
262 fi
263
264 dnl -------------------------------------------------------------------------
265 dnl  If the user has not set --exec-prefix, we default to ${prefix}
266 dnl -------------------------------------------------------------------------
267 if test x${exec_prefix} = xNONE ; then
268    exec_prefix=${prefix}
269 fi
270
271 sysconfdir=`eval echo ${sysconfdir}`
272 datarootdir=`eval echo ${datarootdir}`
273 docdir=`eval echo ${docdir}`
274 htmldir=`eval echo ${htmldir}`
275 libdir=`eval echo ${libdir}`
276 includedir=`eval echo ${includedir}`
277 localedir=`eval echo ${datarootdir}/locale`
278 AC_DEFINE_UNQUOTED(SYSCONFDIR, "$sysconfdir")
279 AC_DEFINE_UNQUOTED(LOCALEDIR, "$localedir") 
280
281 dnl ------------------------------------------------------------------
282 dnl If the user has not set --sbindir, we set our default as /sbin
283 dnl ------------------------------------------------------------------
284 if test x$sbindir = x'${exec_prefix}/sbin' ; then
285    sbindir=${exec_prefix}/sbin
286 fi
287 sbindir=`eval echo ${sbindir}`
288
289 dnl -------------------------------------------------------------------------
290 dnl  If the user has not set --mandir, we default to /usr/share/man
291 dnl -------------------------------------------------------------------------
292 if test x$mandir = x'${prefix}/man' ; then
293    mandir=/usr/share/man
294 fi
295
296 dnl -------------------------------------------------------------------------
297 dnl  If the user has not set --htmldir, we default to /usr/share/doc/bacula/html
298 dnl -------------------------------------------------------------------------
299 if test x$htmldir = x${docdir} ; then
300    htmldir=`eval echo ${docdir}bacula/html`
301 fi
302
303 dnl -------------------------------------------------------------------------
304 dnl  If the user has not set --docdir, we default to /usr/share/doc/
305 dnl -------------------------------------------------------------------------
306 if test x$docdir = x'/usr/share/doc/' ; then
307    docdir=`eval echo ${docdir}bacula`
308 fi
309
310             
311 AC_PATH_PROGS(MSGFMT, msgfmt, no)
312 if test "$MSGFMT" = "no"
313 then
314    echo 'msgfmt program not found, disabling NLS !'
315    USE_NLS=no
316    USE_INCLUDED_LIBINTL=no
317 #else
318    AM_GNU_GETTEXT
319 fi
320
321 support_mysql=no
322 support_sqlite=no
323 support_sqlite3=no
324 support_postgresql=no
325 support_dbi=no
326 support_smartalloc=yes
327 support_readline=yes
328 support_conio=yes
329 support_gnome=no
330 support_bat=no
331 support_wx_console=no
332 support_tray_monitor=no
333 support_tls=no
334 support_crypto=no
335 gnome_version=
336 wx_version=
337 support_static_tools=no
338 support_static_fd=no
339 support_static_sd=no
340 support_static_dir=no
341 support_static_cons=no
342 support_python=no
343 build_client_only=no
344 build_dird=yes
345 build_stored=yes
346 cats=
347 db_type=Internal
348 support_lockmgr=no
349 DB_TYPE=bdb
350
351 dnl --------------------------------------------------------------------------
352 dnl CHECKING COMMAND LINE OPTIONS
353 dnl --------------------------------------------------------------------------
354
355 dnl -------------------------------------------
356 dnl gnome (default off)
357 dnl -------------------------------------------
358 AC_ARG_ENABLE(gnome,
359    AC_HELP_STRING([--enable-gnome], [enable build of bgnome-console GUI @<:@default=no@:>@]),
360    [
361        if test x$enableval = xyes; then
362           support_gnome=yes
363        fi
364    ]
365 )
366
367 GNOME_DIR=
368 if test x$support_gnome = xyes; then
369    AC_MSG_ERROR(bgnome-console no longer supported)
370    AC_MSG_ERROR(--enable-gnome option no longer supported)
371 fi
372 # AC_SUBST(GNOME_DIR)
373
374 dnl -------------------------------------------
375 dnl bat (default off)
376 dnl -------------------------------------------
377 AC_ARG_ENABLE(bat,
378    AC_HELP_STRING([--enable-bat], [enable build of bat Qt4 GUI @<:@default=no@:>@]),
379    [
380        if test x$enableval = xyes; then
381           AC_DEFINE(HAVE_BAT, 1, [Set if Bacula bat Qt4 GUI support enabled]) 
382           support_bat=yes
383        fi
384    ]
385 )
386
387 BAT_DIR=
388 if test x$support_bat = xyes; then
389    abc=`$PKGCONFIG --atleast-version=4.2 QtGui`
390    pkg=$?
391    if test $pkg = 0; then
392       BAT_DIR=src/qt-console
393    else
394       AC_MSG_ERROR(Unable to find Qt4 installation needed by bat)
395    fi
396 fi
397
398 dnl 
399 dnl  If bat is enabled, we need the qwt library
400 dnl 
401 got_qwt=no
402 QWT_INC=
403 QWT_LDFLAGS=
404 QWT_LIB=
405 QWT=
406 no_qwt=no
407 if test x$support_bat = xyes; then
408    AC_MSG_CHECKING(for qwt support)
409    AC_ARG_WITH(qwt,
410       AC_HELP_STRING([--with-qwt@<:@=DIR@:>@], [specify qwt library directory]),
411       [
412           case "$with_qwt" in
413           no)
414              no_qwt=yes
415              ;;
416           yes|*)
417              if test -f ${with_qwt}/include/qwt.h; then
418                 QWT_INC="${with_qwt}/include"
419                 QWT_LDFLAGS="-L${with_qwt}/lib"
420                 QWT_LIB="-lqwt"
421                 QWT="qwt"
422              fi
423              ;;
424           esac
425       ]    
426    )
427
428    dnl
429    dnl Search in standard places, or --with-qwt not specified
430    dnl
431    if test $no_qwt = no; then 
432       if test x$QWT_INC = x; then
433          for root in /usr /usr/local; do
434             for ver in qwt qwt5 qwt-qt4; do
435                if test -f ${root}/include/${ver}/qwt.h; then
436                   QWT_INC="${root}/include/${ver}"
437                   if test -d ${root}/lib64/; then
438                      QWT_LDFLAGS="-L${root}/lib64"
439                   elif test -d ${root}/lib/64/; then
440                      QWT_LDFLAGS="-L${root}/64"
441                   else
442                      QWT_LDFLAGS="-L${root}/lib"
443                   fi
444                   QWT_LIB="-lqwt"
445                   QWT="qwt"
446                   got_qwt=yes
447                   break;
448                fi
449             done
450          done
451       fi
452    fi
453    if test x$QWT_INC = x; then
454       AC_MSG_RESULT(no)
455    else
456       AC_DEFINE(HAVE_QWT, 1, [Set if bat QWT library found])
457       AC_MSG_RESULT(yes)
458    fi
459 fi
460
461 AC_SUBST(BAT_DIR)
462 AC_SUBST(QWT_INC)
463 AC_SUBST(QWT_LDFLAGS)
464 AC_SUBST(QWT_LIB)
465 AC_SUBST(QWT)
466
467 dnl -------------------------------------------
468 dnl bwx-console (default off)
469 dnl -------------------------------------------
470 AC_ARG_ENABLE(bwx-console,
471    AC_HELP_STRING([--enable-bwx-console], [enable build of wxWidgets console @<:@default=no@:>@]),
472    [
473        if test x$enableval = xyes; then
474           support_wx_console=yes
475        fi
476    ]
477 )
478
479 WX_DIR=
480 if test x$support_wx_console = xyes; then
481    abc=`$WXCONFIG $WXFLAGS --cppflags`
482    pkg=$?
483    if test $pkg = 0; then
484       wx_version="wxWidgets `$WXCONFIG $WXFLAGS --release`"
485       WXCONS_CPPFLAGS=`$WXCONFIG $WXFLAGS --cppflags`
486       WXCONS_LDFLAGS=`$WXCONFIG $WXFLAGS --libs`
487
488       AC_SUBST(WXCONS_CPPFLAGS)
489       AC_SUBST(WXCONS_LDFLAGS)
490       WX_DIR="src/wx-console"
491    else
492       echo " "
493       echo "wx-config program not found. bwx-console disabled."
494       echo " "
495       support_wx_console=no
496    fi
497 fi
498 AC_SUBST(WX_DIR)
499
500 dnl -------------------------------------------
501 dnl tray-monitor (default off)
502 dnl -------------------------------------------
503 AC_ARG_ENABLE(tray-monitor,
504    AC_HELP_STRING([--enable-tray-monitor], [enable build of Gnome tray monitor (compatible with KDE @<:@default=no@:>@]),
505    [
506        if test x$enableval = xyes; then
507           support_tray_monitor=yes
508        fi
509    ]
510 )
511
512 TRAY_MONITOR_DIR=
513 if test x$support_tray_monitor = xyes; then
514    abc=`$PKGCONFIG --exists gtk+-2.0`
515    pkg=$?
516    if test $pkg = 0; then
517       TRAY_MONITOR_CPPFLAGS=`$PKGCONFIG --cflags gtk+-2.0`
518       TRAY_MONITOR_LDFLAGS=`$PKGCONFIG --libs gtk+-2.0`
519       AC_SUBST(TRAY_MONITOR_CPPFLAGS)
520       AC_SUBST(TRAY_MONITOR_LDFLAGS)
521       TRAY_MONITOR_DIR=src/tray-monitor
522       abc=`$PKGCONFIG --atleast-version=2.4 gtk+-2.0`
523       pkg=$?
524       if test $pkg = 0; then
525          AC_DEFINE(HAVE_GTK_2_4, 1, [Set if you have GTK 4.2 or greater loaded])
526       fi
527    fi
528 fi
529 AC_SUBST(TRAY_MONITOR_DIR)
530
531 dnl -------------------------------------------
532 dnl smartalloc (default off)
533 dnl -------------------------------------------
534 AC_ARG_ENABLE(smartalloc,
535    AC_HELP_STRING([--enable-smartalloc], [enable smartalloc debugging support @<:@default=no@:>@]),
536    [
537        if test x$enableval = xno; then
538           support_smartalloc=no
539        fi
540    ]
541 )
542
543 if test x$support_smartalloc = xyes; then
544    AC_DEFINE(SMARTALLOC, 1, [Set if you want Smartalloc enabled])
545 fi
546
547 dnl -------------------------------------------
548 dnl Lock Manager (default off)
549 dnl -------------------------------------------
550 AC_ARG_ENABLE(lockmgr,
551    AC_HELP_STRING([--enable-lockmgr], [enable lock manager support @<:@default=no@:>@]),
552    [
553        if test x$enableval = xyes; then
554           support_lockmgr=yes
555        fi
556    ]
557 )
558
559 if test x$support_lockmgr = xyes; then
560    AC_DEFINE(_USE_LOCKMGR, 1, [Set if you want Lock Manager enabled])
561 fi
562
563
564 dnl -------------------------------------------
565 dnl static-tools (default off)
566 dnl -------------------------------------------
567 AC_ARG_ENABLE(static-tools,
568    AC_HELP_STRING([--enable-static-tools], [enable static tape tools @<:@default=no@:>@]),
569    [
570        if test x$enableval = xyes; then
571           if test x$use_libtool = xyes; then
572              AC_MSG_ERROR([Libtool is enabled, not compatible with static tools, 
573   please rerun configure with --disable-libtool])
574           fi
575           support_static_tools=yes
576        fi
577    ]
578 )
579
580 TTOOL_LDFLAGS=
581 if test x$support_static_tools = xyes; then
582    TTOOL_LDFLAGS="-static"
583 fi
584 AC_SUBST(TTOOL_LDFLAGS)
585
586 dnl -------------------------------------------
587 dnl static-fd    (default off)
588 dnl -------------------------------------------
589 AC_ARG_ENABLE(static-fd,
590    AC_HELP_STRING([--enable-static-fd], [enable static File daemon @<:@default=no@:>@]),
591    [
592        if test x$enableval = xyes; then
593           if test x$use_libtool = xyes; then
594              AC_MSG_ERROR([Libtool is enabled, not compatible with static tools, 
595   please rerun configure with --disable-libtool])
596           fi
597           support_static_fd=yes
598        fi
599    ]
600 )
601
602 STATIC_FD=
603 if test x$support_static_fd = xyes; then
604    STATIC_FD="static-bacula-fd"
605 fi
606 AC_SUBST(STATIC_FD)
607
608 dnl -------------------------------------------
609 dnl static-sd    (default off)
610 dnl -------------------------------------------
611 AC_ARG_ENABLE(static-sd,
612    AC_HELP_STRING([--enable-static-sd], [enable static Storage daemon @<:@default=no@:>@]),
613    [
614        if test x$enableval = xyes; then
615           if test x$use_libtool = xyes; then
616              AC_MSG_ERROR([Libtool is enabled, not compatible with static tools, 
617   please rerun configure with --disable-libtool])
618           fi
619           support_static_sd=yes
620        fi
621    ]
622 )
623
624 STATIC_SD=
625 if test x$support_static_sd = xyes; then
626    STATIC_SD="static-bacula-sd"
627 fi
628 AC_SUBST(STATIC_SD)
629
630 dnl -------------------------------------------
631 dnl static-dir   (default off)
632 dnl -------------------------------------------
633 AC_ARG_ENABLE(static-dir,
634    AC_HELP_STRING([--enable-static-dir], [enable static Director @<:@default=no@:>@]),
635    [
636        if test x$enableval = xyes; then
637           if test x$use_libtool = xyes; then
638              AC_MSG_ERROR([Libtool is enabled, not compatible with static tools, 
639   please rerun configure with --disable-libtool])
640           fi
641           support_static_dir=yes
642        fi
643    ]
644 )
645
646 STATIC_DIR=
647 if test x$support_static_dir = xyes; then
648    STATIC_DIR="static-bacula-dir"
649 fi
650 AC_SUBST(STATIC_DIR)
651
652 dnl -------------------------------------------
653 dnl static-cons  (default off)
654 dnl -------------------------------------------
655 AC_ARG_ENABLE(static-cons,
656    AC_HELP_STRING([--enable-static-cons], [enable static Console @<:@default=no@:>@]),
657    [
658        if test x$enableval = xyes; then
659           if test x$use_libtool = xyes; then
660              AC_MSG_ERROR([Libtool is enabled, not compatible with static tools, 
661   please rerun configure with --disable-libtool])
662           fi
663           support_static_cons=yes
664        fi
665    ]
666 )
667
668 STATIC_CONS=
669 STATIC_GNOME_CONS=
670 STATIC_WX_CONS=
671 if test x$support_static_cons = xyes; then
672    STATIC_CONS="static-bconsole"
673    STATIC_GNOME_CONS="static-bgnome-console"
674    STATIC_WX_CONS="static-bwx-console"
675 fi
676 AC_SUBST(STATIC_CONS)
677 AC_SUBST(STATIC_GNOME_CONS)
678 AC_SUBST(STATIC_WX_CONS)
679
680 dnl -------------------------------------------
681 dnl client_only  (default off)
682 dnl -------------------------------------------
683 AC_ARG_ENABLE(client-only,
684    AC_HELP_STRING([--enable-client-only], [build client (File daemon) only @<:@default=no@:>@]),
685    [
686        if test x$enableval = xyes; then
687           build_client_only=yes
688           db_type=None
689           DB_TYPE=none
690        fi
691    ]
692 )
693 if test x$build_client_only = xno; then
694    ALL_DIRS="subdirs"
695 else
696    ALL_DIRS=""
697 fi
698 AC_SUBST(ALL_DIRS)
699
700 dnl -------------------------------------------
701 dnl director  (default on)
702 dnl -------------------------------------------
703 AC_ARG_ENABLE(build-dird,
704    AC_HELP_STRING([--enable-build-dird], [enable building of dird (Director) @<:@default=yes@:>@]),
705    [
706        if test x$enableval = xno; then
707           build_dird=no
708        fi
709    ]
710 )
711 if test x$build_dird = xyes; then
712    DIRD_DIR="src/dird"
713    DIR_TOOLS="DIRTOOLS"
714 else
715    DIRD_DIR=""
716    DIR_TOOLS="NODIRTOOLS"
717 fi
718 AC_SUBST(DIRD_DIR)
719 AC_SUBST(DIR_TOOLS)
720
721 dnl -------------------------------------------
722 dnl stored  (default on)
723 dnl -------------------------------------------
724 AC_ARG_ENABLE(build-stored,
725    AC_HELP_STRING([--enable-build-stored], [enable building of stored (Storage daemon) @<:@default=yes@:>@]),
726    [
727       if test x$enableval = xno; then
728          build_stored=no
729       fi
730    ]
731 )
732 if test x$build_stored = xyes; then
733    STORED_DIR="src/stored"
734 else
735    STORED_DIR=""
736 fi
737 AC_SUBST(STORED_DIR)
738
739 dnl ---------------------------------------------------
740 dnl Check for conio (Bacula readline substitute)(
741 dnl ---------------------------------------------------
742 dnl this allows you to turn it completely off
743 AC_ARG_ENABLE(conio,
744    AC_HELP_STRING([--disable-conio], [disable conio support @<:@default=no@:>@]),
745    [
746        if test x$enableval = xno; then
747           support_conio=no
748        fi
749    ]
750 )
751   
752
753 dnl ---------------------------------------------------
754 dnl Check for IPv6 support
755 dnl ---------------------------------------------------
756 dnl this allows you to turn it completely off
757 support_ipv6=yes
758 AC_ARG_ENABLE(ipv6,   
759    AC_HELP_STRING([--enable-ipv6], [enable ipv6 support @<:@default=yes@:>@]),
760    [
761        if test x$enableval = xno; then
762           support_ipv6=no  
763        fi
764    ]
765 )
766
767 if test x$support_ipv6 = xyes; then
768     AC_TRY_LINK([ #include <sys/types.h>
769 #include <sys/socket.h>
770 #include <netinet/in.h>], [struct sockaddr_in6 s; struct in6_addr t=in6addr_any; int i=AF_INET6; s; t.s6_addr[0] = 0;],
771       [support_ipv6=yes], [support_ipv6=no])
772 fi
773
774 if test x$support_ipv6 = xyes; then
775    AC_DEFINE(HAVE_IPV6,1,[Whether to enable IPv6 support])
776 fi
777
778 got_conio="no"
779 if test x$support_conio = xyes; then
780    AC_CHECK_HEADER(termcap.h, 
781      [ AC_CHECK_LIB(termcap, tgetent, 
782        [ CONS_LIBS="-ltermcap"
783     CONS_OBJ="conio.o"
784     CONS_SRC="conio.c"
785     got_conio="yes"
786     support_readline=no
787     AC_DEFINE(HAVE_CONIO, 1, [Set if Bacula conio support enabled]) 
788        ],   
789        [ AC_CHECK_LIB(ncurses, tgetent,
790     [ CONS_LIBS="-lncurses"
791       CONS_OBJ="conio.o"
792       CONS_SRC="conio.c"
793       got_conio="yes"
794       support_readline=no
795       AC_DEFINE(HAVE_CONIO, 1, [Set if Bacula conio support enabled]) 
796     ])
797        ])
798      ],
799      [
800     AC_CHECK_HEADERS(curses.h)
801     AC_CHECK_HEADER(term.h,
802           [ AC_CHECK_LIB(curses, tgetent, 
803        [ CONS_LIBS="-lcurses"
804          CONS_OBJ="conio.o"
805          CONS_SRC="conio.c"
806          got_conio="yes"
807          support_readline=no
808          AC_DEFINE(HAVE_CONIO, 1, [Set if Bacula conio support enabled]) 
809        ])
810           ],
811           [ echo " "; echo "Required libraries not found. CONIO turned off ..."; echo " "],
812 [#if HAVE_CURSES_H
813 #include <curses.h>
814 #endif
815 ])
816      ])
817 fi
818
819
820 dnl ---------------------------------------------------
821 dnl Check for readline support/directory (default off)
822 dnl ---------------------------------------------------
823 dnl this allows you to turn it completely off
824 AC_ARG_ENABLE(readline,
825    AC_HELP_STRING([--disable-readline], [disable readline support @<:@default=yes@:>@]),
826    [
827        if test x$enableval = xno; then
828           support_readline=no
829        fi
830    ]
831 )
832
833 got_readline="no"
834 READLINE_SRC=
835 if test x$support_readline = xyes; then
836    AC_ARG_WITH(readline,
837       AC_HELP_STRING([--with-readline@<:@=DIR@:>@], [specify readline library directory]),
838       [
839           case "$with_readline" in
840           no)
841              :
842              ;;
843           yes|*)
844              if test -f ${with_readline}/readline.h; then
845                 CONS_INC="-I${with_readline}"
846                 CONS_LDFLAGS="-L$with_readline"
847              elif test -f ${with_readline}/include/readline/readline.h; then
848                 CONS_INC="-I${with_readline}/include/readline"
849                 CONS_LDFLAGS="-L${with_readline}/lib"
850                 with_readline="${with_readline}/include/readline"
851              else
852                 with_readline="/usr/include/readline" 
853              fi
854
855              AC_CHECK_HEADER(${with_readline}/readline.h, 
856                 [
857                     AC_DEFINE(HAVE_READLINE, 1, [Set to enable readline support])
858                     CONS_LIBS="-lreadline -lhistory -ltermcap"
859                     got_readline="yes"   
860                 ], [
861                     echo " "
862                     echo "readline.h not found. readline turned off ..."
863                     echo " "
864                 ]
865              )
866              ;;
867           esac
868       ],[
869          dnl check for standard readline library
870          AC_CHECK_HEADER(/usr/include/readline/readline.h, 
871             [
872                 AC_DEFINE(HAVE_READLINE, 1, [Set to enable readline support])
873                 got_readline="yes"
874                 CONS_INC="-I/usr/include/readline"
875                 CONS_LIBS="-lreadline -ltermcap"
876             ], [
877                 dnl Did not find standard library, so try Bacula's default
878                 AC_CHECK_HEADER(${TOP_DIR}/depkgs/readline/readline.h, 
879                     [
880                         AC_DEFINE(HAVE_READLINE, 1, [Set to enable readline support])
881                         got_readline="yes"   
882                         CONS_INC="-I${TOP_DIR}/depkgs/readline"
883                         CONS_LIBS="-lreadline -lhistory -ltermcap"
884                         CONS_LDFLAGS="-L${TOP_DIR}/depkgs/readline"
885                         PRTREADLINE_SRC="${TOP_DIR}/depkgs/readline"
886                     ], [
887                         echo " "
888                         echo "readline.h not found. readline turned off ..."
889                         echo " "
890                     ]
891                 )
892             ]
893          )
894       ]    
895    )
896 fi
897
898 AC_SUBST(CONS_INC)
899 AC_SUBST(CONS_OBJ)
900 AC_SUBST(CONS_SRC)
901 AC_SUBST(CONS_LIBS)
902 AC_SUBST(CONS_LDFLAGS)
903 AC_SUBST(READLINE_SRC)
904
905 dnl Minimal stuff for readline Makefile configuration
906 MAKE_SHELL=/bin/sh
907 AC_SUBST(MAKE_SHELL)
908 AC_HEADER_STAT
909 AC_HEADER_DIRENT
910 AC_CHECK_FUNCS(strcasecmp select setenv putenv tcgetattr lstat lchown)
911 AC_CHECK_FUNCS(nanosleep nl_langinfo)
912 AC_CHECK_HEADERS(varargs.h)
913
914 dnl End of readline/conio stuff
915 dnl -----------------------------------------------------------------------
916
917 dnl -----------------------------------------------------------------------
918 dnl  Check for Python support
919 dnl
920 AC_MSG_CHECKING(for Python support)
921 AC_ARG_WITH(python,
922    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    [
924        PYTHON_INCDIR= 
925        PYTHON_LIBS=
926        if test "$withval" != "no"; then
927           if test "$withval" = "yes"; then
928              if test -e /usr/bin/python-config ; then
929                 PYTHON_INCDIR=`/usr/bin/python-config --includes`
930                 PYTHON_LIBS=`/usr/bin/python-config --libs`
931              else
932                 for python_root in /usr /usr/local /usr/sfw; do
933                    for ver in python2.2 python2.3 python2.4 python2.5 python2.6 python3; do
934                       if test -f $python_root/include/${ver}/Python.h; then
935                          PYTHON_INCDIR=-I$python_root/include/${ver}
936                          if test -d $python_root/lib64/${ver}/config; then
937                             PYTHON_LIBS="-L$python_root/lib64/${ver}/config -l${ver}"
938                          else
939                             PYTHON_LIBS="-L$python_root/lib/${ver}/config -l${ver}"
940                          fi
941                          break 
942                       fi
943                    done
944                 done
945
946                 if test x$PYTHON_INCDIR = x; then
947                    if test -f $prefix/include/Python.h; then
948                       PYTHON_INCDIR=-I$prefix/include
949                       if test -d $prefix/lib64/config; then
950                          PYTHON_LIBS="-L$prefix/lib64/config -lpython"
951                       else
952                          PYTHON_LIBS="-L$prefix/lib/config -lpython"
953                       fi
954                    else
955                       AC_MSG_RESULT(no)
956                       AC_MSG_ERROR(Unable to find Python.h in standard locations)
957                    fi
958                 fi
959              fi
960           else
961              if test -e $withval/bin/python-config ; then
962                 PYTHON_INCDIR=`$withval/bin/python-config --includes`
963                 PYTHON_LIBS=`$withval/bin/python-config --libs`
964              elif test -f $withval/Python.h; then
965                 PYTHON_INCDIR=-I$withval
966                 PYTHON_LIBS="-L$withval/config -lpython"
967              elif test -f $withval/include/Python.h; then
968                 PYTHON_INCDIR=-I$withval/include
969                 if test -d $withval/lib64/config; then
970                    PYTHON_LIBS="-L$withval/lib64/config -lpython"
971                 else
972                    PYTHON_LIBS="-L$withval/lib/config -lpython"
973                 fi
974              elif test -f $withval/include/python/Python.h; then
975                 PYTHON_INCDIR=-I$withval/include/python
976                 if test -d $withval/lib64/python/config; then
977                    PYTHON_LIBS="-L$withval/lib64/python/config -lpython"
978                 else
979                    PYTHON_LIBS="-L$withval/lib/python/config -lpython"
980                 fi
981              else
982                 AC_MSG_RESULT(no)
983                 AC_MSG_ERROR(Invalid Python directory $withval - unable to find Python.h under $withval)
984              fi
985           fi
986
987           AC_DEFINE([HAVE_PYTHON], 1)
988           AC_MSG_RESULT(yes)
989           support_python=yes
990           AC_MSG_NOTICE(checking for more Python libs)
991           saved_LIBS="$LIBS"; LIBS=
992           AC_SEARCH_LIBS(shm_open, [rt])
993           AC_CHECK_LIB(util, openpty)
994           PYTHON_LIBS="$PYTHON_LIBS $LIBS"
995           LIBS="$saved_LIBS"
996        else
997           AC_MSG_RESULT(no)
998        fi
999    ],[
1000        AC_MSG_RESULT(no)
1001    ]
1002 )
1003 AC_SUBST(PYTHON_LIBS)
1004 AC_SUBST(PYTHON_INCDIR)
1005
1006 dnl
1007 dnl Find where sockets are (especially for Solaris)
1008 dnl Do this before the TCP Wrappers test since tcp wrappers
1009 dnl uses the socket library and some linkers are stupid.
1010 dnl
1011 AC_CHECK_FUNC(socket,
1012     AC_MSG_RESULT(using libc's socket),
1013     AC_CHECK_LIB(xnet,socket)
1014     AC_CHECK_LIB(socket,socket)
1015     AC_CHECK_LIB(inet,socket))
1016
1017 dnl -----------------------------------------------------------
1018 dnl Check whether user wants TCP wrappers support (default off)
1019 dnl -----------------------------------------------------------
1020 TCPW_MSG="no" 
1021 WRAPLIBS=""
1022 AC_ARG_WITH(tcp-wrappers,
1023    AC_HELP_STRING([--with-tcp-wrappers@<:@=DIR@:>@], [enable tcpwrappers support]),
1024    [
1025        if test "x$withval" != "xno" ; then
1026           saved_LIBS="$LIBS"
1027           LIBS="$saved_LIBS -lwrap"
1028           AC_SEARCH_LIBS(nanosleep, [rt])
1029           AC_MSG_CHECKING(for libwrap)
1030           AC_TRY_LINK(
1031              [ 
1032                #include <sys/types.h>
1033                #include <tcpd.h>
1034                int deny_severity = 0;
1035                int allow_severity = 0;
1036                struct request_info *req;
1037              ], [
1038                 hosts_access(req);
1039              ], [
1040                  AC_MSG_RESULT(yes)
1041                  AC_DEFINE(HAVE_LIBWRAP, 1, [Set to enable libwraper support])
1042                  TCPW_MSG="yes" 
1043                  LIBS="$saved_LIBS"
1044                  WRAPLIBS="-lwrap"
1045              ], [
1046                  LIBS="$saved_LIBS -lwrap -lnsl"
1047                  WRAPLIBS="$saved_LIBS -lwrap -lnsl"
1048                  AC_TRY_LINK(
1049                    [
1050                        #include <sys/types.h>
1051                        #include <tcpd.h>
1052                        int deny_severity = 0;
1053                        int allow_severity = 0;
1054                        struct request_info *req;
1055                    ], [
1056                        hosts_access(req);
1057                    ], [
1058                       AC_MSG_RESULT(yes)
1059                       AC_DEFINE(HAVE_LIBWRAP, 1, [Set to enable libwraper support])
1060                       TCPW_MSG="yes" 
1061                       LIBS="$saved_LIBS"
1062                       WRAPLIBS="-lwrap"
1063                    ], [
1064                       AC_MSG_ERROR([*** libwrap missing])
1065                    ]
1066                 )
1067              ]
1068           )
1069        fi
1070    ]
1071 )
1072
1073 dnl -----------------------------------------------------------
1074 dnl Check whether OpenSSL is available
1075 dnl -----------------------------------------------------------
1076 AC_MSG_CHECKING([for OpenSSL])
1077 dnl The following uses quadrigraphs:
1078 dnl '@<:@' = '['
1079 dnl '@:>@' = ']'
1080 AC_ARG_WITH(openssl,
1081     AC_HELP_STRING([--with-openssl@<:@=DIR@:>@], [Include OpenSSL support. DIR is the OpenSSL base]),
1082     [
1083         with_openssl_directory=${withval}
1084     ]
1085 )
1086
1087 if test "x$with_openssl_directory" != "xno"; then
1088    OPENSSL_LIBS="-lssl -lcrypto"
1089    OPENSSL_INC=""
1090
1091    if test "x$with_openssl_directory" != "xyes" && test x"${with_openssl_directory}" != "x"; then
1092       #
1093       # Make sure the $with_openssl_directory also makes sense
1094       #
1095       if test -d "$with_openssl_directory/lib" -a -d "$with_openssl_directory/include"; then
1096          OPENSSL_LIBS="-L$with_openssl_directory/lib $OPENSSL_LIBS"
1097          OPENSSL_INC="-I$with_openssl_directory/include $OPENSSL_INC"
1098       fi
1099    fi
1100
1101    saved_LIBS="${LIBS}"
1102    saved_CFLAGS="${CFLAGS}"
1103    LIBS="${saved_LIBS} ${OPENSSL_LIBS}"
1104    CFLAGS="${saved_CFLAGS} ${OPENSSL_INC}"
1105
1106    AC_TRY_LINK(
1107       [
1108           #include <openssl/ssl.h>
1109       ], [
1110            CRYPTO_set_id_callback(NULL);
1111       ], [
1112           support_tls="yes"
1113           support_crypto="yes"
1114       ], [
1115           support_tls="no"
1116       ]
1117    )
1118
1119    AC_TRY_LINK(
1120       [
1121           #include <openssl/evp.h>
1122       ], [
1123           EVP_sha512();
1124       ], [
1125           ac_cv_openssl_sha2="yes"
1126       ], [
1127           ac_cv_openssl_sha2="no"
1128       ]
1129    )
1130
1131    dnl Solaris disables greater than 128+ bit encryption in their OpenSSL
1132    dnl implementation, presumably for export reasons. If 192bit AES
1133    dnl is available, we assume that we're running with a 'non-export'
1134    dnl openssl library.
1135    AC_TRY_LINK(
1136       [
1137           #include <openssl/evp.h>
1138       ], [
1139           EVP_aes_192_cbc();
1140       ], [
1141           ac_cv_openssl_export="no"
1142       ], [
1143           ac_cv_openssl_export="yes"
1144       ]
1145    )
1146
1147    LIBS="${saved_LIBS}"
1148    CFLAGS="${saved_CFLAGS}"
1149
1150    if test "$support_tls" = "yes"; then
1151       AC_DEFINE(HAVE_OPENSSL, 1, [Define if OpenSSL library is available])
1152       AC_DEFINE(HAVE_TLS, 1, [Define if TLS support should be enabled])
1153       AC_DEFINE(HAVE_CRYPTO, 1, [Define if encryption support should be enabled])
1154    fi
1155
1156    if test "$ac_cv_openssl_sha2" = "yes"; then
1157       AC_DEFINE(HAVE_SHA2, 1, [Define if the SHA-2 family of digest algorithms is available])
1158    fi
1159
1160    if test "$ac_cv_openssl_export" = "yes"; then
1161       AC_DEFINE(HAVE_OPENSSL_EXPORT_LIBRARY, 1, [Define if the OpenSSL library is export-contrained to 128bit ciphers])
1162    fi
1163 else
1164    support_tls="no"
1165    support_crypto="no"
1166    OPENSSL_LIBS=""
1167    OPENSSL_INC=""
1168 fi
1169
1170 if test "$support_tls" = "no"; then
1171    OPENSSL_LIBS=""
1172    OPENSSL_INC=""
1173 fi  
1174
1175 AC_MSG_RESULT([$support_tls])
1176 AC_SUBST(OPENSSL_LIBS)
1177 AC_SUBST(OPENSSL_INC)
1178
1179 dnl -----------------------------------------------------------
1180 dnl dlopen is needed for plugins
1181 dnl -----------------------------------------------------------
1182 AC_SEARCH_LIBS(dlopen, [dl])
1183
1184 dnl ------------------------------------------
1185 dnl Where to place working dir
1186 dnl ------------------------------------------
1187 working_dir=`eval echo ${prefix}/var/bacula/working`
1188 AC_ARG_WITH(working-dir,
1189    AC_HELP_STRING([--with-working-dir=PATH], [specify path of Bacula working directory]),
1190    [
1191        if test "x$withval" != "xno" ; then     
1192          working_dir=$withval
1193        fi
1194    ]
1195 )
1196
1197 AC_SUBST(working_dir)
1198
1199 dnl ------------------------------------------------------------------
1200 dnl If the user has not set archivedir, we set our default as /tmp
1201 dnl ------------------------------------------------------------------
1202 archivedir=/tmp
1203 AC_ARG_WITH(archivedir,
1204    AC_HELP_STRING([--with-archivedir=PATH], [specify path of SD archive directory]),
1205    [
1206        if test "x$withval" != "xno" ; then     
1207           archivedir=$withval
1208        fi
1209    ]
1210 )
1211
1212 AC_SUBST(archivedir)
1213
1214 dnl ------------------------------------------------------------------
1215 dnl Allow the user to specify the daemon resource name default hostname
1216 dnl ------------------------------------------------------------------
1217 basename=`hostname`
1218 AC_ARG_WITH(basename,
1219    AC_HELP_STRING([--with-basename=RESNAME], [specify base resource name for daemons]),
1220    [
1221        if test "x$withval" != "xno" ; then     
1222           basename=$withval
1223        fi
1224    ]
1225 )
1226
1227 AC_SUBST(basename)
1228
1229 dnl ------------------------------------------------------------------
1230 dnl Allow the user to override the hostname (default = machine hostname)
1231 dnl ------------------------------------------------------------------
1232 hostname=`uname -n | cut -d '.' -f 1`
1233 if test x${hostname} = x ; then
1234   hostname="localhost"
1235 fi
1236 AC_ARG_WITH(hostname,
1237    AC_HELP_STRING([--with-hostname=RESNAME], [specify host name for daemons]),
1238    [
1239        if test "x$withval" != "xno" ; then
1240          hostname=$withval
1241        fi
1242    ]
1243 )
1244
1245 AC_SUBST(hostname)
1246
1247
1248 dnl ------------------------------------------
1249 dnl Where to place scriptdir (script files)
1250 dnl ------------------------------------------
1251 scriptdir=`eval echo ${sysconfdir}`
1252 AC_ARG_WITH(scriptdir,
1253    AC_HELP_STRING([--with-scriptdir=PATH], [specify path of Bacula scripts directory]),
1254    [
1255        if test "x$withval" != "xno" ; then     
1256           scriptdir=$withval
1257        fi
1258    ]
1259 )
1260
1261 AC_SUBST(scriptdir)
1262
1263
1264 dnl ------------------------------------------
1265 dnl Where to place bsrdir (bsr files)
1266 dnl ------------------------------------------
1267 bsrdir=/tmp
1268 AC_ARG_WITH(bsrdir,
1269    AC_HELP_STRING([--with-bsrdir=PATH], [specify path of Bacula bsrs directory]),
1270    [
1271        if test "x$withval" != "xno" ; then     
1272           bsrdir=$withval
1273        fi
1274    ]
1275 )
1276
1277 AC_SUBST(bsrdir)
1278
1279 dnl ------------------------------------------
1280 dnl Where to place logdir (bsr files)
1281 dnl ------------------------------------------
1282 logdir=/tmp
1283 AC_ARG_WITH(logdir,
1284    AC_HELP_STRING([--with-logdir=PATH], [specify path of Bacula logs directory]),
1285    [
1286        if test "x$withval" != "xno" ; then     
1287           logdir=$withval
1288        fi
1289    ]
1290 )
1291
1292 AC_SUBST(logdir)
1293
1294
1295 # ------------------------------------------
1296 # Where to place plugindir (plugin files)
1297 # ------------------------------------------
1298 plugindir=`eval echo ${libdir}`
1299 AC_ARG_WITH(plugindir,
1300    AC_HELP_STRING([--with-plugindir=PATH], [specify path of Bacula plugins directory]),
1301    [
1302        if test "x$withval" != "xno" ; then     
1303           plugindir=$withval
1304        fi
1305    ]
1306 )
1307
1308 AC_SUBST(plugindir)
1309
1310 dnl ------------------------------------------
1311 dnl Where to send dump email
1312 dnl ------------------------------------------
1313 dump_email=root@localhost
1314 AC_ARG_WITH(dump-email,
1315    AC_HELP_STRING([--with-dump-email=EMAIL], [dump email address]),
1316    [
1317        if test "x$withval" != "xno" ; then     
1318           dump_email=$withval
1319        fi
1320    ]
1321 )
1322
1323 AC_SUBST(dump_email)
1324
1325 dnl ------------------------------------------
1326 dnl Where to send job email
1327 dnl ------------------------------------------
1328 job_email=root@localhost
1329 AC_ARG_WITH(job-email,
1330    AC_HELP_STRING([--with-job-email=EMAIL], [job output email address]),
1331    [
1332        if test "x$withval" != "xno" ; then     
1333           job_email=$withval
1334        fi
1335    ]
1336 )
1337
1338 AC_SUBST(job_email)
1339
1340 dnl ------------------------------------------
1341 dnl Where to find smtp host
1342 dnl ------------------------------------------
1343 smtp_host=localhost
1344 AC_ARG_WITH(smtp_host,
1345    AC_HELP_STRING([--with-smtp-host=HOST], [SMTP mail host address]),
1346    [
1347        if test "x$withval" != "xno" ; then     
1348           smtp_host=$withval
1349        fi
1350    ]
1351 )
1352
1353 AC_SUBST(smtp_host)
1354
1355 dnl ------------------------------------
1356 dnl Where to place pid files
1357 dnl ------------------------------------
1358 piddir=/var/run
1359 AC_ARG_WITH(pid-dir,
1360    AC_HELP_STRING([--with-pid-dir=PATH], [specify location of Bacula pid files]),
1361    [
1362        if test "x$withval" != "xno" ; then   
1363           piddir=$withval
1364        fi
1365    ]
1366 )
1367
1368 AC_DEFINE_UNQUOTED(_PATH_BACULA_PIDDIR, "$piddir")
1369 AC_SUBST(piddir)
1370
1371 dnl ------------------------------------
1372 dnl Where to place subsys "lock file"
1373 dnl ------------------------------------
1374 subsysdir=/var/run/subsys
1375 if test -d /var/run/subsys; then
1376    subsysdir=/var/run/subsys
1377 elif test -d /var/lock/subsys; then
1378    subsysdir=/var/lock/subsys
1379 else
1380    subsysdir=/var/run/subsys
1381 fi
1382 AC_ARG_WITH(subsys-dir,
1383    AC_HELP_STRING([--with-subsys-dir=PATH], [specify location of Bacula subsys file]),
1384    [
1385        if test "x$withval" != "xno" ; then   
1386           subsysdir=$withval
1387        fi
1388    ]
1389 )
1390
1391 AC_SUBST(subsysdir)
1392
1393 dnl ------------------------------------
1394 dnl Where to start assigning ports
1395 dnl ------------------------------------
1396 baseport=9101
1397 AC_ARG_WITH(baseport,
1398    AC_HELP_STRING([--with-baseport=PORT], [specify base port address for daemons]),
1399    [
1400        if test "x$withval" != "xno" ; then   
1401           baseport=$withval
1402        fi
1403    ]
1404 )
1405
1406 AC_SUBST(baseport)
1407 dir_port=`expr $baseport`
1408 fd_port=`expr $baseport + 1`
1409 sd_port=`expr $fd_port + 1`
1410
1411 AC_SUBST(dir_port)
1412 AC_SUBST(fd_port)
1413 AC_SUBST(sd_port)
1414
1415 dnl ------------------------------------------
1416 dnl Generate passwords
1417 dnl ------------------------------------------
1418 dir_password=
1419 AC_ARG_WITH(dir-password,
1420    AC_HELP_STRING([--with-dir-password=PASSWORD], [specify Director's password]),
1421    [
1422        if test "x$withval" != "xno" ; then     
1423           dir_password=$withval
1424        fi
1425    ]
1426 )
1427
1428 if test "x$dir_password" = "x" ; then
1429    if test "x$OPENSSL" = "xnone" ; then
1430       key=`autoconf/randpass 33`
1431    else
1432       key=`openssl rand -base64 33`
1433    fi
1434    dir_password=$key
1435 fi
1436
1437 fd_password=
1438 AC_ARG_WITH(fd-password,
1439    AC_HELP_STRING([--with-fd-password=PASSWORD], [specify Client's password]),
1440    [
1441        if test "x$withval" != "xno" ; then     
1442           fd_password=$withval
1443        fi
1444    ]
1445 )
1446
1447 if test "x$fd_password" = "x" ; then
1448    if test "x$OPENSSL" = "xnone" ; then
1449       key=`autoconf/randpass 37`
1450    else
1451       key=`openssl rand -base64 33`
1452    fi
1453    fd_password=$key
1454 fi
1455
1456 sd_password=
1457 AC_ARG_WITH(sd-password,
1458    AC_HELP_STRING([--with-sd-password=PASSWORD], [specify Storage daemon's password]),
1459    [
1460        if test "x$withval" != "xno" ; then     
1461           sd_password=$withval
1462        fi
1463    ]
1464 )
1465
1466 if test "x$sd_password" = "x" ; then
1467    if test "x$OPENSSL" = "xnone" ; then
1468       key=`autoconf/randpass 41`
1469    else
1470       key=`openssl rand -base64 33`
1471    fi
1472    sd_password=$key
1473 fi
1474
1475 mon_dir_password=
1476 AC_ARG_WITH(mon-dir-password,
1477    AC_HELP_STRING([--with-mon-dir-password=PASSWORD], [specify Director's password used by the monitor]),
1478    [
1479        if test "x$withval" != "xno" ; then     
1480           mon_dir_password=$withval
1481        fi
1482    ]
1483 )
1484
1485 if test "x$mon_dir_password" = "x" ; then
1486    if test "x$OPENSSL" = "xnone" ; then
1487       key=`autoconf/randpass 33`
1488    else
1489       key=`openssl rand -base64 33`
1490    fi
1491    mon_dir_password=$key
1492 fi
1493
1494 mon_fd_password=
1495 AC_ARG_WITH(mon-fd-password,
1496    AC_HELP_STRING([--with-mon-fd-password=PASSWORD], [specify Client's password used by the monitor]),
1497    [
1498        if test "x$withval" != "xno" ; then     
1499           mon_fd_password=$withval
1500        fi
1501    ]
1502 )
1503
1504 if test "x$mon_fd_password" = "x" ; then
1505    if test "x$OPENSSL" = "xnone" ; then
1506       key=`autoconf/randpass 37`
1507    else
1508       key=`openssl rand -base64 33`
1509    fi
1510    mon_fd_password=$key
1511 fi
1512
1513 mon_sd_password=
1514 AC_ARG_WITH(mon-sd-password,
1515    AC_HELP_STRING([--with-mon-sd-password=PASSWORD], [specify Storage daemon's password used by the monitor]),
1516    [
1517        if test "x$withval" != "xno" ; then     
1518           mon_sd_password=$withval
1519        fi
1520    ]
1521 )
1522
1523 if test "x$mon_sd_password" = "x" ; then
1524    if test "x$OPENSSL" = "xnone" ; then
1525       key=`autoconf/randpass 41`
1526    else
1527       key=`openssl rand -base64 33`
1528    fi
1529    mon_sd_password=$key
1530 fi
1531
1532 AC_SUBST(dir_password)
1533 AC_SUBST(fd_password)
1534 AC_SUBST(sd_password)
1535 AC_SUBST(mon_dir_password)
1536 AC_SUBST(mon_fd_password)
1537 AC_SUBST(mon_sd_password)
1538
1539 dnl
1540 dnl Pickup any database name
1541 dnl
1542 db_name=bacula
1543 AC_ARG_WITH(db_name,
1544    AC_HELP_STRING([--with-db-name=DBNAME], [specify database name @<:@default=bacula@:>@]),
1545    [
1546        if test "x$withval" != "x" ; then   
1547           db_name=$withval
1548        fi
1549    ]
1550 )
1551 AC_SUBST(db_name)
1552
1553 db_user=bacula
1554 AC_ARG_WITH(db_user,
1555    AC_HELP_STRING([--with-db-user=UNAME], [specify database user @<:@default=bacula@:>@]),
1556    [
1557        if test "x$withval" != "x" ; then   
1558           db_user=$withval
1559        fi
1560    ]
1561 )
1562 AC_SUBST(db_user)
1563
1564 db_password=
1565 AC_ARG_WITH(db_password,
1566    AC_HELP_STRING([--with-db-password=PWD], [specify database password @<:@default=*none*@:>@]),
1567    [
1568        if test "x$withval" != "x" ; then   
1569           db_password=$withval
1570        fi
1571    ]
1572 )
1573 AC_SUBST(db_password)
1574
1575 dnl
1576 dnl Pickup a database port
1577 dnl
1578 db_port=" "
1579 AC_ARG_WITH(db_port,
1580    AC_HELP_STRING([--with-db-port=DBPORT], [specify a database port @<:@default=null@:>@]),
1581    [
1582        if test "x$withval" != "x" ; then
1583           db_port=$withval
1584        fi
1585    ]
1586 )
1587 AC_SUBST(db_port)
1588
1589 #
1590 # Handle users and groups for each daemon
1591 #
1592 dir_user=
1593 AC_ARG_WITH(dir_user,
1594    AC_HELP_STRING([--with-dir-user=USER], [specify user for Director daemon]),
1595    [
1596        if test "x$withval" != "x" ; then   
1597            dir_user=$withval
1598        fi
1599    ]
1600 )
1601
1602 dir_group=
1603 AC_ARG_WITH(dir_group,
1604    AC_HELP_STRING([--with-dir-group=GROUP], [specify group for Director daemon]),
1605    [
1606        if test "x$withval" != "x" ; then   
1607           dir_group=$withval
1608        fi
1609    ]
1610 )
1611
1612 sd_user=
1613 AC_ARG_WITH(sd_user,
1614    AC_HELP_STRING([--with-sd-user=USER], [specify user for Storage daemon]),
1615    [
1616        if test "x$withval" != "x" ; then   
1617           sd_user=$withval
1618        fi
1619    ]
1620 )
1621
1622 sd_group=
1623 AC_ARG_WITH(sd_group,
1624    AC_HELP_STRING([--with-sd-group=GROUP], [specify group for Storage daemon]),
1625    [
1626        if test "x$withval" != "x" ; then   
1627           sd_group=$withval
1628        fi
1629    ]
1630 )
1631
1632 fd_user=
1633 AC_ARG_WITH(fd_user,
1634    AC_HELP_STRING([--with-fd-user=USER], [specify user for File daemon]),
1635    [
1636        if test "x$withval" != "x" ; then   
1637           fd_user=$withval
1638        fi
1639    ]
1640 )
1641
1642 fd_group=
1643 AC_ARG_WITH(fd_group,
1644    AC_HELP_STRING([--with-fd-group=GROUP], [specify group for File daemon]),
1645    [
1646        if test "x$withval" != "x" ; then   
1647           fd_group=$withval
1648        fi
1649    ]
1650 )
1651
1652 AC_SUBST(dir_user)
1653 AC_SUBST(dir_group)
1654 AC_SUBST(sd_user)
1655 AC_SUBST(sd_group)
1656 AC_SUBST(fd_user)
1657 AC_SUBST(fd_group)
1658
1659 dnl
1660 dnl allow setting default executable permissions
1661 dnl
1662 SBINPERM=0754
1663 AC_ARG_WITH(sbin-perm,
1664    AC_HELP_STRING([--with-sbin-perm=MODE], [specify permissions for sbin binaries @<:@default=0754@:>@]),
1665    [
1666        if test "x$withval" != "x" ; then   
1667           SBINPERM=$withval
1668        fi
1669    ]
1670 )
1671
1672 AC_SUBST(SBINPERM)
1673
1674 dnl ------------------------------------------------
1675 dnl Bacula check for various SQL database engines
1676 dnl ------------------------------------------------
1677 SQL_LIB=
1678 BA_CHECK_POSTGRESQL_DB
1679
1680 BA_CHECK_MYSQL_DB
1681
1682 BA_CHECK_SQLITE3_DB
1683
1684 # BA_CHECK_SQLITE_DB
1685
1686 BA_CHECK_DBI_DB
1687
1688 BA_CHECK_DBI_DRIVER
1689
1690 AC_SUBST(cats)
1691 AC_SUBST(DB_TYPE)
1692
1693 dnl -------------------------------------------
1694 dnl enable batch attribute DB insert (default on)
1695 dnl -------------------------------------------
1696 support_batch_insert=no
1697 A=`test -f $SQL_LIB && nm $SQL_LIB | grep pthread_mutex_lock`
1698 pkg=$?
1699 if test $pkg = 0; then
1700    support_batch_insert=yes
1701    AC_ARG_ENABLE(batch-insert,
1702       AC_HELP_STRING([--enable-batch-insert], [enable the DB batch insert code @<:@default=no@:>@]),
1703       [
1704           if test x$enableval = xno; then
1705              support_batch_insert=no
1706           else
1707              support_batch_insert=yes
1708           fi
1709       ]
1710    )
1711 fi
1712    
1713 dnl Check if postgresql can support batch mode   
1714 if test x$DB_TYPE = xpostgresql; then
1715    AC_CHECK_LIB(pq, PQisthreadsafe, AC_DEFINE(HAVE_PQISTHREADSAFE))
1716    AC_CHECK_LIB(pq, PQputCopyData, AC_DEFINE(HAVE_PQ_COPY))
1717    if test "x$ac_cv_lib_pq_PQputCopyData" != "xyes"
1718     then
1719         support_batch_insert=no
1720    fi
1721 fi
1722
1723 if test x$DB_TYPE = xdbi; then
1724    DB_TYPE=$DB_PROG
1725    db_type=$DB_PROG
1726    pkg=1
1727    dnl Check for batch insert
1728    if test $DB_PROG = postgresql; then
1729       AC_CHECK_LIB(pq, PQisthreadsafe, AC_DEFINE(HAVE_PQISTHREADSAFE))
1730       AC_CHECK_LIB(pq, PQputCopyData, AC_DEFINE(HAVE_PQ_COPY))
1731       test "x$ac_cv_lib_pq_PQputCopyData" != "xyes"
1732       pkg=$?
1733    fi
1734
1735    if test $DB_PROG = mysql; then
1736       A=`test -f $SQL_LIB && nm $DB_PROG_LIB | grep pthread_mutex_lock`
1737       pkg=$?    
1738    fi
1739
1740    if test $DB_PROG = sqlite3; then
1741       A=`test -f $SQL_LIB && nm $DB_PROG_LIB | grep pthread_mutex_lock`
1742       pkg=$?
1743    fi
1744
1745    if test $pkg = 0; then
1746       AC_ARG_ENABLE(batch-insert,
1747          AC_HELP_STRING([--enable-batch-insert], [enable the DB batch insert code @<:@default=no@:>@]),
1748          [
1749              if test x$enableval = xno; then
1750                 support_batch_insert=no
1751              else
1752                 support_batch_insert=yes
1753              fi
1754          ]
1755       )
1756    fi
1757 else 
1758    dnl If dbi was not chosen, let the comment in file
1759    uncomment_dbi="#"  
1760 fi
1761
1762 AC_SUBST(uncomment_dbi)
1763
1764 if test $support_batch_insert = yes ; then
1765    AC_DEFINE(HAVE_BATCH_FILE_INSERT, 1, [Set if DB batch insert code enabled])
1766 fi
1767
1768 AC_DEFINE(PROTOTYPES)
1769
1770 dnl --------------------------------------------------------------------------
1771 dnl Supply default CFLAGS, if not specified by `CFLAGS=flags ./configure'
1772 dnl
1773 if test -z "$CFLAGS" -o "$CFLAGS" = "-g -O2"; then
1774    if test -z "$CCOPTS"; then
1775       CCOPTS='-g -O2 -Wall'
1776    fi
1777    CFLAGS="$CCOPTS"
1778 fi
1779
1780 dnl A few others 
1781 AC_EXEEXT
1782
1783 dnl See if we can use 64 bit file addresses
1784 largefile_support="no"
1785 AC_BAC_LARGEFILE
1786
1787 AC_PATH_XTRA
1788
1789 dnl --------------------------------------------------------------------------
1790 dnl CHECKING FOR HEADER FILES
1791 dnl --------------------------------------------------------------------------
1792 AC_CHECK_HEADERS( \
1793    assert.h \
1794    fcntl.h \
1795    grp.h \
1796    pwd.h \
1797    libc.h \
1798    limits.h \
1799    stdarg.h \
1800    stdlib.h \
1801    stdint.h \
1802    string.h \
1803    strings.h \
1804    termios.h \
1805    termcap.h \
1806    term.h \
1807    unistd.h \
1808    sys/bitypes.h \
1809    sys/byteorder.h \
1810    sys/ioctl.h \
1811    sys/select.h \
1812    sys/socket.h \
1813    sys/sockio.h \
1814    sys/stat.h \
1815    sys/time.h \
1816    sys/types.h \
1817    arpa/nameser.h \
1818    mtio.h \
1819    sys/mtio.h \
1820    sys/tape.h \
1821    regex.h \
1822 )
1823 AC_HEADER_STDC
1824 AC_HEADER_MAJOR
1825 AC_HEADER_DIRENT
1826 AC_HEADER_STAT
1827 AC_HEADER_SYS_WAIT
1828 AC_HEADER_TIME
1829 AC_STRUCT_ST_BLKSIZE
1830 AC_STRUCT_ST_BLOCKS
1831 AC_STRUCT_TIMEZONE
1832
1833 dnl --------------------------------------------------------------------------
1834 dnl Check for utime.h structure 
1835 dnl --------------------------------------------------------------------------
1836 AC_CACHE_CHECK(for utime.h, ba_cv_header_utime_h,
1837    [
1838        AC_TRY_COMPILE(
1839           [
1840               #include <sys/types.h>
1841               #include <utime.h>
1842           ], [
1843               struct utimbuf foo
1844           ], [
1845               ba_cv_header_utime_h=yes
1846           ], [
1847               ba_cv_header_utime_h=no
1848           ]
1849        )
1850    ]
1851 )
1852 test $ba_cv_header_utime_h = yes && AC_DEFINE(HAVE_UTIME_H, 1, [Set if utime.h exists])
1853
1854 dnl --------------------------------------------------------------------------
1855 dnl Check for socklen_t
1856 dnl --------------------------------------------------------------------------
1857 AC_CACHE_CHECK(for socklen_t, ba_cv_header_socklen_t,
1858    [
1859        AC_TRY_COMPILE(
1860           [
1861               #include <sys/types.h>
1862               #include <sys/socket.h>
1863           ], [
1864               socklen_t x
1865           ], [
1866              ba_cv_header_socklen_t=yes
1867           ], [
1868              ba_cv_header_socklen_t=no
1869           ]
1870        )
1871    ]
1872 )
1873 test $ba_cv_header_socklen_t = yes && AC_DEFINE(HAVE_SOCKLEN_T, 1, [Set if socklen_t exists])
1874
1875 dnl --------------------------------------------------------------------------
1876 dnl Check for ioctl request type
1877 dnl --------------------------------------------------------------------------
1878 AC_CACHE_CHECK(for ioctl_req_t, ba_cv_header_ioctl_req_t,
1879    [
1880        AC_TRY_COMPILE(
1881           [
1882               #include <sys/types.h>
1883               #include <sys/ioctl.h>
1884           ], [
1885               unsigned long int req;
1886               int fd;
1887               ioctl(fd, req);
1888           ], [
1889              ba_cv_header_ioctl_req_t=yes
1890           ], [
1891              ba_cv_header_ioct_req_t_t=no
1892           ]
1893        )
1894    ]
1895 )
1896 test $ba_cv_header_ioctl_req_t = yes && AC_DEFINE(HAVE_IOCTL_ULINT_REQUEST, 1, [Set if ioctl request is unsigned long int])
1897
1898
1899 dnl --------------------------------------------------------------------------
1900 dnl Check for typeof()
1901 dnl --------------------------------------------------------------------------
1902 AC_LANG_PUSH(C++)
1903 AC_CACHE_CHECK(for typeof, ba_cv_have_typeof,
1904    [
1905        AC_TRY_RUN(
1906           [
1907               main(){char *a = 0; a = (typeof a)a;}
1908           ], [
1909               ba_cv_have_typeof=yes
1910           ], [
1911               ba_cv_have_typeof=no
1912           ], [
1913               ba_cv_have_typeof=no
1914           ]
1915        )
1916    ]
1917 )
1918 test $ba_cv_have_typeof = yes && AC_DEFINE([HAVE_TYPEOF], 1, [Defind to 1 if compiler has typeof])
1919 AC_LANG_POP(C++)
1920
1921 AC_C_CONST
1922
1923 dnl --------------------------------------------------------------------------
1924 dnl CHECKING FOR FILESYSTEM TYPE
1925 dnl --------------------------------------------------------------------------
1926 AC_MSG_CHECKING(how to get filesystem type)
1927 fstype=no
1928 # The order of these tests is important.
1929 AC_TRY_CPP(
1930    [
1931        #include <sys/statvfs.h>
1932        #include <sys/fstyp.h>
1933    ],
1934    AC_DEFINE(FSTYPE_STATVFS) fstype=SVR4
1935 )
1936 if test $fstype = no; then
1937    AC_TRY_CPP(
1938       [
1939           #include <sys/statfs.h>
1940           #include <sys/fstyp.h>
1941       ],
1942       AC_DEFINE(FSTYPE_USG_STATFS) fstype=SVR3
1943    )
1944 fi
1945 if test $fstype = no; then
1946    AC_TRY_CPP(
1947       [
1948           #include <sys/statfs.h>
1949           #include <sys/vmount.h>
1950       ],
1951       AC_DEFINE(FSTYPE_AIX_STATFS) fstype=AIX
1952    )
1953 fi
1954 if test $fstype = no; then  
1955    AC_TRY_CPP(
1956       [
1957           #include <mntent.h>
1958       ],
1959       AC_DEFINE(FSTYPE_MNTENT) fstype=4.3BSD
1960    )
1961 fi
1962 if test $fstype = no; then  
1963    AC_EGREP_HEADER(f_type;, sys/mount.h, AC_DEFINE(FSTYPE_STATFS) fstype=4.4BSD/OSF1)
1964 fi
1965 if test $fstype = no; then  
1966    AC_TRY_CPP(
1967       [
1968           #include <sys/mount.h>
1969           #include <sys/fs_types.h>
1970       ],
1971       AC_DEFINE(FSTYPE_GETMNT) fstype=Ultrix
1972    )
1973 fi
1974 AC_MSG_RESULT($fstype)
1975
1976 AC_CHECK_HEADER(sys/statvfs.h, [ AC_DEFINE(HAVE_SYS_STATVFS_H,1,[Defines if your system have the sys/statvfs.h header file])] , )
1977
1978 dnl --------------------------------------------------------------------------
1979 dnl CHECKING FOR TYPEDEFS, STRUCTURES, AND COMPILER CHARACTERISTICS.
1980 dnl --------------------------------------------------------------------------
1981 AC_TYPE_SIGNAL
1982 SIGNAL_CHECK
1983 AC_TYPE_MODE_T
1984 AC_TYPE_UID_T
1985 AC_TYPE_SIZE_T
1986 AC_TYPE_PID_T
1987 AC_TYPE_OFF_T
1988 AC_TYPE_INTPTR_T
1989 AC_TYPE_UINTPTR_T
1990 AC_CHECK_TYPE(ino_t, unsigned long)
1991 AC_CHECK_TYPE(dev_t, unsigned long)
1992 AC_CHECK_TYPE(daddr_t, long)
1993 AC_CHECK_TYPE(major_t, int)
1994 AC_CHECK_TYPE(minor_t, int)
1995 AC_CHECK_TYPE(ssize_t, int)
1996 AC_STRUCT_ST_BLOCKS
1997 AC_STRUCT_ST_RDEV
1998 AC_STRUCT_TM
1999 AC_C_CONST
2000
2001 AC_CHECK_SIZEOF(char, 1)
2002 AC_CHECK_SIZEOF(short int, 2)
2003 AC_CHECK_SIZEOF(int, 4)
2004 AC_CHECK_SIZEOF(long int, 4)
2005 AC_CHECK_SIZEOF(long long int, 8)
2006 AC_CHECK_SIZEOF(int *, 4)
2007
2008 dnl Check for sys/types.h types
2009 AC_CACHE_CHECK([for u_int type], ac_cv_have_u_int,
2010    [
2011        AC_TRY_COMPILE(
2012           [
2013               #include <sys/types.h>
2014           ], [
2015               u_int a; a = 1;
2016           ], [
2017               ac_cv_have_u_int="yes"
2018           ], [
2019               ac_cv_have_u_int="no"
2020           ]
2021        )
2022    ]
2023 )
2024 if test "x$ac_cv_have_u_int" = "xyes" ; then
2025    AC_DEFINE(HAVE_U_INT)
2026    have_u_int=1
2027 fi
2028
2029 AC_CACHE_CHECK([for intmax_t type], ac_cv_have_intmax_t,
2030    [
2031        AC_TRY_COMPILE(
2032           [
2033               #include <sys/types.h>
2034           ], [
2035               intmax_t a; a = 1;
2036           ], [
2037               ac_cv_have_intmax_t="yes"
2038           ], [ 
2039               AC_TRY_COMPILE(
2040                  [
2041                      #include <stdint.h>
2042                  ], [
2043                      intmax_t a; a = 1;
2044                  ], [
2045                      ac_cv_have_intmax_t="yes"
2046                  ], [
2047                      ac_cv_have_intmax_t="no"
2048                  ]
2049               )
2050           ]
2051        )       
2052    ]
2053 )
2054 if test "x$ac_cv_have_intmax_t" = "xyes" ; then
2055    AC_DEFINE(HAVE_INTMAX_T)
2056    have_intmax_t=1
2057 fi
2058
2059 AC_CACHE_CHECK([for u_intmax_t type], ac_cv_have_u_intmax_t,
2060    [
2061        AC_TRY_COMPILE(
2062           [
2063               #include <sys/types.h>
2064           ], [
2065               u_intmax_t a; a = 1;
2066           ], [
2067               ac_cv_have_u_intmax_t="yes"
2068           ], [ 
2069               AC_TRY_COMPILE(
2070                  [
2071                      #include <stdint.h>
2072                  ], [
2073                     u_intmax_t a; a = 1;
2074                  ], [
2075                     ac_cv_have_u_intmax_t="yes"
2076                  ], [
2077                     ac_cv_have_u_intmax_t="no"
2078                  ]
2079               )
2080           ]
2081        )
2082    ]
2083 )
2084 if test "x$ac_cv_have_u_intmax_t" = "xyes" ; then
2085    AC_DEFINE(HAVE_U_INTMAX_T)
2086    have_u_intmax_t=1
2087 fi
2088
2089 AC_CACHE_CHECK([for intXX_t types], ac_cv_have_intxx_t,
2090    [
2091        AC_TRY_COMPILE(
2092           [
2093               #include <sys/types.h>
2094           ], [
2095               int8_t a; int16_t b; int32_t c; a = b = c = 1;
2096           ], [
2097               ac_cv_have_intxx_t="yes"
2098           ], [
2099               ac_cv_have_intxx_t="no"
2100           ]
2101        )
2102    ]
2103 )
2104 if test "x$ac_cv_have_intxx_t" = "xyes" ; then
2105    AC_DEFINE(HAVE_INTXX_T)
2106    have_intxx_t=1
2107 fi
2108    
2109 AC_CACHE_CHECK([for int64_t type], ac_cv_have_int64_t,
2110    [
2111        AC_TRY_COMPILE(
2112           [
2113               #include <sys/types.h>
2114           ], [
2115               int64_t a; a = 1;
2116           ], [
2117               ac_cv_have_int64_t="yes"
2118           ], [
2119               ac_cv_have_int64_t="no"
2120           ]
2121        )
2122    ]
2123 )
2124 if test "x$ac_cv_have_int64_t" = "xyes" ; then
2125    AC_DEFINE(HAVE_INT64_T)
2126    have_int64_t=1
2127 fi
2128    
2129 AC_CACHE_CHECK([for u_intXX_t types], ac_cv_have_u_intxx_t,
2130    [
2131        AC_TRY_COMPILE(
2132           [
2133               #include <sys/types.h>
2134           ], [
2135               u_int8_t a; u_int16_t b; u_int32_t c; a = b = c = 1;
2136           ], [
2137              ac_cv_have_u_intxx_t="yes"
2138           ], [
2139              ac_cv_have_u_intxx_t="no"
2140           ]
2141        )
2142    ]
2143 )
2144 if test "x$ac_cv_have_u_intxx_t" = "xyes" ; then
2145    AC_DEFINE(HAVE_U_INTXX_T)
2146    have_u_intxx_t=1
2147 fi
2148
2149 AC_CACHE_CHECK([for u_int64_t types], ac_cv_have_u_int64_t,
2150    [
2151        AC_TRY_COMPILE(
2152           [
2153               #include <sys/types.h>
2154           ], [
2155               u_int64_t a; a = 1;
2156           ], [
2157              ac_cv_have_u_int64_t="yes"
2158           ], [
2159              ac_cv_have_u_int64_t="no"
2160           ]
2161        )
2162    ]
2163 )
2164 if test "x$ac_cv_have_u_int64_t" = "xyes" ; then
2165    AC_DEFINE(HAVE_U_INT64_T)
2166    have_u_int64_t=1
2167 fi
2168
2169 if (test -z "$have_u_intxx_t" || test -z "$have_intxx_t" && \
2170     test "x$ac_cv_header_sys_bitypes_h" = "xyes")
2171 then
2172    AC_MSG_CHECKING([for intXX_t and u_intXX_t types in sys/bitypes.h])
2173    AC_TRY_COMPILE(
2174       [
2175           #include <sys/bitypes.h>
2176       ], [
2177           int8_t a; int16_t b; int32_t c;
2178           u_int8_t e; u_int16_t f; u_int32_t g;
2179           a = b = c = e = f = g = 1;
2180       ], [
2181           AC_DEFINE(HAVE_U_INTXX_T)
2182           AC_DEFINE(HAVE_INTXX_T)
2183           AC_DEFINE(HAVE_SYS_BITYPES_H)
2184           AC_MSG_RESULT(yes)
2185       ], [
2186           AC_MSG_RESULT(no)
2187       ]
2188    ) 
2189 fi
2190
2191 if test -z "$have_u_intxx_t" ; then
2192    AC_CACHE_CHECK([for uintXX_t types], ac_cv_have_uintxx_t,
2193       [
2194           AC_TRY_COMPILE(
2195              [
2196                  #include <sys/types.h>
2197              ], [
2198                  uint8_t a; uint16_t b; 
2199                  uint32_t c; a = b = c = 1;
2200              ], [
2201                 ac_cv_have_uintxx_t="yes"
2202              ], [
2203                 ac_cv_have_uintxx_t="no"
2204              ]
2205           )
2206       ]
2207    )
2208    if test "x$ac_cv_have_uintxx_t" = "xyes" ; then
2209       AC_DEFINE(HAVE_UINTXX_T)
2210    fi
2211 fi
2212
2213 if (test -z "$have_u_int64_t" || test -z "$have_int64_t" && \
2214     test "x$ac_cv_header_sys_bitypes_h" = "xyes")
2215 then
2216    AC_MSG_CHECKING([for int64_t and u_int64_t types in sys/bitypes.h])
2217    AC_TRY_COMPILE(
2218       [
2219           #include <sys/bitypes.h>
2220       ], [
2221           int64_t a; u_int64_t b; 
2222           a = b = 1;
2223       ], [
2224           AC_DEFINE(HAVE_U_INT64_T)
2225           AC_DEFINE(HAVE_INT64_T)
2226           AC_MSG_RESULT(yes)
2227       ], [
2228           AC_MSG_RESULT(no)
2229       ]
2230    ) 
2231 fi
2232
2233 if (test -z "$have_uintxx_t" && \
2234     test "x$ac_cv_header_sys_bitypes_h" = "xyes")
2235 then
2236    AC_MSG_CHECKING([for uintXX_t types in sys/bitypes.h])
2237    AC_TRY_COMPILE(
2238       [
2239           #include <sys/bitypes.h>
2240       ], [
2241           uint8_t a; uint16_t b; 
2242           uint32_t c; a = b = c = 1;
2243       ], [
2244           AC_DEFINE(HAVE_UINTXX_T)
2245           AC_MSG_RESULT(yes)
2246       ], [
2247           AC_MSG_RESULT(no)
2248       ]
2249    ) 
2250 fi
2251
2252 dnl --------------------------------------------------------------------------
2253 dnl CHECKING FOR REQUIRED LIBRARY FUNCTIONS
2254 dnl --------------------------------------------------------------------------
2255 AC_CHECK_FUNCS( \
2256    fork \
2257    getcwd \
2258    gethostname \
2259    getpid \
2260    gettimeofday \
2261    setpgid \
2262    setpgrp \
2263    setsid \
2264    signal \
2265    strerror \
2266    strncmp \
2267    strncpy \
2268    vfprintf \
2269    ,,
2270    [echo 'configure: cannot find needed function.'; exit 1]
2271 )
2272
2273 AC_CHECK_FUNCS(fchdir, [AC_DEFINE(HAVE_FCHDIR)])
2274 AC_CHECK_FUNCS(strtoll, [AC_DEFINE(HAVE_STRTOLL)])
2275 AC_CHECK_FUNCS(posix_fadvise)
2276 AC_CHECK_FUNCS(fdatasync)
2277
2278 AC_CHECK_FUNCS(chflags) 
2279
2280 AC_CHECK_FUNCS(snprintf vsnprintf gethostid fseeko)
2281
2282 AC_CACHE_CHECK(for va_copy, ba_cv_va_copy,
2283    [
2284        AC_TRY_LINK(
2285           [
2286               #include <stdarg.h>
2287               void use_va_copy(va_list args){va_list args2; va_copy(args2,args); va_end(args2);}
2288               void call_use_va_copy(int junk,...){va_list args; va_start(args,junk); use_va_copy(args); va_end(args);}
2289           ], [
2290               call_use_va_copy(1,2,3)
2291           ], [
2292               ba_cv_va_copy=yes,
2293           ], [
2294               ba_cv_va_copy=no
2295           ]
2296        )
2297    ]
2298 )
2299 test $ba_cv_va_copy = yes && AC_DEFINE(HAVE_VA_COPY, 1, [Set if va_copy exists])
2300
2301 dnl --------------------------------------------------------------------------
2302 dnl CHECKING FOR THREAD SAFE FUNCTIONS
2303 dnl --------------------------------------------------------------------------
2304 AC_CHECK_FUNCS(localtime_r readdir_r strerror_r gethostbyname_r)
2305
2306 # If resolver functions are not in libc check for -lnsl or -lresolv.
2307 AC_CHECK_FUNC(gethostbyname_r,
2308     AC_MSG_RESULT(using libc's resolver),
2309     AC_CHECK_LIB(nsl,gethostbyname_r)
2310     AC_CHECK_LIB(resolv,gethostbyname_r))
2311
2312 AC_CHECK_FUNCS(inet_pton, [AC_DEFINE(HAVE_INET_PTON)])
2313 AC_CHECK_FUNCS(inet_ntop, [AC_DEFINE(HAVE_INET_NTOP)])
2314 AC_CHECK_FUNCS(gethostbyname2, [AC_DEFINE(HAVE_GETHOSTBYNAME2)])
2315
2316 dnl ----------------------------
2317 dnl check sa_len of sockaddr
2318 dnl ----------------------------
2319 AC_CACHE_CHECK(for struct sockaddr has a sa_len field, ac_cv_struct_sockaddr_sa_len,
2320    [
2321        AC_TRY_COMPILE(
2322           [
2323               #include <sys/socket.h>
2324           ], [
2325               struct sockaddr s; s.sa_len;
2326           ], [
2327              ac_cv_struct_sockaddr_sa_len=yes
2328           ], [ac_cv_struct_sockaddr_sa_len=no
2329           ]
2330        )
2331    ]
2332 )
2333
2334 if test $ac_cv_struct_sockaddr_sa_len = yes; then
2335   AC_DEFINE(HAVE_SA_LEN, 1, [Define if sa_len field exists in struct sockaddr])
2336 fi
2337
2338 AC_FUNC_STRFTIME
2339 AC_FUNC_VPRINTF
2340 AC_FUNC_ALLOCA
2341 AC_FUNC_GETMNTENT
2342 AC_FUNC_CLOSEDIR_VOID
2343 AC_FUNC_SETPGRP             dnl check for BSD setpgrp.
2344 # AC_FUNC_FNMATCH    dnl use local version
2345
2346 AC_CHECK_LIB(intl, gettext, [LIBS="$LIBS -lintl"])
2347
2348 AC_CHECK_LIB(sun, getpwnam)
2349
2350 AC_CHECK_HEADERS(zlib.h)
2351 AC_CHECK_LIB(z, deflate, [FDLIBS="-lz"])
2352 have_zlib=no
2353 if test x$FDLIBS = x-lz; then
2354    AC_DEFINE(HAVE_LIBZ)
2355    have_zlib=yes
2356 fi
2357
2358 dnl
2359 dnl Check for ACL support and libraries
2360 dnl
2361 support_acl=auto
2362 AC_ARG_ENABLE(acl,
2363    AC_HELP_STRING([--disable-acl], [disable acl support @<:@default=auto@:>@]),
2364    [
2365        if test x$enableval = xyes; then
2366           support_acl=yes
2367        elif test x$enableval = xno; then
2368           support_acl=no
2369        fi
2370    ]
2371 )
2372
2373 have_acl=no
2374 have_extended_acl=no
2375 if test x$support_acl = xyes -o x$support_acl = xauto; then
2376    AC_CHECK_HEADER(sys/acl.h, [ AC_DEFINE(HAVE_SYS_ACL_H,1,[Defines if your system have the sys/acl.h header file])] , )
2377    AC_CHECK_FUNC(acl_get_file,
2378       [
2379           have_acl=yes
2380       ], [
2381           AC_CHECK_LIB(acl, acl_get_file,
2382              [
2383                  have_acl=yes;
2384                  FDLIBS="-lacl $FDLIBS"
2385              ], [
2386                  AC_CHECK_LIB(pacl, acl_get_file,
2387                     [
2388                         have_acl=yes;
2389                         FDLIBS="-lpacl $FDLIBS"
2390                     ], [
2391                         AC_CHECK_LIB(sec, acltotext,
2392                            [
2393                                have_acl=yes;
2394                                FDLIBS="-lsec $FDLIBS"
2395
2396                                AC_CHECK_LIB(sec, acl_totext,
2397                                   [
2398                                       have_extended_acl=yes
2399                                   ]
2400                                )
2401                            ]
2402                         )
2403                     ]
2404                  )
2405              ]
2406           )
2407       ]
2408    )
2409
2410    if test x$support_acl = xyes -a $have_acl != yes; then
2411       AC_MSG_ERROR([acl support explicitly enabled but no supported acl implementation found, 
2412   please either load the acl libraries or rerun configure without --enable-acl])
2413    else
2414       if test $have_acl = yes; then
2415          AC_DEFINE([HAVE_ACL],1,[Normal acl support])
2416       fi
2417
2418       if test $have_extended_acl = yes; then
2419          AC_DEFINE([HAVE_EXTENDED_ACL],1,[Extended acl support])
2420       fi
2421    fi
2422 fi
2423
2424 dnl
2425 dnl Check for XATTR support
2426 dnl
2427 support_xattr=auto
2428 AC_ARG_ENABLE(xattr,
2429    AC_HELP_STRING([--disable-xattr], [disable xattr support @<:@default=auto@:>@]),
2430    [
2431        if test x$enableval = xyes; then
2432           support_xattr=yes
2433        elif test x$enableval = xno; then
2434           support_xattr=no
2435        fi
2436    ]
2437 )
2438
2439 have_xattr=no
2440 if test x$support_xattr = xyes -o x$support_xattr = xauto; then
2441    dnl
2442    dnl First check for *BSD support
2443    dnl
2444    AC_CHECK_HEADER(sys/extattr.h, [ AC_DEFINE(HAVE_SYS_EXTATTR_H,1,[Defines if your system have the sys/extattr.h header file])] , )
2445    AC_CHECK_HEADER(libutil.h, [ AC_DEFINE(HAVE_LIBUTIL_H,1,[Defines if your system have the libutil.h header file])] , )
2446    AC_CHECK_FUNCS(extattr_get_link extattr_set_link extattr_list_link,
2447       [
2448           have_xattr=yes
2449           AC_DEFINE([HAVE_EXTATTR_GET_LINK],1,[Define to 1 if you have the 'extattr_get_link' function.])
2450           AC_DEFINE([HAVE_EXTATTR_SET_LINK],1,[Define to 1 if you have the 'extattr_set_link' function.])
2451           AC_DEFINE([HAVE_EXTATTR_LIST_LINK],1,[Define to 1 if you have the 'extattr_list_link' function.])
2452       ]
2453    )
2454    
2455    if test $have_xattr = no; then
2456       AC_CHECK_FUNCS(extattr_get_file extattr_set_file extattr_list_file,
2457          [
2458              have_xattr=yes
2459              AC_DEFINE([HAVE_EXTATTR_GET_FILE],1,[Define to 1 if you have the 'extattr_get_file' function.])
2460              AC_DEFINE([HAVE_EXTATTR_SET_FILE],1,[Define to 1 if you have the 'extattr_set_file' function.])
2461              AC_DEFINE([HAVE_EXTATTR_LIST_FILE],1,[Define to 1 if you have the 'extattr_list_file' function.])
2462          ]
2463       )
2464    fi
2465    
2466    if test $have_xattr = yes; then
2467       have_extattr_string_in_libc=no
2468       AC_CHECK_FUNCS(extattr_namespace_to_string extattr_string_to_namespace,
2469          [
2470              have_extattr_string_in_libc=yes
2471              AC_DEFINE([HAVE_EXTATTR_NAMESPACE_TO_STRING],1,[Define to 1 if you have the 'extattr_namespace_to_string' function.])
2472              AC_DEFINE([HAVE_EXTATTR_STRING_TO_NAMESPACE],1,[Define to 1 if you have the 'extattr_string_to_namespace' function.])
2473          ]
2474       )
2475
2476       dnl
2477       dnl If extattr_namespace_to_string and extattr_string_to_namespace are not in libc see if they are in libutil
2478       dnl
2479       if test $have_extattr_string_in_libc = no; then
2480          AC_CHECK_LIB(util, extattr_namespace_to_string extattr_string_to_namespace,
2481             [
2482                 AC_DEFINE([HAVE_EXTATTR_NAMESPACE_TO_STRING],1,[Define to 1 if you have the 'extattr_namespace_to_string' function.])
2483                 AC_DEFINE([HAVE_EXTATTR_STRING_TO_NAMESPACE],1,[Define to 1 if you have the 'extattr_string_to_namespace' function.])
2484                 FDLIBS="-lutil $FDLIBS"
2485             ]
2486          )
2487       fi
2488    fi
2489
2490    dnl
2491    dnl If we failed to find *BSD support try the Linux or OSX implementation of xattr
2492    dnl
2493    if test $have_xattr = no; then
2494       AC_CHECK_HEADER(sys/xattr.h, [ AC_DEFINE(HAVE_SYS_XATTR_H,1,[Defines if your system have the sys/xattr.h header file])] , )
2495       AC_CHECK_FUNCS(llistxattr lgetxattr lsetxattr,
2496          [
2497              have_xattr=yes
2498              AC_DEFINE([HAVE_LLISTXATTR],1,[Define to 1 if you have the 'llistxattr' function.])
2499              AC_DEFINE([HAVE_LGETXATTR],1,[Define to 1 if you have the 'lgetxattr' function.])
2500              AC_DEFINE([HAVE_LSETXATTR],1,[Define to 1 if you have the 'lsetxattr' function.])
2501          ]
2502       )
2503
2504       if test $have_xattr = no; then
2505          AC_CHECK_FUNCS(listxattr getxattr setxattr,
2506             [
2507                 have_xattr=yes
2508                 AC_DEFINE([HAVE_LISTXATTR],1,[Define to 1 if you have the 'listxattr' function.])
2509                 AC_DEFINE([HAVE_GETXATTR],1,[Define to 1 if you have the 'getxattr' function.])
2510                 AC_DEFINE([HAVE_SETXATTR],1,[Define to 1 if you have the 'setxattr' function.])
2511             ]
2512          )
2513       fi
2514    fi
2515
2516    dnl
2517    dnl If we failed to find *BSD support and the Linux or OSX implementation of xattr try the Solaris xattr implementation
2518    dnl
2519    if test $have_xattr = no; then
2520       AC_CHECK_HEADER(sys/attr.h, [ AC_DEFINE(HAVE_SYS_ATTR_H,1,[Defines if your system have the sys/attr.h header file])] , )
2521       AC_CHECK_HEADER(sys/nvpair.h, [ AC_DEFINE(HAVE_SYS_NVPAIR_H,1,[Defines if your system have the sys/nvpair.h header file])] , )
2522       AC_CHECK_HEADER(attr.h, [ AC_DEFINE(HAVE_ATTR_H,1,[Defines if your system have the attr.h header file])] , )
2523
2524       AC_CHECK_FUNCS(openat fstatat unlinkat fchownat futimesat,
2525          [
2526              have_xattr=yes
2527              AC_DEFINE([HAVE_OPENAT],1,[Define to 1 if you have the 'openat' function.])
2528              AC_DEFINE([HAVE_FSTATAT],1,[Define to 1 if you have the 'fstatat' function.])
2529              AC_DEFINE([HAVE_UNLINKAT],1,[Define to 1 if you have the 'unlinkat' function.])
2530              AC_DEFINE([HAVE_FCHOWNAT],1,[Define to 1 if you have the 'fchownat' function.])
2531              AC_DEFINE([HAVE_FUTIMESAT],1,[Define to 1 if you have the 'futimesat' function.])
2532          ]
2533       )
2534
2535       if test $have_xattr = yes; then
2536          AC_CHECK_LIB(nvpair, nvlist_next_nvpair,
2537             [
2538                 AC_DEFINE([HAVE_NVLIST_NEXT_NVPAIR],1,[Define to 1 if you have the 'nvlist_next_nvpair' function.])
2539                 FDLIBS="-lnvpair $FDLIBS"
2540             ]
2541          )
2542       fi
2543    fi
2544
2545    if test x$support_xattr = xyes -a $have_xattr != yes; then
2546       AC_MSG_ERROR([xattr support explicitly enabled but no supported xattr implementation found, 
2547   please either load the xattr libraries or rerun configure without --enable-xattr])
2548    else
2549       if test $have_xattr = yes; then
2550          AC_DEFINE([HAVE_XATTR],1,[Extended Attributes support])
2551       fi
2552    fi
2553 fi
2554
2555 dnl
2556 dnl Check for pthread libraries
2557 dnl
2558 PTHREAD_LIB=""
2559 AC_CHECK_LIB(pthread, pthread_create, PTHREAD_LIB="-lpthread",
2560    [
2561        AC_CHECK_LIB(pthreads, pthread_create, PTHREAD_LIB="-lpthreads",
2562           [
2563               AC_CHECK_LIB(c_r, pthread_create, PTHREAD_LIB="-lc_r",
2564                  [
2565                      AC_CHECK_FUNC(pthread_create)
2566                  ]
2567               )
2568           ]
2569        )
2570    ]
2571 )
2572
2573 dnl
2574 dnl Check for headers, functions and libraries required to support
2575 dnl keeping readall capabilities
2576 dnl
2577 AC_CHECK_HEADERS(sys/prctl.h sys/capability.h)
2578 AC_CHECK_FUNCS(prctl setreuid)
2579 AC_CHECK_LIB([cap], [cap_set_proc], [CAP_LIBS="-lcap"], [CAP_LIBS=])
2580 if test x$CAP_LIBS = x-lcap; then
2581    AC_DEFINE(HAVE_LIBCAP, 1, [Define if you have libcap])
2582 fi
2583 AC_SUBST(CAP_LIBS)
2584
2585 AC_SUBST(FDLIBS)
2586 AC_DEFINE(FDLIBS)
2587
2588 CFLAGS=${CFLAGS--O}
2589
2590 if test x$have_gcc = xyes ; then
2591    CPPFLAGS="$CPPFLAGS -fno-strict-aliasing -fno-exceptions -fno-rtti"
2592    CFLAGS="$CFLAGS -fno-strict-aliasing -fno-exceptions -fno-rtti"
2593 fi
2594 LDFLAGS=${LDFLAGS--O}
2595 DB_LIBS="${SQL_LFLAGS}"
2596 CPPFLAGS="$CPPFLAGS"
2597 CFLAGS="$CFLAGS"
2598 AC_SUBST(DEBUG)
2599 AC_SUBST(DINCLUDE)
2600 AC_SUBST(CFLAGS)
2601 AC_SUBST(CPPFLAGS)
2602 AC_SUBST(LDFLAGS)
2603 AC_SUBST(X_CFLAGS)
2604 AC_SUBST(DEFS)
2605 AC_SUBST(LIBS)
2606 AC_SUBST(DLIB)
2607 AC_SUBST(DB_LIBS)
2608 AC_SUBST(X_LIBS)
2609 AC_SUBST(X_EXTRA_LIBS)
2610 AC_SUBST(WCFLAGS)
2611 AC_SUBST(WLDFLAGS)
2612 AC_SUBST(WRAPLIBS)
2613
2614 dnl extra configurable objects
2615 OBJLIST=
2616 AC_SUBST(OBJLIST)
2617
2618 lld="lld"
2619 llu="llu"
2620
2621 WCFLAGS=
2622 WLDFLAGS=
2623
2624 dnl
2625 dnl Finally we set appropriate distribution specific
2626 dnl  variables and defaults
2627 dnl
2628 dnl PFILES are platform specific files
2629 PFILES="platforms/Makefile"
2630 PSCMD="ps -e"
2631 WIN32=
2632 MACOSX=
2633
2634 hostname=`uname -n | cut -d '.' -f 1`
2635 if test x${hostname} = x ; then
2636    hostname="localhost"
2637 fi
2638 dnl Make sure hostname is resolved
2639 ping -c 1 $hostname 2>/dev/null 1>/dev/null
2640 if test ! $? = 0; then
2641   hostname="localhost"
2642 fi
2643
2644 case "$DISTNAME" in
2645 aix)
2646    DISTVER=`uname -r`
2647    PSCMD="ps -e -o pid,comm"
2648    PFILES="${PFILES} \
2649       platforms/aix/Makefile"
2650    TAPEDRIVE="/dev/rmt0.1" 
2651   ;;     
2652 alpha)
2653    DISTVER=`uname -r`
2654    PTHREAD_LIB="-lpthread -lexc"
2655    if test "${CC}" = "gcc" ; then
2656       lld="lld"
2657       llu="llu"
2658    else
2659       lld="ld"
2660       llu="lu"
2661    fi
2662    TAPEDRIVE="/dev/nrmt0"
2663   ;;
2664 bsdi)
2665    DISTVER=`uname -a |awk '{print $3}'`
2666    TAPEDRIVE="/dev/nrmt0"
2667    PTHREAD_LIB="-pthread"
2668    CFLAGS="${CFLAGS} -pthread"
2669    PSCMD="ps -ax -o pid,command"
2670    lld="qd"
2671    llu="qu"
2672    PFILES="${PFILES} \
2673        platforms/bsdi/Makefile \
2674        platforms/bsdi/bacula-fd \
2675        platforms/bsdi/bacula-sd \
2676        platforms/bsdi/bacula-dir"
2677    largefile_support="yes"
2678   ;;
2679 cygwin)
2680    DISTVER=`uname -a |awk '{print $3}'`
2681    TAPEDRIVE="/dev/nrst0"
2682    WIN32=win32
2683    WCFLAGS="-mwindows"
2684    WLDFLAGS="-mwindows"
2685   ;;
2686 darwin)
2687    DISTVER=`uname -r`
2688    TAPEDRIVE="/dev/nst0"
2689    PSCMD="ps -e -o pid,command"
2690    MACOSX=macosx
2691    PFILES="${PFILES} \
2692       platforms/darwin/Makefile"
2693   ;;
2694 osx)
2695    DISTVER=`uname -r`
2696    TAPEDRIVE="/dev/nst0"
2697    PSCMD="ps -e -o pid,command"
2698    MACOSX=macosx
2699    PFILES="${PFILES} \
2700       platforms/osx/Makefile"
2701   ;;
2702 debian)
2703    if `test -f /etc/apt/sources.list && grep -q ubuntu /etc/apt/sources.list`; then
2704       DISTNAME="ubuntu"
2705    fi
2706    DISTVER=`cat /etc/debian_version`
2707    if test -f /etc/lsb-release ; then
2708       . /etc/lsb-release
2709       if test "x$DISTRIB_ID" != "x" ; then
2710          DISTNAME=$DISTRIB_ID
2711       fi
2712       if test "x$DISTRIB_RELEASE" != "x" ; then
2713          DISTVER=$DISTRIB_RELEASE
2714       fi
2715    fi
2716    if test "$DISTNAME" = "Ubuntu" ; then
2717       DISTNAME="ubuntu"
2718    fi
2719    TAPEDRIVE="/dev/nst0"
2720    PSCMD="ps -e -o pid,command"
2721    if test "$DISTNAME" = "ubuntu" ; then
2722       PFILES="${PFILES} \
2723          platforms/ubuntu/Makefile \
2724          platforms/ubuntu/bacula-fd \
2725          platforms/ubuntu/bacula-sd \
2726          platforms/ubuntu/bacula-dir"
2727    else 
2728       PFILES="${PFILES} \
2729          platforms/debian/Makefile \
2730          platforms/debian/bacula-fd \
2731          platforms/debian/bacula-sd \
2732          platforms/debian/bacula-dir"
2733    fi
2734   ;;
2735 freebsd)
2736    DISTVER=`uname -a |awk '{print $3}'`
2737    VER=`echo $DISTVER | cut -c 1`
2738    if test x$VER = x4 ; then
2739       PTHREAD_LIB="${PTHREAD_LIBS:--pthread}"
2740       CFLAGS="${CFLAGS} ${PTHREAD_CFLAGS:--pthread}"
2741    fi
2742    lld="qd"
2743    llu="qu"
2744    TAPEDRIVE="/dev/nrsa0"
2745    PSCMD="ps -ax -o pid,command"
2746    PFILES="${PFILES} \
2747        platforms/freebsd/Makefile \
2748        platforms/freebsd/bacula-fd \
2749        platforms/freebsd/bacula-sd \
2750        platforms/freebsd/bacula-dir"
2751    largefile_support="yes"
2752   ;;
2753 hpux)
2754    PSCMD="UNIX95=1; ps -e -o pid,comm"
2755    CFLAGS="${CFLAGS} -D_XOPEN_SOURCE_EXTENDED=1"
2756    DISTVER=`uname -r`
2757    TAPEDRIVE="/dev/rmt/0hnb"
2758    PTHREAD_LIB="-lpthread"
2759    AC_DEFINE([_INCLUDE_LONGLONG])
2760   ;;
2761 irix)
2762    DISTVER=`uname -r`
2763    TAPEDRIVE="/dev/rmt/0cbn"
2764    PSCMD="ps -e -o pid,comm"
2765    PFILES="${PFILES} \
2766        platforms/irix/Makefile \
2767        platforms/irix/bacula-fd \
2768        platforms/irix/bacula-sd \
2769        platforms/irix/bacula-dir"
2770   ;;
2771 netbsd)
2772    DISTVER=`uname -a |awk '{print $3}'`
2773    lld="qd"
2774    llu="qu"
2775    TAPEDRIVE="/dev/nrst0"
2776    PSCMD="ps -ax -o pid,command"
2777    PTHREAD_LIB="-pthread"
2778    CFLAGS="${CFLAGS} -pthread"
2779   ;;
2780 openbsd)
2781    DISTVER=`uname -a |awk '{print $3}'`
2782    lld="qd"
2783    llu="qu"
2784    TAPEDRIVE="/dev/nrst0"
2785    PSCMD="ps -ax -o pid,command"
2786    PTHREAD_LIB="-pthread"
2787    CFLAGS="${CFLAGS} -pthread"
2788    PFILES="${PFILES} \
2789        platforms/openbsd/Makefile \
2790        platforms/openbsd/bacula-fd \
2791        platforms/openbsd/bacula-sd \
2792        platforms/openbsd/bacula-dir"
2793   ;;
2794 redhat)
2795    if test -f /etc/whitebox-release ; then
2796       f=/etc/whitebox-release
2797    else
2798       f=/etc/redhat-release
2799    fi
2800    if test `cat $f | grep release |\
2801          cut -f 3 -d ' '`x = "Enterprise"x ; then
2802       DISTVER="Enterprise "`cat $f | grep release |\
2803           cut -f 6 -d ' '`
2804    else
2805        DISTVER=`cat /etc/redhat-release | grep release |\
2806            cut -f 5 -d ' '`
2807    fi
2808    TAPEDRIVE="/dev/nst0"
2809    PSCMD="ps -e -o pid,command"
2810    PFILES="${PFILES} \
2811        platforms/redhat/Makefile \
2812        platforms/redhat/bacula-fd \
2813        platforms/redhat/bacula-sd \
2814        platforms/redhat/bacula-dir
2815        "
2816   ;;
2817 mandrake)
2818    DISTVER=`cat /etc/mandrake-release | grep release |\
2819       cut -f 5 -d ' '`
2820    TAPEDRIVE="/dev/nst0"
2821    PSCMD="ps -e -o pid,command"
2822    PFILES="${PFILES} \
2823        platforms/mandrake/Makefile \
2824        platforms/mandrake/bacula-fd \
2825        platforms/mandrake/bacula-sd \
2826        platforms/mandrake/bacula-dir \
2827        platforms/mandrake/bacula.spec \
2828        "
2829   ;;
2830 gentoo)
2831    DISTVER=`awk '/version / {print $5}' < /etc/gentoo-release`
2832    TAPEDRIVE="/dev/nst0"
2833    PSCMD="ps -e -o pid,command"
2834    PFILES="${PFILES} \
2835        platforms/gentoo/Makefile \
2836     platforms/gentoo/bacula-init \
2837        platforms/gentoo/bacula-fd \
2838        platforms/gentoo/bacula-sd \
2839        platforms/gentoo/bacula-dir"
2840   ;;
2841 slackware)
2842    DISTVER=`cat /etc/slackware-version`
2843    TAPEDRIVE="/dev/nst0"
2844    PSCMD="ps -e -o pid,command"
2845    PFILES="${PFILES} \
2846        platforms/slackware/Makefile \
2847        platforms/slackware/rc.bacula-fd \
2848        platforms/slackware/rc.bacula-sd \
2849        platforms/slackware/rc.bacula-dir\
2850        platforms/slackware/functions.bacula"
2851   ;;
2852 solaris)
2853    DISTVER=`uname -r`
2854    TAPEDRIVE="/dev/rmt/0cbn"
2855    PSCMD="ps -e -o pid,comm"
2856    PFILES="${PFILES} \
2857        platforms/solaris/Makefile \
2858        platforms/solaris/bacula-fd \
2859        platforms/solaris/bacula-sd \
2860        platforms/solaris/bacula-dir"
2861    if test x$DISTVER = x5.6 ; then
2862        AC_DEFINE(HAVE_OLD_SOCKOPT)
2863    fi
2864    LIBS="$LIBS -lresolv"
2865   ;;
2866 suse)
2867    DISTVER=`cat /etc/SuSE-release |grep VERSION|\
2868        cut -f 3 -d ' '`
2869    TAPEDRIVE="/dev/nst0"
2870    PSCMD="ps -e -o pid,command"
2871    PFILES="${PFILES} \
2872        platforms/suse/Makefile \
2873        platforms/suse/bacula-fd \
2874        platforms/suse/bacula-sd \
2875        platforms/suse/bacula-dir \
2876        platforms/suse/bacula \
2877        platforms/suse/bacula.spec"
2878   ;;
2879 suse5)
2880    DISTNAME=suse
2881    DISTVER=5.x
2882    TAPEDRIVE="/dev/nst0"
2883    PSCMD="ps -e -o pid,command"
2884    PFILES="${PFILES} \
2885        platforms/suse/Makefile \
2886        platforms/suse/bacula-fd \
2887        platforms/suse/bacula-sd \
2888        platforms/suse/bacula-dir"
2889   ;;
2890 unknown)
2891    DISTVER=unknown
2892    TAPEDRIVE="/dev/nst0"
2893   ;;
2894 *)
2895   echo " === Something went wrong. Unknown DISTNAME $DISTNAME ==="
2896   ;;
2897 esac  
2898
2899 AC_SUBST(hostname)
2900
2901 LIBS="$PTHREAD_LIB $LIBS"
2902
2903 AC_DEFINE_UNQUOTED(lld, "$lld")
2904 AC_DEFINE_UNQUOTED(llu, "$llu")
2905 AC_SUBST(TAPEDRIVE)
2906 AC_SUBST(PSCMD)
2907 AC_SUBST(WIN32)
2908 AC_SUBST(MACOSX)
2909 AC_SUBST(DISTNAME)
2910 AC_SUBST(DISTVER)
2911
2912 dnl common parts of the Makefile
2913 MCOMMON=./autoconf/Make.common
2914 AC_SUBST_FILE(MCOMMON)
2915
2916 dnl Insanity check
2917 if test "x${subsysdir}" = "x${sbindir}" ; then
2918    echo " "
2919    echo " "
2920    echo "You have set both --sbindir and --with-subsys-dir"
2921    echo "  equal to: ${subsysdir} "
2922    echo "This is not permitted. Please reconfigure."
2923    echo " "
2924    echo "Aborting configuration ..."
2925    echo " "
2926    echo " "
2927    exit 1
2928 fi 
2929
2930 AC_OUTPUT([autoconf/Make.common \
2931            Makefile \
2932            manpages/Makefile \
2933            scripts/startmysql \
2934            scripts/stopmysql \
2935            scripts/btraceback \
2936            scripts/startit \
2937            scripts/stopit \
2938            scripts/bconsole \
2939            scripts/gconsole \
2940            scripts/bacula \
2941            scripts/bacula-ctl-dir \
2942            scripts/bacula-ctl-fd \
2943            scripts/bacula-ctl-sd \
2944            scripts/devel_bacula \
2945            scripts/Makefile \
2946            scripts/logrotate \
2947            scripts/bacula.desktop.gnome1 \
2948            scripts/bacula.desktop.gnome2 \
2949            scripts/bacula.desktop.gnome1.consolehelper \
2950            scripts/bacula.desktop.gnome2.consolehelper \
2951            scripts/bacula.desktop.gnome1.xsu \
2952            scripts/bacula.desktop.gnome2.xsu \
2953            scripts/bgnome-console.console_apps \
2954            scripts/mtx-changer \
2955            scripts/disk-changer \
2956            scripts/dvd-handler \
2957            scripts/dvd-simulator \
2958            scripts/bacula-tray-monitor.desktop \
2959            scripts/logwatch/Makefile \
2960            scripts/logwatch/logfile.bacula.conf \
2961            scripts/wxconsole.console_apps \
2962            scripts/wxconsole.desktop.consolehelper \
2963            scripts/wxconsole.desktop.xsu \
2964            scripts/bat.desktop \
2965            scripts/bat.desktop.xsu \
2966            scripts/bat.desktop.consolehelper \
2967            scripts/bat.console_apps \
2968            src/Makefile \
2969            src/host.h \
2970            src/console/Makefile \
2971            src/console/bconsole.conf \
2972            src/qt-console/bat.conf \
2973            src/qt-console/bat.pro \
2974            src/qt-console/bat.pro.mingw32 \
2975            src/qt-console/install_conf_file \
2976            src/wx-console/Makefile \
2977            src/wx-console/bwx-console.conf \
2978            src/tray-monitor/Makefile \
2979            src/tray-monitor/tray-monitor.conf \
2980            src/dird/Makefile \
2981            src/dird/bacula-dir.conf \
2982            src/lib/Makefile \
2983            src/stored/Makefile \
2984            src/stored/bacula-sd.conf \
2985            src/filed/Makefile \
2986            src/filed/bacula-fd.conf \
2987            src/cats/Makefile \
2988            src/cats/make_catalog_backup \
2989            src/cats/delete_catalog_backup \
2990            src/cats/create_postgresql_database \
2991            src/cats/update_postgresql_tables \
2992            src/cats/make_postgresql_tables \
2993            src/cats/grant_postgresql_privileges \
2994            src/cats/drop_postgresql_tables \
2995            src/cats/drop_postgresql_database \
2996            src/cats/create_mysql_database \
2997            src/cats/update_mysql_tables \
2998            src/cats/make_mysql_tables \
2999            src/cats/grant_mysql_privileges \
3000            src/cats/drop_mysql_tables \
3001            src/cats/drop_mysql_database \
3002            src/cats/create_sqlite3_database \
3003            src/cats/update_sqlite3_tables \
3004            src/cats/make_sqlite3_tables \
3005            src/cats/grant_sqlite3_privileges \
3006            src/cats/drop_sqlite3_tables \
3007            src/cats/drop_sqlite3_database \
3008            src/cats/sqlite \
3009            src/cats/mysql \
3010            src/cats/create_bdb_database \
3011            src/cats/update_bdb_tables \
3012            src/cats/make_bdb_tables \
3013            src/cats/grant_bdb_privileges \
3014            src/cats/drop_bdb_tables \
3015            src/cats/drop_bdb_database \
3016            src/cats/create_bacula_database \
3017            src/cats/update_bacula_tables \
3018            src/cats/grant_bacula_privileges \
3019            src/cats/make_bacula_tables \
3020            src/cats/drop_bacula_tables \
3021            src/cats/drop_bacula_database \
3022            src/findlib/Makefile \
3023            src/tools/Makefile \
3024            src/plugins/fd/Makefile \
3025            src/plugins/sd/Makefile \
3026            src/plugins/dir/Makefile \
3027            src/win32/Makefile.inc \
3028            po/Makefile.in \
3029            updatedb/update_mysql_tables_9_to_10 \
3030            updatedb/update_sqlite3_tables_9_to_10 \
3031            updatedb/update_postgresql_tables_9_to_10 \
3032            updatedb/update_mysql_tables_10_to_11 \
3033            updatedb/update_sqlite3_tables_10_to_11 \
3034            updatedb/update_postgresql_tables_10_to_11 \
3035            examples/nagios/check_bacula/Makefile \
3036            $PFILES ],  
3037      [ ]
3038 )
3039
3040 if test "${support_bat}" = "yes" ; then
3041    if test "x$QMAKE" = "xnone" && test "x$QMAKEQT4" = "xnone"; then
3042       AC_MSG_ERROR([Could not find qmake or qmake-qt4 in $PATH. Check your Qt installation])
3043    fi
3044
3045    QMAKEBIN="qmake"
3046
3047    if test "x$QMAKEQT4" != "xnone"; then
3048        QMAKEBIN=qmake-qt4
3049    fi
3050   
3051    cd src/qt-console
3052    echo "Creating bat Makefile"
3053    touch bat
3054    chmod 755 bat
3055    $QMAKEBIN
3056    ${MAKE:-make} clean
3057    cd ${BUILD_DIR}
3058 fi
3059
3060 dnl
3061 dnl if CC is gcc, we can rebuild the dependencies (since the depend rule
3062 dnl requires gcc).  If it's not, don't rebuild dependencies
3063 dnl
3064 if test X"$GCC" = "Xyes" ; then
3065   echo "Doing make of dependencies"
3066   ${MAKE:-make} depend
3067 fi
3068
3069 cd src/qt-console
3070 chmod 755 install_conf_file build-depkgs-qt-console
3071 cd ${BUILD_DIR}
3072
3073 cd scripts
3074 chmod 755 startmysql stopmysql bacula startit stopit btraceback mtx-changer
3075 chmod 755 dvd-handler dvd-simulator breload make_catalog_backup.pl
3076 chmod 755 bconsole gconsole mtx-changer devel_bacula logrotate
3077 cd ..
3078
3079 c=updatedb
3080 chmod 755 $c/update_mysql_tables_10_to_11   $c/update_sqlite3_tables_10_to_11
3081 chmod 755 $c/update_postgresql_tables_10_to_11
3082
3083 c=src/cats
3084
3085 chmod 755 $c/create_bacula_database   $c/update_bacula_tables  $c/make_bacula_tables
3086 chmod 755 $c/grant_bacula_privileges  $c/drop_bacula_tables    $c/drop_bacula_database
3087
3088 chmod 755 $c/create_bdb_database      $c/update_bdb_tables     $c/make_bdb_tables
3089 chmod 755 $c/grant_bdb_privileges     $c/drop_bdb_tables       $c/drop_bdb_database
3090
3091 chmod 755 $c/create_mysql_database    $c/update_mysql_tables   $c/make_mysql_tables
3092 chmod 755 $c/grant_mysql_privileges   $c/drop_mysql_tables     $c/drop_mysql_database
3093
3094 chmod 755 $c/create_sqlite3_database   $c/update_sqlite3_tables  $c/make_sqlite3_tables
3095 chmod 755 $c/grant_sqlite3_privileges  $c/drop_sqlite3_tables    $c/drop_sqlite3_database
3096
3097 chmod 755 $c/create_postgresql_database  $c/update_postgresql_tables $c/make_postgresql_tables
3098 chmod 755 $c/grant_postgresql_privileges $c/drop_postgresql_tables   $c/drop_postgresql_database
3099
3100 chmod 755 $c/make_catalog_backup $c/delete_catalog_backup
3101 chmod 755 $c/sqlite
3102 chmod 755 $c/mysql
3103
3104 chmod 755 src/win32/build-depkgs-mingw32
3105
3106 if test "x$ac_cv_sys_largefile_CFLAGS" != "xno" ; then
3107    largefile_support="yes"
3108 fi
3109
3110 dnl Only try to find out the version number of the compiler when we know its some kind of GCC compiler
3111 if test X"$GCC" = "Xyes" ; then
3112    dnl
3113    dnl A whole lot of hand springs to get the compiler version.
3114    dnl  This is because gcc changed the output in version 3.0
3115    dnl
3116    CCVERSION=`${CC} --version | tr '\n' ' ' | cut -f 3 -d ' '`
3117    if test "x${CCVERSION}" = "x" ; then
3118       CCVERSION=`${CC} --version | tr '\n' ' ' | cut -f 1 -d ' '`
3119    fi
3120    CXXVERSION=`${CXX} --version | tr '\n' ' ' | cut -f 3 -d ' '`
3121    if test x"${CXXVERSION}" = x ; then
3122       CXXVERSION=`${CXX} --version | tr '\n' ' ' | cut -f 1 -d ' '`
3123    fi
3124 fi
3125
3126 # clean up any old junk
3127 echo " "
3128 echo "Cleaning up"
3129 echo " "
3130 ${MAKE:-make} clean
3131
3132 if test "x${db_type}" = "xInternal" ; then
3133    echo " "
3134    echo " "
3135    echo "You have not specified either --enable-client-only or one of the"
3136    echo "  supported databases: MySQL, PostgreSQL, SQLite3, SQLite or DBI."
3137    echo "  This is not permitted. Please reconfigure."
3138    echo " "
3139    echo "Aborting the configuration ..."
3140    echo " "
3141    echo " "
3142    exit 1
3143 fi
3144
3145 echo "
3146 Configuration on `date`:
3147
3148    Host:                    ${host}${post_host} -- ${DISTNAME} ${DISTVER}
3149    Bacula version:          ${BACULA} ${VERSION} (${DATE})
3150    Source code location:    ${srcdir}
3151    Install binaries:        ${sbindir}
3152    Install libraries:       ${libdir}
3153    Install config files:    ${sysconfdir}
3154    Scripts directory:       ${scriptdir}
3155    Archive directory:       ${archivedir}
3156    Working directory:       ${working_dir}
3157    PID directory:           ${piddir}
3158    Subsys directory:        ${subsysdir}
3159    Man directory:           ${mandir}
3160    Data directory:          ${datarootdir}
3161    Plugin directory:        ${plugindir}
3162    C Compiler:              ${CC} ${CCVERSION}
3163    C++ Compiler:            ${CXX} ${CXXVERSION}
3164    Compiler flags:          ${WCFLAGS} ${CFLAGS} 
3165    Linker flags:            ${WLDFLAGS} ${LDFLAGS}
3166    Libraries:               ${LIBS}
3167    Statically Linked Tools: ${support_static_tools}
3168    Statically Linked FD:    ${support_static_fd}
3169    Statically Linked SD:    ${support_static_sd}
3170    Statically Linked DIR:   ${support_static_dir}
3171    Statically Linked CONS:  ${support_static_cons}
3172    Database type:           ${db_type}
3173    Database port:           ${db_port}
3174    Database lib:            ${DB_LIBS}
3175    Database name:           ${db_name}
3176    Database user:           ${db_user}
3177  
3178    Job Output Email:        ${job_email}
3179    Traceback Email:         ${dump_email}
3180    SMTP Host Address:       ${smtp_host}
3181  
3182    Director Port:           ${dir_port}
3183    File daemon Port:        ${fd_port}
3184    Storage daemon Port:     ${sd_port}
3185  
3186    Director User:           ${dir_user}
3187    Director Group:          ${dir_group}
3188    Storage Daemon User:     ${sd_user}
3189    Storage DaemonGroup:     ${sd_group}
3190    File Daemon User:        ${fd_user}
3191    File Daemon Group:       ${fd_group}
3192  
3193    SQL binaries Directory   ${SQL_BINDIR}
3194  
3195    Large file support:      $largefile_support
3196    Bacula conio support:    ${got_conio} ${CONS_LIBS}
3197    readline support:        ${got_readline} ${PRTREADLINE_SRC}
3198    TCP Wrappers support:    ${TCPW_MSG} ${WRAPLIBS}
3199    TLS support:             ${support_tls}
3200    Encryption support:      ${support_crypto} 
3201    ZLIB support:            ${have_zlib}
3202    enable-smartalloc:       ${support_smartalloc} 
3203    enable-lockmgr:          ${support_lockmgr}
3204    bat support:             ${support_bat} ${QWT_LDFLAGS}
3205    enable-gnome:            ${support_gnome} ${gnome_version}
3206    enable-bwx-console:      ${support_wx_console} ${wx_version}
3207    enable-tray-monitor:     ${support_tray_monitor}
3208    client-only:             ${build_client_only}
3209    build-dird:              ${build_dird}
3210    build-stored:            ${build_stored}
3211    ACL support:             ${have_acl}
3212    XATTR support:           ${have_xattr}
3213    Python support:          ${support_python} ${PYTHON_LIBS}
3214    Batch insert enabled:    ${support_batch_insert}
3215
3216   " > config.out
3217
3218 # create a small shell script useful for support with
3219 # configure options and config.out info
3220 cat > scripts/bacula_config << EOF
3221 #!/bin/sh
3222 cat << __EOC__
3223 $ $0 $ac_configure_args
3224 EOF
3225 cat config.out >> scripts/bacula_config
3226 echo __EOC__ >> scripts/bacula_config
3227 chmod 755 scripts/bacula_config
3228
3229 cat config.out
3230
3231 # Display a warning message if postgresql client lib is <= 8.1
3232 if test x$DB_TYPE = xpostgresql -a x$ac_cv_lib_pq_PQisthreadsafe != xyes \
3233         -a x$support_batch_insert = xyes
3234 then
3235         echo "WARNING: Your PostgreSQL client library is too old to detect "
3236         echo " if it was compiled with --enable-thread-safety, consider to"
3237         echo " upgrade it in order to avoid problems with Batch insert mode"
3238         echo
3239 fi