# $Id$ PortSystem 1.0 name fftw version 2.1.5 revision 6 categories math devel license GPL-2+ maintainers nomaintainer 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. platforms darwin homepage http://www.fftw.org/ master_sites ${homepage} \ ftp://ftp.fftw.org/pub/fftw/ \ ftp://ftp.kusastro.kyoto-u.ac.jp/pub/src/GNU/fftw/ checksums md5 8d16a84f3ca02a785ef9eb36249ba433 \ sha1 12020b58edc1b0490a83db4aa912fac5dfdfb26b \ rmd160 723308722d76c12710db6473979adf8d086b0909 configure.args --enable-type-prefix --enable-threads \ --enable-fortran --infodir=${prefix}/share/info \ --enable-shared # TODO: Fix to build with muniversal universal_variant no platform darwin { patchfiles-append patch-configure_darwin } post-destroot { xinstall -m 644 ${worksrcpath}/fortran/fftw_f77.i ${destroot}${prefix}/include } variant mpi description {Include FFTW MPI library} { depends_lib-append path:bin/mpicc-mp:mpich-default configure.args-append --enable-mpi post-extract { reinplace "s/mpicc/mpicc-mp mpicc/" configure } } set gcc_versions {4.3 4.4 4.5 4.6 4.7 4.8 4.9} set default_fortran_variant +gcc48 set g95_conflicts {} foreach ver ${gcc_versions} { set ver_no_dot [join [split ${ver} "."] ""] set variant_line {variant gcc${ver_no_dot} description "build with gfortran from gcc${ver_no_dot}" conflicts g95} foreach over ${gcc_versions} { if {${ver} == ${over}} { continue } set over_no_dot [join [split ${over} "."] ""] append variant_line " conflicts gcc${over_no_dot}" } append variant_line { {}} eval $variant_line append g95_conflicts " conflicts gcc${ver_no_dot}" if {[variant_isset gcc${ver_no_dot}]} { if {${default_fortran_variant} != "+gcc${ver_no_dot}"} { set default_fortran_variant "" } } } eval [concat {variant g95 description {build with g95}} $g95_conflicts {{}}] if {[variant_isset g95]} { if {${default_fortran_variant} != "+g95"} { set default_fortran_variant "" } } if {${default_fortran_variant} != ""} { default_variants "${default_fortran_variant}" } foreach ver ${gcc_versions} { set ver_no_dot [join [split ${ver} "."] ""] if {[variant_isset gcc${ver_no_dot}]} { depends_lib-append path:lib/libgcc/libgcc_s.1.dylib:libgcc depends_build-append port:gcc${ver_no_dot} configure.fc ${prefix}/bin/gfortran-mp-${ver} configure.f77 ${prefix}/bin/gfortran-mp-${ver} configure.f90 ${prefix}/bin/gfortran-mp-${ver} } } if {[variant_isset g95]} { depends_lib-append path:lib/libgcc/libgcc_s.1.dylib:libgcc depends_build-append port:g95 configure.fc ${prefix}/bin/g95 configure.f77 ${prefix}/bin/g95 configure.f90 ${prefix}/bin/g95 }