diff options
Diffstat (limited to 'repo/system/fftw')
-rw-r--r-- | repo/system/fftw/cycle.h.patch | 54 | ||||
-rw-r--r-- | repo/system/fftw/fftw.xibuild | 54 |
2 files changed, 108 insertions, 0 deletions
diff --git a/repo/system/fftw/cycle.h.patch b/repo/system/fftw/cycle.h.patch new file mode 100644 index 0000000..7e55d3e --- /dev/null +++ b/repo/system/fftw/cycle.h.patch @@ -0,0 +1,54 @@ +diff --git a/kernel/cycle.h b/kernel/cycle.h +index a0e86f3..3ff4c0e 100644 +--- a/kernel/cycle.h ++++ b/kernel/cycle.h +@@ -368,22 +368,6 @@ INLINE_ELAPSED(inline) + #define HAVE_TICK_COUNTER + #endif + +-/*----------------------------------------------------------------*/ +-/* S390, courtesy of James Treacy */ +-#if defined(__GNUC__) && defined(__s390__) && !defined(HAVE_TICK_COUNTER) +-typedef unsigned long long ticks; +- +-static __inline__ ticks getticks(void) +-{ +- ticks cycles; +- __asm__("stck 0(%0)" : : "a" (&(cycles)) : "memory", "cc"); +- return cycles; +-} +- +-INLINE_ELAPSED(__inline__) +- +-#define HAVE_TICK_COUNTER +-#endif + /*----------------------------------------------------------------*/ + #if defined(__GNUC__) && defined(__alpha__) && !defined(HAVE_TICK_COUNTER) + /* +@@ -436,26 +420,6 @@ INLINE_ELAPSED(__inline) + + #define HAVE_TICK_COUNTER + #endif +-/*----------------------------------------------------------------*/ +-/* SGI/Irix */ +-#if defined(HAVE_CLOCK_GETTIME) && defined(CLOCK_SGI_CYCLE) && !defined(HAVE_TICK_COUNTER) && !defined(__ANDROID__) +-typedef struct timespec ticks; +- +-static inline ticks getticks(void) +-{ +- struct timespec t; +- clock_gettime(CLOCK_SGI_CYCLE, &t); +- return t; +-} +- +-static inline double elapsed(ticks t1, ticks t0) +-{ +- return ((double)t1.tv_sec - (double)t0.tv_sec) * 1.0E9 + +- ((double)t1.tv_nsec - (double)t0.tv_nsec); +-} +-#define HAVE_TICK_COUNTER +-#endif +- + /*----------------------------------------------------------------*/ + /* Cray UNICOS _rtc() intrinsic function */ + #if defined(HAVE__RTC) && !defined(HAVE_TICK_COUNTER) diff --git a/repo/system/fftw/fftw.xibuild b/repo/system/fftw/fftw.xibuild new file mode 100644 index 0000000..41dd124 --- /dev/null +++ b/repo/system/fftw/fftw.xibuild @@ -0,0 +1,54 @@ +#!/bin/sh + +NAME="fftw" +DESC="Discrete Fourier transform (DFT) library" + +MAKEDEPS="make tar" +DEPS="musl " + +PKG_VER=3.3.10 +SOURCE="http://www.fftw.org/fftw-$PKG_VER.tar.gz" +ADDITIONAL="cycle.h.patch " + +precisions="single double long-double" + +prepare () { + for i in $precisions; do + mkdir $i + tar -xf fftw-$PKG_VER.tar.gz -C $i + done +} + +build () { + local i; for i in $precisions; do + case "$i" in + single) cf="--enable-single";; + double) cf="";; + long-double) cf="--enable-long-double";; + esac + + case "$i" in + single | double) + cf="$cf --enable-sse2 --enable-avx";; + esac + + printf "Building for $i precision ($cf)" + cd $BUILD_ROOT/$i/fftw-$PKG_VER + ./configure \ + --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --infodir=/usr/share/info \ + --enable-shared \ + --enable-threads \ + $cf + make + done +} + +package () { + for i in $precisions; do + cd $BUILD_ROOT/$i/fftw-$PKG_VER + make DESTDIR=$PKG_DEST install + done +} |