]> git.sur5r.net Git - bacula/bacula/blobdiff - bacula/autoconf/configure.in
Fix conio.h problem on Solaris
[bacula/bacula] / bacula / autoconf / configure.in
index 37ca9a59d4ef7fbcef6034414bec6c9a2ac6f596..e72a34826b441b5a7aa0f630867256bfe549bd28 100644 (file)
@@ -59,7 +59,7 @@ 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)
@@ -200,7 +200,7 @@ AC_SUBST(GNOME_DIR)
 # wx-console (default off)
 # -------------------------------------------
 AC_ARG_ENABLE(wx-console,
-  [  --enable-wx-console      enable build of wxWidgets console [disabled]],
+  [  --enable-wx-console     enable build of wxWidgets console [disabled]],
   [if test x$enableval = xyes; then
     support_wx_console=yes
   fi])
@@ -225,6 +225,28 @@ 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)
@@ -327,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"
@@ -449,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
@@ -902,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
 # ------------------------------------------------
@@ -919,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
@@ -957,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 \
@@ -968,6 +1001,8 @@ AC_CHECK_HEADERS( \
        resolv.h \
        mtio.h \
        sys/mtio.h \
+       sys/tape.h \
+       regex.h \
 )
 AC_HEADER_STDC
 AC_HEADER_MAJOR
@@ -1213,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 \
@@ -1262,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
@@ -1286,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",
@@ -1337,6 +1440,7 @@ WLDFLAGS=
 PFILES="platforms/Makefile"
 PSCMD="ps -e"
 WIN32=
+MACOSX=
 hostname=`uname -n | cut -d '.' -f 1`
 case "$DISTNAME" in
 aix)
@@ -1384,6 +1488,7 @@ darwin)
        DISTVER=`uname -r`
        TAPEDRIVE="/dev/nst0"
        PSCMD="ps -e -o pid,command"
+       MACOSX=macosx
        PFILES="${PFILES} \
           platforms/darwin/Makefile"
   ;;
@@ -1450,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 |\
@@ -1558,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)
 
@@ -1594,7 +1705,6 @@ AC_OUTPUT([autoconf/Make.common \
           scripts/gconsole \
           scripts/bacula \
           scripts/devel_bacula \
-          scripts/fd \
           scripts/Makefile \
           scripts/logrotate \
           scripts/bacula.desktop.gnome1 \
@@ -1616,6 +1726,8 @@ AC_OUTPUT([autoconf/Make.common \
           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 \
@@ -1664,9 +1776,10 @@ AC_OUTPUT([autoconf/Make.common \
           src/win32/winbacula.nsi \
           src/win32/baculafd/bacula-fd.conf \
           src/win32/Makefile \
-          src/win32/console/bconsole.conf.in \
+          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
@@ -1718,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`:
 
@@ -1774,7 +1901,9 @@ Configuration on `date`:
   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
 
@@ -1782,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}