dnl Copyright (C) 2004-2006 EDF dnl dnl This file is part of the FVM software package. For license dnl information, see the COPYING file in the top level directory of the dnl FVM source distribution. # FVM_AC_TEST_BFT(Minimal Release string, [Maximal Release string]) #------------------------------------------------------------------ # Check for BFT version ; defines BFT_CPPFLAGS, BFT_LDFLAGS, and BFT_LIBS # locally (i.e. as simple variables, not AC_SUBST) AC_DEFUN([FVM_AC_TEST_BFT], [ AC_ARG_WITH(bft-prefix, [ --with-bft-prefix=DIR BFT installed under DIR] ) if test "x$with_bft_prefix" != "x" ; then BFT_CPPFLAGS="-I$with_bft_prefix/include" BFT_LDFLAGS="-L$with_bft_prefix/lib" bft_config="$with_bft_prefix/bin/bft-config" else BFT_CPPFLAGS="" BFT_LDFLAGS="" bft_config="bft-config" fi BFT_LIBS="-lbft" type "$bft_config" > /dev/null 2>&1 if test "$?" = "0" ; then BFT_CPPFLAGS="$BFT_CPPFLAGS `$bft_config --cppflags`" BFT_LDFLAGS="$BFT_LDFLAGS `$bft_config --ldflags`" BFT_LIBS="$BFT_LIBS `$bft_config --libs`" fi bft_version_min=$1 bft_version_max=$2 if test "x$bft_version_min" != "x" ; then if test "x$bft_version_max" != "x" ; then AC_MSG_CHECKING([for bft version >= $1 and <= $2]) else AC_MSG_CHECKING([for bft version >= $1]) fi else bft_version_min="0.0.0" fi bft_version_major_min=`echo "$bft_version_min" | cut -f1 -d.` bft_version_minor_min=`echo "$bft_version_min" | cut -f2 -d.` bft_version_release_min=`echo "$bft_version_min" | cut -f3 -d.` if test "$bft_version_major_min" = "" \ -o "$bft_version_minor_min" = "" \ -o "$bft_version_release_min" = ""; then AC_MSG_FAILURE([bad BFT version definition in configure.ac: $bft_version_min]) fi if test "x$bft_version_max" != "x" ; then bft_version_major_max=`echo "$bft_version_max" | cut -f1 -d.` bft_version_minor_max=`echo "$bft_version_max" | cut -f2 -d.` bft_version_release_max=`echo "$bft_version_max" | cut -f3 -d.` if test "$bft_version_major_max" = "" \ -o "$bft_version_minor_max" = "" \ -o "$bft_version_release_max" = ""; then AC_MSG_FAILURE([bad BFT version definition in configure.ac: $bft_version_max]) fi else bft_version_major_max=99999999 bft_version_minor_max=99999999 bft_version_release_max=99999999 fi saved_CPPFLAGS=$CPPFLAGS saved_LDFLAGS=$LDFLAGS saved_LIBS=$LIBS CPPFLAGS="${CPPFLAGS} $BFT_CPPFLAGS" LDFLAGS="${LDFLAGS} $BFT_LDFLAGS" LIBS="${LIBS} $BFT_LIBS" AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include ]], [[#if BFT_MAJOR_VERSION < $bft_version_major_min # error BFT major version < $bft_version_major_min #elif BFT_MAJOR_VERSION == $bft_version_major_min # if BFT_MINOR_VERSION < $bft_version_minor_min # error BFT minor version < $bft_version_minor_min # elif BFT_MINOR_VERSION == $bft_version_minor_min # if BFT_RELEASE_VERSION < $bft_version_release_min # error BFT release version < $bft_version_release_min # endif # endif #endif #if BFT_MAJOR_VERSION > $bft_version_major_max # error BFT major version > $bft_version_major_max #elif BFT_MAJOR_VERSION == $bft_version_major_max # if BFT_MINOR_VERSION > $bft_version_minor_max # error BFT minor version > $bft_version_minor_max # elif BFT_MINOR_VERSION == $bft_version_minor_max # if BFT_RELEASE_VERSION > $bft_version_release_max # error BFT release version < $bft_version_release_max # endif # endif #endif ]])], [AC_MSG_RESULT([compatible bft version found])], [AC_MSG_FAILURE([compatible bft version not found])]) unset bft_version_major_min unset bft_version_minor_min unset bft_version_release_min unset bft_version_major_max unset bft_version_minor_max unset bft_version_release_max unset bft_version_min unset bft_version_max unset bft_config # Restore old LIBS to add $BFT_LIBS later, as other tests # might otherwise not run if a shared library is not found CPPFLAGS=$saved_CPPFLAGS LDFLAGS=$saved_LDFLAGS LIBS=$saved_LIBS unset saved_CPPFLAGS unset saved_LDFLAGS unset saved_LIBS AC_SUBST(BFT_CPPFLAGS) AC_SUBST(BFT_LDFLAGS) AC_SUBST(BFT_LIBS) ])dnl