diff src/fftw.mk @ 3087:3663f6300abf

[MSVC] enable FFTW compilation - fix cc-msvc when all input files are pushed into @-files by libtool - make libtool think clgfortran is not the GNU Fortran compiler - don't bother compiling long-double version of FFTW, MSVC does not support long double type, it's typedef'ed to double
author Michael Goffioul <michael.goffioul@gmail.com>
date Mon, 24 Jun 2013 22:10:13 -0400
parents 5ef49fb3299d
children 39997b7399e5
line wrap: on
line diff
--- a/src/fftw.mk	Mon Jun 24 13:28:33 2013 -0400
+++ b/src/fftw.mk	Mon Jun 24 22:10:13 2013 -0400
@@ -9,6 +9,12 @@
 $(PKG)_URL      := http://www.fftw.org/$($(PKG)_FILE)
 $(PKG)_DEPS     :=
 
+ifeq ($(MXE_SYSTEM),msvc)
+    $(PKG)_HAVE_LONG_DOUBLE := false
+else
+    $(PKG)_HAVE_LONG_DOUBLE := true
+endif
+
 define $(PKG)_UPDATE
     $(WGET) -q -O- 'http://www.fftw.org/download.html' | \
     $(SED) -n 's,.*fftw-\([0-9][^>]*\)\.tar.*,\1,p' | \
@@ -24,27 +30,32 @@
         $(ENABLE_SHARED_OR_STATIC) \
         --prefix='$(HOST_PREFIX)' \
         --enable-threads \
-        --enable-double
+        --enable-sse2 \
+        --enable-double && $(CONFIGURE_POST_HOOK)
     $(MAKE) -C '$(1)' -j '$(JOBS)' bin_PROGRAMS= sbin_PROGRAMS= noinst_PROGRAMS=
     $(MAKE) -C '$(1)' -j 1 install bin_PROGRAMS= sbin_PROGRAMS= noinst_PROGRAMS=
 
+    if $($(PKG)_HAVE_LONG_DOUBLE); then \
+        cd '$(1)' && ./configure \
+            F77=$(MXE_F77) \
+            $(HOST_AND_BUILD_CONFIGURE_OPTIONS) \
+            $(ENABLE_SHARED_OR_STATIC) \
+            --prefix='$(HOST_PREFIX)' \
+            --enable-threads \
+            --enable-sse2 \
+            --enable-long-double && $(CONFIGURE_POST_HOOK) ; \
+        $(MAKE) -C '$(1)' -j '$(JOBS)' bin_PROGRAMS= sbin_PROGRAMS= noinst_PROGRAMS= ; \
+        $(MAKE) -C '$(1)' -j 1 install bin_PROGRAMS= sbin_PROGRAMS= noinst_PROGRAMS= ; \
+    fi
+
     cd '$(1)' && ./configure \
         F77=$(MXE_F77) \
         $(HOST_AND_BUILD_CONFIGURE_OPTIONS) \
         $(ENABLE_SHARED_OR_STATIC) \
         --prefix='$(HOST_PREFIX)' \
         --enable-threads \
-        --enable-long-double
-    $(MAKE) -C '$(1)' -j '$(JOBS)' bin_PROGRAMS= sbin_PROGRAMS= noinst_PROGRAMS=
-    $(MAKE) -C '$(1)' -j 1 install bin_PROGRAMS= sbin_PROGRAMS= noinst_PROGRAMS=
-
-    cd '$(1)' && ./configure \
-        F77=$(MXE_F77) \
-        $(HOST_AND_BUILD_CONFIGURE_OPTIONS) \
-        $(ENABLE_SHARED_OR_STATIC) \
-        --prefix='$(HOST_PREFIX)' \
-        --enable-threads \
-        --enable-float
+        --enable-sse2 \
+        --enable-float && $(CONFIGURE_POST_HOOK)
     $(MAKE) -C '$(1)' -j '$(JOBS)' bin_PROGRAMS= sbin_PROGRAMS= noinst_PROGRAMS=
     $(MAKE) -C '$(1)' -j 1 install bin_PROGRAMS= sbin_PROGRAMS= noinst_PROGRAMS=
 endef