dnl
dnl Process this file with autoconf to produce a configure script.
dnl
+dnl require a recent autoconf
+AC_PREREQ(2.61)
AC_INIT(src/version.h)
BUILD_DIR=`pwd`
cd ..
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_CONFIG_HEADERS(src/config.h:autoconf/config.h.in)
dnl minimal Win32 stuff for "make clean"
WIN32BUILDDIR=${BUILD_DIR}/src/win32
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, :)
AC_SUBST(LSMDATE)dnl
AC_SUBST(BACULA)dnl
AC_SUBST(post_host)dnl
+
+dnl src/lib
+LIBBAC_LT_CURRENT=`sed -n -e 's/^.*LIBBAC_LT_CURRENT *\(.*\)$/\1/p' ${srcdir}/src/version.h`
+LIBBAC_LT_REVISION=`sed -n -e 's/^.*LIBBAC_LT_REVISION *\(.*\)$/\1/p' ${srcdir}/src/version.h`
+LIBBAC_LT_AGE=`sed -n -e 's/^.*LIBBAC_LT_AGE *\(.*\)$/\1/p' ${srcdir}/src/version.h`
+LIBBACCFG_LT_CURRENT=`sed -n -e 's/^.*LIBBACCFG_LT_CURRENT *\(.*\)$/\1/p' ${srcdir}/src/version.h`
+LIBBACCFG_LT_REVISION=`sed -n -e 's/^.*LIBBACCFG_LT_REVISION *\(.*\)$/\1/p' ${srcdir}/src/version.h`
+LIBBACCFG_LT_AGE=`sed -n -e 's/^.*LIBBACCFG_LT_AGE *\(.*\)$/\1/p' ${srcdir}/src/version.h`
+LIBBACPY_LT_CURRENT=`sed -n -e 's/^.*LIBBACPY_LT_CURRENT *\(.*\)$/\1/p' ${srcdir}/src/version.h`
+LIBBACPY_LT_REVISION=`sed -n -e 's/^.*LIBBACPY_LT_REVISION *\(.*\)$/\1/p' ${srcdir}/src/version.h`
+LIBBACPY_LT_AGE=`sed -n -e 's/^.*LIBBACPY_LT_AGE *\(.*\)$/\1/p' ${srcdir}/src/version.h`
+
+AC_SUBST(LIBBAC_LT_CURRENT)dnl
+AC_SUBST(LIBBAC_LT_REVISION)dnl
+AC_SUBST(LIBBAC_LT_AGE)dnl
+AC_SUBST(LIBBACCFG_LT_CURRENT)dnl
+AC_SUBST(LIBBACCFG_LT_REVISION)dnl
+AC_SUBST(LIBBACCFG_LT_AGE)dnl
+AC_SUBST(LIBBACPY_LT_CURRENT)dnl
+AC_SUBST(LIBBACPY_LT_REVISION)dnl
+AC_SUBST(LIBBACPY_LT_AGE)dnl
+
+dnl src/cats
+LIBBACSQL_LT_CURRENT=`sed -n -e 's/^.*LIBBACSQL_LT_CURRENT *\(.*\)$/\1/p' ${srcdir}/src/version.h`
+LIBBACSQL_LT_REVISION=`sed -n -e 's/^.*LIBBACSQL_LT_REVISION *\(.*\)$/\1/p' ${srcdir}/src/version.h`
+LIBBACSQL_LT_AGE=`sed -n -e 's/^.*LIBBACSQL_LT_AGE *\(.*\)$/\1/p' ${srcdir}/src/version.h`
+AC_SUBST(LIBBACSQL_LT_CURRENT)dnl
+AC_SUBST(LIBBACSQL_LT_REVISION)dnl
+AC_SUBST(LIBBACSQL_LT_AGE)dnl
+
+dnl src/findlib
+LIBBACFIND_LT_CURRENT=`sed -n -e 's/^.*LIBBACFIND_LT_CURRENT *\(.*\)$/\1/p' ${srcdir}/src/version.h`
+LIBBACFIND_LT_REVISION=`sed -n -e 's/^.*LIBBACFIND_LT_REVISION *\(.*\)$/\1/p' ${srcdir}/src/version.h`
+LIBBACFIND_LT_AGE=`sed -n -e 's/^.*LIBBACFIND_LT_AGE *\(.*\)$/\1/p' ${srcdir}/src/version.h`
+AC_SUBST(LIBBACFIND_LT_CURRENT)dnl
+AC_SUBST(LIBBACFIND_LT_REVISION)dnl
+AC_SUBST(LIBBACFIND_LT_AGE)dnl
+
echo "configuring for ${BACULA} $VERSION ($DATE)"
+
dnl -------------------------------------------------------
dnl Check for compiler.
dnl ------------------------------------------------------
AC_MSG_ERROR(Unable to find C++ compiler)
fi
-AC_LANG(C++)
-
dnl -------------------------------------------------------
dnl Check for programs.
dnl ------------------------------------------------------
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_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
support_sqlite=no
support_sqlite3=no
support_postgresql=no
+support_ingres=no
support_dbi=no
support_smartalloc=yes
support_readline=yes
fi
dnl
-dnl If bat is enabled, we need the qwt library
+dnl The qwt library was used with bat, but that is no longer the case
dnl
got_qwt=no
QWT_INC=
QWT_LIB=
QWT=
no_qwt=no
-if test x$support_bat = xyes; then
- AC_MSG_CHECKING(for qwt support)
- AC_ARG_WITH(qwt,
- AC_HELP_STRING([--with-qwt@<:@=DIR@:>@], [specify qwt library directory]),
- [
- case "$with_qwt" in
- no)
- no_qwt=yes
- ;;
- yes|*)
- if test -f ${with_qwt}/include/qwt.h; then
- QWT_INC="${with_qwt}/include"
- QWT_LDFLAGS="-L${with_qwt}/lib"
- QWT_LIB="-lqwt"
- QWT="qwt"
- fi
- ;;
- esac
- ]
- )
-
- dnl
- dnl Search in standard places, or --with-qwt not specified
- dnl
- if test $no_qwt = no; then
- 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"
- elif test -d ${root}/lib/64/; then
- QWT_LDFLAGS="-L${root}/64"
- else
- QWT_LDFLAGS="-L${root}/lib"
- fi
- QWT_LIB="-lqwt"
- QWT="qwt"
- got_qwt=yes
- break;
- fi
- done
- done
- fi
- fi
- if test x$QWT_INC = x; then
- AC_MSG_RESULT(no)
- else
- AC_DEFINE(HAVE_QWT, 1, [Set if bat QWT library found])
- AC_MSG_RESULT(yes)
- fi
-fi
+dnl if test x$support_bat = xyes; then
+dnl AC_MSG_CHECKING(for qwt support)
+dnl AC_ARG_WITH(qwt,
+dnl AC_HELP_STRING([--with-qwt@<:@=DIR@:>@], [specify qwt library directory]),
+dnl [
+dnl case "$with_qwt" in
+dnl no)
+dnl no_qwt=yes
+dnl ;;
+dnl yes|*)
+dnl if test -f ${with_qwt}/include/qwt.h; then
+dnl QWT_INC="${with_qwt}/include"
+dnl QWT_LDFLAGS="-L${with_qwt}/lib"
+dnl QWT_LIB="-lqwt"
+dnl QWT="qwt"
+dnl fi
+dnl ;;
+dnl esac
+dnl ]
+dnl )
+
+dnl dnl
+dnl dnl Search in standard places, or --with-qwt not specified
+dnl dnl
+dnl if test $no_qwt = no; then
+dnl if test x$QWT_INC = x; then
+dnl for root in /usr /usr/local; do
+dnl for ver in qwt qwt5 qwt-qt4; do
+dnl if test -f ${root}/include/${ver}/qwt.h; then
+dnl QWT_INC="${root}/include/${ver}"
+dnl if test -d ${root}/lib64/; then
+dnl QWT_LDFLAGS="-L${root}/lib64"
+dnl elif test -d ${root}/lib/64/; then
+dnl QWT_LDFLAGS="-L${root}/64"
+dnl else
+dnl QWT_LDFLAGS="-L${root}/lib"
+dnl fi
+dnl QWT_LIB="-lqwt"
+dnl QWT="qwt"
+dnl got_qwt=yes
+dnl break;
+dnl fi
+dnl done
+dnl done
+dnl fi
+dnl fi
+dnl if test x$QWT_INC = x; then
+dnl AC_MSG_RESULT(no)
+dnl else
+dnl AC_DEFINE(HAVE_QWT, 1, [Set if bat QWT library found])
+dnl AC_MSG_RESULT(yes)
+dnl fi
+dnl fi
AC_SUBST(BAT_DIR)
AC_SUBST(QWT_INC)
AC_DEFINE(HAVE_IPV6,1,[Whether to enable IPv6 support])
fi
+TERM_LIB=""
+AC_CHECK_HEADER(curses.h,
+ [ AC_CHECK_LIB(ncurses, tgetent,
+ [ TERM_LIB="-lncurses" ],
+ [ AC_CHECK_LIB(termcap, tgetent, [ TERM_LIB="-ltermcap" ])
+ ])
+ ],
+ [ AC_CHECK_HEADERS(curses.h)
+ AC_CHECK_HEADER(term.h,
+ [ AC_CHECK_LIB(curses, tgetent,
+ [ TERM_LIB="-lcurses" ] )
+ ])
+ ])
+
+
got_conio="no"
if test x$support_conio = xyes; then
- AC_CHECK_HEADER(termcap.h,
- [ AC_CHECK_LIB(termcap, tgetent,
- [ CONS_LIBS="-ltermcap"
- 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])
- ],
- [ AC_CHECK_LIB(ncurses, tgetent,
- [ CONS_LIBS="-lncurses"
+ if test x$TERM_LIB != x; then
+ CONS_LIBS=$TERM_LIB
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])
- ])
- ])
- ],
- [
- AC_CHECK_HEADERS(curses.h)
- AC_CHECK_HEADER(term.h,
- [ AC_CHECK_LIB(curses, tgetent,
- [ CONS_LIBS="-lcurses"
- 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 "Required libraries not found. CONIO turned off ..."; echo " "],
-[#if HAVE_CURSES_H
-#include <curses.h>
-#endif
-])
- ])
+ else
+ echo " "; echo "Required libraries not found. CONIO turned off ..."; echo " "],
+ fi
fi
fi
]
)
+if test x$TERM_LIB = x ; then
+ support_readline=no
+fi
got_readline="no"
READLINE_SRC=
AC_CHECK_HEADER(${with_readline}/readline.h,
[
AC_DEFINE(HAVE_READLINE, 1, [Set to enable readline support])
- CONS_LIBS="-lreadline -lhistory -ltermcap"
+ CONS_LIBS="-lreadline -lhistory $TERM_LIB"
got_readline="yes"
], [
echo " "
AC_DEFINE(HAVE_READLINE, 1, [Set to enable readline support])
got_readline="yes"
CONS_INC="-I/usr/include/readline"
- CONS_LIBS="-lreadline -ltermcap"
+ CONS_LIBS="-lreadline $TERM_LIB"
], [
dnl Did not find standard library, so try Bacula's default
AC_CHECK_HEADER(${TOP_DIR}/depkgs/readline/readline.h,
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"
+ CONS_LIBS="-lreadline -lhistory $TERM_LIB"
CONS_LDFLAGS="-L${TOP_DIR}/depkgs/readline"
PRTREADLINE_SRC="${TOP_DIR}/depkgs/readline"
], [
support_crypto="yes"
], [
support_tls="no"
+ support_crypto="no"
]
)
OPENSSL_LIBS=""
OPENSSL_INC=""
fi
+if test "$support_crypto" = "no"; then
+ OPENSSL_LIBS=""
+ OPENSSL_INC=""
+else
+ AC_CHECK_LIB(ssl, EVP_PKEY_encrypt_old, AC_DEFINE(HAVE_OPENSSLv1, 1, [Set if have OpenSSL version 1.x]))
+fi
AC_MSG_RESULT([$support_tls])
AC_SUBST(OPENSSL_LIBS)
dnl
dnl allow setting default executable permissions
dnl
-SBINPERM=0754
+SBINPERM=0750
AC_ARG_WITH(sbin-perm,
- AC_HELP_STRING([--with-sbin-perm=MODE], [specify permissions for sbin binaries @<:@default=0754@:>@]),
+ AC_HELP_STRING([--with-sbin-perm=MODE], [specify permissions for sbin binaries @<:@default=0750@:>@]),
[
if test "x$withval" != "x" ; then
SBINPERM=$withval
BA_CHECK_MYSQL_DB
+BA_CHECK_INGRES_DB
+
BA_CHECK_SQLITE3_DB
# BA_CHECK_SQLITE_DB
if test $DB_PROG = sqlite3; then
A=`test -f $SQL_LIB && nm $DB_PROG_LIB | grep pthread_mutex_lock`
pkg=$?
+ AC_CHECK_LIB(sqlite3, sqlite3_threadsafe, AC_DEFINE(HAVE_SQLITE3_THREADSAFE, 1, [Set if have sqlite3_threadsafe]))
fi
if test $pkg = 0; then
dnl --------------------------------------------------------------------------
dnl Check for ioctl request type
dnl --------------------------------------------------------------------------
+AC_LANG(C++)
AC_CACHE_CHECK(for ioctl_req_t, ba_cv_header_ioctl_req_t,
[
AC_TRY_COMPILE(
], [
ba_cv_header_ioctl_req_t=yes
], [
- ba_cv_header_ioct_req_t_t=no
+ ba_cv_header_ioctl_req_t=no
]
)
]
)
test $ba_cv_header_ioctl_req_t = yes && AC_DEFINE(HAVE_IOCTL_ULINT_REQUEST, 1, [Set if ioctl request is unsigned long int])
+dnl Note: it is more correct to use AC_LANG(C++) but some of the older
+dnl *BSD systems still use old style C prototypes, which are wrong with
+dnl compiled with a C++ compiler.
+AC_LANG(C)
dnl --------------------------------------------------------------------------
dnl Check for typeof()
platforms/mandrake/bacula-fd \
platforms/mandrake/bacula-sd \
platforms/mandrake/bacula-dir \
- platforms/mandrake/bacula.spec \
"
;;
gentoo)
if test x$DISTVER = x5.6 ; then
AC_DEFINE(HAVE_OLD_SOCKOPT)
fi
- LIBS="$LIBS -lresolv"
+ LIBS="$LIBS -lresolv -lrt"
;;
suse)
DISTVER=`cat /etc/SuSE-release |grep VERSION|\
platforms/suse/bacula-fd \
platforms/suse/bacula-sd \
platforms/suse/bacula-dir \
- platforms/suse/bacula \
- platforms/suse/bacula.spec"
+ platforms/suse/bacula"
;;
suse5)
DISTNAME=suse
src/filed/Makefile \
src/filed/bacula-fd.conf \
src/cats/Makefile \
+ src/cats/make_catalog_backup.pl \
src/cats/make_catalog_backup \
src/cats/delete_catalog_backup \
src/cats/create_postgresql_database \
src/cats/grant_sqlite3_privileges \
src/cats/drop_sqlite3_tables \
src/cats/drop_sqlite3_database \
+ src/cats/create_ingres_database \
+ src/cats/update_ingres_tables \
+ src/cats/make_ingres_tables \
+ src/cats/grant_ingres_privileges \
+ src/cats/drop_ingres_tables \
+ src/cats/drop_ingres_database \
src/cats/sqlite \
src/cats/mysql \
- src/cats/create_bdb_database \
- src/cats/update_bdb_tables \
- src/cats/make_bdb_tables \
- src/cats/grant_bdb_privileges \
- src/cats/drop_bdb_tables \
- src/cats/drop_bdb_database \
src/cats/create_bacula_database \
src/cats/update_bacula_tables \
src/cats/grant_bacula_privileges \
)
if test "${support_bat}" = "yes" ; then
- if test "x$QMAKE" = "xnone" && test "x$QMAKEQT4" = "xnone"; then
- AC_MSG_ERROR([Could not find qmake or qmake-qt4 in $PATH. Check your Qt installation])
+ if test "x$QMAKE" = "xnone"; then
+ AC_MSG_ERROR([Could not find qmake $PATH. Check your Qt installation])
fi
QMAKEBIN="qmake"
-
- if test "x$QMAKEQT4" != "xnone"; then
- QMAKEBIN=qmake-qt4
- fi
-
cd src/qt-console
echo "Creating bat Makefile"
touch bat
chmod 755 bat
+ rm -f Makefile
$QMAKEBIN
${MAKE:-make} clean
cd ${BUILD_DIR}
cd scripts
chmod 755 startmysql stopmysql bacula startit stopit btraceback mtx-changer
-chmod 755 dvd-handler dvd-simulator breload make_catalog_backup.pl
+chmod 755 dvd-handler dvd-simulator
chmod 755 bconsole gconsole mtx-changer devel_bacula logrotate
cd ..
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/make_catalog_backup $c/delete_catalog_backup
+chmod 755 $c/create_ingres_database $c/update_ingres_tables $c/make_ingres_tables
+chmod 755 $c/grant_ingres_privileges $c/drop_ingres_tables $c/drop_ingres_database
+
+
+chmod 755 $c/make_catalog_backup $c/delete_catalog_backup $c/make_catalog_backup.pl
chmod 755 $c/sqlite
chmod 755 $c/mysql
echo " "
echo " "
echo "You have not specified either --enable-client-only or one of the"
- echo " supported databases: MySQL, PostgreSQL, SQLite3, SQLite or DBI."
+ echo " supported databases: MySQL, PostgreSQL, Ingres, SQLite3 or DBI."
echo " This is not permitted. Please reconfigure."
echo " "
echo "Aborting the configuration ..."
ZLIB support: ${have_zlib}
enable-smartalloc: ${support_smartalloc}
enable-lockmgr: ${support_lockmgr}
- bat support: ${support_bat} ${QWT_LDFLAGS}
+ bat support: ${support_bat}
enable-gnome: ${support_gnome} ${gnome_version}
enable-bwx-console: ${support_wx_console} ${wx_version}
enable-tray-monitor: ${support_tray_monitor}