[110082] trunk/dports/science/openmpi/Portfile

jeremyhu at macports.org jeremyhu at macports.org
Sun Aug 25 16:27:43 PDT 2013


Revision: 110082
          https://trac.macports.org/changeset/110082
Author:   jeremyhu at macports.org
Date:     2013-08-25 16:27:42 -0700 (Sun, 25 Aug 2013)
Log Message:
-----------
openmpi: Use fortran recipe, fortran API always provided for dependents

Modified Paths:
--------------
    trunk/dports/science/openmpi/Portfile

Modified: trunk/dports/science/openmpi/Portfile
===================================================================
--- trunk/dports/science/openmpi/Portfile	2013-08-25 22:38:29 UTC (rev 110081)
+++ trunk/dports/science/openmpi/Portfile	2013-08-25 23:27:42 UTC (rev 110082)
@@ -40,7 +40,7 @@
 
 configure.dir	${workpath}/build
 configure.cmd	${worksrcpath}/configure
-configure.args	--disable-mpi-f77 --disable-mpi-f90 \
+configure.args	--enable-mpi-f77 --enable-mpi-f90 \
 		--sysconfdir=${prefix}/etc/${name} \
 		--includedir=${prefix}/include/${name} \
 		--bindir=${prefix}/lib/${name}/bin \
@@ -49,7 +49,7 @@
 build.dir	${configure.dir}
 
 destroot.dir	${build.dir}
