]> git.sur5r.net Git - bacula/bacula/blob - bacula/autoconf/configure.in
Cleanup configure.in to use AC_CHECK_LIB instead of grep
[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_PQisthreadsafe" != "xyes" -o "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_PQisthreadsafe" != "xyes" -o "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)
1874
1875 dnl --------------------------------------------------------------------------
1876 dnl Check for typeof()
1877 dnl --------------------------------------------------------------------------
1878 AC_LANG_PUSH(C++)
1879 AC_CACHE_CHECK(for typeof, ba_cv_have_typeof,
1880    [
1881        AC_TRY_RUN(
1882           [
1883               main(){char *a = 0; a = (typeof a)a;}
1884           ], [
1885               ba_cv_have_typeof=yes
1886           ], [
1887               ba_cv_have_typeof=no
1888           ], [
1889               ba_cv_have_typeof=no
1890           ]
1891        )
1892    ]
1893 )
1894 test $ba_cv_have_typeof = yes && AC_DEFINE([HAVE_TYPEOF], 1, [Defind to 1 if compiler has typeof])
1895 AC_LANG_POP(C++)
1896
1897 AC_C_CONST
1898
1899 dnl --------------------------------------------------------------------------
1900 dnl CHECKING FOR FILESYSTEM TYPE
1901 dnl --------------------------------------------------------------------------
1902 AC_MSG_CHECKING(how to get filesystem type)
1903 fstype=no
1904 # The order of these tests is important.
1905 AC_TRY_CPP(
1906    [
1907        #include <sys/statvfs.h>
1908        #include <sys/fstyp.h>
1909    ],
1910    AC_DEFINE(FSTYPE_STATVFS) fstype=SVR4
1911 )
1912 if test $fstype = no; then
1913    AC_TRY_CPP(
1914       [
1915           #include <sys/statfs.h>
1916           #include <sys/fstyp.h>
1917       ],
1918       AC_DEFINE(FSTYPE_USG_STATFS) fstype=SVR3
1919    )
1920 fi
1921 if test $fstype = no; then
1922    AC_TRY_CPP(
1923       [
1924           #include <sys/statfs.h>
1925           #include <sys/vmount.h>
1926       ],
1927       AC_DEFINE(FSTYPE_AIX_STATFS) fstype=AIX
1928    )
1929 fi
1930 if test $fstype = no; then  
1931    AC_TRY_CPP(
1932       [
1933           #include <mntent.h>
1934       ],
1935       AC_DEFINE(FSTYPE_MNTENT) fstype=4.3BSD
1936    )
1937 fi
1938 if test $fstype = no; then  
1939    AC_EGREP_HEADER(f_type;, sys/mount.h, AC_DEFINE(FSTYPE_STATFS) fstype=4.4BSD/OSF1)
1940 fi
1941 if test $fstype = no; then  
1942    AC_TRY_CPP(
1943       [
1944           #include <sys/mount.h>
1945           #include <sys/fs_types.h>
1946       ],
1947       AC_DEFINE(FSTYPE_GETMNT) fstype=Ultrix
1948    )
1949 fi
1950 AC_MSG_RESULT($fstype)
1951
1952 AC_CHECK_HEADER(sys/statvfs.h, [ AC_DEFINE(HAVE_SYS_STATVFS_H,1,[Defines if your system have the sys/statvfs.h header file])] , )
1953
1954 dnl --------------------------------------------------------------------------
1955 dnl CHECKING FOR TYPEDEFS, STRUCTURES, AND COMPILER CHARACTERISTICS.
1956 dnl --------------------------------------------------------------------------
1957 AC_TYPE_SIGNAL
1958 SIGNAL_CHECK
1959 AC_TYPE_MODE_T
1960 AC_TYPE_UID_T
1961 AC_TYPE_SIZE_T
1962 AC_TYPE_PID_T
1963 AC_TYPE_OFF_T
1964 AC_TYPE_INTPTR_T
1965 AC_TYPE_UINTPTR_T
1966 AC_CHECK_TYPE(ino_t, unsigned long)
1967 AC_CHECK_TYPE(dev_t, unsigned long)
1968 AC_CHECK_TYPE(daddr_t, long)
1969 AC_CHECK_TYPE(major_t, int)
1970 AC_CHECK_TYPE(minor_t, int)
1971 AC_CHECK_TYPE(ssize_t, int)
1972 AC_STRUCT_ST_BLOCKS
1973 AC_STRUCT_ST_RDEV
1974 AC_STRUCT_TM
1975 AC_C_CONST
1976
1977 AC_CHECK_SIZEOF(char, 1)
1978 AC_CHECK_SIZEOF(short int, 2)
1979 AC_CHECK_SIZEOF(int, 4)
1980 AC_CHECK_SIZEOF(long int, 4)
1981 AC_CHECK_SIZEOF(long long int, 8)
1982 AC_CHECK_SIZEOF(int *, 4)
1983
1984 dnl Check for sys/types.h types
1985 AC_CACHE_CHECK([for u_int type], ac_cv_have_u_int,
1986    [
1987        AC_TRY_COMPILE(
1988           [
1989               #include <sys/types.h>
1990           ], [
1991               u_int a; a = 1;
1992           ], [
1993               ac_cv_have_u_int="yes"
1994           ], [
1995               ac_cv_have_u_int="no"
1996           ]
1997        )
1998    ]
1999 )
2000 if test "x$ac_cv_have_u_int" = "xyes" ; then
2001    AC_DEFINE(HAVE_U_INT)
2002    have_u_int=1
2003 fi
2004
2005 AC_CACHE_CHECK([for intmax_t type], ac_cv_have_intmax_t,
2006    [
2007        AC_TRY_COMPILE(
2008           [
2009               #include <sys/types.h>
2010           ], [
2011               intmax_t a; a = 1;
2012           ], [
2013               ac_cv_have_intmax_t="yes"
2014           ], [ 
2015               AC_TRY_COMPILE(
2016                  [
2017                      #include <stdint.h>
2018                  ], [
2019                      intmax_t a; a = 1;
2020                  ], [
2021                      ac_cv_have_intmax_t="yes"
2022                  ], [
2023                      ac_cv_have_intmax_t="no"
2024                  ]
2025               )
2026           ]
2027        )       
2028    ]
2029 )
2030 if test "x$ac_cv_have_intmax_t" = "xyes" ; then
2031    AC_DEFINE(HAVE_INTMAX_T)
2032    have_intmax_t=1
2033 fi
2034
2035 AC_CACHE_CHECK([for u_intmax_t type], ac_cv_have_u_intmax_t,
2036    [
2037        AC_TRY_COMPILE(
2038           [
2039               #include <sys/types.h>
2040           ], [
2041               u_intmax_t a; a = 1;
2042           ], [
2043               ac_cv_have_u_intmax_t="yes"
2044           ], [ 
2045               AC_TRY_COMPILE(
2046                  [
2047                      #include <stdint.h>
2048                  ], [
2049                     u_intmax_t a; a = 1;
2050                  ], [
2051                     ac_cv_have_u_intmax_t="yes"
2052                  ], [
2053                     ac_cv_have_u_intmax_t="no"
2054                  ]
2055               )
2056           ]
2057        )
2058    ]
2059 )
2060 if test "x$ac_cv_have_u_intmax_t" = "xyes" ; then
2061    AC_DEFINE(HAVE_U_INTMAX_T)
2062    have_u_intmax_t=1
2063 fi
2064
2065 AC_CACHE_CHECK([for intXX_t types], ac_cv_have_intxx_t,
2066    [
2067        AC_TRY_COMPILE(
2068           [
2069               #include <sys/types.h>
2070           ], [
2071               int8_t a; int16_t b; int32_t c; a = b = c = 1;
2072           ], [
2073               ac_cv_have_intxx_t="yes"
2074           ], [
2075               ac_cv_have_intxx_t="no"
2076           ]
2077        )
2078    ]
2079 )
2080 if test "x$ac_cv_have_intxx_t" = "xyes" ; then
2081    AC_DEFINE(HAVE_INTXX_T)
2082    have_intxx_t=1
2083 fi
2084    
2085 AC_CACHE_CHECK([for int64_t type], ac_cv_have_int64_t,
2086    [
2087        AC_TRY_COMPILE(
2088           [
2089               #include <sys/types.h>
2090           ], [
2091               int64_t a; a = 1;
2092           ], [
2093               ac_cv_have_int64_t="yes"
2094           ], [
2095               ac_cv_have_int64_t="no"
2096           ]
2097        )
2098    ]
2099 )
2100 if test "x$ac_cv_have_int64_t" = "xyes" ; then
2101    AC_DEFINE(HAVE_INT64_T)
2102    have_int64_t=1
2103 fi
2104    
2105 AC_CACHE_CHECK([for u_intXX_t types], ac_cv_have_u_intxx_t,
2106    [
2107        AC_TRY_COMPILE(
2108           [
2109               #include <sys/types.h>
2110           ], [
2111               u_int8_t a; u_int16_t b; u_int32_t c; a = b = c = 1;
2112           ], [
2113              ac_cv_have_u_intxx_t="yes"
2114           ], [
2115              ac_cv_have_u_intxx_t="no"
2116           ]
2117        )
2118    ]
2119 )
2120 if test "x$ac_cv_have_u_intxx_t" = "xyes" ; then
2121    AC_DEFINE(HAVE_U_INTXX_T)
2122    have_u_intxx_t=1
2123 fi
2124
2125 AC_CACHE_CHECK([for u_int64_t types], ac_cv_have_u_int64_t,
2126    [
2127        AC_TRY_COMPILE(
2128           [
2129               #include <sys/types.h>
2130           ], [
2131               u_int64_t a; a = 1;
2132           ], [
2133              ac_cv_have_u_int64_t="yes"
2134           ], [
2135              ac_cv_have_u_int64_t="no"
2136           ]
2137        )
2138    ]
2139 )
2140 if test "x$ac_cv_have_u_int64_t" = "xyes" ; then
2141    AC_DEFINE(HAVE_U_INT64_T)
2142    have_u_int64_t=1
2143 fi
2144
2145 if (test -z "$have_u_intxx_t" || test -z "$have_intxx_t" && \
2146     test "x$ac_cv_header_sys_bitypes_h" = "xyes")
2147 then
2148    AC_MSG_CHECKING([for intXX_t and u_intXX_t types in sys/bitypes.h])
2149    AC_TRY_COMPILE(
2150       [
2151           #include <sys/bitypes.h>
2152       ], [
2153           int8_t a; int16_t b; int32_t c;
2154           u_int8_t e; u_int16_t f; u_int32_t g;
2155           a = b = c = e = f = g = 1;
2156       ], [
2157           AC_DEFINE(HAVE_U_INTXX_T)
2158           AC_DEFINE(HAVE_INTXX_T)
2159           AC_DEFINE(HAVE_SYS_BITYPES_H)
2160           AC_MSG_RESULT(yes)
2161       ], [
2162           AC_MSG_RESULT(no)
2163       ]
2164    ) 
2165 fi
2166
2167 if test -z "$have_u_intxx_t" ; then
2168    AC_CACHE_CHECK([for uintXX_t types], ac_cv_have_uintxx_t,
2169       [
2170           AC_TRY_COMPILE(
2171              [
2172                  #include <sys/types.h>
2173              ], [
2174                  uint8_t a; uint16_t b; 
2175                  uint32_t c; a = b = c = 1;
2176              ], [
2177                 ac_cv_have_uintxx_t="yes"
2178              ], [
2179                 ac_cv_have_uintxx_t="no"
2180              ]
2181           )
2182       ]
2183    )
2184    if test "x$ac_cv_have_uintxx_t" = "xyes" ; then
2185       AC_DEFINE(HAVE_UINTXX_T)
2186    fi
2187 fi
2188
2189 if (test -z "$have_u_int64_t" || test -z "$have_int64_t" && \
2190     test "x$ac_cv_header_sys_bitypes_h" = "xyes")
2191 then
2192    AC_MSG_CHECKING([for int64_t and u_int64_t types in sys/bitypes.h])
2193    AC_TRY_COMPILE(
2194       [
2195           #include <sys/bitypes.h>
2196       ], [
2197           int64_t a; u_int64_t b; 
2198           a = b = 1;
2199       ], [
2200           AC_DEFINE(HAVE_U_INT64_T)
2201           AC_DEFINE(HAVE_INT64_T)
2202           AC_MSG_RESULT(yes)
2203       ], [
2204           AC_MSG_RESULT(no)
2205       ]
2206    ) 
2207 fi
2208
2209 if (test -z "$have_uintxx_t" && \
2210     test "x$ac_cv_header_sys_bitypes_h" = "xyes")
2211 then
2212    AC_MSG_CHECKING([for uintXX_t types in sys/bitypes.h])
2213    AC_TRY_COMPILE(
2214       [
2215           #include <sys/bitypes.h>
2216       ], [
2217           uint8_t a; uint16_t b; 
2218           uint32_t c; a = b = c = 1;
2219       ], [
2220           AC_DEFINE(HAVE_UINTXX_T)
2221           AC_MSG_RESULT(yes)
2222       ], [
2223           AC_MSG_RESULT(no)
2224       ]
2225    ) 
2226 fi
2227
2228 dnl --------------------------------------------------------------------------
2229 dnl CHECKING FOR REQUIRED LIBRARY FUNCTIONS
2230 dnl --------------------------------------------------------------------------
2231 AC_CHECK_FUNCS( \
2232    fork \
2233    getcwd \
2234    gethostname \
2235    getpid \
2236    gettimeofday \
2237    setpgid \
2238    setpgrp \
2239    setsid \
2240    signal \
2241    strerror \
2242    strncmp \
2243    strncpy \
2244    vfprintf \
2245    ,,
2246    [echo 'configure: cannot find needed function.'; exit 1]
2247 )
2248
2249 AC_CHECK_FUNCS(fchdir, [AC_DEFINE(HAVE_FCHDIR)])
2250 AC_CHECK_FUNCS(strtoll, [AC_DEFINE(HAVE_STRTOLL)])
2251 AC_CHECK_FUNCS(posix_fadvise)
2252 AC_CHECK_FUNCS(fdatasync)
2253
2254 AC_CHECK_FUNCS(chflags) 
2255
2256 AC_CHECK_FUNCS(snprintf vsnprintf gethostid fseeko)
2257
2258 AC_CACHE_CHECK(for va_copy, ba_cv_va_copy,
2259    [
2260        AC_TRY_LINK(
2261           [
2262               #include <stdarg.h>
2263               void use_va_copy(va_list args){va_list args2; va_copy(args2,args); va_end(args2);}
2264               void call_use_va_copy(int junk,...){va_list args; va_start(args,junk); use_va_copy(args); va_end(args);}
2265           ], [
2266               call_use_va_copy(1,2,3)
2267           ], [
2268               ba_cv_va_copy=yes,
2269           ], [
2270               ba_cv_va_copy=no
2271           ]
2272        )
2273    ]
2274 )
2275 test $ba_cv_va_copy = yes && AC_DEFINE(HAVE_VA_COPY, 1, [Set if va_copy exists])
2276
2277 dnl --------------------------------------------------------------------------
2278 dnl CHECKING FOR THREAD SAFE FUNCTIONS
2279 dnl --------------------------------------------------------------------------
2280 AC_CHECK_FUNCS(localtime_r readdir_r strerror_r gethostbyname_r)
2281
2282 # If resolver functions are not in libc check for -lnsl or -lresolv.
2283 AC_CHECK_FUNC(gethostbyname_r,
2284     AC_MSG_RESULT(using libc's resolver),
2285     AC_CHECK_LIB(nsl,gethostbyname_r)
2286     AC_CHECK_LIB(resolv,gethostbyname_r))
2287
2288 AC_CHECK_FUNCS(inet_pton, [AC_DEFINE(HAVE_INET_PTON)])
2289 AC_CHECK_FUNCS(inet_ntop, [AC_DEFINE(HAVE_INET_NTOP)])
2290 AC_CHECK_FUNCS(gethostbyname2, [AC_DEFINE(HAVE_GETHOSTBYNAME2)])
2291
2292 dnl ----------------------------
2293 dnl check sa_len of sockaddr
2294 dnl ----------------------------
2295 AC_CACHE_CHECK(for struct sockaddr has a sa_len field, ac_cv_struct_sockaddr_sa_len,
2296    [
2297        AC_TRY_COMPILE(
2298           [
2299               #include <sys/socket.h>
2300           ], [
2301               struct sockaddr s; s.sa_len;
2302           ], [
2303              ac_cv_struct_sockaddr_sa_len=yes
2304           ], [ac_cv_struct_sockaddr_sa_len=no
2305           ]
2306        )
2307    ]
2308 )
2309
2310 if test $ac_cv_struct_sockaddr_sa_len = yes; then
2311   AC_DEFINE(HAVE_SA_LEN, 1, [Define if sa_len field exists in struct sockaddr])
2312 fi
2313
2314 AC_FUNC_STRFTIME
2315 AC_FUNC_VPRINTF
2316 AC_FUNC_ALLOCA
2317 AC_FUNC_GETMNTENT
2318 AC_FUNC_CLOSEDIR_VOID
2319 AC_FUNC_SETPGRP             dnl check for BSD setpgrp.
2320 # AC_FUNC_FNMATCH    dnl use local version
2321
2322 AC_CHECK_LIB(intl, gettext, [LIBS="$LIBS -lintl"])
2323
2324 AC_CHECK_LIB(sun, getpwnam)
2325
2326 AC_CHECK_HEADERS(zlib.h)
2327 AC_CHECK_LIB(z, deflate, [FDLIBS="-lz"])
2328 have_zlib=no
2329 if test x$FDLIBS = x-lz; then
2330    AC_DEFINE(HAVE_LIBZ)
2331    have_zlib=yes
2332 fi
2333
2334 dnl
2335 dnl Check for ACL support and libraries
2336 dnl
2337 support_acl=auto
2338 AC_ARG_ENABLE(acl,
2339    AC_HELP_STRING([--disable-acl], [disable acl support @<:@default=auto@:>@]),
2340    [
2341        if test x$enableval = xyes; then
2342           support_acl=yes
2343        elif test x$enableval = xno; then
2344           support_acl=no
2345        fi
2346    ]
2347 )
2348
2349 have_acl=no
2350 have_extended_acl=no
2351 if test x$support_acl = xyes -o x$support_acl = xauto; then
2352    AC_CHECK_HEADER(sys/acl.h, [ AC_DEFINE(HAVE_SYS_ACL_H,1,[Defines if your system have the sys/acl.h header file])] , )
2353    AC_CHECK_FUNC(acl_get_file,
2354       [
2355           have_acl=yes
2356       ], [
2357           AC_CHECK_LIB(acl, acl_get_file,
2358              [
2359                  have_acl=yes;
2360                  FDLIBS="-lacl $FDLIBS"
2361              ], [
2362                  AC_CHECK_LIB(pacl, acl_get_file,
2363                     [
2364                         have_acl=yes;
2365                         FDLIBS="-lpacl $FDLIBS"
2366                     ], [
2367                         AC_CHECK_LIB(sec, acltotext,
2368                            [
2369                                have_acl=yes;
2370                                FDLIBS="-lsec $FDLIBS"
2371
2372                                AC_CHECK_LIB(sec, acl_totext,
2373                                   [
2374                                       have_extended_acl=yes
2375                                   ]
2376                                )
2377                            ]
2378                         )
2379                     ]
2380                  )
2381              ]
2382           )
2383       ]
2384    )
2385
2386    if test x$support_acl = xyes -a $have_acl != yes; then
2387       AC_MSG_ERROR([acl support explicitly enabled but no supported acl implementation found, 
2388   please either load the acl libraries or rerun configure without --enable-acl])
2389    else
2390       if test $have_acl = yes; then
2391          AC_DEFINE([HAVE_ACL],1,[Normal acl support])
2392       fi
2393
2394       if test $have_extended_acl = yes; then
2395          AC_DEFINE([HAVE_EXTENDED_ACL],1,[Extended acl support])
2396       fi
2397    fi
2398 fi
2399
2400 dnl
2401 dnl Check for XATTR support
2402 dnl
2403 support_xattr=auto
2404 AC_ARG_ENABLE(xattr,
2405    AC_HELP_STRING([--disable-xattr], [disable xattr support @<:@default=auto@:>@]),
2406    [
2407        if test x$enableval = xyes; then
2408           support_xattr=yes
2409        elif test x$enableval = xno; then
2410           support_xattr=no
2411        fi
2412    ]
2413 )
2414
2415 have_xattr=no
2416 if test x$support_xattr = xyes -o x$support_xattr = xauto; then
2417    dnl
2418    dnl First check for *BSD support
2419    dnl
2420    AC_CHECK_HEADER(sys/extattr.h, [ AC_DEFINE(HAVE_SYS_EXTATTR_H,1,[Defines if your system have the sys/extattr.h header file])] , )
2421    AC_CHECK_HEADER(libutil.h, [ AC_DEFINE(HAVE_LIBUTIL_H,1,[Defines if your system have the libutil.h header file])] , )
2422    AC_CHECK_FUNCS(extattr_get_link extattr_set_link extattr_list_link,
2423       [
2424           have_xattr=yes
2425           AC_DEFINE([HAVE_EXTATTR_GET_LINK],1,[Define to 1 if you have the 'extattr_get_link' function.])
2426           AC_DEFINE([HAVE_EXTATTR_SET_LINK],1,[Define to 1 if you have the 'extattr_set_link' function.])
2427           AC_DEFINE([HAVE_EXTATTR_LIST_LINK],1,[Define to 1 if you have the 'extattr_list_link' function.])
2428       ]
2429    )
2430    
2431    if test $have_xattr = no; then
2432       AC_CHECK_FUNCS(extattr_get_file extattr_set_file extattr_list_file,
2433          [
2434              have_xattr=yes
2435              AC_DEFINE([HAVE_EXTATTR_GET_FILE],1,[Define to 1 if you have the 'extattr_get_file' function.])
2436              AC_DEFINE([HAVE_EXTATTR_SET_FILE],1,[Define to 1 if you have the 'extattr_set_file' function.])
2437              AC_DEFINE([HAVE_EXTATTR_LIST_FILE],1,[Define to 1 if you have the 'extattr_list_file' function.])
2438          ]
2439       )
2440    fi
2441    
2442    if test $have_xattr = yes; then
2443       have_extattr_string_in_libc=no
2444       AC_CHECK_FUNCS(extattr_namespace_to_string extattr_string_to_namespace,
2445          [
2446              have_extattr_string_in_libc=yes
2447              AC_DEFINE([HAVE_EXTATTR_NAMESPACE_TO_STRING],1,[Define to 1 if you have the 'extattr_namespace_to_string' function.])
2448              AC_DEFINE([HAVE_EXTATTR_STRING_TO_NAMESPACE],1,[Define to 1 if you have the 'extattr_string_to_namespace' function.])
2449          ]
2450       )
2451
2452       dnl
2453       dnl If extattr_namespace_to_string and extattr_string_to_namespace are not in libc see if they are in libutil
2454       dnl
2455       if test $have_extattr_string_in_libc = no; then
2456          AC_CHECK_LIB(util, extattr_namespace_to_string extattr_string_to_namespace,
2457             [
2458                 AC_DEFINE([HAVE_EXTATTR_NAMESPACE_TO_STRING],1,[Define to 1 if you have the 'extattr_namespace_to_string' function.])
2459                 AC_DEFINE([HAVE_EXTATTR_STRING_TO_NAMESPACE],1,[Define to 1 if you have the 'extattr_string_to_namespace' function.])
2460                 FDLIBS="-lutil $FDLIBS"
2461             ]
2462          )
2463       fi
2464    fi
2465
2466    dnl
2467    dnl If we failed to find *BSD support try the Linux or OSX implementation of xattr
2468    dnl
2469    if test $have_xattr = no; then
2470       AC_CHECK_HEADER(sys/xattr.h, [ AC_DEFINE(HAVE_SYS_XATTR_H,1,[Defines if your system have the sys/xattr.h header file])] , )
2471       AC_CHECK_FUNCS(llistxattr lgetxattr lsetxattr,
2472          [
2473              have_xattr=yes
2474              AC_DEFINE([HAVE_LLISTXATTR],1,[Define to 1 if you have the 'llistxattr' function.])
2475              AC_DEFINE([HAVE_LGETXATTR],1,[Define to 1 if you have the 'lgetxattr' function.])
2476              AC_DEFINE([HAVE_LSETXATTR],1,[Define to 1 if you have the 'lsetxattr' function.])
2477          ]
2478       )
2479
2480       if test $have_xattr = no; then
2481          AC_CHECK_FUNCS(listxattr getxattr setxattr,
2482             [
2483                 have_xattr=yes
2484                 AC_DEFINE([HAVE_LISTXATTR],1,[Define to 1 if you have the 'listxattr' function.])
2485                 AC_DEFINE([HAVE_GETXATTR],1,[Define to 1 if you have the 'getxattr' function.])
2486                 AC_DEFINE([HAVE_SETXATTR],1,[Define to 1 if you have the 'setxattr' function.])
2487             ]
2488          )
2489       fi
2490    fi
2491
2492    dnl
2493    dnl If we failed to find *BSD support and the Linux or OSX implementation of xattr try the Solaris xattr implementation
2494    dnl
2495    if test $have_xattr = no; then
2496       AC_CHECK_HEADER(sys/attr.h, [ AC_DEFINE(HAVE_SYS_ATTR_H,1,[Defines if your system have the sys/attr.h header file])] , )
2497       AC_CHECK_HEADER(sys/nvpair.h, [ AC_DEFINE(HAVE_SYS_NVPAIR_H,1,[Defines if your system have the sys/nvpair.h header file])] , )
2498       AC_CHECK_HEADER(attr.h, [ AC_DEFINE(HAVE_ATTR_H,1,[Defines if your system have the attr.h header file])] , )
2499
2500       AC_CHECK_FUNCS(openat fstatat unlinkat fchownat futimesat,
2501          [
2502              have_xattr=yes
2503              AC_DEFINE([HAVE_OPENAT],1,[Define to 1 if you have the 'openat' function.])
2504              AC_DEFINE([HAVE_FSTATAT],1,[Define to 1 if you have the 'fstatat' function.])
2505              AC_DEFINE([HAVE_UNLINKAT],1,[Define to 1 if you have the 'unlinkat' function.])
2506              AC_DEFINE([HAVE_FCHOWNAT],1,[Define to 1 if you have the 'fchownat' function.])
2507              AC_DEFINE([HAVE_FUTIMESAT],1,[Define to 1 if you have the 'futimesat' function.])
2508          ]
2509       )
2510
2511       if test $have_xattr = yes; then
2512          AC_CHECK_LIB(nvpair, nvlist_next_nvpair,
2513             [
2514                 AC_DEFINE([HAVE_NVLIST_NEXT_NVPAIR],1,[Define to 1 if you have the 'nvlist_next_nvpair' function.])
2515                 FDLIBS="-lnvpair $FDLIBS"
2516             ]
2517          )
2518       fi
2519    fi
2520
2521    if test x$support_xattr = xyes -a $have_xattr != yes; then
2522       AC_MSG_ERROR([xattr support explicitly enabled but no supported xattr implementation found, 
2523   please either load the xattr libraries or rerun configure without --enable-xattr])
2524    else
2525       if test $have_xattr = yes; then
2526          AC_DEFINE([HAVE_XATTR],1,[Extended Attributes support])
2527       fi
2528    fi
2529 fi
2530
2531 dnl
2532 dnl Check for pthread libraries
2533 dnl
2534 PTHREAD_LIB=""
2535 AC_CHECK_LIB(pthread, pthread_create, PTHREAD_LIB="-lpthread",
2536    [
2537        AC_CHECK_LIB(pthreads, pthread_create, PTHREAD_LIB="-lpthreads",
2538           [
2539               AC_CHECK_LIB(c_r, pthread_create, PTHREAD_LIB="-lc_r",
2540                  [
2541                      AC_CHECK_FUNC(pthread_create)
2542                  ]
2543               )
2544           ]
2545        )
2546    ]
2547 )
2548
2549 dnl
2550 dnl Check for headers, functions and libraries required to support
2551 dnl keeping readall capabilities
2552 dnl
2553 AC_CHECK_HEADERS(sys/prctl.h sys/capability.h)
2554 AC_CHECK_FUNCS(prctl setreuid)
2555 AC_CHECK_LIB([cap], [cap_set_proc], [CAP_LIBS="-lcap"], [CAP_LIBS=])
2556 if test x$CAP_LIBS = x-lcap; then
2557    AC_DEFINE(HAVE_LIBCAP, 1, [Define if you have libcap])
2558 fi
2559 AC_SUBST(CAP_LIBS)
2560
2561 AC_SUBST(FDLIBS)
2562 AC_DEFINE(FDLIBS)
2563
2564 CFLAGS=${CFLAGS--O}
2565
2566 if test x$have_gcc = xyes ; then
2567    CPPFLAGS="$CPPFLAGS -fno-strict-aliasing -fno-exceptions -fno-rtti"
2568    CFLAGS="$CFLAGS -fno-strict-aliasing -fno-exceptions -fno-rtti"
2569 fi
2570 LDFLAGS=${LDFLAGS--O}
2571 DB_LIBS="${SQL_LFLAGS}"
2572 CPPFLAGS="$CPPFLAGS"
2573 CFLAGS="$CFLAGS"
2574 AC_SUBST(DEBUG)
2575 AC_SUBST(DINCLUDE)
2576 AC_SUBST(CFLAGS)
2577 AC_SUBST(CPPFLAGS)
2578 AC_SUBST(LDFLAGS)
2579 AC_SUBST(X_CFLAGS)
2580 AC_SUBST(DEFS)
2581 AC_SUBST(LIBS)
2582 AC_SUBST(DLIB)
2583 AC_SUBST(DB_LIBS)
2584 AC_SUBST(X_LIBS)
2585 AC_SUBST(X_EXTRA_LIBS)
2586 AC_SUBST(WCFLAGS)
2587 AC_SUBST(WLDFLAGS)
2588 AC_SUBST(WRAPLIBS)
2589
2590 dnl extra configurable objects
2591 OBJLIST=
2592 AC_SUBST(OBJLIST)
2593
2594 lld="lld"
2595 llu="llu"
2596
2597 WCFLAGS=
2598 WLDFLAGS=
2599
2600 dnl
2601 dnl Finally we set appropriate distribution specific
2602 dnl  variables and defaults
2603 dnl
2604 dnl PFILES are platform specific files
2605 PFILES="platforms/Makefile"
2606 PSCMD="ps -e"
2607 WIN32=
2608 MACOSX=
2609
2610 hostname=`uname -n | cut -d '.' -f 1`
2611 if test x${hostname} = x ; then
2612    hostname="localhost"
2613 fi
2614 dnl Make sure hostname is resolved
2615 ping -c 1 $hostname 2>/dev/null 1>/dev/null
2616 if test ! $? = 0; then
2617   hostname="localhost"
2618 fi
2619
2620 case "$DISTNAME" in
2621 aix)
2622    DISTVER=`uname -r`
2623    PSCMD="ps -e -o pid,comm"
2624    PFILES="${PFILES} \
2625       platforms/aix/Makefile"
2626    TAPEDRIVE="/dev/rmt0.1" 
2627   ;;     
2628 alpha)
2629    DISTVER=`uname -r`
2630    PTHREAD_LIB="-lpthread -lexc"
2631    if test "${CC}" = "gcc" ; then
2632       lld="lld"
2633       llu="llu"
2634    else
2635       lld="ld"
2636       llu="lu"
2637    fi
2638    TAPEDRIVE="/dev/nrmt0"
2639   ;;
2640 bsdi)
2641    DISTVER=`uname -a |awk '{print $3}'`
2642    TAPEDRIVE="/dev/nrmt0"
2643    PTHREAD_LIB="-pthread"
2644    CFLAGS="${CFLAGS} -pthread"
2645    PSCMD="ps -ax -o pid,command"
2646    lld="qd"
2647    llu="qu"
2648    PFILES="${PFILES} \
2649        platforms/bsdi/Makefile \
2650        platforms/bsdi/bacula-fd \
2651        platforms/bsdi/bacula-sd \
2652        platforms/bsdi/bacula-dir"
2653    largefile_support="yes"
2654   ;;
2655 cygwin)
2656    DISTVER=`uname -a |awk '{print $3}'`
2657    TAPEDRIVE="/dev/nrst0"
2658    WIN32=win32
2659    WCFLAGS="-mwindows"
2660    WLDFLAGS="-mwindows"
2661   ;;
2662 darwin)
2663    DISTVER=`uname -r`
2664    TAPEDRIVE="/dev/nst0"
2665    PSCMD="ps -e -o pid,command"
2666    MACOSX=macosx
2667    PFILES="${PFILES} \
2668       platforms/darwin/Makefile"
2669   ;;
2670 osx)
2671    DISTVER=`uname -r`
2672    TAPEDRIVE="/dev/nst0"
2673    PSCMD="ps -e -o pid,command"
2674    MACOSX=macosx
2675    PFILES="${PFILES} \
2676       platforms/osx/Makefile"
2677   ;;
2678 debian)
2679    if `test -f /etc/apt/sources.list && grep -q ubuntu /etc/apt/sources.list`; then
2680       DISTNAME="ubuntu"
2681    fi
2682    DISTVER=`cat /etc/debian_version`
2683    if test -f /etc/lsb-release ; then
2684       . /etc/lsb-release
2685       if test "x$DISTRIB_ID" != "x" ; then
2686          DISTNAME=$DISTRIB_ID
2687       fi
2688       if test "x$DISTRIB_RELEASE" != "x" ; then
2689          DISTVER=$DISTRIB_RELEASE
2690       fi
2691    fi
2692    if test "$DISTNAME" = "Ubuntu" ; then
2693       DISTNAME="ubuntu"
2694    fi
2695    TAPEDRIVE="/dev/nst0"
2696    PSCMD="ps -e -o pid,command"
2697    if test "$DISTNAME" = "ubuntu" ; then
2698       PFILES="${PFILES} \
2699          platforms/ubuntu/Makefile \
2700          platforms/ubuntu/bacula-fd \
2701          platforms/ubuntu/bacula-sd \
2702          platforms/ubuntu/bacula-dir"
2703    else 
2704       PFILES="${PFILES} \
2705          platforms/debian/Makefile \
2706          platforms/debian/bacula-fd \
2707          platforms/debian/bacula-sd \
2708          platforms/debian/bacula-dir"
2709    fi
2710   ;;
2711 freebsd)
2712    DISTVER=`uname -a |awk '{print $3}'`
2713    VER=`echo $DISTVER | cut -c 1`
2714    if test x$VER = x4 ; then
2715       PTHREAD_LIB="${PTHREAD_LIBS:--pthread}"
2716       CFLAGS="${CFLAGS} ${PTHREAD_CFLAGS:--pthread}"
2717    fi
2718    lld="qd"
2719    llu="qu"
2720    TAPEDRIVE="/dev/nrsa0"
2721    PSCMD="ps -ax -o pid,command"
2722    PFILES="${PFILES} \
2723        platforms/freebsd/Makefile \
2724        platforms/freebsd/bacula-fd \
2725        platforms/freebsd/bacula-sd \
2726        platforms/freebsd/bacula-dir"
2727    largefile_support="yes"
2728   ;;
2729 hpux)
2730    PSCMD="UNIX95=1; ps -e -o pid,comm"
2731    CFLAGS="${CFLAGS} -D_XOPEN_SOURCE_EXTENDED=1"
2732    DISTVER=`uname -r`
2733    TAPEDRIVE="/dev/rmt/0hnb"
2734    PTHREAD_LIB="-lpthread"
2735    AC_DEFINE([_INCLUDE_LONGLONG])
2736   ;;
2737 irix)
2738    DISTVER=`uname -r`
2739    TAPEDRIVE="/dev/rmt/0cbn"
2740    PSCMD="ps -e -o pid,comm"
2741    PFILES="${PFILES} \
2742        platforms/irix/Makefile \
2743        platforms/irix/bacula-fd \
2744        platforms/irix/bacula-sd \
2745        platforms/irix/bacula-dir"
2746   ;;
2747 netbsd)
2748    DISTVER=`uname -a |awk '{print $3}'`
2749    lld="qd"
2750    llu="qu"
2751    TAPEDRIVE="/dev/nrst0"
2752    PSCMD="ps -ax -o pid,command"
2753    PTHREAD_LIB="-pthread"
2754    CFLAGS="${CFLAGS} -pthread"
2755   ;;
2756 openbsd)
2757    DISTVER=`uname -a |awk '{print $3}'`
2758    lld="qd"
2759    llu="qu"
2760    TAPEDRIVE="/dev/nrst0"
2761    PSCMD="ps -ax -o pid,command"
2762    PTHREAD_LIB="-pthread"
2763    CFLAGS="${CFLAGS} -pthread"
2764    PFILES="${PFILES} \
2765        platforms/openbsd/Makefile \
2766        platforms/openbsd/bacula-fd \
2767        platforms/openbsd/bacula-sd \
2768        platforms/openbsd/bacula-dir"
2769   ;;
2770 redhat)
2771    if test -f /etc/whitebox-release ; then
2772       f=/etc/whitebox-release
2773    else
2774       f=/etc/redhat-release
2775    fi
2776    if test `cat $f | grep release |\
2777          cut -f 3 -d ' '`x = "Enterprise"x ; then
2778       DISTVER="Enterprise "`cat $f | grep release |\
2779           cut -f 6 -d ' '`
2780    else
2781        DISTVER=`cat /etc/redhat-release | grep release |\
2782            cut -f 5 -d ' '`
2783    fi
2784    TAPEDRIVE="/dev/nst0"
2785    PSCMD="ps -e -o pid,command"
2786    PFILES="${PFILES} \
2787        platforms/redhat/Makefile \
2788        platforms/redhat/bacula-fd \
2789        platforms/redhat/bacula-sd \
2790        platforms/redhat/bacula-dir
2791        "
2792   ;;
2793 mandrake)
2794    DISTVER=`cat /etc/mandrake-release | grep release |\
2795       cut -f 5 -d ' '`
2796    TAPEDRIVE="/dev/nst0"
2797    PSCMD="ps -e -o pid,command"
2798    PFILES="${PFILES} \
2799        platforms/mandrake/Makefile \
2800        platforms/mandrake/bacula-fd \
2801        platforms/mandrake/bacula-sd \
2802        platforms/mandrake/bacula-dir \
2803        platforms/mandrake/bacula.spec \
2804        "
2805   ;;
2806 gentoo)
2807    DISTVER=`awk '/version / {print $5}' < /etc/gentoo-release`
2808    TAPEDRIVE="/dev/nst0"
2809    PSCMD="ps -e -o pid,command"
2810    PFILES="${PFILES} \
2811        platforms/gentoo/Makefile \
2812     platforms/gentoo/bacula-init \
2813        platforms/gentoo/bacula-fd \
2814        platforms/gentoo/bacula-sd \
2815        platforms/gentoo/bacula-dir"
2816   ;;
2817 slackware)
2818    DISTVER=`cat /etc/slackware-version`
2819    TAPEDRIVE="/dev/nst0"
2820    PSCMD="ps -e -o pid,command"
2821    PFILES="${PFILES} \
2822        platforms/slackware/Makefile \
2823        platforms/slackware/rc.bacula-fd \
2824        platforms/slackware/rc.bacula-sd \
2825        platforms/slackware/rc.bacula-dir\
2826        platforms/slackware/functions.bacula"
2827   ;;
2828 solaris)
2829    DISTVER=`uname -r`
2830    TAPEDRIVE="/dev/rmt/0cbn"
2831    PSCMD="ps -e -o pid,comm"
2832    PFILES="${PFILES} \
2833        platforms/solaris/Makefile \
2834        platforms/solaris/bacula-fd \
2835        platforms/solaris/bacula-sd \
2836        platforms/solaris/bacula-dir"
2837    if test x$DISTVER = x5.6 ; then
2838        AC_DEFINE(HAVE_OLD_SOCKOPT)
2839    fi
2840    LIBS="$LIBS -lresolv"
2841   ;;
2842 suse)
2843    DISTVER=`cat /etc/SuSE-release |grep VERSION|\
2844        cut -f 3 -d ' '`
2845    TAPEDRIVE="/dev/nst0"
2846    PSCMD="ps -e -o pid,command"
2847    PFILES="${PFILES} \
2848        platforms/suse/Makefile \
2849        platforms/suse/bacula-fd \
2850        platforms/suse/bacula-sd \
2851        platforms/suse/bacula-dir \
2852        platforms/suse/bacula \
2853        platforms/suse/bacula.spec"
2854   ;;
2855 suse5)
2856    DISTNAME=suse
2857    DISTVER=5.x
2858    TAPEDRIVE="/dev/nst0"
2859    PSCMD="ps -e -o pid,command"
2860    PFILES="${PFILES} \
2861        platforms/suse/Makefile \
2862        platforms/suse/bacula-fd \
2863        platforms/suse/bacula-sd \
2864        platforms/suse/bacula-dir"
2865   ;;
2866 unknown)
2867    DISTVER=unknown
2868    TAPEDRIVE="/dev/nst0"
2869   ;;
2870 *)
2871   echo " === Something went wrong. Unknown DISTNAME $DISTNAME ==="
2872   ;;
2873 esac  
2874
2875 AC_SUBST(hostname)
2876
2877 LIBS="$PTHREAD_LIB $LIBS"
2878
2879 AC_DEFINE_UNQUOTED(lld, "$lld")
2880 AC_DEFINE_UNQUOTED(llu, "$llu")
2881 AC_SUBST(TAPEDRIVE)
2882 AC_SUBST(PSCMD)
2883 AC_SUBST(WIN32)
2884 AC_SUBST(MACOSX)
2885 AC_SUBST(DISTNAME)
2886 AC_SUBST(DISTVER)
2887
2888 dnl common parts of the Makefile
2889 MCOMMON=./autoconf/Make.common
2890 AC_SUBST_FILE(MCOMMON)
2891
2892 dnl Insanity check
2893 if test "x${subsysdir}" = "x${sbindir}" ; then
2894    echo " "
2895    echo " "
2896    echo "You have set both --sbindir and --with-subsys-dir"
2897    echo "  equal to: ${subsysdir} "
2898    echo "This is not permitted. Please reconfigure."
2899    echo " "
2900    echo "Aborting configuration ..."
2901    echo " "
2902    echo " "
2903    exit 1
2904 fi 
2905
2906 AC_OUTPUT([autoconf/Make.common \
2907            Makefile \
2908            manpages/Makefile \
2909            scripts/startmysql \
2910            scripts/stopmysql \
2911            scripts/btraceback \
2912            scripts/startit \
2913            scripts/stopit \
2914            scripts/bconsole \
2915            scripts/gconsole \
2916            scripts/bacula \
2917            scripts/bacula-ctl-dir \
2918            scripts/bacula-ctl-fd \
2919            scripts/bacula-ctl-sd \
2920            scripts/devel_bacula \
2921            scripts/Makefile \
2922            scripts/logrotate \
2923            scripts/bacula.desktop.gnome1 \
2924            scripts/bacula.desktop.gnome2 \
2925            scripts/bacula.desktop.gnome1.consolehelper \
2926            scripts/bacula.desktop.gnome2.consolehelper \
2927            scripts/bacula.desktop.gnome1.xsu \
2928            scripts/bacula.desktop.gnome2.xsu \
2929            scripts/bgnome-console.console_apps \
2930            scripts/mtx-changer \
2931            scripts/disk-changer \
2932            scripts/dvd-handler \
2933            scripts/dvd-simulator \
2934            scripts/bacula-tray-monitor.desktop \
2935            scripts/logwatch/Makefile \
2936            scripts/logwatch/logfile.bacula.conf \
2937            scripts/wxconsole.console_apps \
2938            scripts/wxconsole.desktop.consolehelper \
2939            scripts/wxconsole.desktop.xsu \
2940            scripts/bat.desktop \
2941            scripts/bat.desktop.xsu \
2942            scripts/bat.desktop.consolehelper \
2943            scripts/bat.console_apps \
2944            src/Makefile \
2945            src/host.h \
2946            src/console/Makefile \
2947            src/console/bconsole.conf \
2948            src/qt-console/bat.conf \
2949            src/qt-console/bat.pro \
2950            src/qt-console/bat.pro.mingw32 \
2951            src/qt-console/install_conf_file \
2952            src/wx-console/Makefile \
2953            src/wx-console/bwx-console.conf \
2954            src/tray-monitor/Makefile \
2955            src/tray-monitor/tray-monitor.conf \
2956            src/dird/Makefile \
2957            src/dird/bacula-dir.conf \
2958            src/lib/Makefile \
2959            src/stored/Makefile \
2960            src/stored/bacula-sd.conf \
2961            src/filed/Makefile \
2962            src/filed/bacula-fd.conf \
2963            src/cats/Makefile \
2964            src/cats/make_catalog_backup \
2965            src/cats/delete_catalog_backup \
2966            src/cats/create_postgresql_database \
2967            src/cats/update_postgresql_tables \
2968            src/cats/make_postgresql_tables \
2969            src/cats/grant_postgresql_privileges \
2970            src/cats/drop_postgresql_tables \
2971            src/cats/drop_postgresql_database \
2972            src/cats/create_mysql_database \
2973            src/cats/update_mysql_tables \
2974            src/cats/make_mysql_tables \
2975            src/cats/grant_mysql_privileges \
2976            src/cats/drop_mysql_tables \
2977            src/cats/drop_mysql_database \
2978            src/cats/create_sqlite3_database \
2979            src/cats/update_sqlite3_tables \
2980            src/cats/make_sqlite3_tables \
2981            src/cats/grant_sqlite3_privileges \
2982            src/cats/drop_sqlite3_tables \
2983            src/cats/drop_sqlite3_database \
2984            src/cats/sqlite \
2985            src/cats/mysql \
2986            src/cats/create_bdb_database \
2987            src/cats/update_bdb_tables \
2988            src/cats/make_bdb_tables \
2989            src/cats/grant_bdb_privileges \
2990            src/cats/drop_bdb_tables \
2991            src/cats/drop_bdb_database \
2992            src/cats/create_bacula_database \
2993            src/cats/update_bacula_tables \
2994            src/cats/grant_bacula_privileges \
2995            src/cats/make_bacula_tables \
2996            src/cats/drop_bacula_tables \
2997            src/cats/drop_bacula_database \
2998            src/findlib/Makefile \
2999            src/tools/Makefile \
3000            src/plugins/fd/Makefile \
3001            src/plugins/sd/Makefile \
3002            src/plugins/dir/Makefile \
3003            src/win32/Makefile.inc \
3004            po/Makefile.in \
3005            updatedb/update_mysql_tables_9_to_10 \
3006            updatedb/update_sqlite3_tables_9_to_10 \
3007            updatedb/update_postgresql_tables_9_to_10 \
3008            updatedb/update_mysql_tables_10_to_11 \
3009            updatedb/update_sqlite3_tables_10_to_11 \
3010            updatedb/update_postgresql_tables_10_to_11 \
3011            examples/nagios/check_bacula/Makefile \
3012            $PFILES ],  
3013      [ ]
3014 )
3015
3016 if test "${support_bat}" = "yes" ; then
3017    if test "x$QMAKE" = "xnone" && test "x$QMAKEQT4" = "xnone"; then
3018       AC_MSG_ERROR([Could not find qmake or qmake-qt4 in $PATH. Check your Qt installation])
3019    fi
3020
3021    QMAKEBIN="qmake"
3022
3023    if test "x$QMAKEQT4" != "xnone"; then
3024        QMAKEBIN=qmake-qt4
3025    fi
3026   
3027    cd src/qt-console
3028    echo "Creating bat Makefile"
3029    touch bat
3030    chmod 755 bat
3031    $QMAKEBIN
3032    ${MAKE:-make} clean
3033    cd ${BUILD_DIR}
3034 fi
3035
3036 dnl
3037 dnl if CC is gcc, we can rebuild the dependencies (since the depend rule
3038 dnl requires gcc).  If it's not, don't rebuild dependencies
3039 dnl
3040 if test X"$GCC" = "Xyes" ; then
3041   echo "Doing make of dependencies"
3042   ${MAKE:-make} depend
3043 fi
3044
3045 cd src/qt-console
3046 chmod 755 install_conf_file build-depkgs-qt-console
3047 cd ${BUILD_DIR}
3048
3049 cd scripts
3050 chmod 755 startmysql stopmysql bacula startit stopit btraceback mtx-changer
3051 chmod 755 dvd-handler dvd-simulator breload make_catalog_backup.pl
3052 chmod 755 bconsole gconsole mtx-changer devel_bacula logrotate
3053 cd ..
3054
3055 c=updatedb
3056 chmod 755 $c/update_mysql_tables_10_to_11   $c/update_sqlite3_tables_10_to_11
3057 chmod 755 $c/update_postgresql_tables_10_to_11
3058
3059 c=src/cats
3060
3061 chmod 755 $c/create_bacula_database   $c/update_bacula_tables  $c/make_bacula_tables
3062 chmod 755 $c/grant_bacula_privileges  $c/drop_bacula_tables    $c/drop_bacula_database
3063
3064 chmod 755 $c/create_bdb_database      $c/update_bdb_tables     $c/make_bdb_tables
3065 chmod 755 $c/grant_bdb_privileges     $c/drop_bdb_tables       $c/drop_bdb_database
3066
3067 chmod 755 $c/create_mysql_database    $c/update_mysql_tables   $c/make_mysql_tables
3068 chmod 755 $c/grant_mysql_privileges   $c/drop_mysql_tables     $c/drop_mysql_database
3069
3070 chmod 755 $c/create_sqlite3_database   $c/update_sqlite3_tables  $c/make_sqlite3_tables
3071 chmod 755 $c/grant_sqlite3_privileges  $c/drop_sqlite3_tables    $c/drop_sqlite3_database
3072
3073 chmod 755 $c/create_postgresql_database  $c/update_postgresql_tables $c/make_postgresql_tables
3074 chmod 755 $c/grant_postgresql_privileges $c/drop_postgresql_tables   $c/drop_postgresql_database
3075
3076 chmod 755 $c/make_catalog_backup $c/delete_catalog_backup
3077 chmod 755 $c/sqlite
3078 chmod 755 $c/mysql
3079
3080 chmod 755 src/win32/build-depkgs-mingw32
3081
3082 if test "x$ac_cv_sys_largefile_CFLAGS" != "xno" ; then
3083    largefile_support="yes"
3084 fi
3085
3086 dnl Only try to find out the version number of the compiler when we know its some kind of GCC compiler
3087 if test X"$GCC" = "Xyes" ; then
3088    dnl
3089    dnl A whole lot of hand springs to get the compiler version.
3090    dnl  This is because gcc changed the output in version 3.0
3091    dnl
3092    CCVERSION=`${CC} --version | tr '\n' ' ' | cut -f 3 -d ' '`
3093    if test "x${CCVERSION}" = "x" ; then
3094       CCVERSION=`${CC} --version | tr '\n' ' ' | cut -f 1 -d ' '`
3095    fi
3096    CXXVERSION=`${CXX} --version | tr '\n' ' ' | cut -f 3 -d ' '`
3097    if test x"${CXXVERSION}" = x ; then
3098       CXXVERSION=`${CXX} --version | tr '\n' ' ' | cut -f 1 -d ' '`
3099    fi
3100 fi
3101
3102 # clean up any old junk
3103 echo " "
3104 echo "Cleaning up"
3105 echo " "
3106 ${MAKE:-make} clean
3107
3108 if test "x${db_type}" = "xInternal" ; then
3109    echo " "
3110    echo " "
3111    echo "You have not specified either --enable-client-only or one of the"
3112    echo "  supported databases: MySQL, PostgreSQL, SQLite3, SQLite or DBI."
3113    echo "  This is not permitted. Please reconfigure."
3114    echo " "
3115    echo "Aborting the configuration ..."
3116    echo " "
3117    echo " "
3118    exit 1
3119 fi
3120
3121 echo "
3122 Configuration on `date`:
3123
3124    Host:                    ${host}${post_host} -- ${DISTNAME} ${DISTVER}
3125    Bacula version:          ${BACULA} ${VERSION} (${DATE})
3126    Source code location:    ${srcdir}
3127    Install binaries:        ${sbindir}
3128    Install libraries:       ${libdir}
3129    Install config files:    ${sysconfdir}
3130    Scripts directory:       ${scriptdir}
3131    Archive directory:       ${archivedir}
3132    Working directory:       ${working_dir}
3133    PID directory:           ${piddir}
3134    Subsys directory:        ${subsysdir}
3135    Man directory:           ${mandir}
3136    Data directory:          ${datarootdir}
3137    Plugin directory:        ${plugindir}
3138    C Compiler:              ${CC} ${CCVERSION}
3139    C++ Compiler:            ${CXX} ${CXXVERSION}
3140    Compiler flags:          ${WCFLAGS} ${CFLAGS} 
3141    Linker flags:            ${WLDFLAGS} ${LDFLAGS}
3142    Libraries:               ${LIBS}
3143    Statically Linked Tools: ${support_static_tools}
3144    Statically Linked FD:    ${support_static_fd}
3145    Statically Linked SD:    ${support_static_sd}
3146    Statically Linked DIR:   ${support_static_dir}
3147    Statically Linked CONS:  ${support_static_cons}
3148    Database type:           ${db_type}
3149    Database port:           ${db_port}
3150    Database lib:            ${DB_LIBS}
3151    Database name:           ${db_name}
3152    Database user:           ${db_user}
3153  
3154    Job Output Email:        ${job_email}
3155    Traceback Email:         ${dump_email}
3156    SMTP Host Address:       ${smtp_host}
3157  
3158    Director Port:           ${dir_port}
3159    File daemon Port:        ${fd_port}
3160    Storage daemon Port:     ${sd_port}
3161  
3162    Director User:           ${dir_user}
3163    Director Group:          ${dir_group}
3164    Storage Daemon User:     ${sd_user}
3165    Storage DaemonGroup:     ${sd_group}
3166    File Daemon User:        ${fd_user}
3167    File Daemon Group:       ${fd_group}
3168  
3169    SQL binaries Directory   ${SQL_BINDIR}
3170  
3171    Large file support:      $largefile_support
3172    Bacula conio support:    ${got_conio} ${CONS_LIBS}
3173    readline support:        ${got_readline} ${PRTREADLINE_SRC}
3174    TCP Wrappers support:    ${TCPW_MSG} ${WRAPLIBS}
3175    TLS support:             ${support_tls}
3176    Encryption support:      ${support_crypto} 
3177    ZLIB support:            ${have_zlib}
3178    enable-smartalloc:       ${support_smartalloc} 
3179    enable-lockmgr:          ${support_lockmgr}
3180    bat support:             ${support_bat} ${QWT_LDFLAGS}
3181    enable-gnome:            ${support_gnome} ${gnome_version}
3182    enable-bwx-console:      ${support_wx_console} ${wx_version}
3183    enable-tray-monitor:     ${support_tray_monitor}
3184    client-only:             ${build_client_only}
3185    build-dird:              ${build_dird}
3186    build-stored:            ${build_stored}
3187    ACL support:             ${have_acl}
3188    XATTR support:           ${have_xattr}
3189    Python support:          ${support_python} ${PYTHON_LIBS}
3190    Batch insert enabled:    ${support_batch_insert}
3191
3192   " > config.out
3193
3194 cat config.out