diff options
Diffstat (limited to 'source/l/fftw/fftw.SlackBuild')
-rwxr-xr-x | source/l/fftw/fftw.SlackBuild | 152 |
1 files changed, 152 insertions, 0 deletions
diff --git a/source/l/fftw/fftw.SlackBuild b/source/l/fftw/fftw.SlackBuild new file mode 100755 index 00000000..ffed6f95 --- /dev/null +++ b/source/l/fftw/fftw.SlackBuild @@ -0,0 +1,152 @@ +#!/bin/sh + +# Slackware build script for fftw +# Written by Kyle Guinn <elyk03@gmail.com> + +PRGNAM=fftw +VERSION=${VERSION:-3.2.2} +BUILD=${BUILD:-1} + +# Automatically determine the architecture we're building on: +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) export ARCH=i486 ;; + arm*) export ARCH=arm ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) export ARCH=$( uname -m ) ;; + esac +fi + +CWD=$(pwd) +TMP=${TMP:-/tmp} +PKG=$TMP/package-$PRGNAM-$VERSION +OUTPUT=${OUTPUT:-/tmp} + +DOCS="AUTHORS CONVENTIONS COPY* INSTALL NEWS README* TODO doc/html" + +if [ "$ARCH" = "i486" ]; then + SLKCFLAGS="-O2 -march=i486 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "i686" ]; then + SLKCFLAGS="-O2 -march=i686 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" + LIBDIRSUFFIX="64" +else + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +fi + +if [ "${PORTABLE:-yes}" = "no" ]; then + # According to doc/fftw3.pdf the configure script should choose the best + # value for $CFLAGS. These variables must be unset so that the configure + # script will decide. + + # If you are interested in further optimizations such as alternative + # multithreading and support for other processors, check this page for + # details: + # http://www.fftw.org/fftw3_doc/Installation-on-Unix.html + unset CFLAGS + unset CXXFLAGS + unset FFLAGS + PKGARCH="custom" + do_portable="" +else + PKGARCH=$ARCH + do_portable="--enable-portable-binary" +fi + +if [ "${SSE:-no}" = "no" ]; then + do_sse="" +else + do_sse="--enable-sse" +fi + +if [ "${SSE2:-no}" = "no" ]; then + do_sse2="" +else + do_sse2="--enable-sse2" +fi + +rm -rf $PKG +mkdir -p $TMP $PKG $OUTPUT +cd $TMP +rm -rf $PRGNAM-$VERSION +tar xvf $CWD/$PRGNAM-$VERSION.tar.?z* || exit 1 +cd $PRGNAM-$VERSION +chown -R root:root . +chmod -R u+w,go+r-w,a-st . + +# compile libfftw3 +./configure \ + --prefix=/usr \ + --libdir=/usr/lib${LIBDIRSUFFIX} \ + --sysconfdir=/etc \ + --localstatedir=/var \ + --mandir=/usr/man \ + --infodir=/usr/info \ + --docdir=/usr/doc/fftw-$VERSION \ + --enable-shared \ + --disable-static \ + --enable-threads \ + $do_sse2 \ + $do_portable +make -j4 || exit 1 +make install-strip DESTDIR=$PKG || exit 1 + +# compile libfftw3f +./configure \ + --prefix=/usr \ + --libdir=/usr/lib${LIBDIRSUFFIX} \ + --sysconfdir=/etc \ + --localstatedir=/var \ + --mandir=/usr/man \ + --infodir=/usr/info \ + --docdir=/usr/doc/fftw-$VERSION \ + --enable-shared \ + --disable-static \ + --enable-threads \ + --enable-float \ + $do_sse \ + $do_portable +make -j4 || exit 1 +make install-strip DESTDIR=$PKG || exit 1 + +# compile libfftw3l +./configure \ + --prefix=/usr \ + --libdir=/usr/lib${LIBDIRSUFFIX} \ + --sysconfdir=/etc \ + --localstatedir=/var \ + --mandir=/usr/man \ + --infodir=/usr/info \ + --docdir=/usr/doc/fftw-$VERSION \ + --enable-shared \ + --disable-static \ + --enable-threads \ + --enable-long-double \ + $do_portable +make -j4 || exit 1 +make install-strip DESTDIR=$PKG || exit 1 + +( 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/* + +mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION +cp -a $DOCS $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.txz |