-set wrappers	{mpicc mpicxx mpic++}
+set wrappers	{mpicc mpicxx mpic++ mpif77 mpif90}
 post-destroot {
 	foreach bin {mpirun mpiexec} {
 		system -W ${destroot}${prefix}/bin \
@@ -75,78 +75,65 @@
 	configure.args-append --enable-debug --enable-memchecker --with-valgrind=${prefix}
 }
 
-variant gcc43 description {build openmpif77 and openmpif90 using gcc43} conflicts gcc44 gcc45 gcc46 gcc47 gcc48 g95 {
-	configure.args-delete --disable-mpi-f77 --disable-mpi-f90
-	configure.args-append --enable-mpi-f77 --enable-mpi-f90
-	configure.f77	      ${prefix}/bin/gfortran-mp-4.3
-	configure.fc	      ${prefix}/bin/gfortran-mp-4.3
-	depends_lib-append    port:libgcc
-	depends_build-append  port:gcc43
-	lappend wrappers mpif77 mpif90
-}
+set gcc_versions {4.3 4.4 4.5 4.6 4.7 4.8 4.9}
+set default_fortran_variant +gcc48
 
-variant gcc44 description {build openmpif77 and openmpif90 using gcc44} conflicts gcc43 gcc45 gcc46 gcc47 gcc48 g95 {
-	configure.args-delete --disable-mpi-f77 --disable-mpi-f90
-	configure.args-append --enable-mpi-f77 --enable-mpi-f90
-	configure.f77	      ${prefix}/bin/gfortran-mp-4.4
-	configure.fc	      ${prefix}/bin/gfortran-mp-4.4
-	depends_lib-append    port:libgcc
-	depends_build-append  port:gcc44
-	lappend wrappers mpif77 mpif90
-}
+foreach ver ${gcc_versions} {
+    set ver_no_dot [join [split ${ver} "."] ""]
 
-variant gcc45 description {build openmpif77 and openmpif90 using gcc45} conflicts gcc43 gcc44 gcc46 gcc47 gcc48 g95 {
-	configure.args-delete --disable-mpi-f77 --disable-mpi-f90
-	configure.args-append --enable-mpi-f77 --enable-mpi-f90
-	configure.f77	      ${prefix}/bin/gfortran-mp-4.5
-	configure.fc	      ${prefix}/bin/gfortran-mp-4.5
-	depends_lib-append    port:libgcc
-	depends_build-append  port:gcc45
-	lappend wrappers mpif77 mpif90
-}
+    variant gcc${ver_no_dot} description {build with gfortran from gcc${ver_no_dot}} {}
 
-variant gcc46 description {build openmpif77 and openmpif90 using gcc46} conflicts gcc43 gcc44 gcc45 gcc47 gcc48 g95 {
-	configure.args-delete --disable-mpi-f77 --disable-mpi-f90
-	configure.args-append --enable-mpi-f77 --enable-mpi-f90
-	configure.f77	      ${prefix}/bin/gfortran-mp-4.6
-	configure.fc	      ${prefix}/bin/gfortran-mp-4.6
-	depends_lib-append    port:libgcc
-	depends_build-append  port:gcc46
-	lappend wrappers mpif77 mpif90
+    variant gcc${ver_no_dot} conflicts g95 {}
+    variant g95 conflicts gcc${ver_no_dot} {}
+
+    foreach over ${gcc_versions} {
+        if {${ver} == ${over}} {
+            continue
+        }
+
+        set over_no_dot [join [split ${over} "."] ""]
+        variant gcc${ver_no_dot} conflicts gcc${over_no_dot} {}
+    }
+
+    if {[variant_isset gcc${ver_no_dot}]} {
+        if {${default_fortran_variant} != "+gcc${ver_no_dot}"} {
+            set default_fortran_variant ""
+        }
+    }
 }
 
-variant gcc47 description {build openmpif77 and openmpif90 using gcc47} conflicts gcc43 gcc44 gcc45 gcc46 gcc48 g95 {
-	configure.args-delete --disable-mpi-f77 --disable-mpi-f90
-	configure.args-append --enable-mpi-f77 --enable-mpi-f90
-	configure.f77	      ${prefix}/bin/gfortran-mp-4.7
-	configure.fc	      ${prefix}/bin/gfortran-mp-4.7
-	depends_lib-append    port:libgcc
-	depends_build-append  port:gcc47
-	lappend wrappers mpif77 mpif90
+variant g95 description {build with g95} {}
+
+if {[variant_isset g95]} {
+    if {${default_fortran_variant} != "+g95"} {
+        set default_fortran_variant ""
+    }
 }
 
-variant gcc48 description {build openmpif77 and openmpif90 using gcc48} conflicts gcc43 gcc44 gcc45 gcc46 gcc47 g95 {
-	configure.args-delete --disable-mpi-f77 --disable-mpi-f90
-	configure.args-append --enable-mpi-f77 --enable-mpi-f90
-	configure.f77	      ${prefix}/bin/gfortran-mp-4.8
-	configure.fc	      ${prefix}/bin/gfortran-mp-4.8
-	depends_lib-append    port:libgcc
-	depends_build-append  port:gcc48
-	lappend wrappers mpif77 mpif90
+if {${default_fortran_variant} != ""} {
+    default_variants "${default_fortran_variant}"
 }
 
-variant g95 description {build openmpif77 and openmpif90 using g95} conflicts gcc43 gcc44 gcc45 gcc46 gcc47 gcc48 {
-	configure.args-delete --disable-mpi-f77 --disable-mpi-f90
-	configure.args-append --enable-mpi-f77 --enable-mpi-f90
-	configure.f77	      ${prefix}/bin/g95
-	configure.fc	      ${prefix}/bin/g95
-	depends_lib-append    port:g95
-	lappend wrappers mpif77 mpif90
+foreach ver ${gcc_versions} {
+    set ver_no_dot [join [split ${ver} "."] ""]
+
+    if {[variant_isset gcc${ver_no_dot}]} {
+        depends_lib-append port: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}
+    }
 }
 
-# dependents like netcdf need some form of fortran
-if {![variant_isset gcc43] && ![variant_isset gcc44] && ![variant_isset gcc45] && ![variant_isset gcc46] && ![variant_isset gcc48] && ![variant_isset g95]} {
-    default_variants +gcc47
+if {[variant_isset g95]} {
+    depends_lib-append port:libgcc
+    depends_build-append port:g95
+
+    configure.fc ${prefix}/bin/g95
+    configure.f77 ${prefix}/bin/g95
+    configure.f90 ${prefix}/bin/g95
 }
 
 livecheck.type	regex
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/macports-changes/attachments/20130825/1e7a2464/attachment.html>


More information about the macports-changes mailing list