📄 acx_blas.m4
字号:
dnl Available from the GNU Autoconf Macro Archive at:dnl http://www.gnu.org/software/ac-archive/htmldoc/acx_blas.htmldnlAC_DEFUN([ACX_BLAS], [AC_PREREQ(2.50)AC_REQUIRE([AC_F77_LIBRARY_LDFLAGS])acx_blas_ok=noAC_ARG_WITH(blas, [ --with-blas=<lib> Use BLAS library <lib>], [case $withval in yes | "") ;; no) acx_blas_ok=disable ;; -* | */* | *.a | *.so | *.so.* | *.o) BLAS_LIBS="$withval" ;; *) BLAS_LIBS="-l$withval" ;; esac])# Get fortran linker names of BLAS functions to check for.AC_F77_FUNC(sgemm)AC_F77_FUNC(dgemm)acx_blas_save_LIBS="$LIBS"LIBS="$LIBS $FLIBS"# First, check BLAS_LIBS environment variableif test $acx_blas_ok = no; thenif test "x$BLAS_LIBS" != x; then save_LIBS="$LIBS"; LIBS="$BLAS_LIBS $LIBS" AC_MSG_CHECKING([for $sgemm in $BLAS_LIBS]) AC_TRY_LINK_FUNC($sgemm, [acx_blas_ok=yes], [BLAS_LIBS=""]) AC_MSG_RESULT($acx_blas_ok) LIBS="$save_LIBS"fifi# BLAS linked to by default? (happens on some supercomputers)if test $acx_blas_ok = no; then save_LIBS="$LIBS"; LIBS="$LIBS" AC_CHECK_FUNC($sgemm, [acx_blas_ok=yes]) LIBS="$save_LIBS"fi# BLAS in ATLAS library? (http://math-atlas.sourceforge.net/)AQ_CHECK_ATLASif test "$atlas_available" = "yes"; then BLAS_LIBS="$atlas_libraries $atlas_lib" acx_blas_ok=yesfi# BLAS in PhiPACK libraries? (requires generic BLAS lib, too)if test "$acx_blas_ok" = "no"; then AC_CHECK_LIB(blas, $sgemm, [AC_CHECK_LIB(dgemm, $dgemm, [AC_CHECK_LIB(sgemm, $sgemm, [acx_blas_ok=yes; BLAS_LIBS="-lsgemm -ldgemm -lblas"], [], [-lblas])], [], [-lblas])])fi# BLAS in Alpha CXML library?if test "$acx_blas_ok" = "no"; then AC_CHECK_LIB(cxml, $sgemm, [acx_blas_ok=yes;BLAS_LIBS="-lcxml"])fi# BLAS in Alpha DXML library? (now called CXML, see above)if test "$acx_blas_ok" = "no"; then AC_CHECK_LIB(dxml, $sgemm, [acx_blas_ok=yes;BLAS_LIBS="-ldxml"])fi# BLAS in Sun Performance library?if test "$acx_blas_ok" = "no"; then if test "x$GCC" != xyes; then # only works with Sun CC AC_CHECK_LIB(sunmath, acosp, [AC_CHECK_LIB(sunperf, $sgemm, [BLAS_LIBS="-xlic_lib=sunperf -lsunmath" acx_blas_ok=yes],[],[-lsunmath])]) fifi# BLAS in SCSL library? (SGI/Cray Scientific Library)if test "$acx_blas_ok" = "no"; then AC_CHECK_LIB(scs, $sgemm, [acx_blas_ok=yes; BLAS_LIBS="-lscs"])fi# BLAS in SGIMATH library?if test "$acx_blas_ok" = "no"; then AC_CHECK_LIB(complib.sgimath, $sgemm, [acx_blas_ok=yes; BLAS_LIBS="-lcomplib.sgimath"])fi# BLAS in IBM ESSL library? (requires generic BLAS lib, too)if test "$acx_blas_ok" = "no"; then AC_CHECK_LIB(blas, $sgemm, [AC_CHECK_LIB(essl, $sgemm, [acx_blas_ok=yes; BLAS_LIBS="-lessl -lblas"], [], [-lblas $FLIBS])])fi# Generic BLAS library?if test "$acx_blas_ok" = "no"; then AC_CHECK_LIB(blas, $sgemm, [acx_blas_ok=yes; BLAS_LIBS="-lblas"])fi# Generic BLAS DLL?if test "$acx_blas_ok" = "no"; then #save_LIBS="$LIBS"; LIBS="$LIBS -L/c/windows" # doesnt help though AC_CHECK_LIB(blas32, $sgemm, [acx_blas_ok=yes; BLAS_LIBS="-lblas32"])fiAC_SUBST(BLAS_LIBS)LIBS="$acx_blas_save_LIBS"# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND:if test x"$acx_blas_ok" = xyes; then ifelse([$1],,AC_DEFINE(HAVE_BLAS,1,[Define if you have a BLAS library.]),[$1]) :else acx_blas_ok=no $2fi])dnl ACX_BLAS
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -