From 48ca75555522716f0f686dcae3dd6cf3d8ad714d Mon Sep 17 00:00:00 2001
From: davidovski <david@davidovski.xyz>
Date: Tue, 31 May 2022 11:05:19 +0100
Subject: removed idea of repos

---
 repo/fftw/cycle.h.patch | 54 +++++++++++++++++++++++++++++++++++++++++++++++++
 repo/fftw/fftw.xibuild  | 54 +++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 108 insertions(+)
 create mode 100644 repo/fftw/cycle.h.patch
 create mode 100644 repo/fftw/fftw.xibuild

(limited to 'repo/fftw')

diff --git a/repo/fftw/cycle.h.patch b/repo/fftw/cycle.h.patch
new file mode 100644
index 0000000..7e55d3e
--- /dev/null
+++ b/repo/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/fftw/fftw.xibuild b/repo/fftw/fftw.xibuild
new file mode 100644
index 0000000..41dd124
--- /dev/null
+++ b/repo/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
+}
-- 
cgit v1.2.1