3 dnl# Process this file with autoconf to produce a configure script.
11 AC_CONFIG_AUX_DIR(${BUILD_DIR}/autoconf)
12 AC_CONFIG_HEADER(src/config.h:autoconf/config.h.in)
14 dnl require a recent autoconf
18 dnl search for true and false programs.
19 AC_PATH_PROGS(TRUEPRG, true, :)
20 AC_PATH_PROGS(FALSEPRG, false, :)
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`
31 echo "configuring for bacula $VERSION ($DATE)"
34 dnl -------------------------------------------------------
35 dnl# Check for compiler.
36 dnl ------------------------------------------------------
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.
48 dnl -------------------------------------------------------
49 dnl# Check for programs.
50 dnl ------------------------------------------------------
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)
67 test -n "$ARFLAG" || ARFLAGS="cr"
74 AC_SUBST(LOCAL_CFLAGS)
75 AC_SUBST(LOCAL_LDFLAGS)
80 dnl --------------------------------------------------
81 dnl Bacula OP Sys determination (see aclocal.m4)
82 dnl --------------------------------------------------
85 # -----------------------------------------------------------
86 dnl Bacula OPSys Distribution determination (see aclocal.m4)
87 # ----------------------------------------------------------
88 BA_CHECK_OPSYS_DISTNAME
90 # -----------------------------------------------------------
91 dnl Check for gnome stuff for gnome-console
92 # ----------------------------------------------------------
93 AM_ACLOCAL_INCLUDE(gnome-macros)
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
107 sysconfdir=`eval echo ${sysconfdir}`
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}
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
122 sbindir=`eval echo ${sbindir}`
124 # ------------------------------------------------------------------
125 # All list of languages for which a translation exist. Each
126 # language is separated by a space.
127 # ------------------------------------------------------------------
130 AC_PATH_PROGS(MSGFMT, msgfmt, no)
131 if test "$MSGFMT" = "no"
133 echo 'msgfmt program not found, disabling NLS !'
135 USE_INCLUDED_LIBINTL=no
143 support_smartalloc=yes
146 support_static_tools=no
149 support_static_dir=no
150 support_static_cons=no
156 dnl# --------------------------------------------------------------------------
157 dnl# CHECKING COMMAND LINE OPTIONS
158 dnl# --------------------------------------------------------------------------
160 # -------------------------------------------
161 # gnome (default off)
162 # -------------------------------------------
164 [ --enable-gnome enable build of gnome-console GUI [disabled]],
165 [if test x$enableval = xyes; then
170 if test x$support_gnome = xyes; then
171 abc=`$PKGCONFIG --exists libgnomeui-2.0`
173 if test $pkg = 0; then
174 GNOME_INCLUDEDIR=`pkg-config --cflags-only-I libgnomeui-2.0`
175 GNOMEUI_LIBS=`pkg-config --libs-only-l 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)
182 GNOME_DIR=src/gnome2-console
186 GNOME_DIR=src/gnome-console
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
201 if test x$support_smartalloc = xyes; then
202 AC_DEFINE(SMARTALLOC)
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
215 if test x$support_static_tools = xyes; then
216 TTOOL_LDFLAGS="-static"
218 AC_SUBST(TTOOL_LDFLAGS)
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
230 if test x$support_static_fd = xyes; then
231 STATIC_FD="static-bacula-fd"
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
245 if test x$support_static_sd = xyes; then
246 STATIC_SD="static-bacula-sd"
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
260 if test x$support_static_dir = xyes; then
261 STATIC_DIR="static-bacula-dir"
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
275 if test x$support_static_cons = xyes; then
276 STATIC_CONS="static-bconsole"
278 AC_SUBST(STATIC_CONS)
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
288 if test x$build_client_only = xno; then
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]
302 [if test x$enableval = xno; then
308 if test x$support_readline = xyes; then
309 AC_ARG_WITH(readline,
310 [ --with-readline=DIR specify readline library directory],
312 case "$with_readline" in
315 if test "$with_readline" != "yes"; then
316 CONS_INC="-I${with_readline}"
317 CONS_LDFLAGS="-L$with_readline"
319 with_readline="/usr/include/readline"
321 AC_CHECK_HEADER(${with_readline}/readline.h,
322 [ AC_DEFINE(HAVE_READLINE)
323 CONS_LIBS="-lreadline -ltermcap"
326 [ AC_MSG_ERROR([*** readline library missing])
332 # check for standard readline library
333 AC_CHECK_HEADER(/usr/include/readline/readline.h,
334 [ AC_DEFINE(HAVE_READLINE)
336 CONS_INC="-I/usr/include/readline"
337 CONS_LIBS="-lreadline -ltermcap"
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)
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"
348 [ AC_MSG_ERROR([*** readline library missing])
358 AC_SUBST(CONS_LDFLAGS)
359 AC_SUBST(READLINE_SRC)
361 # Minimal stuff for readline Makefile configuration
368 AC_CHECK_FUNCS(strcasecmp select setenv putenv tcgetattr setlocale lstat lchown)
369 AC_CHECK_FUNCS(nanosleep)
371 AC_CHECK_HEADERS(varargs.h)
373 # End of readline stuff
374 # -----------------------------------------------------------------------
377 # ---------------------------------------------------
378 # Check for GMP support/directory
379 # ---------------------------------------------------
383 # [ --with-gmp[=DIR] Specify gmp library directory],
385 # case "$with_gmp" in
388 # if test "$with_gmp" != "yes"; then
389 # GMP_INC="-I$with_gmp"
391 # GMP_LDFLAGS="-L$with_gmp"
393 # with_gmp="/usr/include"
395 # AC_CHECK_HEADER($with_gmp/gmp.h,
396 # [ AC_MSG_RESULT(yes)
397 # AC_DEFINE(HAVE_GMP)
401 # [ AC_MSG_ERROR([*** gmp library missing])
407 # # check for standard gmp library
408 # AC_CHECK_HEADER(/usr/include/gmp.h,
409 # [ AC_MSG_RESULT(yes)
410 # AC_DEFINE(HAVE_GMP)
415 # # Did not find standard library, so use our own
417 # AC_DEFINE(HAVE_GMP)
420 # GMP_INC="-I${TOP_DIR}/depkgs/gmp"
422 # GMP_LDFLAGS="-L${TOP_DIR}/depkgs/gmp"
423 # GMP_SRC="${TOP_DIR}/depkgs/gmp"
429 #AC_SUBST(GMP_LDFLAGS)
433 # -----------------------------------------------------------------------
436 # ---------------------------------------------------
437 # Check for CWEB support/directory
438 # ---------------------------------------------------
443 # [ --with-cweb[=DIR] Specify cweb library directory],
445 # case "$with_cweb" in
448 # if test "$with_cweb" != "yes"; then
449 # CWEB_INC="-I$with_cweb"
451 # CWEB_LDFLAGS="-L$with_cweb"
453 # with_cweb="/usr/include"
455 # AC_CHECK_HEADER($with_cweb/cweb.h,
456 # [ AC_MSG_RESULT(yes)
457 # AC_DEFINE(HAVE_CWEB)
461 # [ AC_MSG_ERROR([*** cweb library missing])
467 # # check for standard cweb library
468 # AC_CHECK_HEADER(/usr/include/cweb.h,
469 # [ AC_MSG_RESULT(yes)
470 # AC_DEFINE(HAVE_CWEB)
475 # # Did not find starndard library, so use our own
477 # AC_DEFINE(HAVE_CWEB)
480 # CWEB=${TOP_DIR}/depkgs/cweb
481 # CWEB_INC="-I${TOP_DIR}/depkgs/cweb"
483 # CWEB_LDFLAGS="-L${TOP_DIR}/depkgs/cweb"
484 # CWEB_SRC="${TOP_DIR}/depkgs/cweb"
491 #AC_SUBST(CWEB_LDFLAGS)
495 # -----------------------------------------------------------------------
499 # -----------------------------------------------------------
500 # Check whether user wants TCP wrappers support (default off)
501 # -----------------------------------------------------------
503 AC_ARG_WITH(tcp-wrappers,
504 [ --with-tcp-wrappers=DIR enable tcpwrappers support],
506 if test "x$withval" != "xno" ; then
508 LIBS="$saved_LIBS -lwrap"
509 AC_MSG_CHECKING(for libwrap)
512 int deny_severity = 0;
513 int allow_severity = 0;
514 struct request_info *req; ],
515 [ hosts_access(req); ],
518 AC_DEFINE(HAVE_LIBWRAP)
521 LIBS="$saved_LIBS -lwrap -lnsl"
524 int deny_severity = 0;
525 int allow_severity = 0;
526 struct request_info *req; ],
527 [ hosts_access(req); ],
530 AC_DEFINE(HAVE_LIBWRAP)
533 [AC_MSG_ERROR([*** libwrap missing]) ] ]
540 # ------------------------------------------
541 # Where to place working dir
542 # ------------------------------------------
543 working_dir=`eval echo ${sysconfdir}/working`
544 AC_ARG_WITH(working-dir,
545 [ --with-working-dir=PATH specify path of Bacula working directory],
547 if test "x$withval" != "xno" ; then
553 AC_SUBST(working_dir)
556 # ------------------------------------------
557 # Where to place scriptdir (script files)
558 # ------------------------------------------
559 scriptdir=`eval echo ${sysconfdir}`
560 AC_ARG_WITH(scriptdir,
561 [ --with-scriptdir=PATH specify path of Bacula scripts directory],
563 if test "x$withval" != "xno" ; then
572 # ------------------------------------------
573 # Where to send dump email
574 # ------------------------------------------
575 dump_email=root@localhost
576 AC_ARG_WITH(dump-email,
577 [ --with-dump-email=EMAIL dump email address],
579 if test "x$withval" != "xno" ; then
587 # ------------------------------------------
588 # Where to send job email
589 # ------------------------------------------
590 job_email=root@localhost
591 AC_ARG_WITH(job-email,
592 [ --with-job-email=EMAIL job output email address],
594 if test "x$withval" != "xno" ; then
602 # ------------------------------------------
603 # Where to find smtp host
604 # ------------------------------------------
606 AC_ARG_WITH(smtp_host,
607 [ --with-smtp-host=HOST SMTP mail host address],
609 if test "x$withval" != "xno" ; then
618 # ------------------------------------
619 # Where to place pid files
620 # ------------------------------------
623 [ --with-pid-dir=PATH specify location of Bacula pid files],
625 if test "x$withval" != "xno" ; then
631 AC_DEFINE_UNQUOTED(_PATH_BACULA_PIDDIR, "$piddir")
635 # ------------------------------------
636 # Where to place subsys "lock file"
637 # ------------------------------------
638 subsysdir=/var/run/subsys
639 AC_ARG_WITH(subsys-dir,
640 [ --with-subsys-dir=PATH specify location of Bacula subsys file],
642 if test "x$withval" != "xno" ; then
652 # ------------------------------------
653 # Where to start assigning ports
654 # ------------------------------------
656 AC_ARG_WITH(baseport,
657 [ --with-baseport=PORT specify base port address for daemons],
659 if test "x$withval" != "xno" ; then
666 dir_port=`expr $baseport`
667 fd_port=`expr $baseport + 1`
668 sd_port=`expr $fd_port + 1`
675 # ------------------------------------------
677 # ------------------------------------------
679 AC_ARG_WITH(dir-password,
680 [ --with-dir-password=PASSWORD specify Director's password],
682 if test "x$withval" != "xno" ; then
683 dir_password=$withval
688 if test "x$dir_password" = "x" ; then
689 if test "x$OPENSSL" = "xnone" ; then
690 # key=`date | uuencode /dev/stdout | tr "\"@\\\`\\ \\=\\,\\(\\)\\#\\.\\!\\-$'" abcdefghijklmnopqrst | awk '{getline} {print} {exit}'`
691 key=`autoconf/randpass 33`
693 key=`openssl rand -base64 33`
699 AC_ARG_WITH(fd-password,
700 [ --with-fd-password=PASSWORD specify Client's password],
702 if test "x$withval" != "xno" ; then
708 if test "x$fd_password" = "x" ; then
709 if test "x$OPENSSL" = "xnone" ; then
710 # key=`date | uuencode /dev/stdout | tr "\"@\\\`\\ \\=\\,\\(\\)\\#\\.\\!\\-$'" tsrqponmlkjihgfedcba | awk '{getline} {print} {exit}'`
711 key=`autoconf/randpass 37`
713 key=`openssl rand -base64 33`
719 AC_ARG_WITH(sd-password,
720 [ --with-sd-password=PASSWORD specify Storage daemon's password],
722 if test "x$withval" != "xno" ; then
728 if test "x$sd_password" = "x" ; then
729 if test "x$OPENSSL" = "xnone" ; then
730 # key=`date | uuencode /dev/stdout | tr "\"@\\\`\\ \\=\\,\\(\\)\\#\\.\\!\\-$'" 123456789uvwxyzabcdef | awk '{getline} {print} {exit}'`
731 key=`autoconf/randpass 41`
733 key=`openssl rand -base64 33`
739 AC_SUBST(dir_password)
740 AC_SUBST(fd_password)
741 AC_SUBST(sd_password)
745 # Handle users and groups for each daemon
748 AC_ARG_WITH(dir_user,
749 [ --with-dir-user=USER specify user for Director daemon],
751 if test "x$withval" != "x" ; then
758 AC_ARG_WITH(dir_group,
759 [ --with-dir-group=GROUP specify group for Director daemon],
761 if test "x$withval" != "x" ; then
769 [ --with-sd-user=USER specify user for Storage daemon],
771 if test "x$withval" != "x" ; then
778 AC_ARG_WITH(sd_group,
779 [ --with-sd-group=GROUP specify group for Storage daemon],
781 if test "x$withval" != "x" ; then
789 [ --with-fd-user=USER specify user for File daemon],
791 if test "x$withval" != "x" ; then
798 AC_ARG_WITH(fd_group,
799 [ --with-fd-group=GROUP specify group for File daemon],
801 if test "x$withval" != "x" ; then
817 # ------------------------------------------------
818 # Bacula check for various SQL database engines
819 # ------------------------------------------------
823 # ------------------------------------------------
824 # Bacula check for various SQL database engines
825 # ------------------------------------------------
831 AC_DEFINE(PROTOTYPES)
833 dnl# --------------------------------------------------------------------------
834 dnl# Supply default CFLAGS, if not specified by `CFLAGS=flags ./configure'
836 if test -z "$CFLAGS"; then
837 if test -z "$CCOPTS"; then
839 dnl> if test "x$GCC" = xyes; then
840 dnl> if test x$system = xLinux; then
841 dnl> CCOPTS="$CCOPTS "'-O2 -fno-strength-reduce'
852 dnl See if we can use 64 bit file addresses
853 largefile_support="no"
859 dnl# --------------------------------------------------------------------------
860 dnl# CHECKING FOR HEADER FILES
861 dnl# --------------------------------------------------------------------------
896 dnl# --------------------------------------------------------------------------
897 dnl# Check for utime.h structure
898 dnl# --------------------------------------------------------------------------
899 AC_CACHE_CHECK(for utime.h, ba_cv_header_utime_h,
901 #include <sys/types.h>
902 #include <utime.h>], [struct utimbuf foo],
903 ba_cv_header_utime_h=yes, ba_cv_header_utime_h=no)])
904 test $ba_cv_header_utime_h = yes && AC_DEFINE(HAVE_UTIME_H)
906 dnl# --------------------------------------------------------------------------
907 dnl# Check for socklen_t
908 dnl# --------------------------------------------------------------------------
909 AC_CACHE_CHECK(for socklen_t, ba_cv_header_socklen_t,
911 #include <sys/types.h>
912 #include <sys/socket.h>],
914 ba_cv_header_socklen_t=yes, ba_cv_header_socklen_t=no)])
915 test $ba_cv_header_socklen_t = yes && AC_DEFINE(HAVE_SOCKLEN_T)
917 dnl# --------------------------------------------------------------------------
918 dnl# Check for bigendian
919 dnl# --------------------------------------------------------------------------
920 AC_CACHE_CHECK([for bigendian], ba_cv_bigendian,
922 [main(){long a=1L; char *p=(char *)&a; exit(*p);}],
923 [ba_cv_bigendian=yes],
924 [ba_cv_bigendian=no],
925 [ba_cv_bigendian=no])])
926 test $ba_cv_bigendian = yes && AC_DEFINE(HAVE_BIGENDIAN)
932 dnl# --------------------------------------------------------------------------
933 dnl# CHECKING FOR FILESYSTEM TYPE
934 dnl# --------------------------------------------------------------------------
935 AC_MSG_CHECKING(how to get filesystem type)
937 # The order of these tests is important.
938 AC_TRY_CPP([#include <sys/statvfs.h>
939 #include <sys/fstyp.h>], AC_DEFINE(FSTYPE_STATVFS) fstype=SVR4)
940 if test $fstype = no; then
941 AC_TRY_CPP([#include <sys/statfs.h>
942 #include <sys/fstyp.h>], AC_DEFINE(FSTYPE_USG_STATFS) fstype=SVR3)
944 if test $fstype = no; then
945 AC_TRY_CPP([#include <sys/statfs.h>
946 #include <sys/vmount.h>], AC_DEFINE(FSTYPE_AIX_STATFS) fstype=AIX)
948 if test $fstype = no; then
949 AC_TRY_CPP([#include <mntent.h>], AC_DEFINE(FSTYPE_MNTENT) fstype=4.3BSD)
951 if test $fstype = no; then
952 AC_EGREP_HEADER(f_type;, sys/mount.h, AC_DEFINE(FSTYPE_STATFS) fstype=4.4BSD/OSF1)
954 if test $fstype = no; then
955 AC_TRY_CPP([#include <sys/mount.h>
956 #include <sys/fs_types.h>], AC_DEFINE(FSTYPE_GETMNT) fstype=Ultrix)
958 AC_MSG_RESULT($fstype)
960 dnl# --------------------------------------------------------------------------
961 dnl# CHECKING FOR TYPEDEFS, STRUCTURES, AND COMPILER CHARACTERISTICS.
962 dnl# --------------------------------------------------------------------------
970 AC_CHECK_TYPE(ino_t, unsigned long)
971 AC_CHECK_TYPE(dev_t, unsigned long)
972 AC_CHECK_TYPE(daddr_t, long)
973 AC_CHECK_TYPE(major_t, int)
974 AC_CHECK_TYPE(minor_t, int)
975 AC_CHECK_TYPE(ssize_t, int)
982 AC_CHECK_SIZEOF(char, 1)
983 AC_CHECK_SIZEOF(short int, 2)
984 AC_CHECK_SIZEOF(int, 4)
985 AC_CHECK_SIZEOF(long int, 4)
986 AC_CHECK_SIZEOF(long long int, 8)
987 AC_CHECK_SIZEOF(int *, 4)
989 # Check for sys/types.h types
990 AC_CACHE_CHECK([for u_int type], ac_cv_have_u_int, [
992 [ #include <sys/types.h> ],
994 [ ac_cv_have_u_int="yes" ],
995 [ ac_cv_have_u_int="no" ]
998 if test "x$ac_cv_have_u_int" = "xyes" ; then
999 AC_DEFINE(HAVE_U_INT)
1003 AC_CACHE_CHECK([for intmax_t type], ac_cv_have_intmax_t, [
1005 [ #include <sys/types.h> ],
1006 [ intmax_t a; a = 1;],
1007 [ ac_cv_have_intmax_t="yes" ],
1010 [ #include <stdint.h> ],
1011 [ intmax_t a; a = 1;],
1012 [ ac_cv_have_intmax_t="yes" ],
1013 [ ac_cv_have_intmax_t="no" ]
1019 if test "x$ac_cv_have_intmax_t" = "xyes" ; then
1020 AC_DEFINE(HAVE_INTMAX_T)
1025 AC_CACHE_CHECK([for u_intmax_t type], ac_cv_have_u_intmax_t, [
1027 [ #include <sys/types.h> ],
1028 [ u_intmax_t a; a = 1;],
1029 [ ac_cv_have_u_intmax_t="yes" ],
1032 [ #include <stdint.h> ],
1033 [ u_intmax_t a; a = 1;],
1034 [ ac_cv_have_u_intmax_t="yes" ],
1035 [ ac_cv_have_u_intmax_t="no" ]
1040 if test "x$ac_cv_have_u_intmax_t" = "xyes" ; then
1041 AC_DEFINE(HAVE_U_INTMAX_T)
1046 AC_CACHE_CHECK([for intXX_t types], ac_cv_have_intxx_t, [
1048 [ #include <sys/types.h> ],
1049 [ int8_t a; int16_t b; int32_t c; a = b = c = 1;],
1050 [ ac_cv_have_intxx_t="yes" ],
1051 [ ac_cv_have_intxx_t="no" ]
1054 if test "x$ac_cv_have_intxx_t" = "xyes" ; then
1055 AC_DEFINE(HAVE_INTXX_T)
1059 AC_CACHE_CHECK([for int64_t type], ac_cv_have_int64_t, [
1061 [ #include <sys/types.h> ],
1062 [ int64_t a; a = 1;],
1063 [ ac_cv_have_int64_t="yes" ],
1064 [ ac_cv_have_int64_t="no" ]
1067 if test "x$ac_cv_have_int64_t" = "xyes" ; then
1068 AC_DEFINE(HAVE_INT64_T)
1072 AC_CACHE_CHECK([for u_intXX_t types], ac_cv_have_u_intxx_t, [
1074 [ #include <sys/types.h> ],
1075 [ u_int8_t a; u_int16_t b; u_int32_t c; a = b = c = 1;],
1076 [ ac_cv_have_u_intxx_t="yes" ],
1077 [ ac_cv_have_u_intxx_t="no" ]
1080 if test "x$ac_cv_have_u_intxx_t" = "xyes" ; then
1081 AC_DEFINE(HAVE_U_INTXX_T)
1085 AC_CACHE_CHECK([for u_int64_t types], ac_cv_have_u_int64_t, [
1087 [ #include <sys/types.h> ],
1088 [ u_int64_t a; a = 1;],
1089 [ ac_cv_have_u_int64_t="yes" ],
1090 [ ac_cv_have_u_int64_t="no" ]
1093 if test "x$ac_cv_have_u_int64_t" = "xyes" ; then
1094 AC_DEFINE(HAVE_U_INT64_T)
1098 if (test -z "$have_u_intxx_t" || test -z "$have_intxx_t" && \
1099 test "x$ac_cv_header_sys_bitypes_h" = "xyes")
1101 AC_MSG_CHECKING([for intXX_t and u_intXX_t types in sys/bitypes.h])
1103 [ #include <sys/bitypes.h> ],
1104 [ int8_t a; int16_t b; int32_t c;
1105 u_int8_t e; u_int16_t f; u_int32_t g;
1106 a = b = c = e = f = g = 1; ],
1107 [ AC_DEFINE(HAVE_U_INTXX_T)
1108 AC_DEFINE(HAVE_INTXX_T)
1109 AC_DEFINE(HAVE_SYS_BITYPES_H)
1110 AC_MSG_RESULT(yes) ],
1111 [ AC_MSG_RESULT(no)]
1115 if test -z "$have_u_intxx_t" ; then
1116 AC_CACHE_CHECK([for uintXX_t types], ac_cv_have_uintxx_t, [
1118 [ #include <sys/types.h> ],
1119 [ uint8_t a; uint16_t b;
1120 uint32_t c; a = b = c = 1; ],
1121 [ ac_cv_have_uintxx_t="yes" ],
1122 [ ac_cv_have_uintxx_t="no" ]
1125 if test "x$ac_cv_have_uintxx_t" = "xyes" ; then
1126 AC_DEFINE(HAVE_UINTXX_T)
1131 dnl# --------------------------------------------------------------------------
1132 dnl# CHECKING FOR LIBRARY FUNCTIONS
1133 dnl# --------------------------------------------------------------------------
1149 [echo 'configure: cannot find needed function.'; exit 1]
1152 AC_CHECK_FUNCS(fchdir, [AC_DEFINE(HAVE_FCHDIR)])
1153 AC_CHECK_FUNCS(strtoll, [AC_DEFINE(HAVE_STRTOLL)])
1155 AC_CHECK_FUNCS(chflags)
1157 AC_CHECK_FUNCS(snprintf vsnprintf gethostid getdomainname)
1159 dnl# --------------------------------------------------------------------------
1160 dnl# CHECKING FOR THREAD SAFE FUNCTIONS
1161 dnl# --------------------------------------------------------------------------
1162 AC_CHECK_FUNCS(localtime_r readdir_r strerror_r gethostbyname_r)
1164 # If resolver functions are not in libc check for -lnsl or -lresolv.
1165 AC_CHECK_FUNC(gethostbyname_r,
1166 AC_MSG_RESULT(using libc's resolver),
1167 AC_CHECK_LIB(nsl,gethostbyname_r)
1168 AC_CHECK_LIB(resolv,gethostbyname_r))
1171 # Find where sockets are (especially for Solaris)
1172 AC_CHECK_FUNC(socket,
1173 AC_MSG_RESULT(using libc's socket),
1174 AC_CHECK_LIB(xnet,socket)
1175 AC_CHECK_LIB(socket,socket)
1176 AC_CHECK_LIB(inet,socket))
1178 AC_CHECK_FUNCS(inet_pton, [AC_DEFINE(HAVE_INET_PTON)])
1184 AC_FUNC_CLOSEDIR_VOID
1185 AC_FUNC_SETPGRP dnl check for BSD setpgrp.
1189 dnl# FreeBSD needs to link libxpg4
1190 AC_CHECK_LIB(xpg4, setlocale, [LIBS="$LIBS -lxpg4"])
1193 AC_CHECK_LIB(sun, getpwnam)
1195 AC_CHECK_HEADERS(zlib.h)
1196 AC_CHECK_LIB(z, deflate, [FDLIBS="-lz"])
1198 if test x$FDLIBS = x-lz; then
1199 AC_DEFINE(HAVE_LIBZ)
1203 dnl Check for pthread libraries
1205 AC_CHECK_LIB(pthread, pthread_create, PTHREAD_LIB="-lpthread",
1206 [AC_CHECK_LIB(pthreads, pthread_create, PTHREAD_LIB="-lpthreads",
1207 [AC_CHECK_LIB(c_r, pthread_create, PTHREAD_LIB="-lc_r",
1208 [AC_CHECK_FUNC(pthread_create)]
1218 LDFLAGS=${LDFLAGS--O}
1219 DB_LIBS="${SQL_LFLAGS}"
1221 CPPFLAGS="$CPPFLAGS"
1232 AC_SUBST(X_EXTRA_LIBS)
1236 dnl# extra configurable objects
1247 # Finally we set appropriate distribution specific
1248 # variables and defaults
1250 # PFILES are platform specific files
1251 PFILES="platforms/Makefile"
1258 PSCMD="ps -e -o pid,comm"
1260 platforms/aix/Makefile"
1261 TAPEDRIVE="/dev/rmt0.1"
1265 PTHREAD_LIB="-lpthread -lexc"
1266 if test "${CC}" = "gcc" ; then
1273 TAPEDRIVE="/dev/nrmt0"
1276 DISTVER=`uname -a |awk '{print $3}'`
1277 TAPEDRIVE="/dev/nrmt0"
1278 PTHREAD_LIB="-pthread"
1279 CFLAGS="${CFLAGS} -pthread"
1280 PSCMD="ps -x -o pid,command"
1284 platforms/bsdi/Makefile \
1285 platforms/bsdi/bacula-fd \
1286 platforms/bsdi/bacula-sd \
1287 platforms/bsdi/bacula-dir"
1288 hostname=`hostname -s`
1289 largefile_support="yes"
1292 DISTVER=`uname -a |awk '{print $3}'`
1293 TAPEDRIVE="/dev/nrst0"
1296 WLDFLAGS="-mwindows"
1300 TAPEDRIVE="/dev/nst0"
1301 PSCMD="ps -e -o pid,command"
1302 hostname=`hostname -s`
1304 platforms/darwin/Makefile"
1307 DISTVER=`cat /etc/debian_version`
1308 TAPEDRIVE="/dev/nrst0"
1309 PSCMD="ps -e -o pid,command"
1310 hostname=`hostname -s`
1313 DISTVER=`uname -a |awk '{print $3}'`
1314 VER=`echo $DISTVER | cut -c 1`
1315 if test x$VER = x4 ; then
1316 PTHREAD_LIB="-pthread"
1317 CFLAGS="${CFLAGS} -pthread"
1321 TAPEDRIVE="/dev/nrsa0"
1322 PSCMD="ps -x -o pid,command"
1324 platforms/freebsd/Makefile \
1325 platforms/freebsd/bacula-fd \
1326 platforms/freebsd/bacula-sd \
1327 platforms/freebsd/bacula-dir"
1328 hostname=`hostname -s`
1329 largefile_support="yes"
1333 TAPEDRIVE="/dev/rmt/0hnb"
1337 TAPEDRIVE="/dev/rmt/0cbn"
1338 PSCMD="ps -e -o pid,comm"
1340 platforms/irix/Makefile \
1341 platforms/irix/bacula-fd \
1342 platforms/irix/bacula-sd \
1343 platforms/irix/bacula-dir"
1346 DISTVER=`uname -a |awk '{print $3}'`
1349 TAPEDRIVE="/dev/nrst0"
1350 PSCMD="ps -a -o pid,command"
1351 PTHREAD_LIB="-pthread"
1352 CFLAGS="${CFLAGS} -pthread"
1355 DISTVER=`uname -a |awk '{print $3}'`
1358 TAPEDRIVE="/dev/nrst0"
1359 PSCMD="ps -a -o pid,command"
1360 PTHREAD_LIB="-pthread"
1361 CFLAGS="${CFLAGS} -pthread"
1363 platforms/openbsd/Makefile \
1364 platforms/openbsd/bacula-fd \
1365 platforms/openbsd/bacula-sd \
1366 platforms/openbsd/bacula-dir"
1369 DISTVER=`cat /etc/redhat-release | grep release |\
1371 TAPEDRIVE="/dev/nst0"
1372 PSCMD="ps -e -o pid,command"
1374 platforms/redhat/Makefile \
1375 platforms/redhat/bacula-fd \
1376 platforms/redhat/bacula-sd \
1377 platforms/redhat/bacula-dir \
1378 platforms/redhat/bacula.spec \
1380 hostname=`hostname -s`
1383 DISTVER=`cat /etc/mandrake-release | grep release |\
1385 TAPEDRIVE="/dev/nst0"
1386 PSCMD="ps -e -o pid,command"
1388 platforms/mandrake/Makefile \
1389 platforms/mandrake/bacula-fd \
1390 platforms/mandrake/bacula-sd \
1391 platforms/mandrake/bacula-dir \
1392 platforms/mandrake/bacula.spec \
1394 hostname=`hostname -s`
1397 DISTVER=`awk '/version / {print $5}' < /etc/gentoo-release`
1398 TAPEDRIVE="/dev/nst0"
1399 PSCMD="ps -e -o pid,command"
1401 platforms/gentoo/Makefile \
1402 platforms/gentoo/bacula-fd \
1403 platforms/gentoo/bacula-sd \
1404 platforms/gentoo/bacula-dir"
1405 hostname=`hostname -s`
1409 DISTVER=`cat /etc/slackware-version`
1410 TAPEDRIVE="/dev/nst0"
1411 PSCMD="ps -e -o pid,command"
1412 hostname=`hostname -s`
1416 TAPEDRIVE="/dev/rmt/0cbn"
1417 PSCMD="ps -e -o pid,comm"
1419 platforms/solaris/Makefile \
1420 platforms/solaris/bacula-fd \
1421 platforms/solaris/bacula-sd \
1422 platforms/solaris/bacula-dir"
1423 if test x$DISTVER = x5.6 ; then
1424 AC_DEFINE(HAVE_OLD_SOCKOPT)
1428 DISTVER=`cat /etc/SuSE-release |grep VERSION|\
1430 TAPEDRIVE="/dev/nst0"
1431 PSCMD="ps -e -o pid,command"
1432 hostname=`hostname -s`
1437 TAPEDRIVE="/dev/nst0"
1438 PSCMD="ps -e -o pid,command"
1439 hostname=`hostname -s`
1443 TAPEDRIVE="/dev/nst0"
1446 echo " === Something went wrong. Unknown DISTNAME $DISTNAME ==="
1452 LIBS="$PTHREAD_LIB $LIBS"
1454 AC_DEFINE_UNQUOTED(lld, "$lld")
1455 AC_DEFINE_UNQUOTED(llu, "$llu")
1462 dnl# common parts of the Makefile
1463 MCOMMON=./autoconf/Make.common
1464 AC_SUBST_FILE(MCOMMON)
1467 if test "x${subsysdir}" = "x${sbindir}" ; then
1470 echo "You have set both --sbindir and --with-subsys-dir"
1471 echo " equal to: ${subsysdir} "
1472 echo "This is not permitted. Please reconfigure."
1474 echo "Aborting configuration ..."
1480 AC_OUTPUT([autoconf/Make.common \
1483 rescue/linux/Makefile \
1484 rescue/freebsd/Makefile \
1485 rescue/solaris/Makefile \
1486 scripts/startmysql \
1488 scripts/btraceback \
1497 scripts/bacula.desktop.gnome1 \
1498 scripts/bacula.desktop.gnome2 \
1499 scripts/mtx-changer \
1503 src/console/Makefile \
1504 src/console/bconsole.conf \
1505 src/gnome-console/Makefile \
1506 src/gnome-console/gnome-console.conf \
1507 src/gnome2-console/Makefile \
1508 src/gnome2-console/gnome-console.conf \
1509 src/tconsole/Makefile \
1511 src/dird/bacula-dir.conf \
1513 src/stored/Makefile \
1514 src/stored/bacula-sd.conf \
1515 src/filed/Makefile \
1516 src/filed/bacula-fd.conf \
1517 src/filed/win32/Makefile \
1519 src/cats/make_catalog_backup \
1520 src/cats/delete_catalog_backup \
1521 src/cats/make_mysql_tables \
1522 src/cats/drop_mysql_tables \
1523 src/cats/update_mysql_tables \
1524 src/cats/create_mysql_database \
1525 src/cats/grant_mysql_privileges \
1526 src/cats/make_sqlite_tables \
1527 src/cats/drop_sqlite_tables \
1528 src/cats/update_sqlite_tables \
1529 src/cats/create_sqlite_database \
1532 src/cats/create_bdb_database \
1533 src/cats/make_bdb_tables \
1534 src/cats/drop_bdb_tables \
1535 src/cats/make_bacula_tables \
1536 src/cats/drop_bacula_tables \
1537 src/cats/update_bacula_tables \
1538 src/findlib/Makefile \
1539 src/tools/Makefile \
1541 [(echo "Doing make of dependencies"; make depend;) ]
1545 chmod 755 startmysql stopmysql bacula startit stopit btraceback mtx-changer
1546 chmod 755 bconsole gconsole mtx-changer
1548 chmod 755 src/cats/make_mysql_tables src/cats/drop_mysql_tables
1549 chmod 755 src/cats/make_test_tables src/cats/drop_test_tables
1550 chmod 755 src/cats/create_mysql_database
1551 chmod 755 src/cats/make_catalog_backup src/cats/delete_catalog_backup
1552 chmod 755 src/cats/grant_mysql_privileges
1553 chmod 755 src/cats/make_sqlite_tables src/cats/drop_sqlite_tables
1554 chmod 755 src/cats/update_sqlite_tables
1555 chmod 755 src/cats/make_bacula_tables src/cats/drop_bacula_tables
1556 chmod 755 src/cats/update_mysql_tables
1557 chmod 755 src/cats/update_bacula_tables src/cats/update_mysql_tables
1558 chmod 755 src/cats/create_sqlite_database
1559 chmod 755 src/cats/sqlite
1560 chmod 755 src/cats/make_bdb_tables src/cats/drop_bdb_tables
1561 chmod 755 src/cats/create_bdb_database
1563 if test "x$ac_cv_sys_largefile_CFLAGS" != "xno" ; then
1564 largefile_support="yes"
1568 # A whole lot of hand springs to get the compiler version.
1569 # This is because gcc changed the output in version 3.0
1571 CCVERSION=`${CC} --version | tr '\n' ' ' | cut -f 3 -d ' '`
1572 if test "x${CCVERSION}" = "x" ; then
1573 CCVERSION=`${CC} --version | tr '\n' ' ' | cut -f 1 -d ' '`
1575 CXXVERSION=`${CXX} --version | tr '\n' ' ' | cut -f 3 -d ' '`
1576 if test x"${CXXVERSION}" = x ; then
1577 CXXVERSION=`${CXX} --version | tr '\n' ' ' | cut -f 1 -d ' '`
1580 if test "x${subsysdir}" = "x${sbindir}" ; then
1583 echo "You have set --sbindir and --with-subsys-dir"
1584 echo " both equal to: ${subsysdir} "
1585 echo " This is not permitted. Please reconfigure."
1586 echo "Aborting configuration ..."
1593 Configuration on `date`:
1595 Host: $host -- ${DISTNAME} ${DISTVER}
1596 Bacula version: ${VERSION} (${DATE})
1597 Source code location: ${srcdir}
1598 Install binaries: ${sbindir}
1599 Install config files: ${sysconfdir}
1600 Scripts directory: ${scriptdir}
1601 Working directory: ${working_dir}
1602 PID directory: ${piddir}
1603 Subsys directory: ${subsysdir}
1604 C Compiler: ${CC} ${CCVERSION}
1605 C++ Compiler: ${CXX} ${CXXVERSION}
1606 Compiler flags: ${WCFLAGS} ${CFLAGS}
1607 Linker flags: ${WLDFLAGS} ${LDFLAGS}
1609 Statically Linked Tools: ${support_static_tools}
1610 Statically Linked FD: ${support_static_fd}
1611 Statically Linked SD: ${support_static_sd}
1612 Statically Linked DIR: ${support_static_dir}
1613 Statically Linked CONS: ${support_static_cons}
1614 Database type: ${db_name}
1615 Database lib: ${DB_LIBS}
1617 Job Output Email: ${job_email}
1618 Traceback Email: ${dump_email}
1619 SMTP Host Address: ${smtp_host}
1621 Director Port: ${dir_port}
1622 File daemon Port: ${fd_port}
1623 Storage daemon Port: ${sd_port}
1625 Director User: ${dir_user}
1626 Director Group: ${dir_group}
1627 Storage Daemon User: ${dir_user}
1628 Storage DaemonGroup: ${dir_group}
1629 File Daemon User: ${dir_user}
1630 File Daemon Group: ${dir_group}
1632 SQL binaries Directory ${SQL_BINDIR}
1634 Large file support: $largefile_support
1635 readline support: ${got_readline} ${PRTREADLINE_SRC}
1636 TCP Wrappers support: ${TCPW_MSG}
1637 ZLIB support: ${have_zlib}
1638 enable-smartalloc: ${support_smartalloc}
1639 enable-gnome: ${support_gnome}
1640 client-only: ${build_client_only}
1647 # cweb support: ${got_cweb} ${CWEB_SRC}
1648 # gmp support: ${got_gmp} ${GMP_SRC}