dnl @synopsis ACX_BLAS([ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]])dnldnl This macro looks for a library that implements the BLASdnl linear-algebra interface (see http://www.netlib.org/blas/). Ondnl success, it sets the BLAS_LIBS output variable to hold thednl requisite library linkages.dnldnl To link with BLAS, you should link with:dnldnl $BLAS_LIBS $LIBS $FLIBSdnldnl in that order. FLIBS is the output variable of thednl AC_F77_LIBRARY_LDFLAGS macro (called if necessary by ACX_BLAS), anddnl is sometimes necessary in order to link with F77 libraries. Usersdnl will also need to use AC_F77_DUMMY_MAIN (see the autoconf manual),dnl for the same reason.dnldnl Many libraries are searched for, from ATLAS to CXML to ESSL. Thednl user may also use --with-blas=<lib> in order to use some specificdnl BLAS library <lib>. In order to link successfully, however, bednl aware that you will probably need to use the same Fortran compilerdnl (which can be set via the F77 env. var.) as was used to compile thednl BLAS library.dnldnl ACTION-IF-FOUND is a list of shell commands to run if a BLASdnl library is found, and ACTION-IF-NOT-FOUND is a list of commands todnl run it if it is not found. If ACTION-IF-FOUND is not specified, thednl default action will define HAVE_BLAS.dnldnl This macro requires autoconf 2.50 or later.dnldnl @category InstalledPackagesdnl @author Steven G. Johnson <stevenj@alum.mit.edu>dnl @version 2001-12-13dnl @license GPLWithACExceptionAC_DEFUN([ACX_BLAS], [AC_PREREQ(2.50)AC_REQUIRE([AC_F77_LIBRARY_LDFLAGS])acx_blas_ok=noAC_ARG_WITH(blas,[AC_HELP_STRING([--with-blas=<lib>], [use BLAS library <lib>])])case $with_blas inyes | "") ;;no) acx_blas_ok=disable ;;-* | */* | *.a | *.so | *.so.* | *.o) BLAS_LIBS="$with_blas" ;;*) BLAS_LIBS="-l$with_blas" ;;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; thensave_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; thensave_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/)if test $acx_blas_ok = no; thenAC_CHECK_LIB(atlas, ATL_xerbla,[AC_CHECK_LIB(f77blas, $sgemm,[AC_CHECK_LIB(cblas, cblas_dgemm,[acx_blas_ok=yesBLAS_LIBS="-lcblas -lf77blas -latlas"],[], [-lf77blas -latlas])],[], [-latlas])])fi# BLAS in PhiPACK libraries? (requires generic BLAS lib, too)if test $acx_blas_ok = no; thenAC_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; thenAC_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; thenAC_CHECK_LIB(dxml, $sgemm, [acx_blas_ok=yes;BLAS_LIBS="-ldxml"])fi# BLAS in Sun Performance library?if test $acx_blas_ok = no; thenif test "x$GCC" != xyes; then # only works with Sun CCAC_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; thenAC_CHECK_LIB(scs, $sgemm, [acx_blas_ok=yes; BLAS_LIBS="-lscs"])fi# BLAS in SGIMATH library?if test $acx_blas_ok = no; thenAC_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; thenAC_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; thenAC_CHECK_LIB(blas, $sgemm, [acx_blas_ok=yes; BLAS_LIBS="-lblas"])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; thenifelse([$1],,AC_DEFINE(HAVE_BLAS,1,[Define if you have a BLAS library.]),[$1]):elseacx_blas_ok=no$2fi])dnl ACX_BLASdnl @synopsis ACX_LAPACK([ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]])dnldnl This macro looks for a library that implements the LAPACKdnl linear-algebra interface (see http://www.netlib.org/lapack/). Ondnl success, it sets the LAPACK_LIBS output variable to hold thednl requisite library linkages.dnldnl To link with LAPACK, you should link with:dnldnl $LAPACK_LIBS $BLAS_LIBS $LIBS $FLIBSdnldnl in that order. BLAS_LIBS is the output variable of the ACX_BLASdnl macro, called automatically. FLIBS is the output variable of thednl AC_F77_LIBRARY_LDFLAGS macro (called if necessary by ACX_BLAS), anddnl is sometimes necessary in order to link with F77 libraries. Usersdnl will also need to use AC_F77_DUMMY_MAIN (see the autoconf manual),dnl for the same reason.dnldnl The user may also use --with-lapack=<lib> in order to use somednl specific LAPACK library <lib>. In order to link successfully,dnl however, be aware that you will probably need to use the samednl Fortran compiler (which can be set via the F77 env. var.) as wasdnl used to compile the LAPACK and BLAS libraries.dnldnl ACTION-IF-FOUND is a list of shell commands to run if a LAPACKdnl library is found, and ACTION-IF-NOT-FOUND is a list of commands todnl run it if it is not found. If ACTION-IF-FOUND is not specified, thednl default action will define HAVE_LAPACK.dnldnl @category InstalledPackagesdnl @author Steven G. Johnson <stevenj@alum.mit.edu>dnl @version 2002-03-12dnl @license GPLWithACExceptionAC_DEFUN([ACX_LAPACK], [AC_REQUIRE([ACX_BLAS])acx_lapack_ok=noAC_ARG_WITH(lapack,[AC_HELP_STRING([--with-lapack=<lib>], [use LAPACK library <lib>])])case $with_lapack inyes | "") ;;no) acx_lapack_ok=disable ;;-* | */* | *.a | *.so | *.so.* | *.o) LAPACK_LIBS="$with_lapack" ;;*) LAPACK_LIBS="-l$with_lapack" ;;esac# Get fortran linker name of LAPACK function to check for.AC_F77_FUNC(cheev)# We cannot use LAPACK if BLAS is not foundif test "x$acx_blas_ok" != xyes; thenacx_lapack_ok=noblasfi# First, check LAPACK_LIBS environment variableif test "x$LAPACK_LIBS" != x; thensave_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; thenLAPACK_LIBS=""fifi# LAPACK linked to by default? (is sometimes included in BLAS lib)if test $acx_lapack_ok = no; thensave_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 lapack_rs6k; doif test $acx_lapack_ok = no; thensave_LIBS="$LIBS"; LIBS="$BLAS_LIBS $LIBS"AC_CHECK_LIB($lapack, $cheev,[acx_lapack_ok=yes; LAPACK_LIBS="-l$lapack"], [], [$FLIBS])LIBS="$save_LIBS"fidoneAC_SUBST(LAPACK_LIBS)# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND:if test x"$acx_lapack_ok" = xyes; thenifelse([$1],,AC_DEFINE(HAVE_LAPACK,1,[Define if you have LAPACK library.]),[$1]):elseacx_lapack_ok=no$2fi])dnl ACX_LAPACKdnl @synopsis MDL_HAVE_OPENGLdnldnl Search for OpenGL. We search first for Mesa (a GPL'ed version ofdnl Mesa) before a vendor's version of OpenGL, unless we werednl specifically asked not to with `--with-Mesa=no' ordnl `--without-Mesa'.dnldnl The four "standard" OpenGL libraries are searched for: "-lGL",dnl "-lGLU", "-lGLX" (or "-lMesaGL", "-lMesaGLU" as the case may be)dnl and "-lglut".dnldnl All of the libraries that are found (since "-lglut" or "-lGLX"dnl might be missing) are added to the shell output variable "GL_LIBS",dnl along with any other libraries that are necessary to successfullydnl link an OpenGL application (e.g. the X11 libraries). Care has beendnl taken to make sure that all of the libraries in "GL_LIBS" arednl listed in the proper order.dnldnl Additionally, the shell output variable "GL_CFLAGS" is set to anydnl flags (e.g. "-I" flags) that are necessary to successfully compilednl an OpenGL application.dnldnl The following shell variable (which are not output variables) arednl also set to either "yes" or "no" (depending on which libraries werednl found) to help you determine exactly what was found.dnldnl have_GLdnl have_GLUdnl have_GLXdnl have_glutdnldnl A complete little toy "Automake `make distcheck'" package of how todnl use this macro is available at:dnldnl ftp://ftp.slac.stanford.edu/users/langston/autoconf/ac_opengl-0.01.tar.gzdnldnl Please note that as the ac_opengl macro and the toy examplednl evolves, the version number increases, so you may have to adjustdnl the above URL accordingly.dnldnl minor bugfix by ahmet inan <auto@ainan.org>dnldnl @category InstalledPackagesdnl @author Matthew D. Langston <langston@SLAC.Stanford.EDU>dnl @version 2002-09-25dnl @license GPLWithACExceptionAC_DEFUN([MDL_HAVE_OPENGL],[AC_REQUIRE([AC_PROG_CC])AC_REQUIRE([AC_PATH_X])AC_REQUIRE([AC_PATH_XTRA])AC_CACHE_CHECK([for OpenGL], mdl_cv_have_OpenGL,[dnl Check for Mesa first, unless we were asked not to.AC_ARG_WITH([--with-Mesa],[Prefer the Mesa library over a vendors native OpenGL library (default=yes)],with_Mesa_help_string)AC_ARG_ENABLE(Mesa, $with_Mesa_help_string, use_Mesa=$enableval, use_Mesa=yes)if test x"$use_Mesa" = xyes; thenGL_search_list="MesaGL GL"GLU_search_list="MesaGLU GLU"GLX_search_list="MesaGLX GLX"elseGL_search_list="GL MesaGL"GLU_search_list="GLU MesaGLU"GLX_search_list="GLX MesaGLX"fiAC_LANG_SAVEAC_LANG_Cdnl If we are running under X11 then add in the appropriate libraries.if test x"$no_x" != xyes; thendnl Add everything we need to compile and link X programs to GL_X_CFLAGSdnl and GL_X_LIBS.GL_CFLAGS="$X_CFLAGS"GL_X_LIBS="$X_PRE_LIBS $X_LIBS -lX11 -lXext -lXmu -lXt -lXi $X_EXTRA_LIBS"fiGL_save_CPPFLAGS="$CPPFLAGS"CPPFLAGS="$GL_CFLAGS"GL_save_LIBS="$LIBS"LIBS="$GL_X_LIBS"# Save the "AC_MSG_RESULT file descriptor" to FD 8.exec 8>&AC_FD_MSG# Temporarily turn off AC_MSG_RESULT so that the user gets pretty# messages.exec AC_FD_MSG>/dev/nullAC_SEARCH_LIBS(glAccum, $GL_search_list, have_GL=yes, have_GL=no)AC_SEARCH_LIBS(gluBeginCurve, $GLU_search_list, have_GLU=yes, have_GLU=no)AC_SEARCH_LIBS(glXChooseVisual, $GLX_search_list, have_GLX=yes, have_GLX=no)AC_SEARCH_LIBS(glutInit, glut, have_glut=yes, have_glut=no)# Restore pretty messages.exec AC_FD_MSG>&8if test -n "$LIBS"; thenmdl_cv_have_OpenGL=yesGL_LIBS="$LIBS"AC_SUBST(GL_CFLAGS)AC_SUBST(GL_LIBS)elsemdl_cv_have_OpenGL=noGL_CFLAGS=fidnl Reset GL_X_LIBS regardless, since it was just a temporary variablednl and we don't want to be global namespace polluters.GL_X_LIBS=LIBS="$GL_save_LIBS"CPPFLAGS="$GL_save_CPPFLAGS"AC_LANG_RESTOREdnl bugfix: dont forget to cache this variables, toomdl_cv_GL_CFLAGS="$GL_CFLAGS"mdl_cv_GL_LIBS="$GL_LIBS"mdl_cv_have_GL="$have_GL"mdl_cv_have_GLU="$have_GLU"mdl_cv_have_GLX="$have_GLX"mdl_cv_have_glut="$have_glut"])GL_CFLAGS="$mdl_cv_GL_CFLAGS"GL_LIBS="$mdl_cv_GL_LIBS"have_GL="$mdl_cv_have_GL"have_GLU="$mdl_cv_have_GLU"have_GLX="$mdl_cv_have_GLX"have_glut="$mdl_cv_have_glut"])dnl endof bugfix -ainan