]> git.sur5r.net Git - bacula/bacula/blobdiff - bacula/autoconf/configure.in
- DVD writing/reading seems to be mostly working.
[bacula/bacula] / bacula / autoconf / configure.in
index a087caa07b00957530755dd50661458523d7069d..d03826333090ad4bebb12d42c3c86d82bc5f864e 100644 (file)
@@ -40,10 +40,13 @@ AC_PROG_CXX
 AC_PROG_CC_C_O                 dnl Determine if C compiler support -c -o.
 AC_PROG_GCC_TRADITIONAL        dnl Determine if ioctl() need -traditional.
 
-if test "x$CC" = xgcc
-then
+if test "x$CC" = xgcc; then
    AC_DEFINE(HAVE_GCC)
 fi
+AC_PATH_PROG(CXX, $CXX, $CXX)
+if test ! -e $CXX; then
+   AC_MSG_ERROR(Unable to find C++ compiler)
+fi
 
 dnl -------------------------------------------------------
 dnl# Check for programs.
@@ -54,7 +57,6 @@ AC_PATH_PROG(MV, mv, mv)
 AC_PATH_PROG(RM, rm, rm)
 AC_PATH_PROG(CP, cp, cp)
 AC_PATH_PROG(SED, sed, sed)
-AC_PATH_PROG(AWK, awk, awk)
 AC_PATH_PROG(ECHO, echo, echo)
 AC_PATH_PROG(CMP, cmp, cmp)
 AC_PATH_PROG(TBL, tbl, tbl)
@@ -62,10 +64,33 @@ AC_PATH_PROG(AR, ar, ar)
 dnl AC_PATH_PROG(RANLIB, ranlib, ranlib)
 AC_PATH_PROG(OPENSSL, openssl, none)
 AC_PATH_PROG(MTX, mtx, mtx)
+AC_PATH_PROG(MKISOFS, mkisofs, mkisofs)
+AC_PATH_PROG(PYTHON, python, python)
+AC_PATH_PROG(GROWISOFS, growisofs, growisofs)
+AC_PATH_PROG(DVDRWMEDIAINFO, dvd+rw-mediainfo, dvd+rw-mediainfo)
 AC_PATH_PROG(PKGCONFIG, pkg-config, pkg-config)
-AC_PATH_PROG(WXCONFIG, wx-config, wx-config)
+AC_ARG_VAR(WXCONFIG, [wx-config command. On some systems, you must set it to wx-config-2.6 to use wxWidgets 2.6.])
+if test "x$WXCONFIG" = x; then
+  WXCONFIG=wx-config
+fi
+AC_PATH_PROG(WXCONFIG, ${WXCONFIG}, ${WXCONFIG})
+AC_ARG_VAR(WXFLAGS, [Parameters to pass to wx-config (e.g. --unicode=no).])
 AC_PATH_PROG(CDRECORD, cdrecord, cdrecord)
 AC_PATH_PROG(PIDOF, pidof, pidof)
+AC_PROG_AWK
+# Some AWK programs fail, so test it and warn the user
+if echo xfoo | $AWK 'BEGIN { prog=ARGV[1]; ARGC=1 } 
+      { if ((prog == $2) || (("(" prog ")") == $2) ||
+          (("[" prog "]") == $2) ||
+          ((prog ":") == $2)) { print $1 ; exit 0 } }' xfoo>/dev/null; then :;
+else
+  AC_MSG_ERROR([!!!!!!!!! WARNING !!!!!!!!!!!!!!
+   The regex engine of $AWK is too broken to be used you 
+   might want to install GNU AWK.
+   !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!])
+fi
+THE_AWK=$AWK
+AC_PATH_PROG(AWK, $THE_AWK, $THE_AWK)
 
 test -n "$ARFLAG" || ARFLAGS="cr"
 AC_SUBST(ARFLAGS)
@@ -123,6 +148,14 @@ if test x$sbindir = x'${exec_prefix}/sbin' ; then
     sbindir=${exec_prefix}/sbin
 fi
 sbindir=`eval echo ${sbindir}`
+
+# -------------------------------------------------------------------------
+#  If the user has not set --mandir, we default to /usr/share/man
+# -------------------------------------------------------------------------
+if test x$mandir = x'${prefix}/man' ; then
+   mandir=/usr/share/man
+fi
+
                      
 # ------------------------------------------------------------------
 # All list of languages for which a translation exist. Each
