fftw: update to fix uname change

* clean up and enable cpu specific optimisations
* export FFTW_SHARED=1 in pkgmk.conf if you prefer
  not being so cpu specific and need shared librarys
This commit is contained in:
Danny Rawlins 2008-01-27 01:51:33 +11:00
parent 46a52e6b87
commit b7e7059293
2 changed files with 43 additions and 56 deletions

View File

@ -10,34 +10,16 @@ drwxr-xr-x root/root usr/include/
drwxr-xr-x root/root usr/lib/
-rw-r--r-- root/root usr/lib/libfftw3.a
-rwxr-xr-x root/root usr/lib/libfftw3.la
lrwxrwxrwx root/root usr/lib/libfftw3.so -> libfftw3.so.3.1.2
lrwxrwxrwx root/root usr/lib/libfftw3.so.3 -> libfftw3.so.3.1.2
-rwxr-xr-x root/root usr/lib/libfftw3.so.3.1.2
-rw-r--r-- root/root usr/lib/libfftw3_threads.a
-rwxr-xr-x root/root usr/lib/libfftw3_threads.la
lrwxrwxrwx root/root usr/lib/libfftw3_threads.so -> libfftw3_threads.so.3.1.2
lrwxrwxrwx root/root usr/lib/libfftw3_threads.so.3 -> libfftw3_threads.so.3.1.2
-rwxr-xr-x root/root usr/lib/libfftw3_threads.so.3.1.2
-rw-r--r-- root/root usr/lib/libfftw3f.a
-rwxr-xr-x root/root usr/lib/libfftw3f.la
lrwxrwxrwx root/root usr/lib/libfftw3f.so -> libfftw3f.so.3.1.2
lrwxrwxrwx root/root usr/lib/libfftw3f.so.3 -> libfftw3f.so.3.1.2
-rwxr-xr-x root/root usr/lib/libfftw3f.so.3.1.2
-rw-r--r-- root/root usr/lib/libfftw3f_threads.a
-rwxr-xr-x root/root usr/lib/libfftw3f_threads.la
lrwxrwxrwx root/root usr/lib/libfftw3f_threads.so -> libfftw3f_threads.so.3.1.2
lrwxrwxrwx root/root usr/lib/libfftw3f_threads.so.3 -> libfftw3f_threads.so.3.1.2
-rwxr-xr-x root/root usr/lib/libfftw3f_threads.so.3.1.2
-rw-r--r-- root/root usr/lib/libfftw3l.a
-rwxr-xr-x root/root usr/lib/libfftw3l.la
lrwxrwxrwx root/root usr/lib/libfftw3l.so -> libfftw3l.so.3.1.2
lrwxrwxrwx root/root usr/lib/libfftw3l.so.3 -> libfftw3l.so.3.1.2
-rwxr-xr-x root/root usr/lib/libfftw3l.so.3.1.2
-rw-r--r-- root/root usr/lib/libfftw3l_threads.a
-rwxr-xr-x root/root usr/lib/libfftw3l_threads.la
lrwxrwxrwx root/root usr/lib/libfftw3l_threads.so -> libfftw3l_threads.so.3.1.2
lrwxrwxrwx root/root usr/lib/libfftw3l_threads.so.3 -> libfftw3l_threads.so.3.1.2
-rwxr-xr-x root/root usr/lib/libfftw3l_threads.so.3.1.2
drwxr-xr-x root/root usr/lib/pkgconfig/
-rw-r--r-- root/root usr/lib/pkgconfig/fftw3.pc
-rw-r--r-- root/root usr/lib/pkgconfig/fftw3f.pc

View File

@ -3,65 +3,70 @@
# Maintainer: Danny Rawlins, romster at shortcircuit dot net dot au
# Packager: acrux, acrux at linuxmail dot org
# Depends on:
# Nice To Have: gcc-fortran
# Optional: gcc-fortran
name=fftw
version=3.1.2
release=2
release=3
source=(http://www.fftw.org/fftw-$version.tar.gz)
build() {
cd fftw-$version
export CFLAGS="-O3 -mtune=$(uname -p) -pipe -fomit-frame-pointer"
export CXXFLAGS="-O3 -mtune=$(uname -p) -pipe -fomit-frame-pointer"
export FFLAGS="-O3 -mtune=$(uname -p) -pipe -fomit-frame-pointer"
local Configure='
--prefix=/usr
--mandir=/usr/man
--enable-threads
--enable-type-prefix
--with-gnu-ld
--disable-nls
--enable-shared'
# use -mtune to be processor-specific optimisations without
# -march as this will give the best speed but wont be portable.
export CFLAGS="-O3 $(echo $CFLAGS |sed -e 's/-O[s0-3] //')"
export CXXFLAGS="-O3 $(echo $CXXFLAGS |sed -e 's/-O[s0-3] //')"
export FFLAGS="-O3 $(echo $FFLAGS |sed -e 's/-O[s0-3] //')"
## compiling long double precision library
local config='
--prefix=/usr
--mandir=/usr/man
--enable-threads
--enable-type-prefix
--with-gnu-ld
--disable-nls'
# processor-specific optimisations that only worked if
# not using shared librarys
if [ -z $FFTW_SHARED ]; then
if grep '^flags' /proc/cpuinfo |grep sse2 > /dev/null; then
config="$config --enable-sse2" # intel
elif grep '^flags' /proc/cpuinfo |grep sse > /dev/null; then
config="$config --enable-sse" # intel
elif grep '^flags' /proc/cpuinfo |grep 3dnow > /dev/null; then
config="$config --enable-k7" # althon
elif grep '^flags' /proc/cpuinfo |grep altivec > /dev/null; then
config="$config --enable-altivec" # ppc
fi
else
config="$config --enable-shared"
fi
# compiling long double precision library
./configure \
$Configure \
--enable-long-double \
# --enable-k7
# --enable-sse
# --enable-sse2
# --enable-altivec
$config \
--enable-long-double
make
make
make DESTDIR=$PKG install
make clean
## compiling single precision library
# compiling single precision library
./configure \
$Configure \
--enable-single \
# --enable-k7
# --enable-sse
# --enable-sse2
# --enable-altivec
$config \
--enable-single
make
make
make DESTDIR=$PKG install
make clean
## compiling double precision library
# compiling double precision library
./configure \
$Configure \
# --enable-k7
# --enable-sse
# --enable-sse2
# --enable-altivec
$config
make
make
make DESTDIR=$PKG install
rm -r $PKG/usr/share
rm -r $PKG/usr/share
}