#!/bin/sh # Slackware build script for fftw # Written by Kyle Guinn 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