]> git.sur5r.net Git - bacula/bacula/blobdiff - bacula/autoconf/configure.in
Fix conio.h problem on Solaris
[bacula/bacula] / bacula / autoconf / configure.in
index 424edf80df28af200f268122ddbefa378f03fa99..e72a34826b441b5a7aa0f630867256bfe549bd28 100644 (file)
@@ -1,4 +1,4 @@
-dnl#
+lal#
 dnl#
 dnl# Process this file with autoconf to produce a configure script.
 dnl#
@@ -19,7 +19,7 @@ dnl search for true and false programs.
 AC_PATH_PROGS(TRUEPRG, true, :)
 AC_PATH_PROGS(FALSEPRG, false, :)
 
-AC_CANONICAL_HOST
+#AC_CANONICAL_HOST
 
 dnl bacula version
 VERSION=`sed -n -e 's/^.*VERSION.*"\(.*\)"$/\1/p' ${srcdir}/src/version.h`
@@ -59,8 +59,11 @@ AC_PATH_PROG(ECHO, echo, echo)
 AC_PATH_PROG(CMP, cmp, cmp)
 AC_PATH_PROG(TBL, tbl, tbl)
 AC_PATH_PROG(AR, ar, ar)
-AC_PATH_PROG(RANLIB, ranlib, ranlib)
+dnl AC_PATH_PROG(RANLIB, ranlib, ranlib)
 AC_PATH_PROG(OPENSSL, openssl, none)
+AC_PATH_PROG(MTX, mtx, mtx)
+AC_PATH_PROG(PKGCONFIG, pkg-config, pkg-config)
+AC_PATH_PROG(WXCONFIG, wx-config, wx-config)
 
 test -n "$ARFLAG" || ARFLAGS="cr"
 AC_SUBST(ARFLAGS)
@@ -138,9 +141,13 @@ fi
 
 support_mysql=no
 support_sqlite=no
+support_postgresql=no
 support_smartalloc=yes
 support_readline=yes
+support_conio=yes
 support_gnome=no
+support_wx_console=no
+gnome_version=
 support_static_tools=no
 support_static_fd=no
 support_static_sd=no
@@ -166,12 +173,81 @@ AC_ARG_ENABLE(gnome,
 
 GNOME_DIR=
 if test x$support_gnome = xyes; then
-    GNOME_INIT
-    GNOME_DIR=src/gnome-console
+  abc=`$PKGCONFIG --exists libgnomeui-2.0`
+  pkg=$?
+  if test $pkg = 0; then
+     GNOME_INCLUDEDIR=`$PKGCONFIG --cflags-only-I libgnomeui-2.0`
+     GNOMEUI_LIBS=`$PKGCONFIG --libs-only-l libgnomeui-2.0`
+     GNOME_LIBDIR=`$PKGCONFIG --libs libgnomeui-2.0`
+     GNOME_LIBS=`$PKGCONFIG --libs-only-l libgnomeui-2.0`
+     AC_SUBST(GNOME_INCLUDEDIR)
+     AC_SUBST(GNOMEUI_LIBS)
+     AC_SUBST(GNOME_LIBDIR)
+     AC_SUBST(GNOME_LIBS)
+     GNOME_DIR=src/gnome2-console
+     gnome_version="Version 2.x"
+  else
+dnl do 1.4 stuff
+     GNOME_INIT
+     GNOME_DIR=src/gnome-console
+     gnome_version="Version 1.4"
+  fi
 fi
 AC_SUBST(GNOME_DIR)
 
 
+# -------------------------------------------
+# wx-console (default off)
+# -------------------------------------------
+AC_ARG_ENABLE(wx-console,
+  [  --enable-wx-console     enable build of wxWidgets console [disabled]],
+  [if test x$enableval = xyes; then
+    support_wx_console=yes
+  fi])
+
+WX_DIR=
+if test x$support_wx_console = xyes; then
+  abc=`$WXCONFIG --cppflags`
+  pkg=$?
+  if test $pkg = 0; then
+     WXCONS_CPPFLAGS=`$WXCONFIG --cppflags`
+     WXCONS_LDFLAGS=`$WXCONFIG --libs`
+     AC_SUBST(WXCONS_CPPFLAGS)
+     AC_SUBST(WXCONS_LDFLAGS)
+     WX_DIR=src/wx-console
+  else
+     echo " "
+     echo "wx-config program not found. wx-console disabled."
+     echo " "
+     support_wx_console=no
+  fi
+fi
+AC_SUBST(WX_DIR)
+
+
+# -------------------------------------------
+# tray-monitor (default off)
+# -------------------------------------------
+AC_ARG_ENABLE(tray-monitor,
+  [  --enable-tray-monitor   enable build of Gnome tray monitor (compatible with KDE) [disabled]],
+  [if test x$enableval = xyes; then
+    support_tray_monitor=yes
+  fi])
+
+TRAY_MONITOR_DIR=
+if test x$support_tray_monitor = xyes; then
+  abc=`$PKGCONFIG --exists gtk+-2.0`
+  pkg=$?
+  if test $pkg = 0; then
+     TRAY_MONITOR_CPPFLAGS=`$PKGCONFIG --cflags gtk+-2.0`
+     TRAY_MONITOR_LDFLAGS=`$PKGCONFIG --libs gtk+-2.0`
+     AC_SUBST(TRAY_MONITOR_CPPFLAGS)
+     AC_SUBST(TRAY_MONITOR_LDFLAGS)
+     TRAY_MONITOR_DIR=src/tray-monitor
+  fi
+fi
+AC_SUBST(TRAY_MONITOR_DIR)
+
 # -------------------------------------------
 # smartalloc (default off)
 # -------------------------------------------
@@ -255,10 +331,16 @@ AC_ARG_ENABLE(static-cons,
    fi])
 
 STATIC_CONS=
