Ticket #51550: Portfile-mpich.diff

File Portfile-mpich.diff, 3.5 KB (added by dstrubbe (David Strubbe), 8 years ago)
  • Portfile

     
    246246    } else {
    247247        append long_description " (AND THE FORTRAN COMPILER SELECTED BY THE VARIANT, IF ANY)"
    248248
    249         set gcc_versions {4.3 4.4 4.5 4.6 4.7 4.8 4.9 5 6 7}
    250         set default_fortran_variant +${compilers.gcc_default}
    251         set g95_conflicts {}
     249        compilers.choose   fc f77 f90
     250        compilers.setup    -dragonegg default_fortran
    252251
    253         foreach ver ${gcc_versions} {
    254             set ver_no_dot [join [split ${ver} "."] ""]
     252        if {[fortran_variant_isset]} {
     253            configure.args-delete   --disable-f77 --disable-fc
     254            configure.args-append   --enable-f77  --enable-fc
     255            select.file             ${filespath}/${name}-${cname}-fortran
    255256
    256             set variant_line {variant gcc${ver_no_dot} description \
    257               "build with gfortran from gcc${ver_no_dot}" conflicts g95}
     257            # at least currently, the Fortran variants gccX and g95 match the name of the ports
     258            depends_lib-append      port:[fortran_variant_name]
    258259
    259             foreach over ${gcc_versions} {
    260                 if {${ver} == ${over}} {
    261                     continue
    262                 }
    263 
    264                 set over_no_dot [join [split ${over} "."] ""]
    265                 append variant_line " conflicts gcc${over_no_dot}"
     260            if {[variant_isset g95]} {
     261                configure.args-append lt_cv_ld_force_load=no
    266262            }
    267             append variant_line { {}}
    268 
    269             eval $variant_line
    270 
    271             append g95_conflicts " conflicts gcc${ver_no_dot}"
    272 
    273             if {[variant_isset gcc${ver_no_dot}]} {
    274                 if {${default_fortran_variant} != "+gcc${ver_no_dot}"} {
    275                     set default_fortran_variant ""
    276                 }
    277             }
    278263        }
    279 
    280         eval [concat {variant g95 description {build with g95}} \
    281               $g95_conflicts {{}}]
    282 
    283         if {[variant_isset g95]} {
    284             if {${default_fortran_variant} != "+g95"} {
    285                 set default_fortran_variant ""
    286             }
    287         }
    288 
    289         if {${default_fortran_variant} != ""} {
    290             default_variants "${default_fortran_variant}"
    291         }
    292 
    293         foreach ver ${gcc_versions} {
    294             set ver_no_dot [join [split ${ver} "."] ""]
    295 
    296             if {[variant_isset gcc${ver_no_dot}]} {
    297                 depends_lib-append path:lib/libgcc/libgcc_s.1.dylib:libgcc \
    298                                    port:gcc${ver_no_dot}
    299 
    300                 configure.args-delete   --disable-f77 --disable-fc
    301                 configure.args-append   --enable-f77 --enable-fc
    302                 select.file             ${filespath}/${name}-${cname}-fortran
    303 
    304                 configure.fc  ${prefix}/bin/gfortran-mp-${ver}
    305                 configure.f77 ${prefix}/bin/gfortran-mp-${ver}
    306                 configure.f90 ${prefix}/bin/gfortran-mp-${ver}
    307             }
    308         }
    309 
    310         if {[variant_isset g95]} {
    311             depends_lib-append path:lib/libgcc/libgcc_s.1.dylib:libgcc \
    312                                port:g95
    313 
    314             configure.args-delete   --disable-f77 --disable-fc
    315             configure.args-append \
    316                 --enable-f77 --enable-fc lt_cv_ld_force_load=no
    317             select.file             ${filespath}/${name}-${cname}-fortran
    318 
    319             configure.fc ${prefix}/bin/g95
    320             configure.f77 ${prefix}/bin/g95
    321             configure.f90 ${prefix}/bin/g95
    322         }
    323264    }
    324265
    325266    set devnotes ""