mingw64-i686-fftw3 3.3.3
authorYaakov Selkowitz <yselkowitz@users.sourceforge.net>
Wed, 27 Nov 2013 21:05:24 +0000 (15:05 -0600)
committerYaakov Selkowitz <yselkowitz@users.sourceforge.net>
Wed, 27 Nov 2013 21:05:24 +0000 (15:05 -0600)
3.3.3-quad-no-undefined.patch [new file with mode: 0644]
mingw64-i686-fftw3.cygport [new file with mode: 0644]

diff --git a/3.3.3-quad-no-undefined.patch b/3.3.3-quad-no-undefined.patch
new file mode 100644 (file)
index 0000000..ec39d0f
--- /dev/null
@@ -0,0 +1,18 @@
+We just need to pass an -L flag, or set lt_cv_deplibs_check_method=pass_all
+
+--- origsrc/fftw-3.3.3/Makefile.am     2012-11-25 06:33:44.000000000 -0600
++++ src/fftw-3.3.3/Makefile.am 2013-11-27 14:24:39.278652500 -0600
+@@ -81,13 +81,8 @@ libfftw3@PREC_SUFFIX@_la_LIBADD =                   \
+         $(SIMD_LIBS) $(SSE2_LIBS) $(AVX_LIBS) $(ALTIVEC_LIBS) $(NEON_LIBS)            \
+       $(COMBINED_THREADLIBS)
+-if QUAD
+-# cannot use -no-undefined since dependent on libquadmath
+-libfftw3@PREC_SUFFIX@_la_LDFLAGS = -version-info @SHARED_VERSION_INFO@
+-else
+ libfftw3@PREC_SUFFIX@_la_LDFLAGS = -no-undefined -version-info        \
+ @SHARED_VERSION_INFO@
+-endif
+ fftw3@PREC_SUFFIX@.pc: fftw.pc
+       cp -f fftw.pc fftw3@PREC_SUFFIX@.pc
diff --git a/mingw64-i686-fftw3.cygport b/mingw64-i686-fftw3.cygport
new file mode 100644 (file)
index 0000000..8f70c20
--- /dev/null
@@ -0,0 +1,53 @@
+CROSS_HOST="i686-w64-mingw32"
+inherit cross
+
+NAME="mingw64-i686-fftw3"
+VERSION=3.3.3
+RELEASE=1
+CATEGORY="Devel"
+SUMMARY="Discrete Fourier transform library for Win32 toolchain"
+DESCRIPTION="FFTW is a C subroutine library for computing the discrete Fourier
+transform (DFT) in one or more dimensions, of arbitrary input size, and of both
+real and complex data."
+HOMEPAGE="http://www.fftw.org/"
+SRC_URI="http://www.fftw.org/fftw-${VERSION}.tar.gz"
+SRC_DIR="fftw-${VERSION}"
+PATCH_URI="3.3.3-quad-no-undefined.patch"
+
+precisions=(single double long-double quad-precision)
+
+src_compile() {
+       cd ${S}
+       cygautoreconf
+
+       for prec in ${precisions[*]}
+       do
+               case $prec in
+               quad*)
+                       gcclibdir="${CC} -print-file-name=libquadmath.dll.a"
+                       LDFLAGS+=" -L${gcclibdir%/*}"
+                       ;;
+               esac
+
+               mkdir -p ${B}/$prec
+               cd ${B}/$prec
+               cygconf --enable-$prec --disable-threads
+               cygmake
+       done
+}
+
+src_test() {
+       for prec in ${precisions[*]}
+       do
+               cd ${B}/$prec/tests
+               cygtest
+       done
+}
+
+src_install() {
+       for prec in ${precisions[*]}
+       do
+               cd ${B}/$prec
+               cyginstall bin_PROGRAMS= bin_SCRIPTS= dist_man_MANS= INFO_DEPS=
+       done
+}
This page took 0.030023 seconds and 5 git commands to generate.