X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=bacula%2Fautoconf%2Faclocal.m4;h=b5f4b4d889a971b454466810664d77744daf0106;hb=a3fa2fb9b0bc8b70135b6110cee46ed977d9f54f;hp=017f8536f7dd6f2aa993b2b46a56360ee21db597;hpb=1ef84681d13d0c355d6ae78579d2afe1c8d8d0e2;p=bacula%2Fbacula diff --git a/bacula/autoconf/aclocal.m4 b/bacula/autoconf/aclocal.m4 index 017f8536f7..b5f4b4d889 100644 --- a/bacula/autoconf/aclocal.m4 +++ b/bacula/autoconf/aclocal.m4 @@ -1,40 +1,119 @@ dnl -dnl If available, use support for large files unless the user specified -dnl one of the CPPFLAGS, LDFLAGS, or LIBS variables ( -dnl via GNU patch 2.5) -dnl -AC_DEFUN(LARGE_FILE_SUPPORT, -[AC_MSG_CHECKING(whether large file support needs explicit enabling) -ac_getconfs='' -ac_result=yes -ac_set='' -ac_shellvars='CPPFLAGS LDFLAGS LIBS' -for ac_shellvar in $ac_shellvars; do - case $ac_shellvar in - CPPFLAGS) ac_lfsvar=LFS_CFLAGS ac_lfs64var=LFS64_CFLAGS ;; - *) ac_lfsvar=LFS_$ac_shellvar ac_lfs64var=LFS64_$ac_shellvar ;; - esac - eval test '"${'$ac_shellvar'+set}"' = set && ac_set=$ac_shellvar - (getconf $ac_lfsvar) >/dev/null 2>&1 || { ac_result=no; break; } - ac_getconf=`getconf $ac_lfsvar` - ac_getconf64=`getconf $ac_lfs64var` - ac_getconfs=$ac_getconfs$ac_getconf\ $ac_getconf64 - eval ac_test_$ac_shellvar="\$ac_getconf\ \$ac_getconf64" -done -case "$ac_result$ac_getconfs" in -yes) ac_result=no ;; -esac -case "$ac_result$ac_set" in -yes?*) ac_result="yes, but $ac_set is already set, so use its settings" -esac -AC_MSG_RESULT($ac_result) -case $ac_result in -yes) - for ac_shellvar in $ac_shellvars; do - eval $ac_shellvar=\$ac_test_$ac_shellvar - done ;; -esac -]) +dnl ========= Large File Support ============== +dnl By default, many hosts won't let programs access large files; +dnl one must use special compiler options to get large-file access to work. +dnl For more details about this brain damage please see: +dnl http://www.sas.com/standards/large.file/x_open.20Mar96.html + +dnl Written by Paul Eggert . + +dnl Internal subroutine of AC_SYS_LARGEFILE. +dnl AC_SYS_LARGEFILE_FLAGS(FLAGSNAME) +AC_DEFUN(AC_SYS_LARGEFILE_FLAGS, + [AC_CACHE_CHECK([for $1 value to request large file support], + ac_cv_sys_largefile_$1, + [ac_cv_sys_largefile_$1=`($GETCONF LFS_$1) 2>/dev/null` || { + ac_cv_sys_largefile_$1=no + ifelse($1, CFLAGS, + [case "$host_os" in + # IRIX 6.2 and later require cc -n32. +changequote(, )dnl + irix6.[2-9]* | irix6.1[0-9]* | irix[7-9].* | irix[1-9][0-9]*) +changequote([, ])dnl + if test "$GCC" != yes; then + ac_cv_sys_largefile_CFLAGS=-n32 + fi + ac_save_CC="$CC" + CC="$CC $ac_cv_sys_largefile_CFLAGS" + AC_TRY_LINK(, , , ac_cv_sys_largefile_CFLAGS=no) + CC="$ac_save_CC" + esac]) + }])]) + +dnl Internal subroutine of AC_SYS_LARGEFILE. +dnl AC_SYS_LARGEFILE_SPACE_APPEND(VAR, VAL) +AC_DEFUN(AC_SYS_LARGEFILE_SPACE_APPEND, + [case $2 in + no) ;; + ?*) + case "[$]$1" in + '') $1=$2 ;; + *) $1=[$]$1' '$2 ;; + esac ;; + esac]) + +dnl Internal subroutine of AC_SYS_LARGEFILE. +dnl AC_SYS_LARGEFILE_MACRO_VALUE(C-MACRO, CACHE-VAR, COMMENT, CODE-TO-SET-DEFAULT) +AC_DEFUN(AC_SYS_LARGEFILE_MACRO_VALUE, + [AC_CACHE_CHECK([for $1], $2, + [$2=no +changequote(, )dnl + $4 + for ac_flag in $ac_cv_sys_largefile_CFLAGS no; do + case "$ac_flag" in + -D$1) + $2=1 ;; + -D$1=*) + $2=`expr " $ac_flag" : '[^=]*=\(.*\)'` ;; + esac + done +changequote([, ])dnl + ]) + if test "[$]$2" != no; then + AC_DEFINE_UNQUOTED([$1], [$]$2, [$3]) + fi]) + +AC_DEFUN(AC_BAC_LARGEFILE, + [AC_REQUIRE([AC_CANONICAL_HOST]) + AC_ARG_ENABLE(largefile, + [ --disable-largefile omit support for large files]) + if test "$enable_largefile" != no; then + AC_CHECK_TOOL(GETCONF, getconf) + AC_SYS_LARGEFILE_FLAGS(CFLAGS) + AC_SYS_LARGEFILE_FLAGS(LDFLAGS) + AC_SYS_LARGEFILE_FLAGS(LIBS) + + for ac_flag in $ac_cv_sys_largefile_CFLAGS no; do + case "$ac_flag" in + no) ;; + -D_FILE_OFFSET_BITS=*) ;; + -D_LARGEFILE_SOURCE | -D_LARGEFILE_SOURCE=*) ;; + -D_LARGE_FILES | -D_LARGE_FILES=*) ;; + -D?* | -I?*) + AC_SYS_LARGEFILE_SPACE_APPEND(CPPFLAGS, "$ac_flag") ;; + *) + AC_SYS_LARGEFILE_SPACE_APPEND(CFLAGS, "$ac_flag") ;; + esac + done + AC_SYS_LARGEFILE_SPACE_APPEND(LDFLAGS, "$ac_cv_sys_largefile_LDFLAGS") + AC_SYS_LARGEFILE_SPACE_APPEND(LIBS, "$ac_cv_sys_largefile_LIBS") + AC_SYS_LARGEFILE_MACRO_VALUE(_FILE_OFFSET_BITS, + ac_cv_sys_file_offset_bits, + [Number of bits in a file offset, on hosts where this is settable.], + [case "$host_os" in + # HP-UX 10.20 and later + hpux10.[2-9][0-9]* | hpux1[1-9]* | hpux[2-9][0-9]*) + ac_cv_sys_file_offset_bits=64 ;; + esac]) + AC_SYS_LARGEFILE_MACRO_VALUE(_LARGEFILE_SOURCE, + ac_cv_sys_largefile_source, + [Define to make fseeko etc. visible, on some hosts.], + [case "$host_os" in + # HP-UX 10.20 and later + hpux10.[2-9][0-9]* | hpux1[1-9]* | hpux[2-9][0-9]*) + ac_cv_sys_largefile_source=1 ;; + esac]) + AC_SYS_LARGEFILE_MACRO_VALUE(_LARGE_FILES, + ac_cv_sys_large_files, + [Define for large files, on AIX-style hosts.], + [case "$host_os" in + # AIX 4.2 and later + aix4.[2-9]* | aix4.1[0-9]* | aix[5-9].* | aix[1-9][0-9]*) + ac_cv_sys_large_files=1 ;; + esac]) + fi + ]) +dnl ========================================================== dnl Check type of signal routines (posix, 4.2bsd, 4.1bsd or v7) AC_DEFUN(SIGNAL_CHECK, @@ -170,6 +249,23 @@ then else BA_CONDITIONAL(HAVE_SGI_OS, $FALSEPRG) fi + +if test $HAVE_UNAME=yes -a x`uname -s` = xIRIX +then + BA_CONDITIONAL(HAVE_IRIX_OS, $TRUEPRG) + AC_DEFINE(HAVE_IRIX_OS) +else + BA_CONDITIONAL(HAVE_IRIX_OS, $FALSEPRG) +fi + +if test $HAVE_UNAME=yes -a x`uname -s` = xDarwin +then + AM_CONDITIONAL(HAVE_DARWIN_OS, $TRUEPRG) + AC_DEFINE(HAVE_DARWIN_OS) +else + AM_CONDITIONAL(HAVE_DARWIN_OS, $FALSEPRG) +fi + AC_MSG_RESULT(" ") ]) @@ -181,6 +277,9 @@ then elif test $HAVE_UNAME=yes -a x`uname -s` = xOSF1 then DISTNAME=alpha +elif test $HAVE_UNAME=yes -a x`uname -s` = xAIX +then + DISTNAME=aix elif test $HAVE_UNAME=yes -a x`uname -s` = xHP-UX then DISTNAME=hpux @@ -196,6 +295,9 @@ then elif test $HAVE_UNAME=yes -a x`uname -s` = xOpenBSD then DISTNAME=openbsd +elif test $HAVE_UNAME=yes -a x`uname -s` = xIRIX +then + DISTNAME=irix elif test $HAVE_UNAME=yes -a x`uname -s` = xBSD/OS then DISTNAME=bsdi @@ -205,19 +307,28 @@ then elif test -d /etc/SuSEconfig then DISTNAME=suse5 -elif test -d /usr/src/OpenLinux +elif test -f /etc/mandrake-release then - DISTNAME=caldera + DISTNAME=mandrake elif test -f /etc/redhat-release then DISTNAME=redhat +elif test -f /etc/gentoo-release +then + DISTNAME=gentoo elif test -f /etc/debian_version then DISTNAME=debian elif test -f /etc/slackware-version then DISTNAME=slackware -elif test "$ac_cv_cygwin" = yes +elif test $HAVE_UNAME=yes -a x`uname -s` = xDarwin +then + DISTNAME=darwin +elif test -f /etc/engarde-version +then + DISTNAME=engarde +elif test "$CYGWIN" = yes then DISTNAME=cygwin AC_DEFINE(HAVE_CYGWIN) @@ -229,12 +340,11 @@ AC_MSG_RESULT(" ") AC_DEFUN(BA_CHECK_MYSQL_DB, [ -have_db=no -db_name=none +db_found=no AC_MSG_CHECKING(for MySQL support) AC_ARG_WITH(mysql, [ -Which one DBMS do you want to use (please select only one): +Which DBMS do you want to use (please select only one): --with-mysql[=DIR] Include MySQL support. DIR is the MySQL base install directory, default is to search through a number of common places for the MySQL files.], @@ -280,14 +390,86 @@ Which one DBMS do you want to use (please select only one): fi fi SQL_INCLUDE=-I$MYSQL_INCDIR - SQL_LFLAGS="-L$MYSQL_LIBDIR -lmysqlclient" + if test -f $MYSQL_LIBDIR/libmysqlclient_r.a; then + SQL_LFLAGS="-L$MYSQL_LIBDIR -lmysqlclient_r -lz" + AC_DEFINE(HAVE_THREAD_SAFE_MYSQL) + else + SQL_LFLAGS="-L$MYSQL_LIBDIR -lmysqlclient -lz" + fi SQL_BINDIR=$MYSQL_BINDIR AC_DEFINE(HAVE_MYSQL) AC_MSG_RESULT(yes) - have_db=yes + db_found=yes + support_mysql=yes + db_name=MySQL + DB_NAME=mysql + + else + AC_MSG_RESULT(no) + fi +],[ + AC_MSG_RESULT(no) +]) + +AC_ARG_WITH(embedded-mysql, +[ +Which DBMS do you want to use (please select only one): + --with-embedded-mysql[=DIR] Include MySQL support. DIR is the MySQL base + install directory, default is to search through + a number of common places for the MySQL files.], +[ + if test "$withval" != "no"; then + if test "$withval" = "yes"; then + if test -f /usr/local/mysql/include/mysql/mysql.h; then + MYSQL_INCDIR=/usr/local/mysql/include/mysql + MYSQL_LIBDIR=/usr/local/mysql/lib/mysql + MYSQL_BINDIR=/usr/local/mysql/bin + elif test -f /usr/include/mysql/mysql.h; then + MYSQL_INCDIR=/usr/include/mysql + MYSQL_LIBDIR=/usr/lib/mysql + MYSQL_BINDIR=/usr/bin + elif test -f /usr/include/mysql.h; then + MYSQL_INCDIR=/usr/include + MYSQL_LIBDIR=/usr/lib + MYSQL_BINDIR=/usr/bin + elif test -f /usr/local/include/mysql/mysql.h; then + MYSQL_INCDIR=/usr/local/include/mysql + MYSQL_LIBDIR=/usr/local/lib/mysql + MYSQL_BINDIR=/usr/local/bin + elif test -f /usr/local/include/mysql.h; then + MYSQL_INCDIR=/usr/local/include + MYSQL_LIBDIR=/usr/local/lib + MYSQL_BINDIR=/usr/local/bin + else + AC_MSG_RESULT(no) + AC_MSG_ERROR(Unable to find mysql.h in standard locations) + fi + else + if test -f $withval/include/mysql/mysql.h; then + MYSQL_INCDIR=$withval/include/mysql + MYSQL_LIBDIR=$withval/lib/mysql + MYSQL_BINDIR=$withval/bin + elif test -f $withval/include/mysql.h; then + MYSQL_INCDIR=$withval/include + MYSQL_LIBDIR=$withval/lib + MYSQL_BINDIR=$withval/bin + else + AC_MSG_RESULT(no) + AC_MSG_ERROR(Invalid MySQL directory $withval - unable to find mysql.h under $withval) + fi + fi + SQL_INCLUDE=-I$MYSQL_INCDIR + SQL_LFLAGS="-L$MYSQL_LIBDIR -lmysqld -lz -lm -lcrypt" + SQL_BINDIR=$MYSQL_BINDIR + + AC_DEFINE(HAVE_MYSQL) + AC_DEFINE(HAVE_EMBEDDED_MYSQL) + AC_MSG_RESULT(yes) + db_found=yes support_mysql=yes db_name=MySQL + DB_NAME=mysql else AC_MSG_RESULT(no) @@ -295,6 +477,8 @@ Which one DBMS do you want to use (please select only one): ],[ AC_MSG_RESULT(no) ]) + + AC_SUBST(SQL_LFLAGS) AC_SUBST(SQL_INCLUDE) AC_SUBST(SQL_BINDIR) @@ -304,12 +488,11 @@ AC_SUBST(SQL_BINDIR) AC_DEFUN(BA_CHECK_SQLITE_DB, [ -have_db=no -db_name=none +db_found=no AC_MSG_CHECKING(for SQLite support) AC_ARG_WITH(sqlite, [ -Which one DBMS do you want to use (please select only one): +Which DBMS do you want to use (please select only one): --with-sqlite[=DIR] Include SQLite support. DIR is the SQLite base install directory, default is to search through a number of common places for the SQLite files.], @@ -344,9 +527,10 @@ Which one DBMS do you want to use (please select only one): AC_DEFINE(HAVE_SQLITE) AC_MSG_RESULT(yes) - have_db=yes + db_found=yes support_sqlite=yes db_name=SQLite + DB_NAME=sqlite else AC_MSG_RESULT(no) @@ -371,7 +555,7 @@ dnl Check for some DBMS backend dnl NOTE: we can use only one backend at a time AC_MSG_RESULT(" ") -have_db=no +db_found=no db_name=none @@ -384,7 +568,7 @@ fi AC_MSG_CHECKING(for Berkeley DB support) AC_ARG_WITH(berkeleydb, [ -Which one DBMS do you want to use (please select only one): +Which DBMS do you want to use (please select only one): --with-berkeleydb[=DIR] Include Berkeley DB support. DIR is the Berkeley DB base install directory, default is to search through a number of common places for the DB files.], @@ -856,6 +1040,27 @@ AC_SUBST(ORACLE7_LFLAGS) AC_SUBST(ORACLE7_INCLUDE) ]) + +AC_DEFUN(AM_CONDITIONAL, +[AC_SUBST($1_TRUE) +AC_SUBST($1_FALSE) +if $2; then + $1_TRUE= + $1_FALSE='#' +else + $1_TRUE='#' + $1_FALSE= +fi]) + + + +dnl +dnl ======================================================================== +dnl +dnl Old Gnome 1.4 detection code -- deprecated, but still used +dnl +dnl ======================================================================== + dnl AM_ACLOCAL_INCLUDE(macrodir) AC_DEFUN([AM_ACLOCAL_INCLUDE], [ @@ -1093,17 +1298,6 @@ AC_DEFUN([GNOME_PTHREAD_CHECK],[ AC_PROVIDE([GNOME_PTHREAD_CHECK]) ]) -AC_DEFUN(AM_CONDITIONAL, -[AC_SUBST($1_TRUE) -AC_SUBST($1_FALSE) -if $2; then - $1_TRUE= - $1_FALSE='#' -else - $1_TRUE='#' - $1_FALSE= -fi]) - dnl dnl GNOME_GNORBA_HOOK (script-if-gnorba-found, failflag) dnl @@ -1173,4 +1367,69 @@ AC_DEFUN([GNOME_ORBIT_HOOK],[ AC_DEFUN([GNOME_ORBIT_CHECK], [ GNOME_ORBIT_HOOK([],failure) ]) +dnl +dnl ========================================================================= +dnl + +dnl +dnl ========================================================================= +dnl +dnl New package checking stuff +dnl +dnl ========================================================================= +dnl +dnl PKG_CHECK_MODULES(GSTUFF, gtk+-2.0 >= 1.3 glib = 1.3.4, action-if, action-not) +dnl defines GSTUFF_LIBS, GSTUFF_CFLAGS, see pkg-config man page +dnl also defines GSTUFF_PKG_ERRORS on error +AC_DEFUN(PKG_CHECK_MODULES, [ + succeeded=no + + if test -z "$PKG_CONFIG"; then + AC_PATH_PROG(PKG_CONFIG, pkg-config, no) + fi + + if test "$PKG_CONFIG" = "no" ; then + echo "*** The pkg-config script could not be found. Make sure it is" + echo "*** in your path, or set the PKG_CONFIG environment variable" + echo "*** to the full path to pkg-config." + echo "*** Or see http://www.freedesktop.org/software/pkgconfig to get pkg-config." + else + PKG_CONFIG_MIN_VERSION=0.9.0 + if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then + AC_MSG_CHECKING(for $2) + + if $PKG_CONFIG --exists "$2" ; then + AC_MSG_RESULT(yes) + succeeded=yes + + AC_MSG_CHECKING($1_CFLAGS) + $1_CFLAGS=`$PKG_CONFIG --cflags "$2"` + AC_MSG_RESULT($$1_CFLAGS) + + AC_MSG_CHECKING($1_LIBS) + $1_LIBS=`$PKG_CONFIG --libs "$2"` + AC_MSG_RESULT($$1_LIBS) + else + $1_CFLAGS="" + $1_LIBS="" + ## If we have a custom action on failure, don't print errors, but + ## do set a variable so people can do so. + $1_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "$2"` + ifelse([$4], ,echo $$1_PKG_ERRORS,) + fi + + AC_SUBST($1_CFLAGS) + AC_SUBST($1_LIBS) + else + echo "*** Your version of pkg-config is too old. You need version $PKG_CONFIG_MIN_VERSION or newer." + echo "*** See http://www.freedesktop.org/software/pkgconfig" + fi + fi + + if test $succeeded = yes; then + ifelse([$3], , :, [$3]) + else + ifelse([$4], , AC_MSG_ERROR([Library requirements ($2) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them.]), [$4]) + fi +])