Commit 6dc5f403 authored by Emmanuel Bertin's avatar Emmanuel Bertin
Browse files

Made parallel version of ATLAS not mandatory for the multithread option (unused).

Replaced configuration error with warning if FFTW is not multithreaded and multithreading has been activated (unused).
Added autoconfig support for FFTW multithreaded versions combined in libfftw3 (unused).
Added runtime warning if ATLAS is not multithreaded and multithreading is on (unused).
Version number pushed to 2.8.8.
parent 3c591638
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -96,6 +96,7 @@ ATLAS_CFLAGS = @ATLAS_CFLAGS@
ATLAS_ERROR = @ATLAS_ERROR@
ATLAS_LIB = @ATLAS_LIB@
ATLAS_LIBPATH = @ATLAS_LIBPATH@
ATLAS_WARN = @ATLAS_WARN@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
@@ -124,6 +125,7 @@ F77 = @F77@
FFLAGS = @FFLAGS@
FFTW_ERROR = @FFTW_ERROR@
FFTW_LIBS = @FFTW_LIBS@
FFTW_WARN = @FFTW_WARN@
GREP = @GREP@
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
@@ -205,6 +207,7 @@ sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@

+2 −2
Original line number Diff line number Diff line
@@ -13,8 +13,8 @@

m4_ifndef([AC_AUTOCONF_VERSION],
  [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
m4_if(AC_AUTOCONF_VERSION, [2.61],,
[m4_warning([this file was generated for autoconf 2.61.
m4_if(AC_AUTOCONF_VERSION, [2.63],,
[m4_warning([this file was generated for autoconf 2.63.
You have another version of autoconf.  It may work, but is not guaranteed to.
If you have problems, you may need to regenerate the build system entirely.
To do so, use the procedure documented by the package, typically `autoreconf'.])])
+9 −6
Original line number Diff line number Diff line
@@ -9,7 +9,7 @@ dnl ACTION-IF-FOUND is a list of shell commands to run if BLAS/LAPACK
dnl is found (HAVE_ATLAS is defined first), and ACTION-IF-NOT-FOUND
dnl is a list of commands to run it if it is not found.
dnl
dnl @version $Id: acx_atlas.m4,v 1.0 2007/10/19 21:30:17 bertin Exp $
dnl @version $Id: acx_atlas.m4,v 1.0 2009/06/26 14:30:17 bertin Exp $
dnl @author Emmanuel Bertin <bertin@iap.fr>

AC_DEFUN([ACX_ATLAS], [
@@ -190,9 +190,9 @@ if test x"$acx_atlas_ok" = xyes; then
	[Define if you have the ATLAS libraries and header files.])
  if test x$3 = xyes; then
dnl Check whether the multithreaded version of ATLAS is there too:
    AC_CHECK_LIB(ptcblas, cblas_dgemm,, [acx_atlas_ok=no],
    AC_CHECK_LIB(ptcblas, cblas_dgemm, [acx_atlast_ok=yes], [acx_atlast_ok=no],
	[$ATLAS_LIBPATH -lcblas -latlas -lm])
    if test x$acx_atlas_ok = xyes; then
    if test x$acx_atlast_ok = xyes; then
      ATLAS_LIB="$ATLAS_LIBPATH -llapack -lptcblas -lcblas -latlas"
      LIBS="$OLIBS"
      AC_SUBST(ATLAS_LIB)
@@ -200,9 +200,12 @@ dnl Check whether the multithreaded version of ATLAS is there too:
	[Define if you have the parallel ATLAS libraries.])
      $4
    else
      ATLAS_ERROR="CBLAS/LAPack was compiled without multithreading support!"
      AC_SUBST(ATLAS_ERROR)
      $5         
      ATLAS_LIB="$ATLAS_LIBPATH -llapack -lcblas -latlas"
      LIBS="$OLIBS"
      AC_SUBST(ATLAS_LIB)
      ATLAS_WARN="CBLAS/LAPack was compiled without multithreading support!"
      AC_SUBST(ATLAS_WARN)
      $4         
    fi
  else
    ATLAS_LIB="$ATLAS_LIBPATH -llapack -lcblas -latlas"
+50 −44
Original line number Diff line number Diff line
@@ -9,7 +9,7 @@ dnl ACTION-IF-FOUND is a list of shell commands to run if FFTW
dnl is found (HAVE_FFTWx are defined first), and ACTION-IF-NOT-FOUND
dnl is a list of commands to run it if it is not found.
dnl
dnl @version $Id: acx_fftw.m4,v 1.0 2008/08/28 21:30:17 bertin Exp $
dnl @version $Id: acx_fftw.m4,v 1.0 2009/06/26 21:30:17 bertin Exp $
dnl @author Emmanuel Bertin <bertin@iap.fr>

AC_DEFUN([ACX_FFTW], [
@@ -66,21 +66,17 @@ LIBS=""
if test x$acx_fftw_ok = xyes; then
  if test x$1 = x; then
    if test x$4 = xyes; then
      AC_CHECK_LIB(fftw3f, fftwf_execute, [acx_fftw_ok=yes],
		[acx_fftw_ok=no], [-lm])
      AC_CHECK_LIB(fftw3f, fftwf_execute, [acx_fftw_ok=yes], [acx_fftw_ok=no], [-lm])
      if test x$acx_fftw_ok = xyes; then
        AC_DEFINE(HAVE_FFTWF,1,
    [Define if you have the FFTW single precision libraries and header files.])
        AC_DEFINE(HAVE_FFTWF,1, [Define if you have the FFTW single precision libraries and header files.])
        FFTW_LIBS="-lfftw3f"
      else
        FFTW_ERROR="FFTW single precision library files not found at usual locations!"
      fi
    else
      AC_CHECK_LIB(fftw3, fftw_execute, [acx_fftw_ok=yes],
		[acx_fftw_ok=no], [-lm])
      AC_CHECK_LIB(fftw3, fftw_execute, [acx_fftw_ok=yes], [acx_fftw_ok=no], [-lm])
      if test x$acx_fftw_ok = xyes; then
        AC_DEFINE(HAVE_FFTW,1,
    [Define if you have the FFTW double precision libraries and header files.])
        AC_DEFINE(HAVE_FFTW,1, [Define if you have the FFTW double precision libraries and header files.])
        FFTW_LIBS="-lfftw3"
      else
        FFTW_ERROR="FFTW double precision library files not found at usual locations!"
@@ -88,24 +84,34 @@ if test x$acx_fftw_ok = xyes; then
    fi
    if test x$acx_fftw_ok = xyes && test x$3 = xyes; then
      if test x$4 = xyes; then
        AC_CHECK_LIB(fftw3f_threads, fftwf_init_threads,
		[acx_fftw_ok=yes], [acx_fftw_ok=no], [-lfftw3f -lm -lpthread])
        if test x$acx_fftw_ok = xyes; then
          AC_DEFINE(HAVE_FFTWFT,1,
    [Define if you have the FFTW single precision multithreaded libraries and header files.])
        AC_CHECK_LIB(fftw3f, fftwf_init_threads, [acx_fftwt_ok=yes], [acx_fftwt_ok=no], [-lm -lpthread])
        if test x$acx_fftwt_ok = xyes; then
          AC_DEFINE(HAVE_FFTWF_MP,1, [Define if you have the FFTW single precision multithreaded libraries and header files.])
          FFTW_LIBS="-lfftw3f"
        else
          AC_CHECK_LIB(fftw3f_threads, fftwf_init_threads, [acx_fftwt_ok=yes], [acx_fftwt_ok=no], [-lfftw3f -lm -lpthread])
          if test x$acx_fftwt_ok = xyes; then
            AC_DEFINE(HAVE_FFTWF_MP,1, [Define if you have the FFTW single precision multithreaded libraries and header files.])
            FFTW_LIBS="-lfftw3f_threads -lfftw3f"
          else
          FFTW_ERROR="FFTW single precision library was compiled without multithreading support!"
            FFTW_WARN="FFTW single precision library was compiled without multithreading support!"
            AC_SUBST(FFTW_WARN)
          fi
        fi
      else
        AC_CHECK_LIB(fftw3_threads, fftw_init_threads,
		[acx_fftw_ok=yes], [acx_fftw_ok=no], [-lfftw3 -lm -lpthread])
        if test x$acx_fftw_ok = xyes; then
          AC_DEFINE(HAVE_FFTWT,1,
    [Define if you have the FFTW double precision multithreaded libraries and header files.])
        AC_CHECK_LIB(fftw3, fftw_init_threads, [acx_fftwt_ok=yes], [acx_fftwt_ok=no], [-lm -lpthread])
        if test x$acx_fftwt_ok = xyes; then
          AC_DEFINE(HAVE_FFTW_MP,1, [Define if you have the FFTW double precision multithreaded libraries and header files.])
          FFTW_LIBS="-lfftw3"
        else
          AC_CHECK_LIB(fftw3_threads, fftw_init_threads, [acx_fftwt_ok=yes], [acx_fftwt_ok=no], [-lfftw3 -lm -lpthread])
          if test x$acx_fftwt_ok = xyes; then
            AC_DEFINE(HAVE_FFTW_MP,1, [Define if you have the FFTW double precision multithreaded libraries and header files.])
            FFTW_LIBS="-lfftw3_threads -lfftw3"
          else
          FFTW_ERROR="FFTW double precision library was compiled without multithreading support!"
            FFTW_WARN="FFTW double precision library was compiled without multithreading support!"
            AC_SUBST(FFTW_WARN)
          fi
        fi
      fi
    fi
@@ -114,21 +120,17 @@ dnl -------------------------
dnl Specific libdir specified
dnl -------------------------
    if test x$4 = xyes; then
      AC_CHECK_LIB(fftw3f, fftwf_execute, [acx_fftw_ok=yes],
		[acx_fftw_ok=no], [-L$1 -lm])
      AC_CHECK_LIB(fftw3f, fftwf_execute, [acx_fftw_ok=yes], [acx_fftw_ok=no], [-L$1 -lm])
      if test x$acx_fftw_ok = xyes; then
        AC_DEFINE(HAVE_FFTWF,1,
    [Define if you have the FFTW single precision libraries and header files.])
        AC_DEFINE(HAVE_FFTWF,1, [Define if you have the FFTW single precision libraries and header files.])
        FFTW_LIBS="-L$1 -lfftw3f"
      else
        FFTW_ERROR="FFTW single precision library files not found in $1!"
      fi
    else
      AC_CHECK_LIB(fftw3, fftw_execute, [acx_fftw_ok=yes],
		[acx_fftw_ok=no], [-L$1 -lm])
      AC_CHECK_LIB(fftw3, fftw_execute, [acx_fftw_ok=yes], [acx_fftw_ok=no], [-L$1 -lm])
      if test x$acx_fftw_ok = xyes; then
        AC_DEFINE(HAVE_FFTW,1,
    [Define if you have the FFTW double precision libraries and header files.])
        AC_DEFINE(HAVE_FFTW,1, [Define if you have the FFTW double precision libraries and header files.])
        FFTW_LIBS="-L$1 -lfftw3"
      else
        FFTW_ERROR="FFTW double precision library files not found in $1!"
@@ -136,24 +138,28 @@ dnl -------------------------
    fi
    if test x$acx_fftw_ok = xyes && test x$3 = xyes; then
      if test x$4 = xyes; then
        AC_CHECK_LIB(fftw3f_threads, fftwf_init_threads, [acx_fftw_ok=yes],
		[acx_fftw_ok=no], [-L$1 -lfftw3f -lm -lpthread])
        if test x$acx_fftw_ok = xyes; then
          AC_DEFINE(HAVE_FFTWFT,1,
    [Define if you have the FFTW single precision multithreaded libraries and header files.])
        AC_CHECK_LIB(fftw3f, fftwf_init_threads, [acx_fftwt_ok=yes], [acx_fftwt_ok=no], [-L$1 -lm -lpthread])
        if test x$acx_fftwt_ok = xyes; then
          AC_DEFINE(HAVE_FFTWF_MP,1, [Define if you have the FFTW single precision multithreaded libraries and header files.])
          FFTW_LIBS="-L$1 -lfftw3f"
        else
          AC_CHECK_LIB(fftw3f_threads, fftwf_init_threads, [acx_fftwt_ok=yes], [acx_fftwt_ok=no], [-L$1 -lfftw3f -lm -lpthread])
          if test x$acx_fftwt_ok = xyes; then
            AC_DEFINE(HAVE_FFTWF_MP,1, [Define if you have the FFTW single precision multithreaded libraries and header files.])
            FFTW_LIBS="-L$1 -lfftw3f_threads -lfftw3f"
          else
          FFTW_ERROR="FFTW single precision library in $1 was compiled without multithreading support!"
            FFTW_WARN="FFTW single precision library in $1 was compiled without multithreading support!"
            AC_SUBST(FFTW_WARN)
          fi
        fi
      else
        AC_CHECK_LIB(fftw3_threads, fftw_init_threads, [acx_fftw_ok=yes],
		[acx_fftw_ok=no], [-L$1 -lfftw3 -lm -lpthread])
        if test x$acx_fftw_ok = xyes; then
          AC_DEFINE(HAVE_FFTWT,1,
    [Define if you have the FFTW double precision multithreaded libraries and header files.])
        AC_CHECK_LIB(fftw3_threads, fftw_init_threads, [acx_fftwt_ok=yes], [acx_fftwt_ok=no], [-L$1 -lfftw3 -lm -lpthread])
        if test x$acx_fftwt_ok = xyes; then
          AC_DEFINE(HAVE_FFTW_MP,1, [Define if you have the FFTW double precision multithreaded libraries and header files.])
          FFTW_LIBS="-L$1 -lfftw3_threads -lfftw3"
        else
          FFTW_ERROR="FFTW double precision library in $1 was compiled without multithreading support!"
          FFTW_WARN="FFTW double precision library in $1 was compiled without multithreading support!"
          AC_SUBST(FFTW_WARN)
        fi
      fi
    fi
+2 −5
Original line number Diff line number Diff line
@@ -47,11 +47,11 @@

/* Define if you have the FFTW single precision multithreaded libraries and
   header files. */
#undef HAVE_FFTWFT
#undef HAVE_FFTWF_MP

/* Define if you have the FFTW double precision multithreaded libraries and
   header files. */
#undef HAVE_FFTWT
#undef HAVE_FFTW_MP

/* Define to 1 if fseeko (and presumably ftello) exists and is declared. */
#undef HAVE_FSEEKO
@@ -74,9 +74,6 @@
/* Define to 1 if you have the `m' library (-lm). */
#undef HAVE_LIBM

/* Define to 1 if you have the `ptcblas' library (-lptcblas). */
#undef HAVE_LIBPTCBLAS

/* Define to 1 if you have the <limits.h> header file. */
#undef HAVE_LIMITS_H

Loading