TOP_DIR=`pwd`
cd ${BUILD_DIR}
AC_SUBST(BUILD_DIR)
+AC_SUBST(TOP_DIR)
AC_CONFIG_AUX_DIR(${BUILD_DIR}/autoconf)
AC_CONFIG_HEADER(src/config.h:autoconf/config.h.in)
AC_PATH_PROGS(TRUEPRG, true, :)
AC_PATH_PROGS(FALSEPRG, false, :)
-#AC_CANONICAL_HOST
dnl bacula version
VERSION=`sed -n -e 's/^.*VERSION.*"\(.*\)"$/\1/p' ${srcdir}/src/version.h`
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
+BASECC=`basename $CC`
+have_gcc=no
+if test "x$BASECC" = xgcc; then
AC_DEFINE(HAVE_GCC)
+ have_gcc=yes
fi
AC_PATH_PROG(CXX, $CXX, $CXX)
if test ! -e $CXX; then
dnl AC_PATH_PROG(RANLIB, ranlib, ranlib)
AC_PATH_PROG(OPENSSL, openssl, none)
AC_PATH_PROG(MTX, mtx, mtx)
-AC_PATH_PROG(DF, df, df)
+AC_PATH_PROG(DD, dd, dd)
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(DVDRWFORMAT, dvd+rw-format, dvd+rw-format)
AC_PATH_PROG(PKGCONFIG, pkg-config, pkg-config)
+AC_PATH_PROG(QMAKE, qmake, none)
+AC_PATH_PROG(QMAKEQT4, qmake-qt4, none)
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
THE_AWK=$AWK
AC_PATH_PROG(AWK, $THE_AWK, $THE_AWK)
+
test -n "$ARFLAG" || ARFLAGS="cr"
AC_SUBST(ARFLAGS)
datadir=`eval echo ${datadir}`
localedir=`eval echo ${datadir}/locale`
AC_DEFINE_UNQUOTED(LOCALEDIR, "$localedir")
+AC_DEFINE_UNQUOTED(SYSCONFDIR, "$sysconfdir")
# -------------------------------------------------------------------------
# If the user has not set --exec-prefix, we default to ${prefix}
fi
sbindir=`eval echo ${sbindir}`
+
# -------------------------------------------------------------------------
# If the user has not set --mandir, we default to /usr/share/man
# -------------------------------------------------------------------------
fi
-# ------------------------------------------------------------------
-# All list of languages for which a translation exist. Each
-# language is separated by a space.
-# ------------------------------------------------------------------
-ALL_LINGUAS=""
-
AC_PATH_PROGS(MSGFMT, msgfmt, no)
if test "$MSGFMT" = "no"
then
support_sqlite=no
support_sqlite3=no
support_postgresql=no
+support_dbi=no
support_smartalloc=yes
support_readline=yes
support_conio=yes
support_gnome=no
+support_bat=no
support_wx_console=no
support_tls=no
+support_crypto=no
gnome_version=
wx_version=
support_static_tools=no
build_dird=yes
build_stored=yes
cats=
-db_name=Internal
-DB_NAME=bdb
+db_type=Internal
+DB_TYPE=bdb
dnl# --------------------------------------------------------------------------
dnl# CHECKING COMMAND LINE OPTIONS
# gnome (default off)
# -------------------------------------------
AC_ARG_ENABLE(gnome,
- [ --enable-gnome enable build of gnome-console GUI [disabled]],
+ [ --enable-gnome enable build of bgnome-console GUI [disabled]],
[if test x$enableval = xyes; then
support_gnome=yes
fi])
fi
AC_SUBST(GNOME_DIR)
+# -------------------------------------------
+# bat (default off)
+# -------------------------------------------
+AC_ARG_ENABLE(bat,
+ [ --enable-bat enable build of bat Qt4 GUI [disabled]],
+ [if test x$enableval = xyes; then
+ AC_DEFINE(HAVE_BAT, 1, [Set if Bacula bat Qt4 GUI support enabled])
+ support_bat=yes
+ fi])
+
+BAT_DIR=
+if test x$support_bat = xyes; then
+ abc=`$PKGCONFIG --atleast-version=4.2 QtGui`
+ pkg=$?
+ if test $pkg = 0; then
+ BAT_DIR=src/qt-console
+ else
+ AC_MSG_ERROR(Unable to find Qt4 installation needed by bat)
+ fi
+fi
+
+#
+# If bat is enabled, we need the qwt library
+got_qwt=no
+QWT_INC=
+QWT_LDFLAGS=
+if test x$support_bat = xyes; then
+ AC_MSG_CHECKING(for qwt support)
+ AC_ARG_WITH(qwt,
+ [ --with-qwt@<:@=DIR@:>@ specify qwt library directory],
+ [
+ case "$with_qwt" in
+ no)
+ ;;
+ yes|*)
+ if test -f ${with_qwt}/include/qwt.h; then
+ QWT_INC="${with_qwt}/include"
+ QWT_LDFLAGS="-L${with_qwt}/lib"
+ fi
+ ;;
+ esac
+ ]
+ )
+#
+# Search in standard places, or --with-qwt not specified
+#
+ if test x$QWT_INC = x; then
+ for root in /usr /usr/local; do
+ for ver in qwt qwt5 qwt-qt4; do
+ if test -f ${root}/include/${ver}/qwt.h; then
+ QWT_INC="${root}/include/${ver}"
+ if test -d ${root}/lib64/; then
+ QWT_LDFLAGS="-L${root}/lib64"
+ else
+ QWT_LDFLAGS="-L${root}/lib"
+ fi
+ got_qwt=yes
+ break;
+ fi
+ done
+ done
+ fi
+ if test x$QWT_INC = x; then
+ AC_MSG_RESULT(no)
+ AC_MSG_ERROR(Unable to find qwt package needed by bat)
+ BAT_DIR=
+ support_bat=no
+ else
+ AC_MSG_RESULT(yes)
+ fi
+fi
+
+AC_SUBST(BAT_DIR)
+AC_SUBST(QWT_INC)
+AC_SUBST(QWT_LDFLAGS)
+
# -------------------------------------------
-# wx-console (default off)
+# bwx-console (default off)
# -------------------------------------------
-AC_ARG_ENABLE(wx-console,
- [ --enable-wx-console enable build of wxWidgets console [disabled]],
+AC_ARG_ENABLE(bwx-console,
+ [ --enable-bwx-console enable build of wxWidgets console [disabled]],
[if test x$enableval = xyes; then
support_wx_console=yes
fi])
WX_DIR=src/wx-console
else
echo " "
- echo "wx-config program not found. wx-console disabled."
+ echo "wx-config program not found. bwx-console disabled."
echo " "
support_wx_console=no
fi
abc=`$PKGCONFIG --atleast-version=2.4 gtk+-2.0`
pkg=$?
if test $pkg = 0; then
- AC_DEFINE(HAVE_GTK_2_4)
+ AC_DEFINE(HAVE_GTK_2_4, 1, [Set if you have GTK 4.2 or greater loaded])
fi
fi
fi
fi])
if test x$support_smartalloc = xyes; then
- AC_DEFINE(SMARTALLOC)
+ AC_DEFINE(SMARTALLOC, 1, [Set if you want Smartalloc enabled])
fi
# -------------------------------------------
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"
+ STATIC_GNOME_CONS="static-bgnome-console"
+ STATIC_WX_CONS="static-bwx-console"
fi
AC_SUBST(STATIC_CONS)
AC_SUBST(STATIC_GNOME_CONS)
[ --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
+ db_type=None
+ DB_TYPE=none
fi])
if test x$build_client_only = xno; then
ALL_DIRS="subdirs"
# Check for conio (Bacula readline substitute)(
# ---------------------------------------------------
# this allows you to turn it completely off
-AC_ARG_ENABLE(conio,
- [ --disable-conio disable conio support [enabled]
+AC_ARG_ENABLE(conio,
+ [ --disable-conio disable conio support [enabled]
+ ],
+ [if test x$enableval = xno; then
+ support_conio=no
+ fi]
+)
+
+
+# ---------------------------------------------------
+# Check for IPv6 support
+# ---------------------------------------------------
+# this allows you to turn it completely off
+support_ipv6=yes
+AC_ARG_ENABLE(ipv6,
+ [ --enable-ipv6 enable ipv6 support [enabled]
],
[if test x$enableval = xno; then
- support_conio=no
- fi])
+ support_ipv6=no
+ fi]
+)
+
+if test x$support_ipv6 = xyes; then
+ 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;],
+ [support_ipv6=yes], [support_ipv6=no])
+fi
+
+if test x$support_ipv6 = xyes; then
+ AC_DEFINE(HAVE_IPV6,1,[Whether to enable IPv6 support])
+fi
+
+
got_conio="no"
if test x$support_conio = xyes; then
READLINE_SRC=
if test x$support_readline = xyes; then
AC_ARG_WITH(readline,
- [ --with-readline=DIR specify readline library directory],
+ [ --with-readline@<:@=DIR@:>@ specify readline library directory],
[
case "$with_readline" in
no) : ;;
with_readline="/usr/include/readline"
fi
AC_CHECK_HEADER(${with_readline}/readline.h,
- [ AC_DEFINE(HAVE_READLINE)
+ [ AC_DEFINE(HAVE_READLINE, 1, [Set to enable readline support])
CONS_LIBS="-lreadline -lhistory -ltermcap"
got_readline="yes"
],
],[
# check for standard readline library
AC_CHECK_HEADER(/usr/include/readline/readline.h,
- [ AC_DEFINE(HAVE_READLINE)
+ [ AC_DEFINE(HAVE_READLINE, 1, [Set to enable readline support])
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)
+ [ AC_DEFINE(HAVE_READLINE, 1, [Set to enable readline support])
got_readline="yes"
CONS_INC="-I${TOP_DIR}/depkgs/readline"
CONS_LIBS="-lreadline -lhistory -ltermcap"
AC_MSG_CHECKING(for Python support)
AC_ARG_WITH(python,
[
- --with-python[=DIR] Include Python support. DIR is the Python base
+ --with-python@<:@=DIR@:>@ Include Python support. DIR is the Python base
install directory, default is to search through
a number of common places for the Python files.],
[
PYTHON_LIBS=
if test "$withval" != "no"; then
if test "$withval" = "yes"; then
- for python_root in /usr /usr/local; do
- if test -f $python_root/include/python2.2/Python.h; then
- PYTHON_INCDIR=-I$python_root/include/python2.2
- PYTHON_LIBS="-L$python_root/lib/python2.2/config -lpython2.2"
- break
- elif test -f $python_root/include/python2.3/Python.h; then
- PYTHON_INCDIR=-I$python_root/include/python2.3
- PYTHON_LIBS="-L$python_root/lib/python2.3/config -lpython2.3"
- break
- elif test -f $python_root/include/python2.4/Python.h; then
- PYTHON_INCDIR=-I$python_root/include/python2.4
- PYTHON_LIBS="-L$python_root/lib/python2.4/config -lpython2.4"
- break
- fi
+ for python_root in /usr /usr/local /usr/sfw; do
+ for ver in python2.2 python2.3 python2.4 python2.5; do
+ if test -f $python_root/include/${ver}/Python.h; then
+ PYTHON_INCDIR=-I$python_root/include/${ver}
+ if test -d $python_root/lib64/${ver}/config; then
+ PYTHON_LIBS="-L$python_root/lib64/${ver}/config -l${ver}"
+ else
+ PYTHON_LIBS="-L$python_root/lib/${ver}/config -l${ver}"
+ fi
+ break
+ fi
+ done
done
if test x$PYTHON_INCDIR = x; then
if test -f $prefix/include/Python.h; then
PYTHON_INCDIR=-I$prefix/include
- PYTHON_LIBS="-L$prefix/lib/config -lpython"
+ if test -d $prefix/lib64/config; then
+ PYTHON_LIBS="-L$prefix/lib64/config -lpython"
+ else
+ PYTHON_LIBS="-L$prefix/lib/config -lpython"
+ fi
else
AC_MSG_RESULT(no)
AC_MSG_ERROR(Unable to find Python.h in standard locations)
PYTHON_LIBS="-L$withval/config -lpython"
elif test -f $withval/include/Python.h; then
PYTHON_INCDIR=-I$withval/include
- PYTHON_LIBS="-L$withval/lib/config -lpython"
+ if test -d $withval/lib64/config; then
+ PYTHON_LIBS="-L$withval/lib64/config -lpython"
+ else
+ PYTHON_LIBS="-L$withval/lib/config -lpython"
+ fi
elif test -f $withval/include/python/Python.h; then
PYTHON_INCDIR=-I$withval/include/python
- PYTHON_LIBS="-L$withval/lib/python/config -lpython"
+ if test -d $withval/lib64/python/config; then
+ PYTHON_LIBS="-L$withval/lib64/python/config -lpython"
+ else
+ PYTHON_LIBS="-L$withval/lib/python/config -lpython"
+ fi
else
AC_MSG_RESULT(no)
AC_MSG_ERROR(Invalid Python directory $withval - unable to find Python.h under $withval)
])
AC_SUBST(PYTHON_LIBS)
AC_SUBST(PYTHON_INCDIR)
-
#
# Find where sockets are (especially for Solaris)
TCPW_MSG="no"
WRAPLIBS=""
AC_ARG_WITH(tcp-wrappers,
- [ --with-tcp-wrappers=DIR enable tcpwrappers support],
+ [ --with-tcp-wrappers@<:@=DIR@:>@ enable tcpwrappers support],
[
if test "x$withval" != "xno" ; then
saved_LIBS="$LIBS"
[ hosts_access(req); ],
[
AC_MSG_RESULT(yes)
- AC_DEFINE(HAVE_LIBWRAP)
+ AC_DEFINE(HAVE_LIBWRAP, 1, [Set to enable libwraper support])
TCPW_MSG="yes"
LIBS="$saved_LIBS"
WRAPLIBS="-lwrap"
[ hosts_access(req); ],
[
AC_MSG_RESULT(yes)
- AC_DEFINE(HAVE_LIBWRAP)
+ AC_DEFINE(HAVE_LIBWRAP, 1, [Set to enable libwraper support])
TCPW_MSG="yes"
LIBS="$saved_LIBS"
WRAPLIBS="-lwrap"
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"
+ 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="yes"
+ support_crypto="yes"
+ ],
[ support_tls="no" ]
)
- LIBS="$saved_LIBS"
- CFLAGS="$saved_CFLAGS"
+ AC_TRY_LINK([ #include <openssl/evp.h> ],
+ [ EVP_sha512(); ],
+ [ ac_cv_openssl_sha2="yes" ],
+ [ ac_cv_openssl_sha2="no" ]
+ )
+
+ # Solaris disables greater than 128+ bit encryption in their OpenSSL
+ # implementation, presumably for export reasons. If 192bit AES
+ # is available, we assume that we're running with a 'non-export'
+ # openssl library.
+ AC_TRY_LINK([ #include <openssl/evp.h> ],
+ [ EVP_aes_192_cbc(); ],
+ [ ac_cv_openssl_export="no" ],
+ [ ac_cv_openssl_export="yes" ]
+ )
+
+ 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])
+ AC_DEFINE(HAVE_CRYPTO, 1, [Define if encryption support should be enabled])
+ fi
+
+ if test "$ac_cv_openssl_sha2" = "yes"; then
+ AC_DEFINE(HAVE_SHA2, 1, [Define if the SHA-2 family of digest algorithms is available])
+ fi
+
+ if test "$ac_cv_openssl_export" = "yes"; then
+ AC_DEFINE(HAVE_OPENSSL_EXPORT_LIBRARY, 1, [Define if the OpenSSL library is export-contrained to 128bit ciphers])
fi
else
support_tls="no"
+ support_crypto="no"
OPENSSL_LIBS=""
OPENSSL_INC=""
fi
# -----------------------------------------------------------
-# Python and OpenSSL are using dlopen
+# dlopen is needed for plugins
# -----------------------------------------------------------
-
-if test "$support_python" = "yes" -o "$support_tls" = "yes"; then
- AC_SEARCH_LIBS(dlopen, [dl])
-fi
+AC_SEARCH_LIBS(dlopen, [dl])
# ------------------------------------------
# Where to place working dir
AC_SUBST(working_dir)
+# ------------------------------------------------------------------
+# If the user has not set archivedir, we set our default as /tmp
+# ------------------------------------------------------------------
+archive_dir=/tmp
+AC_ARG_WITH(archivedir,
+ [ --with-archivedir=PATH specify path of SD archive directory],
+ [
+ if test "x$withval" != "xno" ; then
+ archivedir=$withval
+ fi
+ ]
+)
+
+AC_SUBST(archivedir)
+
+
# ------------------------------------------
# Where to place scriptdir (script files)
# Where to place subsys "lock file"
# ------------------------------------
subsysdir=/var/run/subsys
+if test -d /var/run/subsys; then
+ subsysdir=/var/run/subsys
+elif test -d /var/lock/subsys; then
+ subsysdir=/var/lock/subsys
+else
+ subsysdir=/var/run/subsys
+fi
AC_ARG_WITH(subsys-dir,
[ --with-subsys-dir=PATH specify location of Bacula subsys file],
[
AC_SUBST(mon_fd_password)
AC_SUBST(mon_sd_password)
+#
+# Pickup any database name
+#
+db_name=bacula
+AC_ARG_WITH(db_name,
+ [ --with-db-name=DBNAME specify database name (default bacula)],
+ [
+ if test "x$withval" != "x" ; then
+ db_name=$withval
+ fi
+ ]
+)
+AC_SUBST(db_name)
+
+db_user=bacula
+AC_ARG_WITH(db_user,
+ [ --with-db-user=UNAME specify database user (default bacula)],
+ [
+ if test "x$withval" != "x" ; then
+ db_user=$withval
+ fi
+ ]
+)
+AC_SUBST(db_user)
+
#
# Handle users and groups for each daemon
]
)
-
-
-
AC_SUBST(dir_user)
AC_SUBST(dir_group)
AC_SUBST(sd_user)
# ------------------------------------------------
# Bacula check for various SQL database engines
# ------------------------------------------------
+SQL_LIB=
BA_CHECK_POSTGRESQL_DB
BA_CHECK_MYSQL_DB
BA_CHECK_SQLITE_DB
+BA_CHECK_DBI_DB
+
AC_SUBST(cats)
-AC_SUBST(DB_NAME)
+AC_SUBST(DB_TYPE)
+
+# -------------------------------------------
+# enable batch attribute DB insert (default on)
+# -------------------------------------------
+support_batch_insert=no
+A=`nm $SQL_LIB | grep pthread_mutex_lock`
+pkg=$?
+if test $pkg = 0; then
+ support_batch_insert=yes
+ AC_ARG_ENABLE(batch-insert,
+ [ --enable-batch-insert enable the DB batch insert code [disabled]],
+ [if test x$enableval = xno; then
+ support_batch_insert=no
+ else
+ support_batch_insert=yes
+ fi])
+fi
+
+# Check if postgresql support batch mode
+if test x$DB_TYPE = xpostgresql; then
+ A=`nm $SQL_LIB | grep PQputCopyData`
+ pkg=$?
+ if test $pkg != 0; then
+ support_batch_insert=no
+ fi
+fi
+
+if test $support_batch_insert = yes ; then
+ AC_DEFINE(HAVE_BATCH_FILE_INSERT, 1, [Set if DB batch insert code enabled])
+fi
+
AC_DEFINE(PROTOTYPES)
stdlib.h \
stdint.h \
string.h \
+ strings.h \
termios.h \
termcap.h \
term.h \
sys/byteorder.h \
sys/ioctl.h \
sys/select.h \
+ sys/socket.h \
sys/sockio.h \
+ sys/stat.h \
sys/time.h \
- sys/socket.h \
+ sys/types.h \
arpa/nameser.h \
resolv.h \
mtio.h \
#include <sys/types.h>
#include <utime.h>], [struct utimbuf foo],
ba_cv_header_utime_h=yes, ba_cv_header_utime_h=no)])
-test $ba_cv_header_utime_h = yes && AC_DEFINE(HAVE_UTIME_H)
+test $ba_cv_header_utime_h = yes && AC_DEFINE(HAVE_UTIME_H, 1, [Set if utime.h exists])
dnl# --------------------------------------------------------------------------
dnl# Check for socklen_t
[ba_cv_bigendian=no])])
test $ba_cv_bigendian = yes && AC_DEFINE(HAVE_BIGENDIAN)
+dnl# --------------------------------------------------------------------------
+dnl# Check for typeof()
+dnl# --------------------------------------------------------------------------
+AC_LANG_PUSH(C++)
+AC_CACHE_CHECK(for typeof, ba_cv_have_typeof,
+ [AC_TRY_RUN(
+ [main(){char *a = 0; a = (typeof a)a;}],
+ [ba_cv_have_typeof=yes],
+ [ba_cv_have_typeof=no],
+ [ba_cv_have_typeof=no])])
+test $ba_cv_have_typeof = yes && AC_DEFINE([HAVE_TYPEOF], 1, [Defind to 1 if compiler has typeof])
+AC_LANG_POP(C++)
AC_C_CONST
fi
AC_MSG_RESULT($fstype)
+AC_CHECK_HEADER(sys/statvfs.h, [ AC_DEFINE(HAVE_SYS_STATVFS_H,1,[Defines if your system have the sys/statvfs.h header file])] , )
+
dnl# --------------------------------------------------------------------------
dnl# CHECKING FOR TYPEDEFS, STRUCTURES, AND COMPILER CHARACTERISTICS.
dnl# --------------------------------------------------------------------------
AC_CHECK_FUNCS(fchdir, [AC_DEFINE(HAVE_FCHDIR)])
AC_CHECK_FUNCS(strtoll, [AC_DEFINE(HAVE_STRTOLL)])
+AC_CHECK_FUNCS(posix_fadvise)
+AC_CHECK_FUNCS(fdatasync)
AC_CHECK_FUNCS(chflags)
AC_CHECK_FUNCS(snprintf vsnprintf gethostid fseeko)
+AC_CACHE_CHECK(for va_copy, ba_cv_va_copy,
+ [AC_TRY_LINK([
+#include <stdarg.h>
+void use_va_copy(va_list args){va_list args2; va_copy(args2,args); va_end(args2);}
+void call_use_va_copy(int junk,...){va_list args; va_start(args,junk); use_va_copy(args); va_end(args);}
+],
+ [call_use_va_copy(1,2,3)],
+ ba_cv_va_copy=yes, ba_cv_va_copy=no)])
+test $ba_cv_va_copy = yes && AC_DEFINE(HAVE_VA_COPY, 1, [Set if va_copy exists])
+
+
dnl# --------------------------------------------------------------------------
dnl# CHECKING FOR THREAD SAFE FUNCTIONS
dnl# --------------------------------------------------------------------------
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_FNMATCH dnl use local version
-dnl# FreeBSD needs to link libxpg4
-AC_CHECK_LIB(xpg4, setlocale, [LIBS="$LIBS -lxpg4"])
AC_CHECK_LIB(intl, gettext, [LIBS="$LIBS -lintl"])
have_zlib=yes
fi
+#
+# Check for ACL libraries
+#
have_acl=no
AC_CHECK_HEADER(sys/acl.h)
AC_CHECK_FUNC(acl_get_file, [have_acl=yes],
- [AC_CHECK_LIB(acl, acl_get_file, [have_acl=yes; FDLIBS="-lacl $FDLIBS"])]
+ [AC_CHECK_LIB(acl, acl_get_file, [have_acl=yes; FDLIBS="-lacl $FDLIBS"],
+ [AC_CHECK_LIB(sec, acltotext, [have_acl=yes; FDLIBS="-lsec $FDLIBS"])]
+ )]
)
if test $have_acl = yes; then
AC_DEFINE(HAVE_ACL)
dnl Check for pthread libraries
PTHREAD_LIB=""
AC_CHECK_LIB(pthread, pthread_create, PTHREAD_LIB="-lpthread",
- [AC_CHECK_LIB(pthreads, pthread_create, PTHREAD_LIB="-lpthreads",
- [AC_CHECK_LIB(c_r, pthread_create, PTHREAD_LIB="-lc_r",
- [AC_CHECK_FUNC(pthread_create)]
- )]
- )]
+ [AC_CHECK_LIB(pthreads, pthread_create, PTHREAD_LIB="-lpthreads",
+ [AC_CHECK_LIB(c_r, pthread_create, PTHREAD_LIB="-lc_r",
+ [AC_CHECK_FUNC(pthread_create)]
+ )]
+ )]
)
AC_SUBST(FDLIBS)
CFLAGS=${CFLAGS--O}
+
+if test x$have_gcc = xyes ; then
+ CPPFLAGS="$CPPFLAGS -fno-strict-aliasing -fno-exceptions -fno-rtti"
+ CFLAGS="$CFLAGS -fno-strict-aliasing -fno-exceptions -fno-rtti"
+fi
LDFLAGS=${LDFLAGS--O}
DB_LIBS="${SQL_LFLAGS}"
-
CPPFLAGS="$CPPFLAGS"
+CFLAGS="$CFLAGS"
AC_SUBST(DEBUG)
AC_SUBST(DINCLUDE)
AC_SUBST(CFLAGS)
WIN32=
MACOSX=
hostname=`uname -n | cut -d '.' -f 1`
+if test x${hostname} = x ; then
+ hostname="localhost"
+fi
case "$DISTNAME" in
aix)
DISTVER=`uname -r`
DISTVER=`uname -a |awk '{print $3}'`
VER=`echo $DISTVER | cut -c 1`
if test x$VER = x4 ; then
- PTHREAD_LIB="-pthread"
- CFLAGS="${CFLAGS} -pthread"
+ PTHREAD_LIB="${PTHREAD_LIBS:--pthread}"
+ CFLAGS="${CFLAGS} ${PTHREAD_CFLAGS:--pthread}"
fi
lld="qd"
llu="qu"
largefile_support="yes"
;;
hpux)
- PSCMD="UNIX95=1 ps -e -o pid,comm"
- CFLAGS="$(CFLAGS) -D_XOPEN_SOURCE_EXTENDED=1"
+ PSCMD="UNIX95=1; ps -e -o pid,comm"
+ CFLAGS="${CFLAGS} -D_XOPEN_SOURCE_EXTENDED=1"
DISTVER=`uname -r`
TAPEDRIVE="/dev/rmt/0hnb"
PTHREAD_LIB="-lpthread"
platforms/redhat/bacula-dir \
platforms/redhat/bacula.spec \
"
- hostname=`hostname -s`
;;
mandrake)
DISTVER=`cat /etc/mandrake-release | grep release |\
AC_OUTPUT([autoconf/Make.common \
Makefile \
+ manpages/Makefile \
scripts/startmysql \
scripts/stopmysql \
scripts/btraceback \
scripts/bconsole \
scripts/gconsole \
scripts/bacula \
+ scripts/bacula-ctl-dir \
+ scripts/bacula-ctl-fd \
+ scripts/bacula-ctl-sd \
scripts/devel_bacula \
scripts/Makefile \
scripts/logrotate \
scripts/bacula.desktop.gnome2.consolehelper \
scripts/bacula.desktop.gnome1.xsu \
scripts/bacula.desktop.gnome2.xsu \
- scripts/gnome-console.console_apps \
+ scripts/bgnome-console.console_apps \
scripts/mtx-changer \
- scripts/dvd-writepart \
- scripts/dvd-freespace \
+ scripts/disk-changer \
+ scripts/dvd-handler \
+ scripts/dvd-simulator \
scripts/bacula-tray-monitor.desktop \
scripts/logwatch/Makefile \
scripts/logwatch/logfile.bacula.conf \
+ scripts/wxconsole.console_apps \
+ scripts/wxconsole.desktop.consolehelper \
+ scripts/wxconsole.desktop.xsu \
+ scripts/bat.desktop \
+ scripts/bat.desktop.xsu \
+ scripts/bat.desktop.consolehelper \
+ scripts/bat.console_apps \
src/Makefile \
src/host.h \
src/console/Makefile \
src/console/bconsole.conf \
src/gnome2-console/Makefile \
- src/gnome2-console/gnome-console.conf \
+ src/gnome2-console/bgnome-console.conf \
+ src/qt-console/bat.conf \
+ src/qt-console/bat.pro \
+ src/qt-console/install_conf_file \
src/wx-console/Makefile \
- src/wx-console/wx-console.conf \
+ src/wx-console/bwx-console.conf \
src/tray-monitor/Makefile \
src/tray-monitor/tray-monitor.conf \
src/dird/Makefile \
src/stored/bacula-sd.conf \
src/filed/Makefile \
src/filed/bacula-fd.conf \
- src/filed/win32/Makefile \
src/cats/Makefile \
src/cats/make_catalog_backup \
src/cats/delete_catalog_backup \
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 \
- src/win32/pebuilder/Makefile \
po/Makefile.in \
$PFILES ],
- [(echo "Doing make of dependencies"; ${MAKE:-make} depend;) ]
+ [ ]
)
+if test "${support_bat}" = "yes" ; then
+ if test "x$QMAKE" = "xnone" && test "x$QMAKEQT4" = "xnone"; then
+ echo "Could not find qmake or qmake-qt4 in $PATH. Check your Qt installation"
+ exit 1
+ fi
+
+ QMAKEBIN="qmake"
+
+ if test "x$QMAKEQT4" != "xnone"; then
+ QMAKEBIN=qmake-qt4
+ fi
+
+
+
+ cd src/qt-console
+ chmod 755 install_conf_file build-depkgs-qt-console
+ echo "Creating bat Makefile"
+ $QMAKEBIN
+ cd ${BUILD_DIR}
+fi
+
+echo "Doing make of dependencies"
+${MAKE:-make} depend
+
cd scripts
chmod 755 startmysql stopmysql bacula startit stopit btraceback mtx-changer
-chmod 755 dvd-writepart dvd-freespace
+chmod 755 dvd-handler dvd-simulator
chmod 755 bconsole gconsole mtx-changer devel_bacula logrotate
cd ..
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_sqlite3_database $c/update_sqlite3_tables $c/make_sqlite3_tables
+chmod 755 $c/grant_sqlite3_privileges $c/drop_sqlite3_tables $c/drop_sqlite3_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/sqlite
chmod 755 $c/mysql
+chmod 755 src/win32/build-depkgs-mingw32
+
+
+
if test "x$ac_cv_sys_largefile_CFLAGS" != "xno" ; then
largefile_support="yes"
fi
exit 1
fi
-if test "x${db_name}" = "xInternal" ; then
+if test "x${db_type}" = "xInternal" ; then
echo " "
echo " "
echo "You have not specified either --enable-client-only or one of the"
- echo " supported databases: MySQL, PostgreSQL, SQLite3 or SQLite."
+ echo " supported databases: MySQL, PostgreSQL, SQLite3, SQLite or DBI."
echo " This is not permitted. Please reconfigure."
echo " "
echo "Aborting the configuration ..."
Install binaries: ${sbindir}
Install config files: ${sysconfdir}
Scripts directory: ${scriptdir}
+ Archive directory: ${archivedir}
Working directory: ${working_dir}
PID directory: ${piddir}
Subsys directory: ${subsysdir}
Statically Linked SD: ${support_static_sd}
Statically Linked DIR: ${support_static_dir}
Statically Linked CONS: ${support_static_cons}
- Database type: ${db_name}
+ Database type: ${db_type}
Database lib: ${DB_LIBS}
+ Database name: ${db_name}
+ Database user: ${db_user}
Job Output Email: ${job_email}
Traceback Email: ${dump_email}
readline support: ${got_readline} ${PRTREADLINE_SRC}
TCP Wrappers support: ${TCPW_MSG} ${WRAPLIBS}
TLS support: ${support_tls}
+ Encryption support: ${support_crypto}
ZLIB support: ${have_zlib}
enable-smartalloc: ${support_smartalloc}
+ bat support: ${support_bat} ${QWT_LDFLAGS}
enable-gnome: ${support_gnome} ${gnome_version}
- enable-wx-console: ${support_wx_console} ${wx_version}
+ enable-bwx-console: ${support_wx_console} ${wx_version}
enable-tray-monitor: ${support_tray_monitor}
client-only: ${build_client_only}
build-dird: ${build_dird}
build-stored: ${build_stored}
ACL support: ${have_acl}
Python support: ${support_python} ${PYTHON_LIBS}
+ Batch insert enabled: ${support_batch_insert}
" > config.out