summaryrefslogtreecommitdiff
path: root/libraries/fftw/fftw.SlackBuild
diff options
context:
space:
mode:
authorKyle Guinn <elyk03@gmail.com>2010-05-11 20:00:45 +0200
committerRobby Workman <rworkman@slackbuilds.org>2010-05-11 20:00:45 +0200
commitf4426ba513bebe56650fef9f313a044a7079eee8 (patch)
treefb84766f6bc4cfa34d8ac539ec16c1cbc3b2edcd /libraries/fftw/fftw.SlackBuild
parentdbfdfdedebae1f670370f814f7f2a351d7cf1072 (diff)
downloadslackbuilds-f4426ba513bebe56650fef9f313a044a7079eee8.tar.gz
libraries/fftw: Added to 12.0 repository
Diffstat (limited to 'libraries/fftw/fftw.SlackBuild')
-rw-r--r--libraries/fftw/fftw.SlackBuild128
1 files changed, 128 insertions, 0 deletions
diff --git a/libraries/fftw/fftw.SlackBuild b/libraries/fftw/fftw.SlackBuild
new file mode 100644
index 0000000000..7f207e2125
--- /dev/null
+++ b/libraries/fftw/fftw.SlackBuild
@@ -0,0 +1,128 @@
+#!/bin/sh
+
+# Slackware build script for fftw
+# Written by Kyle Guinn <elyk03@gmail.com>
+
+PRGNAM=fftw
+VERSION=3.1.2
+ARCH=${ARCH:-i486}
+BUILD=${BUILD:-2}
+TAG=${TAG:-_SBo}
+CWD=$(pwd)
+TMP=${TMP:-/tmp/SBo}
+PKG=$TMP/package-$PRGNAM
+OUTPUT=${OUTPUT:-/tmp}
+
+set -e
+
+rm -rf $PKG
+mkdir -p $TMP $PKG $OUTPUT
+cd $TMP
+rm -rf $PRGNAM-$VERSION
+tar -xzvf $CWD/$PRGNAM-$VERSION.tar.gz
+cd $PRGNAM-$VERSION
+chown -R root:root .
+chmod -R u+w,go+r-w,a-s .
+
+# According to doc/fftw3.pdf, the configure script should choose the best value
+# for $CFLAGS. We will assume that the script knows what it is doing.
+#
+# By default we will leave out these machine-dependent optimizations. If your
+# machine supports these, feel free to add them to the configure options.
+# Note that fftw may refuse to compile by doing so -- watch for error messages
+# about the precision not matching.
+# --enable-fma enable optimizations for machines with fused multiply-add
+# --enable-k7 enable AMD K7 optimizations, including 3dNow!
+# --enable-sse enable SSE optimizations (Pentium III+)
+# --enable-sse2 enable SSE2 optimizations (Pentium IV+)
+# --enable-altivec enable Altivec optimizations (PowerPC G4+)
+# --enable-portable-binary
+# disable compiler optimizations that would produce
+# unportable binaries
+#
+# You can also build fftw using a different precision. --enable-float may be
+# required depending on any SIMD code enabled with the above options.
+# --enable-single compile fftw in single precision
+# --enable-float synonym for --enable-single
+# --enable-long-double compile fftw in long-double precision
+#
+# Heinz Wiesinger points out that these extra precisions can be compiled
+# as well. --enable-float will append an 'f' to the library names, while
+# --enable-long-double will append an 'l'. We have to compile three separate
+# times instead of once to create all of the files.
+#
+# Note that the ./configure; make; make install commands below are not inside
+# a loop. You may be able to --enable one of the SIMD options for one
+# precision, but not another. (This should be documented somewhere...)
+
+# compile fftw3
+CFLAGS= \
+CXXFLAGS= \
+FFLAGS= \
+./configure \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --mandir=/usr/man \
+ --infodir=/usr/info \
+ --docdir=/usr/doc/fftw-$VERSION \
+ --enable-shared \
+ --disable-static \
+ --enable-threads
+make
+make install-strip DESTDIR=$PKG
+
+# compile fftw3f
+CFLAGS= \
+CXXFLAGS= \
+FFLAGS= \
+./configure \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --mandir=/usr/man \
+ --infodir=/usr/info \
+ --docdir=/usr/doc/fftw-$VERSION \
+ --enable-shared \
+ --disable-static \
+ --enable-threads \
+ --enable-float
+make
+make install-strip DESTDIR=$PKG
+
+# compile fftw3l
+CFLAGS= \
+CXXFLAGS= \
+FFLAGS= \
+./configure \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --mandir=/usr/man \
+ --infodir=/usr/info \
+ --docdir=/usr/doc/fftw-$VERSION \
+ --enable-shared \
+ --disable-static \
+ --enable-threads \
+ --enable-long-double
+make
+make install-strip DESTDIR=$PKG
+
+( cd $PKG/usr/man
+ find . -type f -exec gzip -9 {} \;
+ for i in $(find . -type l) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done
+)
+
+rm -f $PKG/usr/info/dir
+gzip -9 $PKG/usr/info/*.info*
+
+mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
+cp -a AUTHORS CONVENTIONS COPYING COPYRIGHT ChangeLog INSTALL \
+ NEWS README TODO doc/html $PKG/usr/doc/$PRGNAM-$VERSION
+cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.tgz