[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