dnl Copyright (C) 2004-2006 EDF
dnl
dnl This file is part of the Code_Saturne Preprocessor. For license
dnl information, see the LICENSE file in the top level directory of the
dnl Code_Saturne Preprocessor source distribution.
# ECS_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([ECS_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
])dnl
syntax highlighted by Code2HTML, v. 0.9.1