]> git.sur5r.net Git - bacula/bacula/blob - bacula/autoconf/configure.in
f00fbe38a9d59b36d972d9590356a651bc52454c
[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_CONFIG_AUX_DIR(${BUILD_DIR}/autoconf)
12 AC_CONFIG_HEADER(src/config.h:autoconf/config.h.in)
13
14 dnl require a recent autoconf
15 AC_PREREQ(2.13)
16
17
18 dnl search for true and false programs.
19 AC_PATH_PROGS(TRUEPRG, true, :)
20 AC_PATH_PROGS(FALSEPRG, false, :)
21
22 AC_CANONICAL_HOST
23
24 dnl bacula version
25 VERSION=`sed -n -e 's/^.*VERSION.*"\(.*\)"$/\1/p' ${srcdir}/src/version.h`
26 DATE=`sed -n -e 's/^.*[ \t]*BDATE.*"\(.*\)"$/\1/p' ${srcdir}/src/version.h`
27 LSMDATE=`sed -n -e 's/^.*LSMDATE.*"\(.*\)"$/\1/p' ${srcdir}/src/version.h`
28 AC_SUBST(VERSION)dnl 
29 AC_SUBST(DATE)dnl 
30 AC_SUBST(LSMDATE)dnl 
31 echo "configuring for bacula $VERSION ($DATE)"
32
33
34 dnl -------------------------------------------------------
35 dnl# Check for compiler.
36 dnl ------------------------------------------------------
37
38 AC_PROG_CC
39 AC_PROG_CXX
40 AC_PROG_CC_C_O                  dnl Determine if C compiler support -c -o.
41 AC_PROG_GCC_TRADITIONAL         dnl Determine if ioctl() need -traditional.
42
43 if test x$CC = xgcc
44 then
45    AC_DEFINE(HAVE_GCC)
46 fi
47
48 dnl -------------------------------------------------------
49 dnl# Check for programs.
50 dnl ------------------------------------------------------
51 AC_PROG_INSTALL
52 AC_PROG_RANLIB
53 AC_PATH_PROG(MV, mv, mv)
54 AC_PATH_PROG(RM, rm, rm)
55 AC_PATH_PROG(CP, cp, cp)
56 AC_PATH_PROG(SED, sed, sed)
57 AC_PATH_PROG(AWK, awk, awk)
58 AC_PATH_PROG(ECHO, echo, echo)
59 AC_PATH_PROG(CMP, cmp, cmp)
60 AC_PATH_PROG(TBL, tbl, tbl)
61 AC_PATH_PROG(AR, ar, ar)
62 AC_PATH_PROG(RANLIB, ranlib, ranlib)
63 AC_PATH_PROG(OPENSSL, openssl, none)
64 AC_PATH_PROG(MTX, mtx, mtx)
65 AC_PATH_PROG(PKGCONFIG, pkg-config, pkg-config)
66
67 test -n "$ARFLAG" || ARFLAGS="cr"
68 AC_SUBST(ARFLAGS)
69
70 MAKE_SHELL=/bin/sh
71 AC_SUBST(MAKE_SHELL)
72
73 AC_SUBST(LOCAL_LIBS)
74 AC_SUBST(LOCAL_CFLAGS)
75 AC_SUBST(LOCAL_LDFLAGS)
76 AC_SUBST(LOCAL_DEFS)
77
78
79
80 dnl --------------------------------------------------
81 dnl Bacula OP Sys determination (see aclocal.m4)
82 dnl --------------------------------------------------
83 BA_CHECK_OPSYS
84
85 # -----------------------------------------------------------
86 dnl Bacula OPSys Distribution determination (see aclocal.m4)
87 # ----------------------------------------------------------
88 BA_CHECK_OPSYS_DISTNAME
89
90 # -----------------------------------------------------------
91 dnl Check for gnome stuff for gnome-console
92 # ----------------------------------------------------------
93 AM_ACLOCAL_INCLUDE(gnome-macros)
94
95 # ------------------------------------------------------------------
96 #  If the user has not set --prefix, we set our default to nothing.
97 #  In this case, if the user has not set --sysconfdir, we set it
98 #  to the package default of /etc/bacula.  If either --prefix or
99 #  --sysconfdir is set, we leave sysconfdir alone except to eval it.
100 # ------------------------------------------------------------------
101 if test x${prefix} = xNONE ; then
102     if test `eval echo ${sysconfdir}` = NONE/etc ; then
103         sysconfdir=/etc/bacula
104     fi
105     prefix=
106 fi
107 sysconfdir=`eval echo ${sysconfdir}`
108
109 # -------------------------------------------------------------------------
110 #  If the user has not set --exec-prefix, we default to ${prefix}
111 # -------------------------------------------------------------------------
112 if test x${exec_prefix} = xNONE ; then
113     exec_prefix=${prefix}
114 fi
115
116 # ------------------------------------------------------------------
117 # If the user has not set --sbindir, we set our default as /sbin
118 # ------------------------------------------------------------------
119 if test x$sbindir = x'${exec_prefix}/sbin' ; then
120     sbindir=${exec_prefix}/sbin
121 fi
122 sbindir=`eval echo ${sbindir}`
123                       
124 # ------------------------------------------------------------------
125 # All list of languages for which a translation exist. Each
126 #  language is separated by a space.
127 # ------------------------------------------------------------------
128 ALL_LINGUAS=""
129
130 AC_PATH_PROGS(MSGFMT, msgfmt, no)
131 if test "$MSGFMT" = "no"
132 then
133    echo 'msgfmt program not found, disabling NLS !'
134    USE_NLS=no
135    USE_INCLUDED_LIBINTL=no
136 #else
137 #   AM_GNU_GETTEXT
138 fi
139
140
141 support_mysql=no
142 support_sqlite=no
143 support_smartalloc=yes
144 support_readline=yes
145 support_gnome=no
146 support_static_tools=no
147 support_static_fd=no
148 support_static_sd=no
149 support_static_dir=no
150 support_static_cons=no
151 build_client_only=no
152 cats=
153 db_name=Internal
154 DB_NAME=bdb
155
156 dnl# --------------------------------------------------------------------------
157 dnl# CHECKING COMMAND LINE OPTIONS
158 dnl# --------------------------------------------------------------------------
159
160 # -------------------------------------------
161 # gnome (default off)
162 # -------------------------------------------
163 AC_ARG_ENABLE(gnome,
164   [  --enable-gnome       enable build of gnome-console GUI [disabled]],
165   [if test x$enableval = xyes; then
166     support_gnome=yes
167   fi])
168
169 GNOME_DIR=
170 if test x$support_gnome = xyes; then
171   abc=`$PKGCONFIG --exists libgnomeui-2.0`
172   pkg=$?
173   if test $pkg = 0; then
174      GNOME_INCLUDEDIR=`pkg-config --cflags-only-I libgnomeui-2.0`
175      GNOMEUI_LIBS=`pkg-config --libs-only-other libgnomeui-2.0`
176      GNOME_LIBDIR=`pkg-config --libs libgnomeui-2.0`
177      GNOME_LIBS=`pkg-config --libs-only-l libgnomeui-2.0`
178      AC_SUBST(GNOME_INCLUDEDIR)
179      AC_SUBST(GNOMEUI_LIBS)
180      AC_SUBST(GNOME_LIBDIR)
181      AC_SUBST(GNOME_LIBS)
182      GNOME_DIR=src/gnome-console
183   else
184 dnl 1.4 stuff
185     GNOME_INIT
186     GNOME_DIR=src/gnome-console
187   fi
188 fi
189 AC_SUBST(GNOME_DIR)
190
191
192 # -------------------------------------------
193 # smartalloc (default off)
194 # -------------------------------------------
195 AC_ARG_ENABLE(smartalloc,
196   [  --enable-smartalloc     enable smartalloc debugging support [disabled]],
197   [if test x$enableval = xno; then
198     support_smartalloc=no
199   fi])
200
201 if test x$support_smartalloc = xyes; then
202    AC_DEFINE(SMARTALLOC)
203 fi
204
205 # -------------------------------------------
206 # static-tools (default off)
207 # -------------------------------------------
208 AC_ARG_ENABLE(static-tools,
209    [  --enable-static-tools   enable static tape tools [disabled]],
210    [if test x$enableval = xyes; then
211      support_static_tools=yes
212    fi])
213
214 TTOOL_LDFLAGS=
215 if test x$support_static_tools = xyes; then
216    TTOOL_LDFLAGS="-static"
217 fi
218 AC_SUBST(TTOOL_LDFLAGS)
219
220 # -------------------------------------------
221 # static-fd    (default off)
222 # -------------------------------------------
223 AC_ARG_ENABLE(static-fd,
224    [  --enable-static-fd      enable static File daemon [disabled]],
225    [if test x$enableval = xyes; then
226      support_static_fd=yes
227    fi])
228
229 STATIC_FD=
230 if test x$support_static_fd = xyes; then
231    STATIC_FD="static-bacula-fd"
232 fi
233 AC_SUBST(STATIC_FD)
234
235 # -------------------------------------------
236 # static-sd    (default off)
237 # -------------------------------------------
238 AC_ARG_ENABLE(static-sd,
239    [  --enable-static-sd      enable static Storage daemon [disabled]],
240    [if test x$enableval = xyes; then
241      support_static_sd=yes
242    fi])
243
244 STATIC_SD=
245 if test x$support_static_sd = xyes; then
246    STATIC_SD="static-bacula-sd"
247 fi
248 AC_SUBST(STATIC_SD)
249
250 # -------------------------------------------
251 # static-dir   (default off)
252 # -------------------------------------------
253 AC_ARG_ENABLE(static-dir,
254    [  --enable-static-dir     enable static Director [disabled]],
255    [if test x$enableval = xyes; then
256      support_static_dir=yes
257    fi])
258
259 STATIC_DIR=
260 if test x$support_static_dir = xyes; then
261    STATIC_DIR="static-bacula-dir"
262 fi
263 AC_SUBST(STATIC_DIR)
264
265 # -------------------------------------------
266 # static-cons  (default off)
267 # -------------------------------------------
268 AC_ARG_ENABLE(static-cons,
269    [  --enable-static-cons    enable static Console [disabled]],
270    [if test x$enableval = xyes; then
271      support_static_cons=yes
272    fi])
273
274 STATIC_CONS=
275 if test x$support_static_cons = xyes; then
276    STATIC_CONS="static-console"
277 fi
278 AC_SUBST(STATIC_CONS)
279
280 # -------------------------------------------
281 # client_only  (default off)
282 # -------------------------------------------
283 AC_ARG_ENABLE(client-only,
284    [  --enable-client-only    build client (File daemon) only [disabled]],
285    [if test x$enableval = xyes; then
286      build_client_only=yes
287    fi])
288 if test x$build_client_only = xno; then
289    ALL_DIRS="subdirs"
290 else
291    ALL_DIRS=""
292 fi
293 AC_SUBST(ALL_DIRS)
294
295 # ---------------------------------------------------
296 # Check for readline support/directory (default on)
297 # ---------------------------------------------------
298 # this allows you to turn it completely off
299 AC_ARG_ENABLE(readline,
300   [  --disable-readline      disable readline support [enabled]
301                                                       ],
302   [if test x$enableval = xno; then
303     support_readline=no
304   fi])
305
306 got_readline="no"
307 READLINE_SRC=
308 if test x$support_readline = xyes; then
309    AC_ARG_WITH(readline,
310      [ --with-readline=DIR               specify readline library directory],
311      [
312         case "$with_readline" in
313         no) : ;;
314         yes|*)
315           if test "$with_readline" != "yes"; then
316             CONS_INC="-I${with_readline}"
317             CONS_LDFLAGS="-L$with_readline"
318           else
319              with_readline="/usr/include/readline" 
320           fi
321           AC_CHECK_HEADER(${with_readline}/readline.h, 
322              [ AC_DEFINE(HAVE_READLINE) 
323                CONS_LIBS="-lreadline -ltermcap"
324                got_readline="yes"   
325              ],
326              [ AC_MSG_ERROR([*** readline library missing]) 
327              ]
328           )
329           ;;
330         esac
331      ],[
332        # check for standard readline library
333        AC_CHECK_HEADER(/usr/include/readline/readline.h, 
334          [ AC_DEFINE(HAVE_READLINE)
335            got_readline="yes"
336            CONS_INC="-I/usr/include/readline"
337            CONS_LIBS="-lreadline -ltermcap"
338          ], [
339            # Did not find standard library, so try Bacula's default
340             AC_CHECK_HEADER(${TOP_DIR}/depkgs/readline/readline.h, 
341               [ AC_DEFINE(HAVE_READLINE) 
342                  got_readline="yes"   
343                  CONS_INC="-I${TOP_DIR}/depkgs/readline"
344                  CONS_LIBS="-lreadline -lhistory -ltermcap"
345                  CONS_LDFLAGS="-L${TOP_DIR}/depkgs/readline"
346                  PRTREADLINE_SRC="${TOP_DIR}/depkgs/readline"
347               ],
348               [ AC_MSG_ERROR([*** readline library missing]) 
349               ]
350             )
351          ]
352        )
353      ]   
354    )
355 fi
356 AC_SUBST(CONS_INC)
357 AC_SUBST(CONS_LIBS)
358 AC_SUBST(CONS_LDFLAGS)
359 AC_SUBST(READLINE_SRC)
360
361 # Minimal stuff for readline Makefile configuration
362 MAKE_SHELL=/bin/sh
363 AC_SUBST(MAKE_SHELL)
364
365 AC_HEADER_STAT
366 AC_HEADER_DIRENT
367
368 AC_CHECK_FUNCS(strcasecmp select setenv putenv tcgetattr setlocale lstat lchown)
369 AC_CHECK_FUNCS(nanosleep)
370
371 AC_CHECK_HEADERS(varargs.h)
372
373 # End of readline stuff
374 # -----------------------------------------------------------------------
375
376
377 # ---------------------------------------------------
378 # Check for GMP support/directory
379 # ---------------------------------------------------
380 #GMP_SRC=
381 #local_gmp="no"
382 #AC_ARG_WITH(gmp,
383 #  [  --with-gmp[=DIR]   Specify gmp library directory],
384 #  [
385 #     case "$with_gmp" in
386 #     no) : ;;
387 #     yes|*)
388 #       if test "$with_gmp" != "yes"; then
389 #         GMP_INC="-I$with_gmp"
390 #         GMP_LIBS="-lgmp"
391 #         GMP_LDFLAGS="-L$with_gmp"
392 #       else
393 #          with_gmp="/usr/include" 
394 #       fi
395 #       AC_CHECK_HEADER($with_gmp/gmp.h, 
396 #          [ AC_MSG_RESULT(yes)
397 #            AC_DEFINE(HAVE_GMP) 
398 #            GMP_LIBS="-lgmp"
399 #            got_gmp="yes"   
400 #          ],
401 #          [ AC_MSG_ERROR([*** gmp library missing]) 
402 #          ]
403 #       )
404 #       ;;
405 #     esac
406 #  ],[
407 #    # check for standard gmp library
408 #    AC_CHECK_HEADER(/usr/include/gmp.h,
409 #    [ AC_MSG_RESULT(yes)
410 #      AC_DEFINE(HAVE_GMP)
411 #      got_gmp="yes"
412 #      GMP_INC=
413 #      GMP_LIBS="-lgmp"
414 #    ], [
415 #      # Did not find standard library, so use our own
416 #      AC_MSG_RESULT(yes)
417 #      AC_DEFINE(HAVE_GMP)
418 #      got_gmp="yes"
419 #      local_gmp="yes"
420 #      GMP_INC="-I${TOP_DIR}/depkgs/gmp"
421 #      GMP_LIBS="-lgmp"
422 #      GMP_LDFLAGS="-L${TOP_DIR}/depkgs/gmp"
423 #      GMP_SRC="${TOP_DIR}/depkgs/gmp"
424 #    ])
425 #  ]   
426 #)
427 #AC_SUBST(GMP_INC)
428 #AC_SUBST(GMP_LIBS)
429 #AC_SUBST(GMP_LDFLAGS)
430 #AC_SUBST(GMP_SRC)
431
432 # End of GMP stuff
433 # -----------------------------------------------------------------------
434
435
436 # ---------------------------------------------------
437 # Check for CWEB support/directory
438 # ---------------------------------------------------
439 #CWEB_SRC=
440 #CWEB=/bin
441 #local_cweb="no"
442 #AC_ARG_WITH(cweb,
443 #  [  --with-cweb[=DIR]   Specify cweb library directory],
444 #  [
445 #     case "$with_cweb" in
446 #     no) : ;;
447 #     yes|*)
448 #       if test "$with_cweb" != "yes"; then
449 #         CWEB_INC="-I$with_cweb"
450 #         CWEB_LIBS="-lcweb"
451 #         CWEB_LDFLAGS="-L$with_cweb"
452 #       else
453 #          with_cweb="/usr/include" 
454 #       fi
455 #       AC_CHECK_HEADER($with_cweb/cweb.h, 
456 #          [ AC_MSG_RESULT(yes)
457 #            AC_DEFINE(HAVE_CWEB) 
458 #            CWEB_LIBS="-lcweb"
459 #            got_cweb="yes"   
460 #          ],
461 #          [ AC_MSG_ERROR([*** cweb library missing]) 
462 #          ]
463 #       )
464 #       ;;
465 #     esac
466 #  ],[
467 #    # check for standard cweb library
468 #    AC_CHECK_HEADER(/usr/include/cweb.h,
469 #    [ AC_MSG_RESULT(yes)
470 #      AC_DEFINE(HAVE_CWEB)
471 #      got_cweb="yes"
472 #      CWEB_INC=
473 #      CWEB_LIBS="-lcweb"
474 #    ], [
475 #      # Did not find starndard library, so use our own
476 #      AC_MSG_RESULT(yes)
477 #      AC_DEFINE(HAVE_CWEB)
478 #      got_cweb="yes"
479 #      local_cweb="yes"
480 #      CWEB=${TOP_DIR}/depkgs/cweb
481 #      CWEB_INC="-I${TOP_DIR}/depkgs/cweb"
482 #      CWEB_LIBS="-lcweb"
483 #      CWEB_LDFLAGS="-L${TOP_DIR}/depkgs/cweb"
484 #      CWEB_SRC="${TOP_DIR}/depkgs/cweb"
485 #    ])
486 #  ]   
487 #)
488 #AC_SUBST(CWEB)
489 #AC_SUBST(CWEB_INC)
490 #AC_SUBST(CWEB_LIBS)
491 #AC_SUBST(CWEB_LDFLAGS)
492 #AC_SUBST(CWEB_SRC)
493
494 # End of CWEB stuff
495 # -----------------------------------------------------------------------
496
497
498
499 # -----------------------------------------------------------
500 # Check whether user wants TCP wrappers support (default off)
501 # -----------------------------------------------------------
502 TCPW_MSG="no" 
503 AC_ARG_WITH(tcp-wrappers,
504   [  --with-tcp-wrappers=DIR     enable tcpwrappers support],
505   [
506     if test "x$withval" != "xno" ; then
507        saved_LIBS="$LIBS"
508        LIBS="$LIBS -lwrap -lnsl"
509        AC_MSG_CHECKING(for libwrap)
510        AC_TRY_LINK(
511           [ #include <tcpd.h>
512              int deny_severity = 0;
513              int allow_severity = 0;
514              struct request_info *req; ],
515           [ hosts_access(req); ],
516           [
517             AC_MSG_RESULT(yes)
518             AC_DEFINE(HAVE_LIBWRAP)
519             TCPW_MSG="yes" 
520           ],
521           [AC_MSG_ERROR([*** libwrap missing]) ]
522        )
523     fi
524   ]
525 )
526
527 # ------------------------------------------
528 # Where to place working dir
529 # ------------------------------------------
530 working_dir=`eval echo ${sysconfdir}/working`
531 AC_ARG_WITH(working-dir,
532    [  --with-working-dir=PATH    specify path of Bacula working directory],
533    [
534        if test "x$withval" != "xno" ; then     
535               working_dir=$withval
536        fi
537    ]
538 )
539
540 AC_SUBST(working_dir)
541
542
543 # ------------------------------------------
544 # Where to place scriptdir (script files)
545 # ------------------------------------------
546 scriptdir=`eval echo ${sysconfdir}`
547 AC_ARG_WITH(scriptdir,
548    [  --with-scriptdir=PATH    specify path of Bacula scripts directory],
549    [
550        if test "x$withval" != "xno" ; then     
551               scriptdir=$withval
552        fi
553    ]
554 )
555
556 AC_SUBST(scriptdir)
557
558
559 # ------------------------------------------
560 # Where to send dump email
561 # ------------------------------------------
562 dump_email=root@localhost
563 AC_ARG_WITH(dump-email,
564    [  --with-dump-email=EMAIL    dump email address],
565    [
566        if test "x$withval" != "xno" ; then     
567               dump_email=$withval
568        fi
569    ]
570 )
571
572 AC_SUBST(dump_email)
573
574 # ------------------------------------------
575 # Where to send job email
576 # ------------------------------------------
577 job_email=root@localhost
578 AC_ARG_WITH(job-email,
579    [  --with-job-email=EMAIL     job output email address],
580    [
581        if test "x$withval" != "xno" ; then     
582               job_email=$withval
583        fi
584    ]
585 )
586
587 AC_SUBST(job_email)
588
589 # ------------------------------------------
590 # Where to find smtp host
591 # ------------------------------------------
592 smtp_host=localhost
593 AC_ARG_WITH(smtp_host,
594    [  --with-smtp-host=HOST              SMTP mail host address],
595    [
596        if test "x$withval" != "xno" ; then     
597               smtp_host=$withval
598        fi
599    ]
600 )
601
602 AC_SUBST(smtp_host)
603
604
605 # ------------------------------------
606 # Where to place pid files
607 # ------------------------------------
608 piddir=/var/run
609 AC_ARG_WITH(pid-dir,
610     [  --with-pid-dir=PATH               specify location of Bacula pid files],
611     [
612         if test "x$withval" != "xno" ; then     
613             piddir=$withval
614         fi
615     ]
616 )
617
618 AC_DEFINE_UNQUOTED(_PATH_BACULA_PIDDIR, "$piddir")
619 AC_SUBST(piddir)
620
621
622 # ------------------------------------
623 # Where to place subsys "lock file"
624 # ------------------------------------
625 subsysdir=/var/run/subsys
626 AC_ARG_WITH(subsys-dir,
627     [  --with-subsys-dir=PATH    specify location of Bacula subsys file],
628     [
629         if test "x$withval" != "xno" ; then     
630             subsysdir=$withval
631         fi
632     ]
633 )
634
635 AC_SUBST(subsysdir)
636
637
638
639 # ------------------------------------
640 # Where to start assigning ports
641 # ------------------------------------
642 baseport=9101
643 AC_ARG_WITH(baseport,
644     [  --with-baseport=PORT              specify base port address for daemons],
645     [
646         if test "x$withval" != "xno" ; then     
647              baseport=$withval
648         fi
649     ]
650 )
651
652 AC_SUBST(baseport)
653 dir_port=`expr $baseport`
654 fd_port=`expr $baseport + 1`
655 sd_port=`expr $fd_port + 1`
656
657 AC_SUBST(dir_port)
658 AC_SUBST(fd_port)
659 AC_SUBST(sd_port)
660
661
662 # ------------------------------------------
663 # Generate passwords
664 # ------------------------------------------
665 dir_password=
666 AC_ARG_WITH(dir-password,
667    [  --with-dir-password=PASSWORD   specify Director's password],
668    [
669        if test "x$withval" != "xno" ; then     
670            dir_password=$withval
671        fi
672    ]
673 )
674
675 if test "x$dir_password" = "x" ; then
676    if test "x$OPENSSL" = "xnone" ; then
677 #     key=`date | uuencode /dev/stdout | tr "\"@\\\`\\ \\=\\,\\(\\)\\#\\.\\!\\-$'" abcdefghijklmnopqrst | awk '{getline} {print} {exit}'`
678       key=`autoconf/randpass 33`
679    else
680       key=`openssl rand -base64 33`
681    fi
682    dir_password=$key
683 fi
684
685 fd_password=
686 AC_ARG_WITH(fd-password,
687    [  --with-fd-password=PASSWORD    specify Client's password],
688    [
689        if test "x$withval" != "xno" ; then     
690            fd_password=$withval
691        fi
692    ]
693 )
694
695 if test "x$fd_password" = "x" ; then
696    if test "x$OPENSSL" = "xnone" ; then
697 #     key=`date | uuencode /dev/stdout | tr "\"@\\\`\\ \\=\\,\\(\\)\\#\\.\\!\\-$'" tsrqponmlkjihgfedcba | awk '{getline} {print} {exit}'`
698       key=`autoconf/randpass 37`
699    else
700       key=`openssl rand -base64 33`
701    fi
702    fd_password=$key
703 fi
704
705 sd_password=
706 AC_ARG_WITH(sd-password,
707    [  --with-sd-password=PASSWORD    specify Storage daemon's password],
708    [
709        if test "x$withval" != "xno" ; then     
710            sd_password=$withval
711        fi
712    ]
713 )
714
715 if test "x$sd_password" = "x" ; then
716    if test "x$OPENSSL" = "xnone" ; then
717 #     key=`date | uuencode /dev/stdout | tr "\"@\\\`\\ \\=\\,\\(\\)\\#\\.\\!\\-$'" 123456789uvwxyzabcdef | awk '{getline} {print} {exit}'`
718       key=`autoconf/randpass 41`
719    else
720       key=`openssl rand -base64 33`
721    fi
722    sd_password=$key
723 fi
724
725
726 AC_SUBST(dir_password)
727 AC_SUBST(fd_password)
728 AC_SUBST(sd_password)
729
730
731
732
733 # ------------------------------------------------
734 # Bacula check for various SQL database engines
735 # ------------------------------------------------
736 BA_CHECK_MYSQL_DB
737
738
739 # ------------------------------------------------
740 # Bacula check for various SQL database engines
741 # ------------------------------------------------
742 BA_CHECK_SQLITE_DB
743
744 AC_SUBST(cats)
745 AC_SUBST(DB_NAME)
746
747 AC_DEFINE(PROTOTYPES)
748
749 dnl# --------------------------------------------------------------------------
750 dnl# Supply default CFLAGS, if not specified by `CFLAGS=flags ./configure'
751 dnl#
752 if test -z "$CFLAGS"; then
753     if test -z "$CCOPTS"; then
754         CCOPTS='-g -O2'
755 dnl>    if test "x$GCC" = xyes; then
756 dnl>        if test x$system = xLinux; then
757 dnl>            CCOPTS="$CCOPTS "'-O2 -fno-strength-reduce'
758 dnl>        fi
759 dnl>    fi
760     fi
761     CFLAGS="$CCOPTS"
762 fi
763
764
765 dnl A few others 
766 AC_EXEEXT
767
768 dnl See if we can use 64 bit file addresses
769 largefile_support="no"
770 AC_BAC_LARGEFILE
771
772
773 AC_PATH_XTRA
774
775 dnl# --------------------------------------------------------------------------
776 dnl# CHECKING FOR HEADER FILES
777 dnl# --------------------------------------------------------------------------
778 AC_CHECK_HEADERS( \
779         assert.h \
780         fcntl.h \
781         grp.h \
782         pwd.h \
783         libc.h \
784         limits.h \
785         stdarg.h \
786         stdlib.h \
787         stdint.h \
788         string.h \
789         termios.h \
790         unistd.h \
791         sys/byteorder.h \
792         sys/ioctl.h \
793         sys/select.h \
794         sys/sockio.h \
795         sys/time.h \
796         sys/socket.h \
797         arpa/nameser.h \
798         resolv.h \
799         mtio.h \
800         sys/mtio.h \
801 )
802 AC_HEADER_STDC
803 AC_HEADER_MAJOR
804 AC_HEADER_DIRENT
805 AC_HEADER_STAT
806 AC_HEADER_SYS_WAIT
807 AC_HEADER_TIME
808 AC_STRUCT_ST_BLKSIZE
809 AC_STRUCT_ST_BLOCKS
810 AC_STRUCT_TIMEZONE
811
812 dnl# --------------------------------------------------------------------------
813 dnl# Check for utime.h structure 
814 dnl# --------------------------------------------------------------------------
815 AC_CACHE_CHECK(for utime.h, ba_cv_header_utime_h,
816   [AC_TRY_COMPILE([
817 #include <sys/types.h>
818 #include <utime.h>], [struct utimbuf foo],
819   ba_cv_header_utime_h=yes, ba_cv_header_utime_h=no)])
820 test $ba_cv_header_utime_h = yes && AC_DEFINE(HAVE_UTIME_H)
821
822 dnl# --------------------------------------------------------------------------
823 dnl# Check for socklen_t
824 dnl# --------------------------------------------------------------------------
825 AC_CACHE_CHECK(for socklen_t, ba_cv_header_socklen_t,
826   [AC_TRY_COMPILE([
827 #include <sys/types.h>
828 #include <sys/socket.h>],
829   [socklen_t x],
830   ba_cv_header_socklen_t=yes, ba_cv_header_socklen_t=no)])
831 test $ba_cv_header_socklen_t = yes && AC_DEFINE(HAVE_SOCKLEN_T)
832
833 dnl# --------------------------------------------------------------------------
834 dnl# Check for bigendian
835 dnl# --------------------------------------------------------------------------
836 AC_CACHE_CHECK([for bigendian], ba_cv_bigendian,
837   [AC_TRY_RUN(
838     [main(){long a=1L; char *p=(char *)&a; exit(*p);}],
839     [ba_cv_bigendian=yes], 
840     [ba_cv_bigendian=no], 
841     [ba_cv_bigendian=no])])
842 test $ba_cv_bigendian = yes && AC_DEFINE(HAVE_BIGENDIAN)
843
844
845 AC_C_CONST
846
847
848 dnl# --------------------------------------------------------------------------
849 dnl# CHECKING FOR FILESYSTEM TYPE
850 dnl# --------------------------------------------------------------------------
851 AC_MSG_CHECKING(how to get filesystem type)
852 fstype=no
853 # The order of these tests is important.
854 AC_TRY_CPP([#include <sys/statvfs.h>
855 #include <sys/fstyp.h>], AC_DEFINE(FSTYPE_STATVFS) fstype=SVR4)
856 if test $fstype = no; then
857 AC_TRY_CPP([#include <sys/statfs.h>
858 #include <sys/fstyp.h>], AC_DEFINE(FSTYPE_USG_STATFS) fstype=SVR3)
859 fi
860 if test $fstype = no; then
861 AC_TRY_CPP([#include <sys/statfs.h>
862 #include <sys/vmount.h>], AC_DEFINE(FSTYPE_AIX_STATFS) fstype=AIX)
863 fi
864 if test $fstype = no; then  
865 AC_TRY_CPP([#include <mntent.h>], AC_DEFINE(FSTYPE_MNTENT) fstype=4.3BSD)
866 fi
867 if test $fstype = no; then  
868 AC_EGREP_HEADER(f_type;, sys/mount.h, AC_DEFINE(FSTYPE_STATFS) fstype=4.4BSD/OSF1)
869 fi
870 if test $fstype = no; then  
871 AC_TRY_CPP([#include <sys/mount.h>
872 #include <sys/fs_types.h>], AC_DEFINE(FSTYPE_GETMNT) fstype=Ultrix)
873 fi
874 AC_MSG_RESULT($fstype)
875
876 dnl# --------------------------------------------------------------------------
877 dnl# CHECKING FOR TYPEDEFS, STRUCTURES, AND COMPILER CHARACTERISTICS.
878 dnl# --------------------------------------------------------------------------
879 AC_TYPE_SIGNAL
880 SIGNAL_CHECK
881 AC_TYPE_MODE_T
882 AC_TYPE_UID_T
883 AC_TYPE_SIZE_T
884 AC_TYPE_PID_T
885 AC_TYPE_OFF_T
886 AC_CHECK_TYPE(ino_t, unsigned long)
887 AC_CHECK_TYPE(dev_t, unsigned long)
888 AC_CHECK_TYPE(daddr_t, long)
889 AC_CHECK_TYPE(major_t, int)
890 AC_CHECK_TYPE(minor_t, int)
891 AC_CHECK_TYPE(ssize_t, int)
892 AC_STRUCT_ST_BLOCKS
893 AC_STRUCT_ST_RDEV
894 AC_STRUCT_TM
895 AC_C_CONST
896
897
898 AC_CHECK_SIZEOF(char, 1)
899 AC_CHECK_SIZEOF(short int, 2)
900 AC_CHECK_SIZEOF(int, 4)
901 AC_CHECK_SIZEOF(long int, 4)
902 AC_CHECK_SIZEOF(long long int, 8)
903 AC_CHECK_SIZEOF(int *, 4)
904
905 # Check for sys/types.h types
906 AC_CACHE_CHECK([for u_int type], ac_cv_have_u_int, [
907     AC_TRY_COMPILE(
908         [ #include <sys/types.h> ], 
909         [ u_int a; a = 1;], 
910         [ ac_cv_have_u_int="yes" ],
911         [ ac_cv_have_u_int="no" ]
912     )
913 ])
914 if test "x$ac_cv_have_u_int" = "xyes" ; then
915    AC_DEFINE(HAVE_U_INT)
916    have_u_int=1
917 fi
918
919 AC_CACHE_CHECK([for intmax_t type], ac_cv_have_intmax_t, [
920    AC_TRY_COMPILE(
921       [ #include <sys/types.h> ], 
922       [ intmax_t a; a = 1;], 
923       [ ac_cv_have_intmax_t="yes" ],
924       [ 
925          AC_TRY_COMPILE(
926             [ #include <stdint.h> ], 
927             [ intmax_t a; a = 1;], 
928             [ ac_cv_have_intmax_t="yes" ],
929             [ ac_cv_have_intmax_t="no" ]
930          )
931       ]
932    )        
933
934 ])
935 if test "x$ac_cv_have_intmax_t" = "xyes" ; then
936    AC_DEFINE(HAVE_INTMAX_T)
937    have_intmax_t=1
938 fi
939
940
941 AC_CACHE_CHECK([for u_intmax_t type], ac_cv_have_u_intmax_t, [
942    AC_TRY_COMPILE(
943       [ #include <sys/types.h> ], 
944       [ u_intmax_t a; a = 1;], 
945       [ ac_cv_have_u_intmax_t="yes" ],
946       [ 
947          AC_TRY_COMPILE(
948             [ #include <stdint.h> ], 
949             [ u_intmax_t a; a = 1;], 
950             [ ac_cv_have_u_intmax_t="yes" ],
951             [ ac_cv_have_u_intmax_t="no" ]
952          )
953       ]
954    )
955 ])
956 if test "x$ac_cv_have_u_intmax_t" = "xyes" ; then
957    AC_DEFINE(HAVE_U_INTMAX_T)
958    have_u_intmax_t=1
959 fi
960
961
962 AC_CACHE_CHECK([for intXX_t types], ac_cv_have_intxx_t, [
963    AC_TRY_COMPILE(
964       [ #include <sys/types.h> ], 
965       [ int8_t a; int16_t b; int32_t c; a = b = c = 1;], 
966       [ ac_cv_have_intxx_t="yes" ],
967       [ ac_cv_have_intxx_t="no" ]
968    )
969 ])
970 if test "x$ac_cv_have_intxx_t" = "xyes" ; then
971    AC_DEFINE(HAVE_INTXX_T)
972    have_intxx_t=1
973 fi
974         
975 AC_CACHE_CHECK([for int64_t type], ac_cv_have_int64_t, [
976    AC_TRY_COMPILE(
977       [ #include <sys/types.h> ], 
978       [ int64_t a; a = 1;], 
979       [ ac_cv_have_int64_t="yes" ],
980       [ ac_cv_have_int64_t="no" ]
981    )
982 ])
983 if test "x$ac_cv_have_int64_t" = "xyes" ; then
984    AC_DEFINE(HAVE_INT64_T)
985    have_int64_t=1
986 fi
987         
988 AC_CACHE_CHECK([for u_intXX_t types], ac_cv_have_u_intxx_t, [
989    AC_TRY_COMPILE(
990       [ #include <sys/types.h> ], 
991       [ u_int8_t a; u_int16_t b; u_int32_t c; a = b = c = 1;], 
992       [ ac_cv_have_u_intxx_t="yes" ],
993       [ ac_cv_have_u_intxx_t="no" ]
994    )
995 ])
996 if test "x$ac_cv_have_u_intxx_t" = "xyes" ; then
997    AC_DEFINE(HAVE_U_INTXX_T)
998    have_u_intxx_t=1
999 fi
1000
1001 AC_CACHE_CHECK([for u_int64_t types], ac_cv_have_u_int64_t, [
1002    AC_TRY_COMPILE(
1003       [ #include <sys/types.h> ], 
1004       [ u_int64_t a; a = 1;], 
1005       [ ac_cv_have_u_int64_t="yes" ],
1006       [ ac_cv_have_u_int64_t="no" ]
1007    )
1008 ])
1009 if test "x$ac_cv_have_u_int64_t" = "xyes" ; then
1010    AC_DEFINE(HAVE_U_INT64_T)
1011    have_u_int64_t=1
1012 fi
1013
1014 if (test -z "$have_u_intxx_t" || test -z "$have_intxx_t" && \
1015            test "x$ac_cv_header_sys_bitypes_h" = "xyes")
1016 then
1017    AC_MSG_CHECKING([for intXX_t and u_intXX_t types in sys/bitypes.h])
1018    AC_TRY_COMPILE(
1019       [ #include <sys/bitypes.h>  ], 
1020       [ int8_t a; int16_t b; int32_t c;
1021         u_int8_t e; u_int16_t f; u_int32_t g;
1022         a = b = c = e = f = g = 1;  ], 
1023       [ AC_DEFINE(HAVE_U_INTXX_T)
1024         AC_DEFINE(HAVE_INTXX_T)
1025         AC_DEFINE(HAVE_SYS_BITYPES_H)
1026         AC_MSG_RESULT(yes) ],
1027       [ AC_MSG_RESULT(no)]
1028    ) 
1029 fi
1030
1031 if test -z "$have_u_intxx_t" ; then
1032    AC_CACHE_CHECK([for uintXX_t types], ac_cv_have_uintxx_t, [
1033       AC_TRY_COMPILE(
1034          [ #include <sys/types.h> ], 
1035          [ uint8_t a; uint16_t b; 
1036            uint32_t c; a = b = c = 1; ], 
1037          [ ac_cv_have_uintxx_t="yes" ],
1038          [ ac_cv_have_uintxx_t="no" ]
1039       )
1040    ])
1041    if test "x$ac_cv_have_uintxx_t" = "xyes" ; then
1042       AC_DEFINE(HAVE_UINTXX_T)
1043    fi
1044 fi
1045
1046
1047 dnl# --------------------------------------------------------------------------
1048 dnl# CHECKING FOR LIBRARY FUNCTIONS
1049 dnl# --------------------------------------------------------------------------
1050 AC_CHECK_FUNCS( \
1051         fork \
1052         getcwd \
1053         gethostname \
1054         getpid \
1055         gettimeofday \
1056         setpgid \
1057         setpgrp \
1058         setsid \
1059         signal \
1060         strerror \
1061         strncmp \
1062         strncpy \
1063         vfprintf \
1064         ,,
1065         [echo 'configure: cannot find needed function.'; exit 1]
1066 )
1067
1068 AC_CHECK_FUNCS(fchdir, [AC_DEFINE(HAVE_FCHDIR)])
1069 AC_CHECK_FUNCS(strtoll, [AC_DEFINE(HAVE_STRTOLL)])
1070
1071 AC_CHECK_FUNCS(chflags) 
1072
1073 AC_CHECK_FUNCS(snprintf vsnprintf gethostid getdomainname)
1074
1075 dnl# --------------------------------------------------------------------------
1076 dnl# CHECKING FOR THREAD SAFE FUNCTIONS
1077 dnl# --------------------------------------------------------------------------
1078 AC_CHECK_FUNCS(localtime_r readdir_r strerror_r gethostbyname_r)
1079
1080 # If resolver functions are not in libc check for -lnsl or -lresolv.
1081 AC_CHECK_FUNC(gethostbyname_r,
1082     AC_MSG_RESULT(using libc's resolver),
1083     AC_CHECK_LIB(nsl,gethostbyname_r)
1084     AC_CHECK_LIB(resolv,gethostbyname_r))
1085
1086
1087 # Find where sockets are (especially for Solaris)
1088 AC_CHECK_FUNC(socket,
1089     AC_MSG_RESULT(using libc's socket),
1090     AC_CHECK_LIB(xnet,socket)
1091     AC_CHECK_LIB(socket,socket)
1092     AC_CHECK_LIB(inet,socket))
1093
1094 AC_CHECK_FUNCS(inet_pton, [AC_DEFINE(HAVE_INET_PTON)])
1095
1096 AC_FUNC_STRFTIME
1097 AC_FUNC_VPRINTF
1098 AC_FUNC_ALLOCA
1099 AC_FUNC_GETMNTENT
1100 AC_FUNC_CLOSEDIR_VOID
1101 AC_FUNC_SETPGRP                       dnl check for BSD setpgrp.
1102 AC_FUNC_FNMATCH
1103
1104
1105 dnl# FreeBSD needs to link libxpg4
1106 AC_CHECK_LIB(xpg4, setlocale, [LIBS="$LIBS -lxpg4"])
1107
1108
1109 AC_CHECK_LIB(sun, getpwnam)
1110
1111 AC_CHECK_HEADERS(zlib.h)
1112 AC_CHECK_LIB(z, deflate, [FDLIBS="-lz"])
1113 have_zlib=no
1114 if test x$FDLIBS = x-lz; then
1115   AC_DEFINE(HAVE_LIBZ)
1116   have_zlib=yes
1117 fi
1118
1119 dnl Check for pthread libraries
1120 PTHREAD_LIB=""
1121 AC_CHECK_LIB(pthread, pthread_create, PTHREAD_LIB="-lpthread",
1122         [AC_CHECK_LIB(pthreads, pthread_create, PTHREAD_LIB="-lpthreads",
1123             [AC_CHECK_LIB(c_r, pthread_create, PTHREAD_LIB="-lc_r",
1124                 [AC_CHECK_FUNC(pthread_create)]
1125             )]
1126         )]
1127 )
1128
1129 AC_SUBST(FDLIBS)
1130 AC_DEFINE(FDLIBS)
1131
1132
1133 CFLAGS=${CFLAGS--O}
1134 LDFLAGS=${LDFLAGS--O}
1135 DB_LIBS="${SQL_LFLAGS}"
1136
1137 CPPFLAGS="$CPPFLAGS"
1138 AC_SUBST(DEBUG)
1139 AC_SUBST(DINCLUDE)
1140 AC_SUBST(CFLAGS)
1141 AC_SUBST(CPPFLAGS)
1142 AC_SUBST(LDFLAGS)
1143 AC_SUBST(X_CFLAGS)
1144 AC_SUBST(LIBS)
1145 AC_SUBST(DLIB)
1146 AC_SUBST(DB_LIBS)
1147 AC_SUBST(X_LIBS)
1148 AC_SUBST(X_EXTRA_LIBS)
1149 AC_SUBST(WCFLAGS)
1150 AC_SUBST(WLDFLAGS)
1151
1152 dnl# extra configurable objects
1153 OBJLIST=
1154 AC_SUBST(OBJLIST)
1155
1156 lld="lld"
1157 llu="llu"
1158
1159 WCFLAGS=
1160 WLDFLAGS=
1161
1162 #
1163 # Finally we set appropriate distribution specific
1164 #  variables and defaults
1165 #
1166 # PFILES are platform specific files
1167 PFILES="platforms/Makefile"
1168 PSCMD="ps -e"
1169 WIN32=
1170 hostname=`uname -n`
1171 case "$DISTNAME" in
1172 aix)
1173         DISTVER=`uname -r`
1174         PSCMD="ps -e -o pid,comm"
1175         PFILES="${PFILES} \
1176            platforms/aix/Makefile"
1177         TAPEDRIVE="/dev/rmt0.1" 
1178   ;;      
1179 alpha)
1180         DISTVER=`uname -r`
1181         PTHREAD_LIB="-lpthread -lexc"
1182         if test "${CC}" = "gcc" ; then
1183            lld="lld"
1184            llu="llu"
1185         else
1186            lld="ld"
1187            llu="lu"
1188         fi
1189         TAPEDRIVE="/dev/nrmt0"
1190   ;;
1191 bsdi)
1192         DISTVER=`uname -a |awk '{print $3}'`
1193         TAPEDRIVE="/dev/nrmt0"
1194         PTHREAD_LIB="-pthread"
1195         CFLAGS="${CFLAGS} -pthread"
1196         PSCMD="ps -x -o pid,command"
1197         lld="qd"
1198         llu="qu"
1199         PFILES="${PFILES} \
1200             platforms/bsdi/Makefile \
1201             platforms/bsdi/bacula-fd \
1202             platforms/bsdi/bacula-sd \
1203             platforms/bsdi/bacula-dir"
1204         hostname=`hostname -s`
1205         largefile_support="yes"
1206   ;;
1207 cygwin)
1208         DISTVER=`uname -a |awk '{print $3}'`
1209         TAPEDRIVE="/dev/nrst0"
1210         WIN32=win32
1211         WCFLAGS="-mwindows"
1212         WLDFLAGS="-mwindows"
1213   ;;
1214 darwin)
1215         DISTVER=`uname -r`
1216         TAPEDRIVE="/dev/nst0"
1217         PSCMD="ps -e -o pid,command"
1218         hostname=`hostname -s`
1219         PFILES="${PFILES} \
1220            platforms/darwin/Makefile"
1221   ;;
1222 debian)
1223         DISTVER=`cat /etc/debian_version`
1224         TAPEDRIVE="/dev/nrst0"
1225         PSCMD="ps -e -o pid,command"
1226         hostname=`hostname -s`
1227   ;;
1228 freebsd)
1229         DISTVER=`uname -a |awk '{print $3}'`
1230         VER=`echo $DISTVER | cut -c 1`
1231         if test x$VER = x4 ; then
1232            PTHREAD_LIB="-pthread"
1233            CFLAGS="${CFLAGS} -pthread"
1234         fi
1235         lld="qd"
1236         llu="qu"
1237         TAPEDRIVE="/dev/nrsa0"
1238         PSCMD="ps -x -o pid,command"
1239         PFILES="${PFILES} \
1240             platforms/freebsd/Makefile \
1241             platforms/freebsd/bacula-fd \
1242             platforms/freebsd/bacula-sd \
1243             platforms/freebsd/bacula-dir"
1244         hostname=`hostname -s`
1245         largefile_support="yes"
1246   ;;
1247 hpux)
1248         DISTVER=`uname -r`
1249         TAPEDRIVE="/dev/rmt/0hnb"
1250   ;;
1251 irix)
1252         DISTVER=`uname -r`
1253         TAPEDRIVE="/dev/rmt/0cbn"
1254         PSCMD="ps -e -o pid,comm"
1255         PFILES="${PFILES} \
1256             platforms/irix/Makefile \
1257             platforms/irix/bacula-fd \
1258             platforms/irix/bacula-sd \
1259             platforms/irix/bacula-dir"
1260   ;;
1261 netbsd)
1262         DISTVER=`uname -a |awk '{print $3}'`
1263         lld="qd"
1264         llu="qu"
1265         TAPEDRIVE="/dev/nrst0"
1266         PSCMD="ps -a -o pid,command"
1267         PTHREAD_LIB="-pthread"
1268         CFLAGS="${CFLAGS} -pthread"
1269   ;;
1270 openbsd)
1271         DISTVER=`uname -a |awk '{print $3}'`
1272         lld="qd"
1273         llu="qu"
1274         TAPEDRIVE="/dev/nrst0"
1275         PSCMD="ps -a -o pid,command"
1276         PTHREAD_LIB="-pthread"
1277         CFLAGS="${CFLAGS} -pthread"
1278         PFILES="${PFILES} \
1279             platforms/openbsd/Makefile \
1280             platforms/openbsd/bacula-fd \
1281             platforms/openbsd/bacula-sd \
1282             platforms/openbsd/bacula-dir"
1283   ;;
1284 redhat)
1285         DISTVER=`cat /etc/redhat-release | grep release |\
1286            cut -f 5 -d ' '`
1287         TAPEDRIVE="/dev/nst0"
1288         PSCMD="ps -e -o pid,command"
1289         PFILES="${PFILES} \
1290             platforms/redhat/Makefile \
1291             platforms/redhat/bacula-fd \
1292             platforms/redhat/bacula-sd \
1293             platforms/redhat/bacula-dir \
1294             platforms/redhat/bacula.spec \
1295             "
1296         hostname=`hostname -s`
1297   ;;
1298 mandrake)
1299         DISTVER=`cat /etc/mandrake-release | grep release |\
1300            cut -f 5 -d ' '`
1301         TAPEDRIVE="/dev/nst0"
1302         PSCMD="ps -e -o pid,command"
1303         PFILES="${PFILES} \
1304             platforms/mandrake/Makefile \
1305             platforms/mandrake/bacula-fd \
1306             platforms/mandrake/bacula-sd \
1307             platforms/mandrake/bacula-dir \
1308             platforms/mandrake/bacula.spec \
1309             "
1310         hostname=`hostname -s`
1311   ;;
1312 gentoo)
1313         DISTVER=`awk '/version / {print $5}' < /etc/gentoo-release`
1314         TAPEDRIVE="/dev/nst0"
1315         PSCMD="ps -e -o pid,command"
1316         PFILES="${PFILES} \
1317             platforms/gentoo/Makefile \
1318             platforms/gentoo/bacula-fd \
1319             platforms/gentoo/bacula-sd \
1320             platforms/gentoo/bacula-dir"
1321         hostname=`hostname -s`
1322   ;;
1323
1324 slackware)
1325         DISTVER=`cat /etc/slackware-version`
1326         TAPEDRIVE="/dev/nst0"
1327         PSCMD="ps -e -o pid,command"
1328         hostname=`hostname -s`
1329   ;;
1330 solaris)
1331         DISTVER=`uname -r`
1332         TAPEDRIVE="/dev/rmt/0cbn"
1333         PSCMD="ps -e -o pid,comm"
1334         PFILES="${PFILES} \
1335             platforms/solaris/Makefile \
1336             platforms/solaris/bacula-fd \
1337             platforms/solaris/bacula-sd \
1338             platforms/solaris/bacula-dir"
1339         if test x$DISTVER = x5.6 ; then
1340             AC_DEFINE(HAVE_OLD_SOCKOPT)
1341         fi
1342   ;;
1343 suse)
1344         DISTVER=`cat /etc/SuSE-release |grep VERSION|\
1345             cut -f 3 -d ' '`
1346         TAPEDRIVE="/dev/nst0"
1347         PSCMD="ps -e -o pid,command"
1348         hostname=`hostname -s`
1349   ;;
1350 suse5)
1351         DISTNAME=suse
1352         DISTVER=5.x
1353         TAPEDRIVE="/dev/nst0"
1354         PSCMD="ps -e -o pid,command"
1355         hostname=`hostname -s`
1356   ;;
1357 unknown)
1358         DISTVER=unknown
1359         TAPEDRIVE="/dev/nst0"
1360   ;;
1361 *)
1362   echo " === Something went wrong. Unknown DISTNAME $DISTNAME ==="
1363   ;;
1364 esac  
1365
1366 AC_SUBST(hostname)
1367
1368 LIBS="$PTHREAD_LIB $LIBS"
1369
1370 AC_DEFINE_UNQUOTED(lld, "$lld")
1371 AC_DEFINE_UNQUOTED(llu, "$llu")
1372 AC_SUBST(TAPEDRIVE)
1373 AC_SUBST(PSCMD)
1374 AC_SUBST(WIN32)
1375 AC_SUBST(DISTNAME)
1376 AC_SUBST(DISTVER)
1377
1378 dnl# common parts of the Makefile
1379 MCOMMON=./autoconf/Make.common
1380 AC_SUBST_FILE(MCOMMON)
1381
1382 dnl# Insanity check
1383 if test "x${subsysdir}" = "x${sbindir}" ; then
1384    echo " "
1385    echo " "
1386    echo "You have set both --sbindir and --with-subsys-dir"
1387    echo "  equal to: ${subsysdir} "
1388    echo "This is not permitted. Please reconfigure."
1389    echo " "
1390    echo "Aborting configuration ..."
1391    echo " "
1392    echo " "
1393    exit 1
1394 fi 
1395
1396 AC_OUTPUT([autoconf/Make.common \
1397            Makefile \
1398            rescue/Makefile \
1399            rescue/linux/Makefile \
1400            rescue/freebsd/Makefile \
1401            rescue/solaris/Makefile \
1402            scripts/startmysql \
1403            scripts/stopmysql \
1404            scripts/btraceback \
1405            scripts/startit \
1406            scripts/stopit \
1407            scripts/console \
1408            scripts/gconsole \
1409            scripts/bacula \
1410            scripts/fd \
1411            scripts/Makefile \
1412            scripts/logrotate \
1413            scripts/bacula.desktop.gnome1 \
1414            scripts/bacula.desktop.gnome2 \
1415            scripts/mtx-changer \
1416            doc/Makefile \
1417            src/Makefile \
1418            src/host.h \
1419            src/console/Makefile \
1420            src/console/console.conf \
1421            src/gnome-console/Makefile \
1422            src/gnome-console/gnome-console.conf \
1423            src/tconsole/Makefile \
1424            src/dird/Makefile \
1425            src/dird/bacula-dir.conf \
1426            src/lib/Makefile \
1427            src/stored/Makefile \
1428            src/stored/bacula-sd.conf \
1429            src/filed/Makefile \
1430            src/filed/bacula-fd.conf \
1431            src/filed/win32/Makefile \
1432            src/cats/Makefile \
1433            src/cats/make_catalog_backup \
1434            src/cats/delete_catalog_backup \
1435            src/cats/alter_mysql_tables \
1436            src/cats/make_mysql_tables \
1437            src/cats/drop_mysql_tables \
1438            src/cats/create_mysql_database \
1439            src/cats/grant_mysql_privileges \
1440            src/cats/alter_sqlite_tables \
1441            src/cats/make_sqlite_tables \
1442            src/cats/drop_sqlite_tables \
1443            src/cats/create_sqlite_database \
1444            src/cats/sqlite \
1445            src/cats/mysql \
1446            src/cats/create_bdb_database \
1447            src/cats/make_bdb_tables \
1448            src/cats/drop_bdb_tables \
1449            src/cats/make_bacula_tables \
1450            src/cats/drop_bacula_tables \
1451            src/findlib/Makefile \
1452            src/tools/Makefile \
1453            $PFILES ],  
1454           [(echo "Doing make of dependencies"; make depend;) ]
1455 )
1456
1457 cd scripts
1458 chmod 755 startmysql stopmysql bacula startit stopit btraceback mtx-changer
1459 chmod 755 console gconsole mtx-changer
1460 cd ..
1461 chmod 755 src/cats/make_mysql_tables src/cats/drop_mysql_tables
1462 chmod 755 src/cats/make_test_tables src/cats/drop_test_tables
1463 chmod 755 src/cats/create_mysql_database 
1464 chmod 755 src/cats/make_catalog_backup src/cats/delete_catalog_backup
1465 chmod 755 src/cats/alter_mysql_tables
1466 chmod 755 src/cats/grant_mysql_privileges
1467 chmod 755 src/cats/make_sqlite_tables src/cats/drop_sqlite_tables 
1468 chmod 755 src/cats/make_bacula_tables src/cats/drop_bacula_tables 
1469 chmod 755 src/cats/create_sqlite_database
1470 chmod 755 src/cats/alter_sqlite_tables
1471 chmod 755 src/cats/sqlite
1472 chmod 755 src/cats/make_bdb_tables src/cats/drop_bdb_tables 
1473 chmod 755 src/cats/create_bdb_database
1474
1475 if test "x$ac_cv_sys_largefile_CFLAGS" != "xno" ; then
1476    largefile_support="yes"
1477 fi
1478
1479 #
1480 # A whole lot of hand springs to get the compiler version.
1481 #  This is because gcc changed the output in version 3.0
1482 #
1483 CCVERSION=`${CC} --version | tr '\n' ' ' | cut -f 3 -d ' '`
1484 if test "x${CCVERSION}" = "x" ; then
1485   CCVERSION=`${CC} --version | tr '\n' ' ' | cut -f 1 -d ' '`
1486 fi
1487 CXXVERSION=`${CXX} --version | tr '\n' ' ' | cut -f 3 -d ' '`
1488 if test x"${CXXVERSION}" = x ; then
1489   CXXVERSION=`${CXX} --version | tr '\n' ' ' | cut -f 1 -d ' '`
1490 fi
1491
1492 if test "x${subsysdir}" = "x${sbindir}" ; then
1493    echo " "
1494    echo " "
1495    echo "You have set --sbindir and --with-subsys-dir"
1496    echo "  both equal to: ${subsysdir} "
1497    echo "  This is not permitted. Please reconfigure."
1498    echo "Aborting configuration ..."
1499    echo " "
1500    echo " "
1501    exit 1
1502 fi 
1503
1504 echo "
1505 Configuration on `date`:
1506
1507   Host:                       $host -- ${DISTNAME} ${DISTVER}
1508   Bacula version:             ${VERSION} (${DATE})
1509   Source code location:       ${srcdir}
1510   Install binaries:           ${sbindir}
1511   Install config files:       ${sysconfdir}
1512   Scripts directory:          ${scriptdir}
1513   Working directory:          ${working_dir}
1514   PID directory:              ${piddir}
1515   Subsys directory:           ${subsysdir}
1516   C Compiler:                 ${CC} ${CCVERSION}
1517   C++ Compiler:               ${CXX} ${CXXVERSION}
1518   Compiler flags:             ${WCFLAGS} ${CFLAGS} 
1519   Linker flags:               ${WLDFLAGS} ${LDFLAGS}
1520   Libraries:                  ${LIBS}
1521   Statically Linked Tools:    ${support_static_tools}
1522   Statically Linked FD:       ${support_static_fd}
1523   Statically Linked SD:       ${support_static_sd}
1524   Statically Linked DIR:      ${support_static_dir}
1525   Statically Linked CONS:     ${support_static_cons}
1526   Database type:              ${db_name}
1527   Database lib:               ${DB_LIBS}
1528
1529   Job Output Email:           ${job_email}
1530   Traceback Email:            ${dump_email}
1531   SMTP Host Address:          ${smtp_host}
1532   Director Port               ${dir_port}
1533   File daemon Port            ${fd_port}
1534   Storage daemon Port         ${sd_port}
1535   SQL binaries Directory      ${SQL_BINDIR}
1536
1537   Large file support:         $largefile_support
1538   readline support:           ${got_readline} ${PRTREADLINE_SRC}
1539   TCP Wrappers support:       ${TCPW_MSG}
1540   ZLIB support:               ${have_zlib}
1541   enable-smartalloc:          ${support_smartalloc} 
1542   enable-gnome:               ${support_gnome}
1543   client-only:                ${build_client_only}
1544
1545   " > config.out
1546
1547 cat config.out
1548
1549 # old stuff
1550 # cweb support:               ${got_cweb} ${CWEB_SRC}
1551 # gmp support:                ${got_gmp} ${GMP_SRC}