@@ -143,13 +176,16 @@ fi
 
 support_mysql=no
 support_sqlite=no
+support_sqlite3=no
 support_postgresql=no
 support_smartalloc=yes
 support_readline=yes
 support_conio=yes
 support_gnome=no
 support_wx_console=no
+support_tls=no
 gnome_version=
+wx_version=
 support_static_tools=no
 support_static_fd=no
 support_static_sd=no
@@ -210,11 +246,13 @@ AC_ARG_ENABLE(wx-console,
 
 WX_DIR=
 if test x$support_wx_console = xyes; then
-  abc=`$WXCONFIG --cppflags`
+  abc=`$WXCONFIG $WXFLAGS --cppflags`
   pkg=$?
   if test $pkg = 0; then
-     WXCONS_CPPFLAGS=`$WXCONFIG --cppflags`
-     WXCONS_LDFLAGS=`$WXCONFIG --libs`
+     wx_version="wxWidgets `$WXCONFIG $WXFLAGS --release`"
+     WXCONS_CPPFLAGS=`$WXCONFIG $WXFLAGS --cppflags`
+     WXCONS_LDFLAGS=`$WXCONFIG $WXFLAGS --libs`
+
      AC_SUBST(WXCONS_CPPFLAGS)
      AC_SUBST(WXCONS_LDFLAGS)
      WX_DIR=src/wx-console
@@ -527,6 +565,9 @@ AC_ARG_WITH(python,
        elif test -f /usr/include/python2.3/Python.h; then
           PYTHON_INCDIR=-I/usr/include/python2.3
           PYTHON_LIBS="-L/usr/lib/python2.3/config -lpython2.3 -lutil -ldl"
+       elif test -f /usr/include/python2.4/Python.h; then
+          PYTHON_INCDIR=-I/usr/include/python2.4
+          PYTHON_LIBS="-L/usr/lib/python2.4/config -lpython2.4 -lutil -ldl"
        elif test -f $prefix/include/Python.h; then
           PYTHON_INCDIR=-I$prefix/include
           PYTHON_LIBS="-L$prefix/lib/config -lpython -lutil -ldl"
@@ -560,143 +601,6 @@ AC_SUBST(PYTHON_LIBS)
 AC_SUBST(PYTHON_INCDIR)
   
 
-# -------------------------------------------
-# check for cdrecord writer location
-# get scsibus,target,lun
-# -------------------------------------------
-CDSTL="3,0,0"
-if test ! x$CDRECORD = x ; then
-   CDSTL=`${CDRECORD} -scanbus 2>/dev/null | grep CD-RW | ${AWK} '{print $1}'`
-   if test x${CDSTL} = x ; then
-      CDSTL=`${CDRECORD} -scanbus 2>/dev/null | grep CD+RW | ${AWK} '{print $1}'`
-   fi
-   if test x${CDSTL} = x ; then
-      CDSTL="3,0,0"
-   fi
-fi
-AC_SUBST(CDSTL)
-
-
-# ---------------------------------------------------
-# Check for GMP support/directory
-# ---------------------------------------------------
-#GMP_SRC=
-#local_gmp="no"
-#AC_ARG_WITH(gmp,
-#  [  --with-gmp[=DIR]  Specify gmp library directory],
-#  [
-#     case "$with_gmp" in
-#     no) : ;;
-#     yes|*)
-#      if test "$with_gmp" != "yes"; then
-#        GMP_INC="-I$with_gmp"
-#        GMP_LIBS="-lgmp"
-#        GMP_LDFLAGS="-L$with_gmp"
-#      else
-#         with_gmp="/usr/include" 
-#      fi
-#      AC_CHECK_HEADER($with_gmp/gmp.h, 
-#         [ AC_MSG_RESULT(yes)
-#           AC_DEFINE(HAVE_GMP) 
-#           GMP_LIBS="-lgmp"
-#           got_gmp="yes"   
-#         ],
-#         [ AC_MSG_ERROR([*** gmp library missing]) 
-#         ]
-#      )
-#      ;;
-#     esac
-#  ],[
-#    # check for standard gmp library
-#    AC_CHECK_HEADER(/usr/include/gmp.h,
-#    [ AC_MSG_RESULT(yes)
-#      AC_DEFINE(HAVE_GMP)
-#      got_gmp="yes"
-#      GMP_INC=
-#      GMP_LIBS="-lgmp"
-#    ], [
-#      # Did not find standard library, so use our own
-#      AC_MSG_RESULT(yes)
-#      AC_DEFINE(HAVE_GMP)
-#      got_gmp="yes"
-#      local_gmp="yes"
-#      GMP_INC="-I${TOP_DIR}/depkgs/gmp"
-#      GMP_LIBS="-lgmp"
-#      GMP_LDFLAGS="-L${TOP_DIR}/depkgs/gmp"
-#      GMP_SRC="${TOP_DIR}/depkgs/gmp"
-#    ])
-#  ]   
-#)
-#AC_SUBST(GMP_INC)
-#AC_SUBST(GMP_LIBS)
-#AC_SUBST(GMP_LDFLAGS)
-#AC_SUBST(GMP_SRC)
-
-# End of GMP stuff
-# -----------------------------------------------------------------------
-
-
-# ---------------------------------------------------
-# Check for CWEB support/directory
-# ---------------------------------------------------
-#CWEB_SRC=
-#CWEB=/bin
-#local_cweb="no"
-#AC_ARG_WITH(cweb,
-#  [  --with-cweb[=DIR]   Specify cweb library directory],
-#  [
-#     case "$with_cweb" in
-#     no) : ;;
-#     yes|*)
-#      if test "$with_cweb" != "yes"; then
-#        CWEB_INC="-I$with_cweb"
-#        CWEB_LIBS="-lcweb"
-#        CWEB_LDFLAGS="-L$with_cweb"
-#      else
-#         with_cweb="/usr/include" 
-#      fi
-#      AC_CHECK_HEADER($with_cweb/cweb.h, 
-#         [ AC_MSG_RESULT(yes)
-#           AC_DEFINE(HAVE_CWEB) 
-#           CWEB_LIBS="-lcweb"
-#           got_cweb="yes"   
-#         ],
-#         [ AC_MSG_ERROR([*** cweb library missing]) 
-#         ]
-#      )
-#      ;;
-#     esac
-#  ],[
-#    # check for standard cweb library
-#    AC_CHECK_HEADER(/usr/include/cweb.h,
-#    [ AC_MSG_RESULT(yes)
-#      AC_DEFINE(HAVE_CWEB)
-#      got_cweb="yes"
-#      CWEB_INC=
-#      CWEB_LIBS="-lcweb"
-#    ], [
-#      # Did not find starndard library, so use our own
-#      AC_MSG_RESULT(yes)
-#      AC_DEFINE(HAVE_CWEB)
-#      got_cweb="yes"
-#      local_cweb="yes"
-#      CWEB=${TOP_DIR}/depkgs/cweb
-#      CWEB_INC="-I${TOP_DIR}/depkgs/cweb"
-#      CWEB_LIBS="-lcweb"
-#      CWEB_LDFLAGS="-L${TOP_DIR}/depkgs/cweb"
-#      CWEB_SRC="${TOP_DIR}/depkgs/cweb"
-#    ])
-#  ]   
-#)
-#AC_SUBST(CWEB)
-#AC_SUBST(CWEB_INC)
-#AC_SUBST(CWEB_LIBS)
-#AC_SUBST(CWEB_LDFLAGS)
-#AC_SUBST(CWEB_SRC)
-
-# End of CWEB stuff
-# -----------------------------------------------------------------------
-
 #
 # Find where sockets are (especially for Solaris)
 # Do this before the TCP Wrappers test since tcp wrappers
@@ -750,6 +654,56 @@ AC_ARG_WITH(tcp-wrappers,
   ]
 )
 
+# -----------------------------------------------------------
+# Check whether OpenSSL is available
+# -----------------------------------------------------------
+AC_MSG_CHECKING([for OpenSSL])
+dnl The following uses quadrigraphs:
+dnl '@<:@' = '['
+dnl '@:>@' = ']'
+AC_ARG_WITH(openssl,
+       AC_HELP_STRING([--with-openssl@<:@=DIR@:>@], [Include OpenSSL support. DIR is the OpenSSL base]),
+       [with_openssl_directory=${withval}])
+
+if test "x$with_openssl_directory" != "x"; then
+       OPENSSL_LIBS="-lssl -lcrypto"
+       OPENSSL_INC=""
+
+       if test "x$with_openssl_directory" != "xyes" && test x"${with_openssl_directory}" != "x"; then
+               OPENSSL_LIBS="-L$with_openssl_directory/lib $OPENSSL_LIBS"
+               OPENSSL_INC="-I$with_openssl_directory/include $OPENSSL_INC"
+       fi
+
+       saved_LIBS="$LIBS"
+       saved_CFLAGS="$CFLAGS"
+       LIBS="$saved_LIBS $OPENSSL_LIBS"
+       CFLAGS="$saved_CFLAGS $OPENSSL_INC"
+
+       AC_TRY_LINK([ #include <openssl/ssl.h> ],
+               [ CRYPTO_set_id_callback(NULL); ],
+               [ support_tls="yes" ],
+               [ support_tls="no" ]
+       )
+
+       LIBS="$saved_LIBS"
+       CFLAGS="$saved_CFLAGS"
+
+       if test "$support_tls" = "yes"; then
+               AC_DEFINE(HAVE_OPENSSL, 1, [Define if OpenSSL library is available])
+               AC_DEFINE(HAVE_TLS, 1, [Define if TLS support should be enabled])
+       fi
+else
+       support_tls="no"
+       OPENSSL_LIBS=""
+       OPENSSL_INC=""
+fi
+
+AC_MSG_RESULT([$support_tls])
+AC_SUBST(OPENSSL_LIBS)
+AC_SUBST(OPENSSL_INC)
+
+
+
 # ------------------------------------------
 # Where to place working dir
 # ------------------------------------------
@@ -1180,6 +1134,8 @@ BA_CHECK_POSTGRESQL_DB
 
 BA_CHECK_MYSQL_DB
 
+BA_CHECK_SQLITE3_DB
+
 BA_CHECK_SQLITE_DB
 
 AC_SUBST(cats)
@@ -1543,7 +1499,7 @@ AC_CHECK_FUNCS(strtoll, [AC_DEFINE(HAVE_STRTOLL)])
 
 AC_CHECK_FUNCS(chflags) 
 
-AC_CHECK_FUNCS(snprintf vsnprintf gethostid getdomainname)
+AC_CHECK_FUNCS(snprintf vsnprintf gethostid fseeko)
 
 dnl# --------------------------------------------------------------------------
 dnl# CHECKING FOR THREAD SAFE FUNCTIONS
@@ -1594,7 +1550,7 @@ AC_FUNC_ALLOCA
 AC_FUNC_GETMNTENT
 AC_FUNC_CLOSEDIR_VOID
 AC_FUNC_SETPGRP                      dnl check for BSD setpgrp.
-AC_FUNC_FNMATCH
+# AC_FUNC_FNMATCH    dnl use local version
 
 
 dnl# FreeBSD needs to link libxpg4
@@ -1697,7 +1653,7 @@ bsdi)
        TAPEDRIVE="/dev/nrmt0"
        PTHREAD_LIB="-pthread"
        CFLAGS="${CFLAGS} -pthread"
-       PSCMD="ps -x -o pid,command"
+       PSCMD="ps -ax -o pid,command"
        lld="qd"
        llu="qu"
        PFILES="${PFILES} \
@@ -1737,7 +1693,7 @@ freebsd)
        lld="qd"
        llu="qu"
        TAPEDRIVE="/dev/nrsa0"
-       PSCMD="ps -x -o pid,command"
+       PSCMD="ps -ax -o pid,command"
        PFILES="${PFILES} \
            platforms/freebsd/Makefile \
            platforms/freebsd/bacula-fd \
@@ -1750,6 +1706,8 @@ hpux)
        CFLAGS="$(CFLAGS) -D_XOPEN_SOURCE_EXTENDED=1"
        DISTVER=`uname -r`
        TAPEDRIVE="/dev/rmt/0hnb"
+       PTHREAD_LIB="-lpthread"
+       AC_DEFINE([_INCLUDE_LONGLONG])
   ;;
 irix)
        DISTVER=`uname -r`
