forked from ports/contrib
fftw: fixed problems with dependent software
This commit is contained in:
parent
6e890bf6ce
commit
92856485f4
@ -1,5 +1,5 @@
|
|||||||
untrusted comment: verify with /etc/ports/contrib.pub
|
untrusted comment: verify with /etc/ports/contrib.pub
|
||||||
RWSagIOpLGJF3yO8N5sh2TxXTD6FILYUAi74zFY/E99SSw17iAB+hTGliGUGbU66aHSKNQxmkp1zoOhl/lLsKuHbpWR6QdxF+wM=
|
RWSagIOpLGJF39g9D/3Pjj7hScxSpdZs2ZLXIygxc0BXZ0Kk9pjm5JBmn2hDU5ipb+KAbLyMVsnfh1Vlb7EysKqM3rtdtsr+TgA=
|
||||||
SHA256 (Pkgfile) = 32f58ea8eb328fefa861cd1873023a1025fb08afeddcf9e21f438bab755badba
|
SHA256 (Pkgfile) = ca26a6ee27fea00bceab04f62445f234b2b0f64acf429cdb904013b219be593d
|
||||||
SHA256 (.footprint) = 21c52df24478e05ef8e774a9e9e0d1d06147380c21dbe698077596d4ae6fe681
|
SHA256 (.footprint) = 21c52df24478e05ef8e774a9e9e0d1d06147380c21dbe698077596d4ae6fe681
|
||||||
SHA256 (fftw-3.3.10.tar.gz) = 56c932549852cddcfafdab3820b0200c7742675be92179e59e6215b340e26467
|
SHA256 (fftw-3.3.10.tar.gz) = 56c932549852cddcfafdab3820b0200c7742675be92179e59e6215b340e26467
|
||||||
|
86
fftw/Pkgfile
86
fftw/Pkgfile
@ -1,71 +1,55 @@
|
|||||||
# Description: C subroutine library for computing discrete Fourier transform.
|
# Description: C subroutine library for computing discrete Fourier transform.
|
||||||
# URL: https://www.fftw.org/
|
# URL: https://www.fftw.org/
|
||||||
# Maintainer: Danny Rawlins, crux at romster dot me
|
# Maintainer: Tim Biermann, tbier at posteo dot de
|
||||||
# Depends on: gcc-fortran openmpi
|
# Depends on: openmpi gcc-fortran
|
||||||
|
|
||||||
name=fftw
|
name=fftw
|
||||||
version=3.3.10
|
version=3.3.10
|
||||||
release=2
|
release=2
|
||||||
source=(https://www.fftw.org/$name-$version.tar.gz)
|
source=(http://www.fftw.org/$name-$version.tar.gz)
|
||||||
|
|
||||||
build() {
|
build() {
|
||||||
cd $name-$version
|
cp -av $name-$version ${name}-${version}-double
|
||||||
|
cp -av $name-$version ${name}-${version}-long-double
|
||||||
|
cp -av $name-$version ${name}-${version}-quad
|
||||||
|
|
||||||
|
export F77='gfortran'
|
||||||
|
CFLAGS+=" -O3 -fomit-frame-pointer -malign-double -fstrict-aliasing -ffast-math"
|
||||||
|
# default configure call
|
||||||
|
_default_configure="./configure --prefix=/usr --enable-shared --enable-threads --enable-mpi --enable-openmp"
|
||||||
|
|
||||||
# libtool fails to link with ccache in the path
|
# libtool fails to link with ccache in the path
|
||||||
[ -e '/usr/bin/ccache' ] && PATH=$(echo ${PATH} | awk -v RS=: -v ORS=: '/ccache/ {next} {print}' | sed 's/:*$//')
|
[ -e '/usr/bin/ccache' ] && PATH=$(echo ${PATH} | awk -v RS=: -v ORS=: '/ccache/ {next} {print}' | sed 's/:*$//')
|
||||||
|
# configure single precision
|
||||||
|
cd $SRC/$name-$version
|
||||||
|
${_default_configure} --enable-sse --enable-avx --enable-single
|
||||||
|
sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool
|
||||||
|
|
||||||
local config="
|
# configure double precision
|
||||||
F77=gfortran
|
cd $SRC/$name-$version-double
|
||||||
--prefix=/usr
|
${_default_configure} --enable-sse2 --enable-avx
|
||||||
--enable-threads
|
sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool
|
||||||
--enable-shared
|
|
||||||
--enable-openmp"
|
|
||||||
|
|
||||||
# use upstream default CFLAGS while keeping our -march/-mtune
|
# configure long-double precission
|
||||||
CFLAGS+=" -O3 -fomit-frame-pointer -malign-double -fstrict-aliasing -fno-schedule-insns -ffast-math -fPIC -mavx2"
|
cd $SRC/$name-$version-long-double
|
||||||
|
${_default_configure} --enable-long-double
|
||||||
|
sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool
|
||||||
|
|
||||||
# compiling single precision library
|
# configure quad precision
|
||||||
./configure \
|
cd $SRC/$name-$version-quad
|
||||||
$config \
|
${_default_configure} --disable-mpi --enable-quad-precision
|
||||||
--enable-single \
|
sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool
|
||||||
--enable-avx \
|
|
||||||
--enable-sse \
|
|
||||||
--enable-mpi
|
|
||||||
|
|
||||||
make
|
make -C $SRC/$name-$version
|
||||||
make DESTDIR=$PKG install
|
make -C $SRC/$name-$version-double
|
||||||
make clean
|
make -C $SRC/$name-$version-long-double
|
||||||
|
make -C $SRC/$name-$version-quad
|
||||||
|
|
||||||
# compiling double precision library
|
make DESTDIR=$PKG install -C $SRC/$name-$version
|
||||||
./configure \
|
make DESTDIR=$PKG install -C $SRC/$name-$version-double
|
||||||
$config \
|
make DESTDIR=$PKG install -C $SRC/$name-$version-long-double
|
||||||
--enable-avx \
|
make DESTDIR=$PKG install -C $SRC/$name-$version-quad
|
||||||
--enable-mpi \
|
|
||||||
--enable-sse2
|
|
||||||
|
|
||||||
make
|
|
||||||
make DESTDIR=$PKG install
|
|
||||||
make clean
|
|
||||||
|
|
||||||
# compiling long double precision library
|
|
||||||
./configure \
|
|
||||||
$config \
|
|
||||||
--enable-long-double \
|
|
||||||
--enable-mpi
|
|
||||||
|
|
||||||
make
|
|
||||||
make DESTDIR=$PKG install
|
|
||||||
make clean
|
|
||||||
|
|
||||||
# compiling quad precision library
|
|
||||||
./configure \
|
|
||||||
$config \
|
|
||||||
--enable-quad-precision
|
|
||||||
|
|
||||||
make
|
|
||||||
make DESTDIR=$PKG install
|
|
||||||
|
|
||||||
# clean up
|
|
||||||
rm -r $PKG/usr/share/info
|
rm -r $PKG/usr/share/info
|
||||||
rm $PKG/usr/lib/*.la
|
rm $PKG/usr/lib/*.la
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user