AC_CONFIG_AUX_DIR(${BUILD_DIR}/autoconf)
AC_CONFIG_HEADER(src/config.h:autoconf/config.h.in)
+dnl minimal Win32 stuff for "make clean"
+WIN32BUILDDIR=${BUILD_DIR}/src/win32
+WIN32MAINDIR=${BUILD_DIR}
+WIN32TOPDIR=${TOP_DIR}
+AC_SUBST(WIN32BUILDDIR)
+AC_SUBST(WIN32MAINDIR)
+AC_SUBST(WIN32TOPDIR)
+
dnl require a recent autoconf
AC_PREREQ(2.61)
+
dnl search for true and false programs.
AC_PATH_PROGS(TRUEPRG, true, :)
AC_PATH_PROGS(FALSEPRG, false, :)
+
dnl bacula version
post_host=
if test "x$BACULA" != x; then
post_host=`echo -${BACULA} | tr 'A-Z ' 'a-z-'`
fi
-BACULA=${BACULA-Bacula}
+BACULA=${BACULA:-Bacula}
VERSION=`sed -n -e 's/^.*VERSION.*"\(.*\)"$/\1/p' ${srcdir}/src/version.h`
DATE=`sed -n -e 's/^.*[ \t]*BDATE.*"\(.*\)"$/\1/p' ${srcdir}/src/version.h`
LSMDATE=`sed -n -e 's/^.*LSMDATE.*"\(.*\)"$/\1/p' ${srcdir}/src/version.h`
AC_PATH_PROG(PKGCONFIG, pkg-config, pkg-config)
AC_PATH_PROG(QMAKE, qmake, none)
AC_PATH_PROG(QMAKEQT4, qmake-qt4, none)
+AC_PATH_PROG(GMAKE, gmake, 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
dnl Include file handling
dnl --------------------------------------------------
AC_ARG_ENABLE(includes,
- AC_HELP_STRING([--enable-includes], [enable installing of include files @<:@default=yes@:>@]),
+ AC_HELP_STRING([--enable-includes], [enable installing of include files @<:@default=no@:>@]),
[
- if test x$enableval = xno; then
- install_includes=no
+ if test x$enableval = xyes; then
+ install_includes=yes
fi
]
)
-dnl It only makes sense to install include files when you install libraries which only happens when libtool is enabled
+dnl It only makes sense to install include files when you install libraries which only happens when
+dnl libtool is enabled
-if test x$use_libtool != xno -a x$install_includes != no; then
+if test x$use_libtool != xno -a x$install_includes = xyes; then
INCLUDE_INSTALL_TARGET="install-includes"
INCLUDE_UNINSTALL_TARGET="uninstall-includes"
else
INCLUDE_INSTALL_TARGET=""
INCLUDE_UNINSTALL_TARGET=""
fi
-# Turn off install of includes
-INCLUDE_INSTALL_TARGET=""
-INCLUDE_UNINSTALL_TARGET=""
AC_SUBST(INCLUDE_INSTALL_TARGET)
AC_SUBST(INCLUDE_UNINSTALL_TARGET)
dnl By default, $datarootdir is ${prefix}/share
dnl --------------------------------------------------
AM_GNU_GETTEXT([external])
-if test x${prefix} = xNONE ; then
- if test `eval echo ${datarootdir}` = NONE/share ; then
- datarootdir=/usr/share
- fi
-fi
dnl ------------------------------------------------------------------
dnl If the user has not set --prefix, we set our default to nothing.
includedir=/usr/include
fi
+ if test `eval echo ${datarootdir}` = NONE/share ; then
+ datarootdir=/usr/share
+ fi
prefix=
fi
-sysconfdir=`eval echo ${sysconfdir}`
-datarootdir=`eval echo ${datarootdir}`
-libdir=`eval echo ${libdir}`
-includedir=`eval echo ${includedir}
-localedir=`eval echo ${datarootdir}/locale`
-AC_DEFINE_UNQUOTED(SYSCONFDIR, "$sysconfdir")
-AC_DEFINE_UNQUOTED(LOCALEDIR, "$localedir")
dnl -------------------------------------------------------------------------
dnl If the user has not set --exec-prefix, we default to ${prefix}
exec_prefix=${prefix}
fi
+sysconfdir=`eval echo ${sysconfdir}`
+datarootdir=`eval echo ${datarootdir}`
+docdir=`eval echo ${docdir}`
+htmldir=`eval echo ${htmldir}`
+libdir=`eval echo ${libdir}`
+includedir=`eval echo ${includedir}`
+localedir=`eval echo ${datarootdir}/locale`
+AC_DEFINE_UNQUOTED(SYSCONFDIR, "$sysconfdir")
+AC_DEFINE_UNQUOTED(LOCALEDIR, "$localedir")
+
dnl ------------------------------------------------------------------
dnl If the user has not set --sbindir, we set our default as /sbin
dnl ------------------------------------------------------------------
if test x$mandir = x'${prefix}/man' ; then
mandir=/usr/share/man
fi
+
+dnl -------------------------------------------------------------------------
+dnl If the user has not set --htmldir, we default to /usr/share/doc/bacula-xx.xx/html
+dnl -------------------------------------------------------------------------
+dnl z
+if test x$htmldir = x${docdir} ; then
+ htmldir=`eval echo ${docdir}bacula-${VERSION}/html`
+fi
+
+dnl -------------------------------------------------------------------------
+dnl If the user has not set --docdir, we default to /usr/share/doc/
+dnl -------------------------------------------------------------------------
+dnl z
+if test x$docdir = x'/usr/share/doc/' ; then
+ docdir=`eval echo ${docdir}bacula-${VERSION}`
+fi
+
AC_PATH_PROGS(MSGFMT, msgfmt, no)
if test "$MSGFMT" = "no"
support_gnome=no
support_bat=no
support_wx_console=no
+support_tray_monitor=no
support_tls=no
support_crypto=no
gnome_version=
build_stored=yes
cats=
db_type=Internal
+support_lockmgr=no
DB_TYPE=bdb
dnl --------------------------------------------------------------------------
AC_SUBST(WXCONS_CPPFLAGS)
AC_SUBST(WXCONS_LDFLAGS)
- WX_DIR=src/wx-console
+ WX_DIR="src/wx-console"
else
echo " "
echo "wx-config program not found. bwx-console disabled."
AC_DEFINE(SMARTALLOC, 1, [Set if you want Smartalloc enabled])
fi
+dnl -------------------------------------------
+dnl Lock Manager (default off)
+dnl -------------------------------------------
+AC_ARG_ENABLE(lockmgr,
+ AC_HELP_STRING([--enable-lockmgr], [enable lock manager support @<:@default=no@:>@]),
+ [
+ if test x$enableval = xyes; then
+ support_lockmgr=yes
+ fi
+ ]
+)
+
+if test x$support_lockmgr = xyes; then
+ AC_DEFINE(_USE_LOCKMGR, 1, [Set if you want Lock Manager enabled])
+fi
+
+
dnl -------------------------------------------
dnl static-tools (default off)
dnl -------------------------------------------
if test "$withval" != "no"; then
if test "$withval" = "yes"; then
for python_root in /usr /usr/local /usr/sfw; do
- for ver in python2.2 python2.3 python2.4 python2.5; do
+ for ver in python2.2 python2.3 python2.4 python2.5 python2.6 python3; 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
AC_SUBST(scriptdir)
# ------------------------------------------
-# Where to place plugindir (script files)
+# Where to place plugindir (plugin files)
# ------------------------------------------
plugindir=`eval echo ${sysconfdir}`
AC_ARG_WITH(plugindir,
sys/time.h \
sys/types.h \
arpa/nameser.h \
- resolv.h \
mtio.h \
sys/mtio.h \
sys/tape.h \
AC_TYPE_SIZE_T
AC_TYPE_PID_T
AC_TYPE_OFF_T
+AC_TYPE_INTPTR_T
+AC_TYPE_UINTPTR_T
AC_CHECK_TYPE(ino_t, unsigned long)
AC_CHECK_TYPE(dev_t, unsigned long)
AC_CHECK_TYPE(daddr_t, long)
fi
dnl
-dnl Check for ACL libraries
+dnl Check for ACL support and libraries
dnl
+support_acl=yes
+AC_ARG_ENABLE(acl,
+ AC_HELP_STRING([--disable-acl], [disable acl support @<:@default=auto@:>@]),
+ [
+ if test x$enableval = xno; then
+ support_acl=no
+ fi
+ ]
+)
+
have_acl=no
-AC_CHECK_HEADER(sys/acl.h)
-AC_CHECK_FUNC(acl_get_file, [have_acl=yes],
+have_extended_acl=no
+if test x$support_acl = xyes; then
+ AC_CHECK_HEADER(sys/acl.h, [ AC_DEFINE(HAVE_SYS_ACL_H,1,[Defines if your system have the sys/acl.h header file])] , )
+ 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(pacl, acl_get_file,
+ [
+ have_acl=yes;
+ FDLIBS="-lpacl $FDLIBS"
+ ], [
+ AC_CHECK_LIB(sec, acltotext,
+ [
+ have_acl=yes;
+ FDLIBS="-lsec $FDLIBS"
+
+ AC_CHECK_LIB(sec, acl_totext,
+ [
+ have_extended_acl=yes
+ ]
+ )
+ ]
+ )
+ ]
+ )
+ ]
+ )
+ ]
+ )
+ if test $have_acl = yes; then
+ AC_DEFINE([HAVE_ACL], [], [Normal attribute support])
+ fi
+
+ if test $have_extended_acl = yes; then
+ AC_DEFINE([HAVE_EXTENDED_ACL], [], [Extended attribute support])
+ fi
+fi
+
+dnl
+dnl Check for XATTR support
+dnl
+support_xattr=yes
+AC_ARG_ENABLE(xattr,
+ AC_HELP_STRING([--disable-xattr], [disable xattr support @<:@default=auto@:>@]),
[
- 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 x$enableval = xno; then
+ support_xattr=no
+ fi
]
)
-if test $have_acl = yes; then
- AC_DEFINE(HAVE_ACL)
+
+have_xattr=no
+if test x$support_xattr = xyes; then
+ AC_CHECK_HEADER(sys/xattr.h, [ AC_DEFINE(HAVE_SYS_XATTR_H,1,[Defines if your system have the sys/xattr.h header file])] , )
+ AC_CHECK_FUNCS(llistxattr lgetxattr lsetxattr,
+ [
+ have_xattr=yes
+ AC_DEFINE([HAVE_LLISTXATTR], [], [LLISTXATTR support])
+ AC_DEFINE([HAVE_LGETXATTR], [], [LGETXATTR support])
+ AC_DEFINE([HAVE_LSETXATTR], [], [LSETXATTR support])
+ ]
+ )
+
+ #
+ # OSX specific
+ #
+ if test $have_xattr = no; then
+ AC_CHECK_FUNCS(listxattr getxattr setxattr,
+ [
+ have_xattr=yes
+ AC_DEFINE([HAVE_LLISTXATTR], [], [LLISTXATTR support])
+ AC_DEFINE([HAVE_LGETXATTR], [], [LGETXATTR support])
+ AC_DEFINE([HAVE_LSETXATTR], [], [LSETXATTR support])
+ ]
+ )
+ fi
+
+ #
+ # Solaris specific
+ #
+ if test $have_xattr = no; then
+ AC_CHECK_HEADER(sys/attr.h, [ AC_DEFINE(HAVE_SYS_ATTR_H,1,[Defines if your system have the sys/attr.h header file])] , )
+ AC_CHECK_HEADER(sys/nvpair.h, [ AC_DEFINE(HAVE_SYS_NVPAIR_H,1,[Defines if your system have the sys/nvpair.h header file])] , )
+ AC_CHECK_HEADER(attr.h, [ AC_DEFINE(HAVE_ATTR_H,1,[Defines if your system have the attr.h header file])] , )
+
+ AC_CHECK_FUNCS(openat fstatat unlinkat fchownat futimesat,
+ [
+ have_xattr=yes
+ AC_DEFINE([HAVE_OPENAT], [], [OPENAT support])
+ AC_DEFINE([HAVE_FSTATAT], [], [FSTATAT support])
+ AC_DEFINE([HAVE_UNLINKAT], [], [UNLINKAT support])
+ AC_DEFINE([HAVE_FCHOWNAT], [], [FCHOWNAT support])
+ AC_DEFINE([HAVE_FUTIMESAT], [], [FUTIMESAT support])
+ ]
+ )
+
+ if test $have_xattr = yes; then
+ AC_CHECK_LIB(nvpair, nvlist_next_nvpair,
+ [
+ FDLIBS="-lnvpair $FDLIBS"
+ ]
+ )
+ fi
+ fi
+
+ if test $have_xattr = yes; then
+ AC_DEFINE([HAVE_XATTR], [], [XATTR support])
+ fi
fi
+dnl
dnl Check for pthread libraries
+dnl
PTHREAD_LIB=""
AC_CHECK_LIB(pthread, pthread_create, PTHREAD_LIB="-lpthread",
[
src/findlib/Makefile \
src/tools/Makefile \
src/plugins/fd/Makefile \
+ src/plugins/sd/Makefile \
+ src/plugins/dir/Makefile \
+ src/win32/Makefile.inc \
po/Makefile.in \
+ updatedb/update_mysql_tables_9_to_10 \
+ updatedb/update_sqlite3_tables_9_to_10 \
+ updatedb/update_postgresql_tables_9_to_10 \
+ updatedb/update_sqlite_tables_9_to_10 \
updatedb/update_mysql_tables_10_to_11 \
updatedb/update_sqlite3_tables_10_to_11 \
updatedb/update_postgresql_tables_10_to_11 \
fi
cd src/qt-console
- chmod 755 install_conf_file build-depkgs-qt-console
echo "Creating bat Makefile"
$QMAKEBIN
make clean
${MAKE:-make} depend
fi
+cd src/qt-console
+chmod 755 install_conf_file build-depkgs-qt-console
+cd ${BUILD_DIR}
+
cd scripts
chmod 755 startmysql stopmysql bacula startit stopit btraceback mtx-changer
chmod 755 dvd-handler dvd-simulator
fi
fi
+# clean up any old junk
+echo " "
+echo "Cleaning up"
+echo " "
+make clean
+
if test "x${db_type}" = "xInternal" ; then
echo " "
echo " "
Subsys directory: ${subsysdir}
Man directory: ${mandir}
Data directory: ${datarootdir}
+ Plugin directory: ${plugindir}
C Compiler: ${CC} ${CCVERSION}
C++ Compiler: ${CXX} ${CXXVERSION}
Compiler flags: ${WCFLAGS} ${CFLAGS}
Encryption support: ${support_crypto}
ZLIB support: ${have_zlib}
enable-smartalloc: ${support_smartalloc}
+ enable-lockmgr: ${support_lockmgr}
bat support: ${support_bat} ${QWT_LDFLAGS}
enable-gnome: ${support_gnome} ${gnome_version}
enable-bwx-console: ${support_wx_console} ${wx_version}
build-dird: ${build_dird}
build-stored: ${build_stored}
ACL support: ${have_acl}
+ XATTR support: ${have_xattr}
Python support: ${support_python} ${PYTHON_LIBS}
Batch insert enabled: ${support_batch_insert}