@@ -1766,7 +1724,7 @@ netbsd)
        lld="qd"
        llu="qu"
        TAPEDRIVE="/dev/nrst0"
-       PSCMD="ps -a -o pid,command"
+       PSCMD="ps -ax -o pid,command"
        PTHREAD_LIB="-pthread"
        CFLAGS="${CFLAGS} -pthread"
   ;;
@@ -1856,6 +1814,7 @@ solaris)
        if test x$DISTVER = x5.6 ; then
            AC_DEFINE(HAVE_OLD_SOCKOPT)
        fi
+       LIBS="$LIBS -lresolv"
   ;;
 suse)
        DISTVER=`cat /etc/SuSE-release |grep VERSION|\
@@ -1923,13 +1882,6 @@ fi
 
 AC_OUTPUT([autoconf/Make.common \
           Makefile \
-          rescue/Makefile \
-          rescue/linux/Makefile \
-          rescue/linux/floppy/Makefile \
-          rescue/linux/cdrom/Makefile \
-          rescue/linux/cdrom/bacula/Makefile \
-          rescue/freebsd/Makefile \
-          rescue/solaris/Makefile \
           scripts/startmysql \
           scripts/stopmysql \
           scripts/btraceback \
@@ -1949,8 +1901,11 @@ AC_OUTPUT([autoconf/Make.common \
           scripts/bacula.desktop.gnome2.xsu \
           scripts/gnome-console.console_apps \
           scripts/mtx-changer \
+          scripts/dvd-writepart \
+          scripts/dvd-freespace \
           scripts/bacula-tray-monitor.desktop \
-          doc/Makefile \
+          scripts/logwatch/Makefile \
+          scripts/logwatch/logfile.bacula.conf \
           src/Makefile \
           src/host.h \
           src/console/Makefile \
@@ -1992,6 +1947,12 @@ AC_OUTPUT([autoconf/Make.common \
           src/cats/grant_sqlite_privileges \
           src/cats/drop_sqlite_tables \
           src/cats/drop_sqlite_database \
+          src/cats/create_sqlite3_database \
+          src/cats/update_sqlite3_tables \
+          src/cats/make_sqlite3_tables \
+          src/cats/grant_sqlite3_privileges \
+          src/cats/drop_sqlite3_tables \
+          src/cats/drop_sqlite3_database \
           src/cats/sqlite \
           src/cats/mysql \
           src/cats/create_bdb_database \
@@ -2022,6 +1983,7 @@ AC_OUTPUT([autoconf/Make.common \
 
 cd scripts
 chmod 755 startmysql stopmysql bacula startit stopit btraceback mtx-changer
+chmod 755 dvd-writepart dvd-freespace
 chmod 755 bconsole gconsole mtx-changer devel_bacula logrotate
 cd ..
 
@@ -2080,7 +2042,7 @@ 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 "  supported databases: MySQL, PostgreSQL, SQLite3 or SQLite."
    echo "  This is not permitted. Please reconfigure."
    echo " "
    echo "Aborting the configuration ..."
@@ -2101,6 +2063,7 @@ Configuration on `date`:
   Working directory:         ${working_dir}
   PID directory:             ${piddir}
   Subsys directory:          ${subsysdir}
+  Man directory:             ${mandir}
   C Compiler:                ${CC} ${CCVERSION}
   C++ Compiler:              ${CXX} ${CXXVERSION}
   Compiler flags:            ${WCFLAGS} ${CFLAGS} 
@@ -2135,10 +2098,11 @@ Configuration on `date`:
   Bacula conio support:       ${got_conio} ${CONS_LIBS}
   readline support:          ${got_readline} ${PRTREADLINE_SRC}
   TCP Wrappers support:       ${TCPW_MSG}
+  TLS support:               ${support_tls}
   ZLIB support:              ${have_zlib}
   enable-smartalloc:         ${support_smartalloc} 
   enable-gnome:              ${support_gnome} ${gnome_version}
-  enable-wx-console:         ${support_wx_console}
+  enable-wx-console:         ${support_wx_console} ${wx_version}
   enable-tray-monitor:       ${support_tray_monitor}
   client-only:               ${build_client_only}
   ACL support:               ${have_acl}
@@ -2147,7 +2111,3 @@ Configuration on `date`:
   " > config.out
 
 cat config.out
-
-# old stuff
-# cweb support:              ${got_cweb} ${CWEB_SRC}
-# gmp support:               ${got_gmp} ${GMP_SRC}