dnl Copyright (C) 2005-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_MED
#----------------
# modifies or sets have_med, MED_CPPFLAGS, MED_LDFLAGS, and MED_LIBS
# depending on libraries found
AC_DEFUN([ECS_AC_TEST_MED], [
have_med=no
AC_ARG_ENABLE(MED,
[ --disable-med Do not use MED when available],
[
case "${enableval}" in
yes) med=true ;;
no) med=false ;;
*) AC_MSG_ERROR([bad value ${enableval} for --enable-med]) ;;
esac
],
[med=true ]
)
AC_ARG_WITH(med-prefix,
[ --with-med-prefix=DIR MED format support],[
])
if test "x$med" = "xtrue" ; then
if test "x$have_hdf" = "xno" ; then
AC_MSG_ERROR([no hdf library found])
fi
saved_CPPFLAGS="$CPPFLAGS"
saved_LDFLAGS="$LDFLAGS"
saved_LIBS="$LIBS"
MED_RPATH=
MED_LIBS="-lmedC"
# We have to define the MED_ARCH macro for MED versions prior to 2.3.1.
# If we are unable to find a good value, we will have to give the
# correct value through CFLAGS_ADD or (better) use a more recent
# version of the MED library.
# 64 or 32 bit architecture ?
ptrs_are_64bit=no
ints_are_64bit=no
AC_CHECK_SIZEOF(void *)
if test "$ac_cv_sizeof_void_p" = "8" ; then
ptrs_are_64bit=yes
fi
AC_CHECK_SIZEOF(int)
if test "$ac_cv_sizeof_int" = "8" ; then
ints_are_64bit=yes
fi
case $host_os in
linux*)
if test "x$ptrs_are_64bit" != "xyes" ; then
MED_ARCH_NAME=PCLINUX
else
if test "x$ints_are_64bit" != "xyes" ; then
MED_ARCH_NAME=PCLINUX64_32
else
MED_ARCH_NAME=PCLINUX64
fi
fi;
MED_LIBS="-lmedC -lpthread";;
osf*)
if test "x$ints_are_64bit" != "xyes" ; then
MED_ARCH_NAME=OSF1_32
else
MED_ARCH_NAME=OSF1
fi;;
hpux*)
if test "x$ints_are_64bit" != "xyes" ; then
MED_ARCH_NAME=HP9000
else
AC_MSG_WARN([no MED_ARCH value for HP-UX with 64-bit ints])
fi;;
solaris2.*)
if test "x$ints_are_64bit" != "xyes" ; then
MED_ARCH_NAME=SUN4SOL2
else
AC_MSG_WARN([no MED_ARCH value for Solaris with 64-bit ints])
fi;;
irix5.*|irix6.*)
if test "x$ints_are_64bit" != "xyes" ; then
MED_ARCH_NAME=IRIX64_32
else
MED_ARCH_NAME=IRIX64
fi;;
*) AC_MSG_WARN([no MED_ARCH value for this OS]) ;;
esac
if test "x$with_med_prefix" != "x" ; then
MED_CPPFLAGS="-I$with_med_prefix/include -D$MED_ARCH_NAME"
MED_LDFLAGS="-L$with_med_prefix/lib"
MED_RPATH="-Wl,-rpath -Wl,${MED_LDFLAGS}"
fi
CPPFLAGS="${CPPFLAGS} ${MED_CPPFLAGS} ${HDF5_CPPFLAGS}"
LDFLAGS="${LDFLAGS} ${MED_LDFLAGS} ${HDF5_LDFLAGS}"
LIBS="${LIBS} ${MED_LIBS} ${HDF5_LIBS}"
AC_CHECK_LIB(medC, MEDouvrir,
[ AC_DEFINE([HAVE_MED], 1, [MED file support])
have_med=yes
],
[ AC_MSG_WARN([no MED file support])
],
)
if test "x$have_med" = "xno"; then
MED_CPPFLAGS=""
MED_LDFLAGS=""
MED_LIBS=""
fi
fi
AM_CONDITIONAL(HAVE_MED, test x$have_med = xyes)
CPPFLAGS="$saved_CPPFLAGS"
LDFLAGS="$saved_LDFLAGS"
LIBS="$saved_LIBS"
unset saved_CPPFLAGS
unset saved_LDFLAGS
unset saved_LIBS
AC_SUBST(MED_CPPFLAGS)
AC_SUBST(MED_LDFLAGS)
AC_SUBST(MED_LIBS)
])dnl
syntax highlighted by Code2HTML, v. 0.9.1