dnl Available from the GNU Autoconf Macro Archive at:
dnl http://www.gnu.org/software/ac-archive/htmldoc/acx_lapack.html
dnl
AC_DEFUN([ACX_LAPACK], [
AC_REQUIRE([ACX_BLAS])
acx_lapack_ok=no
AC_ARG_WITH(lapack,
[--with-lapack=<lib> Use LAPACK library <lib>],
[case $withval in
yes | "") ;;
no) acx_lapack_ok=disable ;;
-* | */* | *.a | *.so | *.so.* | *.o) LAPACK_LIBS="$withval" ;;
*) LAPACK_LIBS="-l$withval" ;;
esac])
# Get fortran linker name of LAPACK function to check for.
AC_F77_FUNC(cheev)
# We cannot use LAPACK if BLAS is not found
if test "x$acx_blas_ok" != xyes; then
acx_lapack_ok=noblas
fi
# First, check LAPACK_LIBS environment variable
if test "x$LAPACK_LIBS" != x; then
save_LIBS="$LIBS"; LIBS="$LAPACK_LIBS $BLAS_LIBS $LIBS $FLIBS"
AC_MSG_CHECKING([for $cheev in $LAPACK_LIBS])
AC_TRY_LINK_FUNC($cheev, [acx_lapack_ok=yes], [LAPACK_LIBS=""])
AC_MSG_RESULT($acx_lapack_ok)
LIBS="$save_LIBS"
if test acx_lapack_ok = no; then
LAPACK_LIBS=""
fi
fi
# LAPACK linked to by default? (is sometimes included in BLAS lib)
if test $acx_lapack_ok = no; then
save_LIBS="$LIBS"; LIBS="$LIBS $BLAS_LIBS $FLIBS"
AC_CHECK_FUNC($cheev, [acx_lapack_ok=yes])
LIBS="$save_LIBS"
fi
# Generic LAPACK library?
for lapack in lapack lapack32 lapack_rs6k; do
if test $acx_lapack_ok = no; then
save_LIBS="$LIBS"; LIBS="$BLAS_LIBS $LIBS"
AC_CHECK_LIB($lapack, $cheev,
[acx_lapack_ok=yes; LAPACK_LIBS="-l$lapack"], [], [$FLIBS])
LIBS="$save_LIBS"
fi
done
dnl ******* generic check ***********
dnl this check is needed in case of static libraries which configure
dnl fails to detect under WIN32
if test $acx_lapack_ok = no; then
AC_MSG_CHECKING(for any lapack library)
AC_ARG_WITH(lapack-libs, [ --with-lapack-libs=DIR adds lapack library path],
[lapack_search_lib_dirs="$withval"],
[lapack_search_lib_dirs="/usr/lib \
/usr/local/lib \
/usr/lib/atlas/lib \
/usr/local/atlas/lib \
/lib"])
lapack_search_lib_names="liblapack.so \
liblapack.so.* \
liblapack.a"
dnl search for atlas libs
for d in $lapack_search_lib_dirs; do
AQ_SEARCH_FILES("$d",$lapack_search_lib_names)
if test -n "$found_file" ; then
acx_lapack_ok=yes
case "$found_file" in
*a)
acx_lapack_ok=yes;
LAPACK_LIBS="$d/$found_file"
;;
*)
lapack_libraries="-L$d"
LAPACK_LIBS="-l`echo $found_file | sed 's/lib//;s/\.so*//;s/\.a//'`"
;;
esac
break
fi
done
if test "$acx_lapack_ok" = "yes"; then
AC_MSG_RESULT($LAPACK_LIBS)
else
AC_MSG_RESULT(none found)
fi
fi
AC_SUBST(LAPACK_LIBS)
# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND:
if test x"$acx_lapack_ok" = xyes; then
ifelse([$1],,AC_DEFINE(HAVE_LAPACK,1,[Define if you have LAPACK library.]),[$1])
:
else
acx_lapack_ok=no
$2
fi
])dnl ACX_LAPACK
syntax highlighted by Code2HTML, v. 0.9.1