mirror of
https://github.com/yann64/haikuports.git
synced 2026-04-23 04:00:05 +02:00
Fftw: baseline cpu features (#3506)
This commit is contained in:
@@ -1,87 +0,0 @@
|
||||
SUMMARY="Fast C library for the Discrete Fourier Transform"
|
||||
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 (as well as of even/odd data, i.e. the discrete cosine/sine \
|
||||
transforms or DCT/DST). We believe that FFTW, which is free software, should \
|
||||
become the FFT library of choice for most applications.
|
||||
Our benchmarks, performed on on a variety of platforms, show that FFTW's \
|
||||
performance is typically superior to that of other publicly available FFT \
|
||||
software, and is even competitive with vendor-tuned codes. In contrast to \
|
||||
vendor-tuned codes, however, FFTW's performance is portable: the same program \
|
||||
will perform well on most architectures without modification. Hence the name, \
|
||||
FFTW, which stands for the somewhat whimsical title of Fastest Fourier \
|
||||
Transform in the West."
|
||||
HOMEPAGE="http://www.fftw.org/"
|
||||
COPYRIGHT="2003, 2007-2011 Matteo Frigo
|
||||
2003, 2007-2011 Massachusetts Institute of Technology"
|
||||
LICENSE="GNU GPL v2"
|
||||
REVISION="1"
|
||||
SOURCE_URI="http://www.fftw.org/fftw-$portVersion.tar.gz"
|
||||
CHECKSUM_SHA256="3b609b7feba5230e8f6dd8d245ddbefac324c5a6ae4186947670d9ac2cd25573"
|
||||
SOURCE_DIR="fftw-$portVersion"
|
||||
|
||||
ARCHITECTURES="x86_gcc2 x86 x86_64"
|
||||
SECONDARY_ARCHITECTURES="x86_gcc2 x86"
|
||||
|
||||
PROVIDES="
|
||||
fftw$secondaryArchSuffix = $portVersion compat >= 3
|
||||
cmd:fftw_wisdom$secondaryArchSuffix
|
||||
cmd:fftw_wisdom_to_conf$secondaryArchSuffix
|
||||
cmd:fftwf_wisdom$secondaryArchSuffix
|
||||
lib:libfftw3$secondaryArchSuffix = 3.5.7 compat >= 3
|
||||
lib:libfftw3f$secondaryArchSuffix = 3.5.7 compat >= 3
|
||||
"
|
||||
REQUIRES="
|
||||
haiku$secondaryArchSuffix
|
||||
"
|
||||
|
||||
PROVIDES_devel="
|
||||
fftw${secondaryArchSuffix}_devel = $portVersion compat >= 3
|
||||
devel:libfftw3$secondaryArchSuffix = 3.5.7 compat >= 3
|
||||
devel:libfftw3f$secondaryArchSuffix = 3.5.7 compat >= 3
|
||||
"
|
||||
REQUIRES_devel="
|
||||
fftw$secondaryArchSuffix == $portVersion base
|
||||
"
|
||||
|
||||
BUILD_REQUIRES="
|
||||
haiku${secondaryArchSuffix}_devel
|
||||
"
|
||||
BUILD_PREREQUIRES="
|
||||
cmd:awk
|
||||
cmd:find
|
||||
cmd:gcc$secondaryArchSuffix
|
||||
cmd:ld$secondaryArchSuffix
|
||||
cmd:make
|
||||
"
|
||||
|
||||
BUILD()
|
||||
{
|
||||
make clean && make distclean || true
|
||||
|
||||
# build double-precision version
|
||||
runConfigure ./configure --enable-shared
|
||||
make $jobArgs
|
||||
make install
|
||||
|
||||
make clean && make distclean || true
|
||||
|
||||
# build float-precision version
|
||||
runConfigure ./configure --enable-float --enable-shared
|
||||
make $jobArgs
|
||||
make install
|
||||
}
|
||||
|
||||
INSTALL()
|
||||
{
|
||||
rm $libDir/libfftw*.la
|
||||
|
||||
prepareInstalledDevelLibs \
|
||||
libfftw3 \
|
||||
libfftw3f
|
||||
fixPkgconfig
|
||||
|
||||
packageEntries devel \
|
||||
$developDir
|
||||
}
|
||||
@@ -15,9 +15,10 @@ HOMEPAGE="http://www.fftw.org/"
|
||||
COPYRIGHT="2003, 2007-2011 Matteo Frigo
|
||||
2003, 2007-2011 Massachusetts Institute of Technology"
|
||||
LICENSE="GNU GPL v2"
|
||||
REVISION="2"
|
||||
REVISION="3"
|
||||
SOURCE_URI="http://www.fftw.org/fftw-$portVersion.tar.gz"
|
||||
CHECKSUM_SHA256="6113262f6e92c5bd474f2875fa1b01054c4ad5040f6b0da7c03c98821d9ae303"
|
||||
PATCHES="fftw-$portVersion.patchset"
|
||||
|
||||
ARCHITECTURES="x86_gcc2 x86 x86_64"
|
||||
SECONDARY_ARCHITECTURES="x86_gcc2 x86"
|
||||
@@ -83,12 +84,15 @@ BUILD_REQUIRES+="
|
||||
"
|
||||
fi
|
||||
BUILD_PREREQUIRES="
|
||||
cmd:aclocal
|
||||
cmd:autoreconf
|
||||
cmd:awk
|
||||
cmd:cmp
|
||||
cmd:diff
|
||||
cmd:find
|
||||
cmd:gcc$secondaryArchSuffix
|
||||
cmd:ld$secondaryArchSuffix
|
||||
cmd:libtoolize$secondaryArchSuffix
|
||||
cmd:make
|
||||
cmd:perl
|
||||
"
|
||||
@@ -111,15 +115,19 @@ defineDebugInfoPackage fftw$secondaryArchSuffix "${debugList[@]}"
|
||||
|
||||
BUILD()
|
||||
{
|
||||
# Autoreconf because m4 patching
|
||||
autoreconf --verbose --install --symlink --force
|
||||
|
||||
mkdir -p double long-double quad float
|
||||
|
||||
# 32 bit targets NORTHWOOD
|
||||
# 64 bit targets PRESCOTT
|
||||
|
||||
CONFIGURE="--enable-shared --enable-threads"
|
||||
if [ "$effectiveTargetArchitecture" = x86_64 ]; then
|
||||
CONFIGURE_X86_64="--enable-sse2"
|
||||
fi
|
||||
CONFIGURE="--enable-shared --enable-threads --disable-avx --disable-avx2 \
|
||||
--disable-avx512"
|
||||
if [ "$effectiveTargetArchitecture" = x86_64 ]; then
|
||||
CONFIGURE_X86_64="--enable-sse2"
|
||||
fi
|
||||
|
||||
# build double-precision version
|
||||
cd double
|
||||
|
||||
@@ -1,24 +0,0 @@
|
||||
From 4ee5a540f1e7f19940217378031cd4a4360b435a Mon Sep 17 00:00:00 2001
|
||||
From: Jerome Duval <jerome.duval@gmail.com>
|
||||
Date: Tue, 2 Aug 2016 22:25:47 +0200
|
||||
Subject: gcc2 patch
|
||||
|
||||
|
||||
diff --git a/kernel/stride.c b/kernel/stride.c
|
||||
index 689fdc8..27b631b 100644
|
||||
--- a/kernel/stride.c
|
||||
+++ b/kernel/stride.c
|
||||
@@ -26,8 +26,9 @@ const INT X(an_INT_guaranteed_to_be_zero) = 0;
|
||||
stride X(mkstride)(INT n, INT s)
|
||||
{
|
||||
int i;
|
||||
+ INT *p;
|
||||
A(n >= 0);
|
||||
- INT *p = (INT *) MALLOC((size_t)n * sizeof(INT), STRIDES);
|
||||
+ p = (INT *) MALLOC((size_t)n * sizeof(INT), STRIDES);
|
||||
|
||||
for (i = 0; i < n; ++i)
|
||||
p[i] = s * i;
|
||||
--
|
||||
2.2.2
|
||||
|
||||
22
sci-libs/fftw/patches/fftw-3.3.8.patchset
Normal file
22
sci-libs/fftw/patches/fftw-3.3.8.patchset
Normal file
@@ -0,0 +1,22 @@
|
||||
From 47051e008ae0df4f5c6bda28bed708cb41fbb9af Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Zolt=C3=A1n=20Mizsei?= <zmizsei@extrowerk.com>
|
||||
Date: Sat, 29 Dec 2018 17:38:55 +0100
|
||||
Subject: Haiku: disable -mtune=native
|
||||
|
||||
|
||||
diff --git a/m4/ax_cc_maxopt.m4 b/m4/ax_cc_maxopt.m4
|
||||
index 61d3a98..ef0ea65 100644
|
||||
--- a/m4/ax_cc_maxopt.m4
|
||||
+++ b/m4/ax_cc_maxopt.m4
|
||||
@@ -73,7 +73,7 @@ if test "$ac_test_CFLAGS" != "set"; then
|
||||
CFLAGS="-O3 -fomit-frame-pointer"
|
||||
|
||||
# tune for the host by default
|
||||
- AX_CHECK_COMPILER_FLAGS(-mtune=native, CFLAGS="$CFLAGS -mtune=native")
|
||||
+ # AX_CHECK_COMPILER_FLAGS(-mtune=native, CFLAGS="$CFLAGS -mtune=native")
|
||||
|
||||
# -malign-double for x86 systems
|
||||
AX_CHECK_COMPILER_FLAGS(-malign-double, CFLAGS="$CFLAGS -malign-double")
|
||||
--
|
||||
2.19.1
|
||||
|
||||
Reference in New Issue
Block a user