]> git.sur5r.net Git - bacula/bacula/blobdiff - bacula/autoconf/configure.in
Fix conio.h problem on Solaris
[bacula/bacula] / bacula / autoconf / configure.in
index 143c7524b2207e6c1a103cf3968f4515b19acf15..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,10 +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)
@@ -142,9 +143,10 @@ support_mysql=no
 support_sqlite=no
 support_postgresql=no
 support_smartalloc=yes
-support_readline=no
+support_readline=yes
 support_conio=yes
 support_gnome=no
+support_wx_console=no
 gnome_version=
 support_static_tools=no
 support_static_fd=no
@@ -174,10 +176,10 @@ if test x$support_gnome = xyes; then
   abc=`$PKGCONFIG --exists libgnomeui-2.0`
   pkg=$?
   if test $pkg = 0; then
-     GNOME_INCLUDEDIR=`pkg-config --cflags-only-I libgnomeui-2.0`
-     GNOMEUI_LIBS=`pkg-config --libs-only-l libgnomeui-2.0`
-     GNOME_LIBDIR=`pkg-config --libs libgnomeui-2.0`
-     GNOME_LIBS=`pkg-config --libs-only-l libgnomeui-2.0`
+     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)
@@ -194,6 +196,58 @@ 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)
 # -------------------------------------------
@@ -278,12 +332,15 @@ AC_ARG_ENABLE(static-cons,
 
 STATIC_CONS=
 STATIC_GNOME_CONS=
+STATIC_WX_CONS=
 if test x$support_static_cons = xyes; then
    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)
@@ -292,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"
@@ -321,7 +380,17 @@ if test x$support_conio = xyes; then
         got_conio="yes"
         support_readline=no
         AC_DEFINE(HAVE_CONIO, 1, [Set if Bacula conio support enabled]) 
-       ], [ echo " "; echo "termcap library not found. CONIO turned off ..."; echo " "])
+       ],   
+       [ 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
 
@@ -357,7 +426,9 @@ if test x$support_readline = xyes; then
               CONS_LIBS="-lreadline -ltermcap"
               got_readline="yes"   
             ],
-            [ AC_MSG_ERROR([*** readline library missing]) 
+            [ echo " "
+              echo "readline.h not found. readline turned off ..."
+              echo " "
             ]
          )
          ;;
@@ -379,7 +450,9 @@ if test x$support_readline = xyes; then
                 CONS_LDFLAGS="-L${TOP_DIR}/depkgs/readline"
                 PRTREADLINE_SRC="${TOP_DIR}/depkgs/readline"
              ],
-             [ AC_MSG_ERROR([*** readline library missing]) 
+             [ echo " "
+               echo "readline.h not found. readline turned off ..."
+               echo " "
              ]
            )
         ]
@@ -400,13 +473,10 @@ 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_FUNCS(nanosleep nl_langinfo)
 AC_CHECK_HEADERS(varargs.h)
 
 # End of readline/conio stuff
@@ -853,6 +923,21 @@ 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
 # ------------------------------------------------
@@ -870,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
@@ -908,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 \
@@ -919,6 +1001,8 @@ AC_CHECK_HEADERS( \
        resolv.h \
        mtio.h \
        sys/mtio.h \
+       sys/tape.h \
+       regex.h \
 )
 AC_HEADER_STDC
 AC_HEADER_MAJOR
@@ -1164,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 \
@@ -1213,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
@@ -1237,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",
@@ -1288,6 +1440,7 @@ WLDFLAGS=
 PFILES="platforms/Makefile"
 PSCMD="ps -e"
 WIN32=
+MACOSX=
 hostname=`uname -n | cut -d '.' -f 1`
 case "$DISTNAME" in
 aix)
@@ -1335,6 +1488,7 @@ darwin)
        DISTVER=`uname -r`
        TAPEDRIVE="/dev/nst0"
        PSCMD="ps -e -o pid,command"
+       MACOSX=macosx
        PFILES="${PFILES} \
           platforms/darwin/Makefile"
   ;;
@@ -1401,9 +1555,14 @@ openbsd)
            platforms/openbsd/bacula-dir"
   ;;
 redhat)
-       if test `cat /etc/redhat-release | grep release |\
+       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 /etc/redhat-release | grep release |\
+          DISTVER="Enterprise "`cat $f | grep release |\
                    cut -f 6 -d ' '`
        else
            DISTVER=`cat /etc/redhat-release | grep release |\
@@ -1509,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)
 
@@ -1545,13 +1705,14 @@ AC_OUTPUT([autoconf/Make.common \
           scripts/gconsole \
           scripts/bacula \
           scripts/devel_bacula \
-          scripts/fd \
           scripts/Makefile \
           scripts/logrotate \
           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 \
@@ -1563,7 +1724,10 @@ AC_OUTPUT([autoconf/Make.common \
           src/gnome-console/gnome-console.conf \
           src/gnome2-console/Makefile \
           src/gnome2-console/gnome-console.conf \
-          src/tconsole/Makefile \
+          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 \
@@ -1610,10 +1774,12 @@ AC_OUTPUT([autoconf/Make.common \
           src/findlib/Makefile \
           src/tools/Makefile \
           src/win32/winbacula.nsi \
-          src/win32/bacula-fd.conf \
+          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
@@ -1665,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`:
 
@@ -1720,7 +1900,10 @@ Configuration on `date`:
   ZLIB support:              ${have_zlib}
   enable-smartalloc:         ${support_smartalloc} 
   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
 
@@ -1728,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}