+STATIC_GNOME_CONS=
+STATIC_WX_CONS=
 if test x$support_static_cons = xyes; then
-   STATIC_CONS="static-console"
+   STATIC_CONS="static-bconsole"
+   STATIC_GNOME_CONS="static-gnome-console"
+   STATIC_WX_CONS="static-wx-console"
 fi
 AC_SUBST(STATIC_CONS)
+AC_SUBST(STATIC_GNOME_CONS)
+AC_SUBST(STATIC_WX_CONS)
 
 # -------------------------------------------
 # client_only  (default off)
@@ -267,6 +349,8 @@ AC_ARG_ENABLE(client-only,
    [  --enable-client-only    build client (File daemon) only [disabled]],
    [if test x$enableval = xyes; then
      build_client_only=yes
+    db_name=None
+    DB_NAME=none
    fi])
 if test x$build_client_only = xno; then
    ALL_DIRS="subdirs"
@@ -276,11 +360,47 @@ fi
 AC_SUBST(ALL_DIRS)
 
 # ---------------------------------------------------
-# Check for readline support/directory (default on)
+# Check for conio (Bacula readline substitute)(
+# ---------------------------------------------------
+# this allows you to turn it completely off
+AC_ARG_ENABLE(conio,   
+  [  --disable-conio        disable conio support [enabled]
+                                                     ],
+  [if test x$enableval = xno; then
+    support_conio=no
+  fi])
+
+got_conio="no"
+if test x$support_conio = xyes; then
+   AC_CHECK_HEADER(termcap.h, 
+     [ AC_CHECK_LIB(termcap, tgetent, 
+       [ CONS_LIBS="-ltermcap"
+        CONS_OBJ="conio.o"
+        CONS_SRC="conio.c"
+        got_conio="yes"
+        support_readline=no
+        AC_DEFINE(HAVE_CONIO, 1, [Set if Bacula conio support enabled]) 
+       ],   
+       [ AC_CHECK_LIB(ncurses, tgetent,
+        [ CONS_LIBS="-lncurses"
+          CONS_OBJ="conio.o"
+          CONS_SRC="conio.c"
+          got_conio="yes"
+          support_readline=no
+          AC_DEFINE(HAVE_CONIO, 1, [Set if Bacula conio support enabled]) 
+        ],   
+        [ echo " "; echo "Neither termcap nor ncurses library found. CONIO turned off ..."; echo " "])
+       ])
+    ],[echo " "; echo "termcap.h not found. CONIO turned off ..."; echo " "])
+fi
+
+
+# ---------------------------------------------------
+# Check for readline support/directory (default off)
 # ---------------------------------------------------
 # this allows you to turn it completely off
 AC_ARG_ENABLE(readline,
-  [  --disable-readline      disable readline support [enabled]
+  [  --disable-readline      disable readline support [disable]
                                                      ],
   [if test x$enableval = xno; then
     support_readline=no
@@ -296,18 +416,19 @@ if test x$support_readline = xyes; then
        no) : ;;
        yes|*)
          if test "$with_readline" != "yes"; then
-           CONS_INC="-I$with_readline"
+           CONS_INC="-I${with_readline}"
            CONS_LDFLAGS="-L$with_readline"
          else
             with_readline="/usr/include/readline" 
          fi
-         AC_CHECK_HEADER($with_readline/readline.h, 
-            [ AC_MSG_RESULT(yes)
-              AC_DEFINE(HAVE_READLINE) 
+         AC_CHECK_HEADER(${with_readline}/readline.h, 
+            [ AC_DEFINE(HAVE_READLINE) 
               CONS_LIBS="-lreadline -ltermcap"
               got_readline="yes"   
             ],
-            [ AC_MSG_ERROR([*** readline library missing]) 
+            [ echo " "
+              echo "readline.h not found. readline turned off ..."
+              echo " "
             ]
          )
          ;;
@@ -315,25 +436,36 @@ if test x$support_readline = xyes; then
      ],[
        # check for standard readline library
        AC_CHECK_HEADER(/usr/include/readline/readline.h, 
-       [ AC_MSG_RESULT(yes)
-        AC_DEFINE(HAVE_READLINE)
-        got_readline="yes"
-        CONS_INC="-I/usr/include/readline"
-        CONS_LIBS="-lreadline -ltermcap"
-       ], [
-        # Did not find starndard library, so user our own
-        AC_MSG_RESULT(yes)
-        AC_DEFINE(HAVE_READLINE)
-        got_readline="yes"
-        CONS_INC="-I${TOP_DIR}/depkgs"
-        CONS_LIBS="-lreadline -lhistory -ltermcap"
-        CONS_LDFLAGS="-L${TOP_DIR}/depkgs/readline"
-        PRTREADLINE_SRC="${TOP_DIR}/depkgs/readline"
-       ])
+        [ AC_DEFINE(HAVE_READLINE)
+          got_readline="yes"
+          CONS_INC="-I/usr/include/readline"
+          CONS_LIBS="-lreadline -ltermcap"
+        ], [
+          # Did not find standard library, so try Bacula's default
+           AC_CHECK_HEADER(${TOP_DIR}/depkgs/readline/readline.h, 
+             [ AC_DEFINE(HAVE_READLINE) 
+                got_readline="yes"   
+                CONS_INC="-I${TOP_DIR}/depkgs/readline"
+                CONS_LIBS="-lreadline -lhistory -ltermcap"
+                CONS_LDFLAGS="-L${TOP_DIR}/depkgs/readline"
+                PRTREADLINE_SRC="${TOP_DIR}/depkgs/readline"
+             ],
+             [ echo " "
+               echo "readline.h not found. readline turned off ..."
+               echo " "
+             ]
+           )
+        ]
+       )
      ]  
    )
 fi
+
+
+
 AC_SUBST(CONS_INC)
+AC_SUBST(CONS_OBJ)
+AC_SUBST(CONS_SRC)
 AC_SUBST(CONS_LIBS)
 AC_SUBST(CONS_LDFLAGS)
 AC_SUBST(READLINE_SRC)
@@ -341,26 +473,13 @@ AC_SUBST(READLINE_SRC)
 # Minimal stuff for readline Makefile configuration
 MAKE_SHELL=/bin/sh
 AC_SUBST(MAKE_SHELL)
-
 AC_HEADER_STAT
 AC_HEADER_DIRENT
-
 AC_CHECK_FUNCS(strcasecmp select setenv putenv tcgetattr setlocale lstat lchown)
-AC_CHECK_FUNCS(nanosleep)
-
-#AC_CHECK_FUNC(getopt_long, AC_DEFINE(HAVE_GETOPT_LONG),
-#   [LIBEXTRAOBJ="$LIBEXTRAOBJ getopt.o getopt1.o"
-#    EXTRAOBJ="$EXTRAOBJ lib/getopt.o lib/getopt1.o"])
-
-AC_CHECK_FUNC(getopt_long, AC_DEFINE(HAVE_GETOPT_LONG))
+AC_CHECK_FUNCS(nanosleep nl_langinfo)
+AC_CHECK_HEADERS(varargs.h)
 
-
-AC_FUNC_STRCOLL
-
-AC_CHECK_HEADERS(varargs.h \
-               sys/ptem.h sys/pte.h sys/stream.h)      
-
-# End of readline stuff
+# End of readline/conio stuff
 # -----------------------------------------------------------------------
 
 
@@ -495,7 +614,7 @@ AC_ARG_WITH(tcp-wrappers,
   [
     if test "x$withval" != "xno" ; then
        saved_LIBS="$LIBS"
-       LIBS="$LIBS -lwrap -lnsl"
+       LIBS="$saved_LIBS -lwrap"
        AC_MSG_CHECKING(for libwrap)
        AC_TRY_LINK(
          [ #include <tcpd.h>
@@ -507,8 +626,21 @@ AC_ARG_WITH(tcp-wrappers,
            AC_MSG_RESULT(yes)
            AC_DEFINE(HAVE_LIBWRAP)
            TCPW_MSG="yes" 
-         ],
-         [AC_MSG_ERROR([*** libwrap missing]) ]
+         ], [
+           LIBS="$saved_LIBS -lwrap -lnsl"
+           AC_TRY_LINK(
+             [ #include <tcpd.h>
+                int deny_severity = 0;
+                int allow_severity = 0;
+                struct request_info *req; ],
+             [ hosts_access(req); ],
+             [
+                AC_MSG_RESULT(yes)
+                AC_DEFINE(HAVE_LIBWRAP)
+                TCPW_MSG="yes" 
+             ],
+             [AC_MSG_ERROR([*** libwrap missing]) ] ]
+           )
        )
     fi
   ]
@@ -517,7 +649,7 @@ AC_ARG_WITH(tcp-wrappers,
 # ------------------------------------------
 # Where to place working dir
 # ------------------------------------------
-working_dir=`eval echo ${sysconfdir}/working`
+working_dir=`eval echo ${prefix}/var/bacula/working`
 AC_ARG_WITH(working-dir,
    [  --with-working-dir=PATH   specify path of Bacula working directory],
    [
@@ -705,7 +837,7 @@ AC_ARG_WITH(sd-password,
 if test "x$sd_password" = "x" ; then
    if test "x$OPENSSL" = "xnone" ; then
 #     key=`date | uuencode /dev/stdout | tr "\"@\\\`\\ \\=\\,\\(\\)\\#\\.\\!\\-$'" 123456789uvwxyzabcdef | awk '{getline} {print} {exit}'`
-      key=`autocnf/randpass 41`
+      key=`autoconf/randpass 41`
    else
       key=`openssl rand -base64 33`
    fi
@@ -718,17 +850,101 @@ AC_SUBST(fd_password)
 AC_SUBST(sd_password)
 
 
+#
+# Handle users and groups for each daemon
+#
+dir_user=
+AC_ARG_WITH(dir_user,
+    [  --with-dir-user=USER             specify user for Director daemon],
+    [
+       if test "x$withval" != "x" ; then       
+            dir_user=$withval
+       fi
+    ]
+)
 
+dir_group=
+AC_ARG_WITH(dir_group,
+    [  --with-dir-group=GROUP           specify group for Director daemon],
+    [
+       if test "x$withval" != "x" ; then       
+            dir_group=$withval
+       fi
+    ]
+)
 
-# ------------------------------------------------
-# Bacula check for various SQL database engines
-# ------------------------------------------------
-BA_CHECK_MYSQL_DB
+sd_user=
+AC_ARG_WITH(sd_user,
+    [  --with-sd-user=USER              specify user for Storage daemon],
+    [
+       if test "x$withval" != "x" ; then       
+            sd_user=$withval
+       fi
+    ]
+)
+
+sd_group=
+AC_ARG_WITH(sd_group,
+    [  --with-sd-group=GROUP            specify group for Storage daemon],
+    [
+       if test "x$withval" != "x" ; then       
+            sd_group=$withval
+       fi
+    ]
+)
+
+fd_user=
+AC_ARG_WITH(fd_user,
+    [  --with-fd-user=USER              specify user for File daemon],
+    [
+       if test "x$withval" != "x" ; then       
+            fd_user=$withval
+       fi
+    ]
+)
+
+fd_group=
+AC_ARG_WITH(fd_group,
+    [  --with-fd-group=GROUP            specify group for File daemon],
+    [
+       if test "x$withval" != "x" ; then       
+            fd_group=$withval
+       fi
+    ]
+)
+
+
+
+
+AC_SUBST(dir_user)
+AC_SUBST(dir_group)
+AC_SUBST(sd_user)
+AC_SUBST(sd_group)
+AC_SUBST(fd_user)
+AC_SUBST(fd_group)
+
+#
+# allow setting default executable permissions
+#
+SBINPERM=0754
+AC_ARG_WITH(sbin-perm,
+    [  --with-sbin-perm=MODE            specify permissions for sbin binaries (0754)],
+    [
+       if test "x$withval" != "x" ; then       
+           SBINPERM=$withval
+       fi
+    ]
+)
 
+AC_SUBST(SBINPERM)
 
 # ------------------------------------------------
 # Bacula check for various SQL database engines
 # ------------------------------------------------
+BA_CHECK_POSTGRESQL_DB
+
+BA_CHECK_MYSQL_DB
+
 BA_CHECK_SQLITE_DB
 
 AC_SUBST(cats)
@@ -739,14 +955,9 @@ AC_DEFINE(PROTOTYPES)
 dnl# --------------------------------------------------------------------------
 dnl# Supply default CFLAGS, if not specified by `CFLAGS=flags ./configure'
 dnl#
-if test -z "$CFLAGS"; then
+if test -z "$CFLAGS" -o "$CFLAGS" = "-g -O2"; then
     if test -z "$CCOPTS"; then
-       CCOPTS='-g -O2'
-dnl>   if test "x$GCC" = xyes; then
-dnl>       if test x$system = xLinux; then
-dnl>           CCOPTS="$CCOPTS "'-O2 -fno-strength-reduce'
-dnl>       fi
-dnl>   fi
+       CCOPTS='-g -O2 -Wall'
     fi
     CFLAGS="$CCOPTS"
 fi
@@ -777,7 +988,9 @@ AC_CHECK_HEADERS( \
        stdint.h \
        string.h \
        termios.h \
+       termcap.h \
        unistd.h \
+       sys/bitypes.h \
        sys/byteorder.h \
        sys/ioctl.h \
        sys/select.h \
@@ -788,6 +1001,8 @@ AC_CHECK_HEADERS( \
        resolv.h \
        mtio.h \
        sys/mtio.h \
+       sys/tape.h \
+       regex.h \
 )
 AC_HEADER_STDC
 AC_HEADER_MAJOR
@@ -1033,9 +1248,41 @@ if test -z "$have_u_intxx_t" ; then
    fi
 fi
 
+if (test -z "$have_u_int64_t" || test -z "$have_int64_t" && \
+         test "x$ac_cv_header_sys_bitypes_h" = "xyes")
+then
+   AC_MSG_CHECKING([for int64_t and u_int64_t types in sys/bitypes.h])
+   AC_TRY_COMPILE(
+      [ #include <sys/bitypes.h>  ], 
+      [ int64_t a; u_int64_t b; 
+       a = b = 1;  ], 
+      [ AC_DEFINE(HAVE_U_INT64_T)
+       AC_DEFINE(HAVE_INT64_T)
+       AC_MSG_RESULT(yes) ],
+      [ AC_MSG_RESULT(no)]
+   ) 
+fi
+
+if (test -z "$have_uintxx_t" && \
+         test "x$ac_cv_header_sys_bitypes_h" = "xyes")
+then
+   AC_MSG_CHECKING([for uintXX_t types in sys/bitypes.h])
+   AC_TRY_COMPILE(
+      [ #include <sys/bitypes.h>  ], 
+       [ uint8_t a; uint16_t b; 
+         uint32_t c; a = b = c = 1; ], 
+      [ AC_DEFINE(HAVE_UINTXX_T)
+       AC_MSG_RESULT(yes) ],
+      [ AC_MSG_RESULT(no)]
+   ) 
+
+fi
+
+
+
 
 dnl# --------------------------------------------------------------------------
-dnl# CHECKING FOR LIBRARY FUNCTIONS
+dnl# CHECKING FOR REQUIRED LIBRARY FUNCTIONS
 dnl# --------------------------------------------------------------------------
 AC_CHECK_FUNCS( \
        fork \
@@ -1051,12 +1298,12 @@ AC_CHECK_FUNCS( \
        strncmp \
        strncpy \
        vfprintf \
-       strtoll \
        ,,
        [echo 'configure: cannot find needed function.'; exit 1]
 )
 
 AC_CHECK_FUNCS(fchdir, [AC_DEFINE(HAVE_FCHDIR)])
+AC_CHECK_FUNCS(strtoll, [AC_DEFINE(HAVE_STRTOLL)])
 
 AC_CHECK_FUNCS(chflags) 
 
@@ -1082,6 +1329,34 @@ AC_CHECK_FUNC(socket,
     AC_CHECK_LIB(inet,socket))
 
 AC_CHECK_FUNCS(inet_pton, [AC_DEFINE(HAVE_INET_PTON)])
+AC_CHECK_FUNCS(inet_ntop, [AC_DEFINE(HAVE_INET_NTOP)])
+AC_CHECK_FUNCS(gethostbyname2, [AC_DEFINE(HAVE_GETHOSTBYNAME2)])
+
+dnl ----------------------------
+dnl check sa_len of sockaddr
+dnl ----------------------------
+AC_CACHE_CHECK(for struct sockaddr has a sa_len field, ac_cv_struct_sockaddr_sa_len,
+  [AC_TRY_COMPILE([#include <sys/socket.h>], [struct sockaddr s; s.sa_len;],
+  ac_cv_struct_sockaddr_sa_len=yes, ac_cv_struct_sockaddr_sa_len=no)])
+
+ if test $ac_cv_struct_sockaddr_sa_len = yes; then
+  AC_DEFINE(HAVE_SA_LEN, 1, [Define if sa_len field exists in struct sockaddr])
+ fi
+
+
+dnl Check for IPv6 support
+AC_CACHE_CHECK([for IPv6 support], ac_cv_ipv6_support,
+[AC_TRY_LINK([ #include <sys/types.h>
+#include <sys/socket.h>
+#include <netinet/in.h>], [struct sockaddr_in6 s; struct in6_addr t=in6addr_any; int i=AF_INET6; s; t.s6_addr[0] =
+ 0;],
+  [ac_cv_ipv6_support=yes], [ac_cv_ipv6_support=no])])
+
+if test "$ac_cv_ipv6_support" = yes; then
+  AC_DEFINE(HAVE_IPV6,1,[Whether to enable IPv6 support])
+fi
+
+
 
 AC_FUNC_STRFTIME
 AC_FUNC_VPRINTF
@@ -1106,6 +1381,14 @@ if test x$FDLIBS = x-lz; then
   have_zlib=yes
 fi
 
+AC_CHECK_HEADER(sys/acl.h)
+AC_CHECK_LIB(acl, acl_get_file, [FDLIBS="-lacl $FDLIBS"])
+have_acl=no
+if test $ac_cv_lib_acl_acl_get_file = yes; then
+   AC_DEFINE(HAVE_ACL)
+   have_acl=yes
+fi
+
 dnl Check for pthread libraries
 PTHREAD_LIB=""
 AC_CHECK_LIB(pthread, pthread_create, PTHREAD_LIB="-lpthread",
@@ -1157,13 +1440,15 @@ WLDFLAGS=
 PFILES="platforms/Makefile"
 PSCMD="ps -e"
 WIN32=
-hostname=`uname -n`
+MACOSX=
+hostname=`uname -n | cut -d '.' -f 1`
 case "$DISTNAME" in
 aix)
        DISTVER=`uname -r`
        PSCMD="ps -e -o pid,comm"
        PFILES="${PFILES} \
           platforms/aix/Makefile"
+       TAPEDRIVE="/dev/rmt0.1" 
   ;;     
 alpha)
        DISTVER=`uname -r`
@@ -1190,7 +1475,6 @@ bsdi)
            platforms/bsdi/bacula-fd \
            platforms/bsdi/bacula-sd \
            platforms/bsdi/bacula-dir"
-       hostname=`hostname -s`
        largefile_support="yes"
   ;;
 cygwin)
@@ -1204,7 +1488,7 @@ darwin)
        DISTVER=`uname -r`
        TAPEDRIVE="/dev/nst0"
        PSCMD="ps -e -o pid,command"
-       hostname=`hostname -s`
+       MACOSX=macosx
        PFILES="${PFILES} \
           platforms/darwin/Makefile"
   ;;
@@ -1212,12 +1496,14 @@ debian)
        DISTVER=`cat /etc/debian_version`
        TAPEDRIVE="/dev/nrst0"
        PSCMD="ps -e -o pid,command"
-       hostname=`hostname -s`
   ;;
 freebsd)
        DISTVER=`uname -a |awk '{print $3}'`
-       PTHREAD_LIB="-pthread"
-       CFLAGS="${CFLAGS} -pthread"
+       VER=`echo $DISTVER | cut -c 1`
+       if test x$VER = x4 ; then
+          PTHREAD_LIB="-pthread"
+          CFLAGS="${CFLAGS} -pthread"
+       fi
        lld="qd"
        llu="qu"
        TAPEDRIVE="/dev/nrsa0"
@@ -1227,10 +1513,11 @@ freebsd)
            platforms/freebsd/bacula-fd \
            platforms/freebsd/bacula-sd \
            platforms/freebsd/bacula-dir"
-       hostname=`hostname -s`
        largefile_support="yes"
   ;;
 hpux)
+       PSCMD="UNIX95=1 ps -e -o pid,comm"
+       CFLAGS="$(CFLAGS) -D_XOPEN_SOURCE_EXTENDED=1"
        DISTVER=`uname -r`
        TAPEDRIVE="/dev/rmt/0hnb"
   ;;
@@ -1268,8 +1555,19 @@ openbsd)
            platforms/openbsd/bacula-dir"
   ;;
 redhat)
-       DISTVER=`cat /etc/redhat-release | grep release |\
-                               cut -f 5 -d ' '`
+       if test -f /etc/whitebox-release ; then
+          f=/etc/whitebox-release
+       else
+          f=/etc/redhat-release
+       fi
+       if test `cat $f | grep release |\
+                  cut -f 3 -d ' '`x = "Enterprise"x ; then
+          DISTVER="Enterprise "`cat $f | grep release |\
+                   cut -f 6 -d ' '`
+       else
+           DISTVER=`cat /etc/redhat-release | grep release |\
+                    cut -f 5 -d ' '`
+       fi
        TAPEDRIVE="/dev/nst0"
        PSCMD="ps -e -o pid,command"
        PFILES="${PFILES} \
@@ -1281,6 +1579,19 @@ redhat)
            "
        hostname=`hostname -s`
   ;;
+mandrake)
+       DISTVER=`cat /etc/mandrake-release | grep release |\
+          cut -f 5 -d ' '`
+       TAPEDRIVE="/dev/nst0"
+       PSCMD="ps -e -o pid,command"
+       PFILES="${PFILES} \
+           platforms/mandrake/Makefile \
+           platforms/mandrake/bacula-fd \
+           platforms/mandrake/bacula-sd \
+           platforms/mandrake/bacula-dir \
+           platforms/mandrake/bacula.spec \
+           "
+  ;;
 gentoo)
        DISTVER=`awk '/version / {print $5}' < /etc/gentoo-release`
        TAPEDRIVE="/dev/nst0"
