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 <bft_config.h>
]],
[[#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
syntax highlighted by Code2HTML, v. 0.9.1