# $Id$ PortSystem 1.0 PortGroup muniversal 1.0 name fftw-3-single version 3.2.2 categories math platforms darwin maintainers ram openmaintainer homepage http://www.fftw.org/ distname fftw-${version} dist_subdir fftw-3 master_sites \ ${homepage} \ ftp://ftp.fftw.org/pub/fftw/ \ ftp://ftp.kusastro.kyoto-u.ac.jp/pub/src/GNU/fftw/ description \ Fast C routines to compute the Discrete Fourier Transform long_description \ FFTW is a C subroutine library for computing the \ Discrete Fourier Transform (DFT) in one or more \ dimensions, of both real and complex data, and of \ arbitrary input size. We believe that FFTW, which is \ free software, should become the FFT library of choice \ for most applications. Our benchmarks, performed on a \ variety of platforms, show that FFTW's performance is \ typically superior to that of other publicly available \ FFT software. Moreover, FFTW's performance is portable: \ the program will perform well on most architectures \ without modification. \ This port is of fftw version 3.x. It has many \ improvements relative to 2.x, but is not backwardly \ compatible. checksums \ md5 b616e5c91218cc778b5aa735fefb61ae \ sha1 d43b799eedfb9408f62f9f056f5e8a645618467b \ rmd160 27af9b97072fa3a41b91b9430d093f671a1cd359 configure.args \ --enable-threads \ --enable-float \ --disable-fortran \ --enable-shared configure.cflags-append \ -fno-common \ -O3 \ -fomit-frame-pointer \ -fstrict-aliasing array set merger_configure_args { ppc "--enable-fma --enable-altivec" ppc64 "--enable-fma --enable-altivec" i386 "--enable-sse" x86_64 "--enable-sse" } depends_lib \ port:fftw-3 test.run yes test.target check use_parallel_build yes platform i386 { if {![variant_isset universal]} { configure.args-append --enable-sse } } platform powerpc { if {![variant_isset universal]} { configure.args-append --enable-fma --enable-altivec } } variant gcc42 description {create Fortran wrappers using gcc42} conflicts gcc43 gcc44 g95 { depends_lib-append port:gcc42 configure.f77 gfortran-mp-4.2 configure.args-delete --disable-fortran if { ${os.arch} == "i386" } { lappend merger_configure_args(ppc) "--disable-fortran" lappend merger_configure_args(ppc64) "--disable-fortran" } else { lappend merger_configure_args(i386) "--disable-fortran" lappend merger_configure_args(x86_64) "--disable-fortran" } } variant gcc43 description {create Fortran wrappers using gcc43} conflicts gcc42 gcc44 g95 { depends_lib-append port:gcc43 configure.f77 gfortran-mp-4.3 configure.args-delete --disable-fortran if { ${os.arch} == "i386" } { lappend merger_configure_args(ppc) "--disable-fortran" lappend merger_configure_args(ppc64) "--disable-fortran" } else { lappend merger_configure_args(i386) "--disable-fortran" lappend merger_configure_args(x86_64) "--disable-fortran" } } variant gcc44 description {create Fortran wrappers using gcc44} conflicts gcc42 gcc43 g95 { depends_lib-append port:gcc44 configure.f77 gfortran-mp-4.4 configure.args-delete --disable-fortran if { ${os.arch} == "i386" } { lappend merger_configure_args(ppc) "--disable-fortran" lappend merger_configure_args(ppc64) "--disable-fortran" } else { lappend merger_configure_args(i386) "--disable-fortran" lappend merger_configure_args(x86_64) "--disable-fortran" } } variant g95 description {create Fortran wrappers using f95} conflicts gcc42 gcc43 { depends_lib-append port:g95 configure.f77 g95 configure.args-delete --disable-fortran if { ${os.arch} == "i386" } { lappend merger_configure_args(ppc) "--disable-fortran" lappend merger_configure_args(ppc64) "--disable-fortran" lappend merger_configure_args(x86_64) "--disable-fortran" } else { lappend merger_configure_args(i386) "--disable-fortran" lappend merger_configure_args(ppc64) "--disable-fortran" lappend merger_configure_args(x86_64) "--disable-fortran" } } post-destroot { file delete ${destroot}${prefix}/include/fftw3.f file delete ${destroot}${prefix}/include/fftw3.h file delete ${destroot}${prefix}/bin/fftw-wisdom-to-conf file delete ${destroot}${prefix}/share/man/man1/fftw-wisdom-to-conf.1 file delete ${destroot}${prefix}/share/info/fftw3.info file delete ${destroot}${prefix}/share/info/fftw3.info-1 file delete ${destroot}${prefix}/share/info/fftw3.info-2 file delete ${destroot}${prefix}/share/info/fftw3.info-3 file delete ${destroot}${prefix}/share/info/fftw3.info-4 file delete ${destroot}${prefix}/share/info/fftw3.info-5 } livecheck.check regex livecheck.url ${homepage} livecheck.regex {FFTW (\d+(?:\.\d+)*) is the latest}