@@ -1290,14 +1601,17 @@ gentoo)
            platforms/gentoo/bacula-fd \
            platforms/gentoo/bacula-sd \
            platforms/gentoo/bacula-dir"
-       hostname=`hostname -s`
   ;;
-
 slackware)
        DISTVER=`cat /etc/slackware-version`
        TAPEDRIVE="/dev/nst0"
        PSCMD="ps -e -o pid,command"
-       hostname=`hostname -s`
+       PFILES="${PFILES} \
+           platforms/slackware/Makefile \
+           platforms/slackware/rc.bacula-fd \
+           platforms/slackware/rc.bacula-sd \
+           platforms/slackware/rc.bacula-dir\
+           platforms/slackware/functions.bacula"
   ;;
 solaris)
        DISTVER=`uname -r`
@@ -1314,17 +1628,27 @@ solaris)
   ;;
 suse)
        DISTVER=`cat /etc/SuSE-release |grep VERSION|\
-                               cut -f 3 -d ' '`
+           cut -f 3 -d ' '`
        TAPEDRIVE="/dev/nst0"
        PSCMD="ps -e -o pid,command"
-       hostname=`hostname -s`
+       PFILES="${PFILES} \
+           platforms/suse/Makefile \
+           platforms/suse/bacula-fd \
+           platforms/suse/bacula-sd \
+           platforms/suse/bacula-dir \
+           platforms/suse/bacula \
+           platforms/suse/bacula.spec"
   ;;
 suse5)
        DISTNAME=suse
        DISTVER=5.x
        TAPEDRIVE="/dev/nst0"
        PSCMD="ps -e -o pid,command"
-       hostname=`hostname -s`
+       PFILES="${PFILES} \
+           platforms/suse/Makefile \
+           platforms/suse/bacula-fd \
+           platforms/suse/bacula-sd \
+           platforms/suse/bacula-dir"
   ;;
 unknown)
        DISTVER=unknown
@@ -1344,6 +1668,7 @@ AC_DEFINE_UNQUOTED(llu, "$llu")
 AC_SUBST(TAPEDRIVE)
 AC_SUBST(PSCMD)
 AC_SUBST(WIN32)
+AC_SUBST(MACOSX)
 AC_SUBST(DISTNAME)
 AC_SUBST(DISTVER)
 
@@ -1376,80 +1701,129 @@ AC_OUTPUT([autoconf/Make.common \
           scripts/btraceback \
           scripts/startit \
           scripts/stopit \
-          scripts/console \
+          scripts/bconsole \
           scripts/gconsole \
           scripts/bacula \
-          scripts/fd \
+          scripts/devel_bacula \
           scripts/Makefile \
           scripts/logrotate \
-          scripts/bacula.desktop \
           scripts/bacula.desktop.gnome1 \
           scripts/bacula.desktop.gnome2 \
+          scripts/bacula.desktop.gnome1.consolehelper \
+          scripts/bacula.desktop.gnome2.consolehelper \
+          scripts/bacula.desktop.gnome1.xsu \
+          scripts/bacula.desktop.gnome2.xsu \
+          scripts/gnome-console.console_apps \
+          scripts/mtx-changer \
           doc/Makefile \
           src/Makefile \
+          src/host.h \
           src/console/Makefile \
-          src/console/console.conf \
+          src/console/bconsole.conf \
           src/gnome-console/Makefile \
           src/gnome-console/gnome-console.conf \
-          src/tconsole/Makefile \
+          src/gnome2-console/Makefile \
+          src/gnome2-console/gnome-console.conf \
+          src/wx-console/Makefile \
+          src/wx-console/wx-console.conf \
+          src/tray-monitor/Makefile \
+          src/tray-monitor/tray-monitor.conf \
           src/dird/Makefile \
           src/dird/bacula-dir.conf \
           src/lib/Makefile \
           src/stored/Makefile \
           src/stored/bacula-sd.conf \
           src/filed/Makefile \
-          src/filed/host.h \
           src/filed/bacula-fd.conf \
           src/filed/win32/Makefile \
           src/cats/Makefile \
           src/cats/make_catalog_backup \
           src/cats/delete_catalog_backup \
-          src/cats/alter_mysql_tables \
-          src/cats/make_mysql_tables \
-          src/cats/drop_mysql_tables \
+          src/cats/create_postgresql_database \
+          src/cats/update_postgresql_tables \
+          src/cats/make_postgresql_tables \
+          src/cats/grant_postgresql_privileges \
+          src/cats/drop_postgresql_tables \
+          src/cats/drop_postgresql_database \
           src/cats/create_mysql_database \
+          src/cats/update_mysql_tables \
+          src/cats/make_mysql_tables \
           src/cats/grant_mysql_privileges \
-          src/cats/alter_sqlite_tables \
+          src/cats/drop_mysql_tables \
+          src/cats/drop_mysql_database \
+          src/cats/create_sqlite_database \
+          src/cats/update_sqlite_tables \
           src/cats/make_sqlite_tables \
+          src/cats/grant_sqlite_privileges \
           src/cats/drop_sqlite_tables \
-          src/cats/create_sqlite_database \
+          src/cats/drop_sqlite_database \
           src/cats/sqlite \
           src/cats/mysql \
           src/cats/create_bdb_database \
+          src/cats/update_bdb_tables \
           src/cats/make_bdb_tables \
+          src/cats/grant_bdb_privileges \
           src/cats/drop_bdb_tables \
+          src/cats/drop_bdb_database \
+          src/cats/create_bacula_database \
+          src/cats/update_bacula_tables \
+          src/cats/grant_bacula_privileges \
           src/cats/make_bacula_tables \
           src/cats/drop_bacula_tables \
+          src/cats/drop_bacula_database \
           src/findlib/Makefile \
           src/tools/Makefile \
+          src/win32/winbacula.nsi \
+          src/win32/baculafd/bacula-fd.conf \
+          src/win32/Makefile \
+          src/win32/console/bconsole.conf \
+          src/win32/wx-console/wx-console.conf \
           $PFILES ],  
-         [(echo "Doing make of dependencies"; make depend;) ]
+         [(echo "Doing make of dependencies"; ${MAKE:-make} depend;) ]
 )
 
 cd scripts
 chmod 755 startmysql stopmysql bacula startit stopit btraceback mtx-changer
-chmod 755 console gconsole
+chmod 755 bconsole gconsole mtx-changer devel_bacula logrotate
 cd ..
-chmod 755 src/cats/make_mysql_tables src/cats/drop_mysql_tables
-chmod 755 src/cats/make_test_tables src/cats/drop_test_tables
-chmod 755 src/cats/create_mysql_database 
-chmod 755 src/cats/make_catalog_backup src/cats/delete_catalog_backup
-chmod 755 src/cats/alter_mysql_tables
-chmod 755 src/cats/grant_mysql_privileges
-chmod 755 src/cats/make_sqlite_tables src/cats/drop_sqlite_tables 
-chmod 755 src/cats/make_bacula_tables src/cats/drop_bacula_tables 
-chmod 755 src/cats/create_sqlite_database
-chmod 755 src/cats/alter_sqlite_tables
-chmod 755 src/cats/sqlite
-chmod 755 src/cats/make_bdb_tables src/cats/drop_bdb_tables 
-chmod 755 src/cats/create_bdb_database
+
+c=src/cats
+
+chmod 755 $c/create_bacula_database   $c/update_bacula_tables  $c/make_bacula_tables
+chmod 755 $c/grant_bacula_privileges  $c/drop_bacula_tables    $c/drop_bacula_database
+
+chmod 755 $c/create_bdb_database      $c/update_bdb_tables     $c/make_bdb_tables
+chmod 755 $c/grant_bdb_privileges     $c/drop_bdb_tables       $c/drop_bdb_database
+
+chmod 755 $c/create_mysql_database    $c/update_mysql_tables   $c/make_mysql_tables
+chmod 755 $c/grant_mysql_privileges   $c/drop_mysql_tables     $c/drop_mysql_database
+
+chmod 755 $c/create_sqlite_database   $c/update_sqlite_tables  $c/make_sqlite_tables
+chmod 755 $c/grant_sqlite_privileges  $c/drop_sqlite_tables    $c/drop_sqlite_database
+
+chmod 755 $c/create_postgresql_database  $c/update_postgresql_tables $c/make_postgresql_tables
+chmod 755 $c/grant_postgresql_privileges $c/drop_postgresql_tables   $c/drop_postgresql_database
+
+chmod 755 $c/make_catalog_backup $c/delete_catalog_backup
+chmod 755 $c/sqlite
+chmod 755 $c/mysql
 
 if test "x$ac_cv_sys_largefile_CFLAGS" != "xno" ; then
    largefile_support="yes"
 fi
 
-CCVERSION=`${CC} --version | cut -b-15`
-CXXVERSION=`${CXX} --version | cut -b-15`
+#
+# A whole lot of hand springs to get the compiler version.
+#  This is because gcc changed the output in version 3.0
+#
+CCVERSION=`${CC} --version | tr '\n' ' ' | cut -f 3 -d ' '`
+if test "x${CCVERSION}" = "x" ; then
+  CCVERSION=`${CC} --version | tr '\n' ' ' | cut -f 1 -d ' '`
+fi
+CXXVERSION=`${CXX} --version | tr '\n' ' ' | cut -f 3 -d ' '`
+if test x"${CXXVERSION}" = x ; then
+  CXXVERSION=`${CXX} --version | tr '\n' ' ' | cut -f 1 -d ' '`
+fi
 
 if test "x${subsysdir}" = "x${sbindir}" ; then
    echo " "
@@ -1457,12 +1831,26 @@ if test "x${subsysdir}" = "x${sbindir}" ; then
    echo "You have set --sbindir and --with-subsys-dir"
    echo "  both equal to: ${subsysdir} "
    echo "  This is not permitted. Please reconfigure."
+   echo " "
    echo "Aborting configuration ..."
    echo " "
    echo " "
    exit 1
 fi 
 
+if test "x${db_name}" = "xInternal" ; then
+   echo " "
+   echo " "
+   echo "You have not specified either --enable-client-only or one of the"
+   echo "  supported databases: MySQL, PostgreSQL, or SQLite".
+   echo "  This is not permitted. Please reconfigure."
+   echo " "
+   echo "Aborting the configuration ..."
+   echo " "
+   echo " "
+   exit 1
+fi
+
 echo "
 Configuration on `date`:
 
@@ -1491,18 +1879,31 @@ Configuration on `date`:
   Job Output Email:          ${job_email}
   Traceback Email:           ${dump_email}
   SMTP Host Address:         ${smtp_host}
-  Director Port              ${dir_port}
-  File daemon Port           ${fd_port}
-  Storage daemon Port        ${sd_port}
+
+  Director Port:             ${dir_port}
+  File daemon Port:          ${fd_port}
+  Storage daemon Port:       ${sd_port}
+
+  Director User:             ${dir_user}
+  Director Group:            ${dir_group}
+  Storage Daemon User:       ${sd_user}
+  Storage DaemonGroup:       ${sd_group}
+  File Daemon User:          ${fd_user}
+  File Daemon Group:         ${fd_group}
+
   SQL binaries Directory      ${SQL_BINDIR}
 
   Large file support:        $largefile_support
+  Bacula conio support:       ${got_conio} ${CONS_LIBS}
   readline support:          ${got_readline} ${PRTREADLINE_SRC}
   TCP Wrappers support:       ${TCPW_MSG}
   ZLIB support:              ${have_zlib}
   enable-smartalloc:         ${support_smartalloc} 
-  enable-gnome:              ${support_gnome}
+  enable-gnome:              ${support_gnome} ${gnome_version}
+  enable-wx-console:         ${support_wx_console}
+  enable-tray-monitor:       ${support_tray_monitor}
   client-only:               ${build_client_only}
+  ACL support:               ${have_acl}
 
   " > config.out
 
@@ -1510,4 +1911,4 @@ cat config.out
 
 # old stuff
 # cweb support:              ${got_cweb} ${CWEB_SRC}
-# gmp support:               ${got_gmp} ${GMP_SRC}
+  # gmp support:                     ${got_gmp} ${GMP_SRC}