[116367] trunk/dports/math/fftw-3/Portfile
sean at macports.org
sean at macports.org
Thu Jan 23 12:14:03 PST 2014
Revision: 116367
https://trac.macports.org/changeset/116367
Author: sean at macports.org
Date: 2014-01-23 12:14:03 -0800 (Thu, 23 Jan 2014)
Log Message:
-----------
fftw-3: use mpi portgroup
Modified Paths:
--------------
trunk/dports/math/fftw-3/Portfile
Modified: trunk/dports/math/fftw-3/Portfile
===================================================================
--- trunk/dports/math/fftw-3/Portfile 2014-01-23 20:13:59 UTC (rev 116366)
+++ trunk/dports/math/fftw-3/Portfile 2014-01-23 20:14:03 UTC (rev 116367)
@@ -1,3 +1,4 @@
+# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
# $Id$
PortSystem 1.0
@@ -3,8 +4,14 @@
PortGroup muniversal 1.0
PortGroup compiler_blacklist_versions 1.0
+PortGroup mpi 1.0
+# don't change configure.cc, etc. since we'll take care of that manually with
+# MPICC env var
+mpi.choose
+mpi.setup
+
name fftw-3
version 3.3.3
-revision 5
+revision 6
categories math
license GPL-2+
@@ -56,26 +63,22 @@
-fomit-frame-pointer \
-fstrict-aliasing
-if { [string match *clang* ${configure.compiler}] } {
- set is_clang 1
-} else {
- set is_clang 0
-}
-
-if { $is_clang == 1 } {
- array set merger_configure_args {
- ppc "--enable-fma"
- ppc64 "--enable-fma"
- i386 "--enable-sse2 --enable-avx"
- x86_64 "--enable-sse2 --enable-avx"
+pre-configure {
+ if { [avx_compiler_isset] == 1 } {
+ array set merger_configure_args {
+ ppc "--enable-fma"
+ ppc64 "--enable-fma"
+ i386 "--enable-sse2 --enable-avx"
+ x86_64 "--enable-sse2 --enable-avx"
+ }
+ } else {
+ array set merger_configure_args {
+ ppc "--enable-fma"
+ ppc64 "--enable-fma"
+ i386 "--enable-sse2"
+ x86_64 "--enable-sse2"
+ }
}
-} else {
- array set merger_configure_args {
- ppc "--enable-fma"
- ppc64 "--enable-fma"
- i386 "--enable-sse2"
- x86_64 "--enable-sse2"
- }
}
test.run yes
@@ -84,12 +87,14 @@
use_parallel_build yes
platform i386 {
- if {![variant_isset universal]} {
- configure.args-append --enable-sse2
- if { $is_clang == 1 } {
- configure.args-append --enable-avx
+ pre-configure {
+ if {![variant_isset universal]} {
+ configure.args-append --enable-sse2
+ if { [avx_compiler_isset] == 1 } {
+ configure.args-append --enable-avx
+ }
+ }
}
- }
}
platform powerpc {
@@ -101,38 +106,40 @@
subport fftw-3-single {
configure.args-append --enable-float
- if { $is_clang == 1 } {
- array set merger_configure_args {
- ppc "--enable-fma --enable-altivec"
- ppc64 "--enable-fma --enable-altivec"
- i386 "--enable-sse --enable-avx"
- x86_64 "--enable-sse --enable-avx"
- }
- } else {
- 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
- platform i386 {
+ platform powerpc {
if {![variant_isset universal]} {
- configure.args-delete --enable-sse2
- configure.args-append --enable-sse
- if { $is_clang == 1 } {
- configure.args-append --enable-avx
- }
+ configure.args-append --enable-altivec
}
}
- platform powerpc {
- if {![variant_isset universal]} {
- configure.args-append --enable-altivec
+ pre-configure {
+ if { [avx_compiler_isset] == 1 } {
+ array set merger_configure_args {
+ ppc "--enable-fma --enable-altivec"
+ ppc64 "--enable-fma --enable-altivec"
+ i386 "--enable-sse --enable-avx"
+ x86_64 "--enable-sse --enable-avx"
+ }
+ } else {
+ array set merger_configure_args {
+ ppc "--enable-fma --enable-altivec"
+ ppc64 "--enable-fma --enable-altivec"
+ i386 "--enable-sse"
+ x86_64 "--enable-sse"
+ }
}
+
+ platform i386 {
+ if {![variant_isset universal]} {
+ configure.args-delete --enable-sse2
+ configure.args-append --enable-sse
+ if { [avx_compiler_isset] == 1 } {
+ configure.args-append --enable-avx
+ }
+ }
+ }
}
post-destroot {
@@ -150,7 +157,7 @@
file delete ${destroot}${prefix}/share/info/fftw3.info-4
file delete ${destroot}${prefix}/share/info/fftw3.info-5
- if {[variant_isset mpich] || [variant_isset openmpi]} {
+ if {[mpi_variant_isset]} {
file delete ${destroot}${prefix}/include/fftw3-mpi.f03
file delete ${destroot}${prefix}/include/fftw3-mpi.h
file delete ${destroot}${prefix}/include/fftw3l-mpi.f03
@@ -160,8 +167,11 @@
subport fftw-3-long {
configure.args-append --enable-long-double
- if { $is_clang == 1 } {
- configure.args-delete --enable-avx
+
+ pre-configure {
+ if { [avx_compiler_isset] == 1 } {
+ configure.args-delete --enable-avx
+ }
}
array set merger_configure_args {
@@ -200,7 +210,7 @@
file delete ${destroot}${prefix}/share/info/fftw3.info-4
file delete ${destroot}${prefix}/share/info/fftw3.info-5
- if {[variant_isset mpich] || [variant_isset openmpi]} {
+ if {[mpi_variant_isset]} {
file delete ${destroot}${prefix}/include/fftw3-mpi.f03
file delete ${destroot}${prefix}/include/fftw3-mpi.h
file delete ${destroot}${prefix}/include/fftw3l-mpi.f03
@@ -216,79 +226,17 @@
lappend merger_configure_args(x86_64) "--disable-fortran"
}
-set gcc_versions {4.3 4.4 4.5 4.6 4.7 4.8 4.9}
-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 {[fortran_variant_isset]} {
+ configure.args-delete --disable-fortran
}
-eval [concat {variant g95 description {build with g95}} $g95_conflicts {{}}]
-
-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.args-delete --disable-fortran
-
- configure.fc ${prefix}/bin/gfortran-mp-${ver}
- configure.f77 ${prefix}/bin/gfortran-mp-${ver}
- configure.f90 ${prefix}/bin/gfortran-mp-${ver}
+pre-configure {
+ if {[mpi_variant_isset]} {
+ configure.env MPICC=${mpi.cc}
+ configure.args-append --enable-mpi
}
}
-if {[variant_isset g95]} {
- depends_lib-append path:lib/libgcc/libgcc_s.1.dylib:libgcc
- depends_build-append port:g95
-
- configure.args-delete --disable-fortran
-
- configure.fc ${prefix}/bin/g95
- configure.f77 ${prefix}/bin/g95
- configure.f90 ${prefix}/bin/g95
-
- if {${build_arch} eq "i386"} {
- lappend merger_configure_args(x86_64) "--disable-fortran"
- } elseif {${build_arch} eq "x86_64"} {
- lappend merger_configure_args(i386) "--disable-fortran"
- } else {
- lappend merger_configure_args(ppc64) "--disable-fortran"
- }
-}
-
-variant openmpi description {compile FFTW MPI library with OpenMPI} conflicts mpich {
- depends_lib-append port:openmpi
- configure.env MPICC=${prefix}/lib/openmpi/bin/mpicc
- configure.args-append --enable-mpi
-}
-
-variant mpich description {compile FFTW MPI library with MPICH} conflicts openmpi {
- depends_lib-append path:bin/mpicc-mp:mpich-default
- configure.env MPICC=${prefix}/bin/mpicc-mp
- configure.args-append --enable-mpi
-}
-
-variant mpich2 requires mpich description {Legacy compatibility variant} {}
-
if {${name} == ${subport}} {
livecheck.type regex
livecheck.url ${homepage}
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.macosforge.org/pipermail/macports-changes/attachments/20140123/d8f6e15c/attachment.html>
More information about the macports-changes
mailing list