Changeset View
Changeset View
Standalone View
Standalone View
package.yml
| name : fftw | name : fftw | ||||
| version : 3.3.8 | version : 3.3.8 | ||||
| release : 9 | release : 10 | ||||
| source : | source : | ||||
| - http://fftw.org/fftw-3.3.8.tar.gz : 6113262f6e92c5bd474f2875fa1b01054c4ad5040f6b0da7c03c98821d9ae303 | - http://fftw.org/fftw-3.3.8.tar.gz : 6113262f6e92c5bd474f2875fa1b01054c4ad5040f6b0da7c03c98821d9ae303 | ||||
| license : GPL-2.0-or-later | license : GPL-2.0-or-later | ||||
| summary : FFTW Fourier transform library | summary : FFTW Fourier transform library | ||||
| description: | | description: | | ||||
| FFTW is a C subroutine library for computing the discrete Fourier transform (DFT) in one or more dimensions, of arbitrary input size, and of both real and complex data (as well as of even/odd data, i.e. the discrete cosine/sine transforms or DCT/DST). | FFTW is a C subroutine library for computing the discrete Fourier transform (DFT) in one or more dimensions, of arbitrary input size, and of both real and complex data (as well as of even/odd data, i.e. the discrete cosine/sine transforms or DCT/DST). | ||||
| component : programming | component : programming | ||||
| avx2 : yes | |||||
| builddeps : | builddeps : | ||||
| - gfortran | - gfortran | ||||
| - libpth-devel | - libpth-devel | ||||
| setup : | | setup : | | ||||
| CONFOPTS="$CONFOPTS --prefix=/usr --libdir=%libdir% --disable-static --enable-shared --enable-openmp --enable-sse2 --enable-threads" | export CONFOPTS="$CONFOPTS --prefix=/usr --libdir=%libdir% --disable-static --enable-shared --enable-openmp --enable-threads" | ||||
| mkdir .fftw-single | export avxflags="--libdir=%libdir%/haswell --enable-sse2 --enable-fma --enable-avx2" | ||||
| mv * .fftw-single/ && mv .fftw-single fftw-single | |||||
| mkdir .fftw && mv * .fftw/ | |||||
| if [[ ! -z "${AVX2BUILD}" ]]; then | |||||
| mv .fftw fftw-single-avx2 | |||||
| cp -R fftw-single-avx2 fftw-double-avx2 | |||||
| # Single precision AVX2 | |||||
| pushd fftw-single-avx2/ | |||||
| ./configure $CONFOPTS $avxflags --enable-float | |||||
| popd | |||||
| # Double precision AVX2 | |||||
| pushd fftw-double-avx2/ | |||||
| ./configure $CONFOPTS $avxflags | |||||
| popd | |||||
| else | |||||
| mv .fftw fftw-single | |||||
| cp -R fftw-single fftw-double | cp -R fftw-single fftw-double | ||||
| cp -R fftw-single fftw-long-double | cp -R fftw-single fftw-long-double | ||||
| # Single precision | # Single precision | ||||
| cd fftw-single/ | pushd fftw-single/ | ||||
| ./configure $CONFOPTS --enable-float | ./configure $CONFOPTS --enable-sse2 --enable-float | ||||
| popd | |||||
| # Double precision | # Double precision | ||||
| cd ../fftw-double/ | pushd fftw-double/ | ||||
| ./configure $CONFOPTS --enable-avx | ./configure $CONFOPTS --enable-sse2 --enable-avx | ||||
| popd | |||||
| # Long double | # Long double | ||||
| cd ../fftw-long-double/ | pushd fftw-long-double/ | ||||
| ./configure ${CONFOPTS/--enable-sse2/} --enable-long-double | ./configure $CONFOPTS --enable-long-double | ||||
| popd | |||||
| fi | |||||
| build : | | build : | | ||||
| cd $workdir/fftw-single/ | if [[ ! -z "${AVX2BUILD}" ]]; then | ||||
| %make | export CFLAGS="$CFLAGS -mtune=haswell -march=haswell" | ||||
| %make_install | export TO_BUILD="fftw-single-avx2 fftw-double-avx2" | ||||
| cd $workdir/fftw-double/ | else | ||||
| %make | export TO_BUILD="fftw-single fftw-double fftw-long-double" | ||||
| %make_install | fi | ||||
| cd $workdir/fftw-long-double/ | |||||
| for dir in $TO_BUILD; do | |||||
| pushd $dir | |||||
| %make | %make | ||||
| %make_install | %make_install | ||||
| popd | |||||
| done | |||||
Copyright © 2015-2021 Solus Project. The Solus logo is Copyright © 2016-2021 Solus Project. All Rights Reserved.