[112961] trunk/dports/science/netcdf-fortran/Portfile
takeshi at macports.org
takeshi at macports.org
Tue Nov 5 04:40:41 PST 2013
Revision: 112961
https://trac.macports.org/changeset/112961
Author: takeshi at macports.org
Date: 2013-11-05 04:40:41 -0800 (Tue, 05 Nov 2013)
Log Message:
-----------
netcdf-fortran: Fortran variants a la PortfileRecipes#fortran
Modified Paths:
--------------
trunk/dports/science/netcdf-fortran/Portfile
Modified: trunk/dports/science/netcdf-fortran/Portfile
===================================================================
--- trunk/dports/science/netcdf-fortran/Portfile 2013-11-05 12:35:16 UTC (rev 112960)
+++ trunk/dports/science/netcdf-fortran/Portfile 2013-11-05 12:40:41 UTC (rev 112961)
@@ -83,49 +83,74 @@
destroot.destdir prefix=${destroot}${prefix} \
MANDIR=\\\${prefix}/share/man
-if {![variant_isset gcc43] && ![variant_isset gcc44] && ![variant_isset gcc45] && ![variant_isset gcc46] && ![variant_isset gcc48] && ![variant_isset g95]} {
- default_variants +gcc47
-}
+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 {}
-variant gcc43 conflicts g95 gcc44 gcc45 gcc46 gcc47 gcc48 description {Enable Fortran support with gfortran 4.3} {
- configure.cppflags-append -DpgiFortran
- configure.compiler macports-gcc-4.3
-}
+foreach ver ${gcc_versions} {
+ set ver_no_dot [join [split ${ver} "."] ""]
-variant gcc44 conflicts g95 gcc43 gcc45 gcc46 gcc47 gcc48 description {Enable Fortran support with gfortran 4.4} {
- configure.cppflags-append -DpgiFortran
- configure.compiler macports-gcc-4.4
-}
+ set variant_line {variant gcc${ver_no_dot} description "build with gfortran from gcc${ver_no_dot}" conflicts g95}
-variant gcc45 conflicts g95 gcc43 gcc44 gcc46 gcc47 gcc48 description {Enable Fortran support with gfortran 4.5} {
- configure.cppflags-append -DpgiFortran
- configure.compiler macports-gcc-4.5
+ 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 ""
+ }
+ }
}
-variant gcc46 conflicts g95 gcc43 gcc44 gcc45 gcc47 gcc48 description {Enable Fortran support with gfortran 4.6} {
- configure.cppflags-append -DpgiFortran
- configure.compiler macports-gcc-4.6
+eval [concat {variant g95 description {build with g95}} $g95_conflicts {{}}]
+
+if {[variant_isset g95]} {
+ if {${default_fortran_variant} != "+g95"} {
+ set default_fortran_variant ""
+ }
}
-variant gcc47 conflicts g95 gcc43 gcc44 gcc45 gcc46 gcc48 description {Enable Fortran support with gfortran 4.7} {
- configure.cppflags-append -DpgiFortran
- configure.compiler macports-gcc-4.7
+if {${default_fortran_variant} != ""} {
+ default_variants-append "${default_fortran_variant}"
}
-variant gcc48 conflicts g95 gcc43 gcc44 gcc45 gcc46 gcc47 description {Enable Fortran support with gfortran 4.8} {
- configure.cppflags-append -DpgiFortran
- configure.compiler macports-gcc-4.8
+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}
+ configure.cppflags-append -DpgiFortran
+ }
}
-variant g95 conflicts gcc43 gcc44 gcc45 gcc46 gcc47 gcc48 description {Enable Fortran support with g95} {
- depends_lib-append port:g95
+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
#-lfg95 required or the tests fail
- configure.cppflags-append -DpgiFortran
- configure.fflags-append -fno-second-underscore
+ configure.cppflags-append -DpgiFortran
+ configure.fflags-append -fno-second-underscore
configure.fcflags-append -fno-second-underscore
configure.ldflags-append -lf95
- configure.fc ${prefix}/bin/g95
- configure.f77 ${configure.fc}
}
variant openmpi conflicts mpich description {compile with openmpi} {
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/macports-changes/attachments/20131105/d1d3e7f9/attachment-0001.html>
More information about the macports-changes
mailing list