Ticket #28346: Portfile.diff

File Portfile.diff, 3.5 KB (added by Veence (Vincent), 14 years ago)

Portfile -> Portfile (universal)

  • Portfile

    old new  
    5454# the +atlas variant) ...
    5555set gcc_version ""
    5656if {[variant_isset atlas]} {
    57     universal_variant no
    5857
    5958    # see if the user has set -gcc4X to disable using MacPorts'
    6059    # compiler; if not, either use what the user set (as +gcc4X) or
    6160    # default to gcc44.
    6261
    6362    variant gcc43 conflicts gcc44 gcc45 \
    64     description {Use the gcc43 compiler (enables fortran linking)} {}
     63    description {Use the gcc43 compiler (enables fortran linking)} {
     64        configure.compiler      macports-gcc-4.3
     65    }
    6566
    6667    variant gcc44 conflicts gcc43 gcc45 \
    67     description {Use the gcc44 compiler (enables fortran linking)} {}
     68    description {Use the gcc44 compiler (enables fortran linking)} {
     69        configure.compiler      macports-gcc-4.4
     70    }
    6871
    6972    variant gcc45 conflicts gcc43 gcc44 \
    70     description {Use the gcc45 compiler (enables fortran linking)} {}
     73    description {Use the gcc45 compiler (enables fortran linking)} {
     74        configure.compiler      macports-gcc-4.5
     75    }
    7176
    7277    if {![variant_isset gcc43] && ![variant_isset gcc45]} {
    7378        default_variants +gcc44
     
    115120    reinplace "s|@@MPORTS_PYTHON@@|${python.bin}|" \
    116121        ${worksrcpath}/numpy/f2py/setup.py
    117122
    118     # disallow searching for any fortran executable except what is
    119     # specified in this Portfile; NOTE: this change only works when
    120     # setting the GCC version; if this flag is not set (meaning no
    121     # +gcc4X variant is set), then F2PY may or not work.
    122     if {${gcc_version} != ""} {
    123         # set which fortran to use in the f2py Python scripts
    124         reinplace "/possible_executables/s|\\\[.*\\\]|\['gfortran-mp-${gcc_version}'\]|g" ${worksrcpath}/numpy/distutils/fcompiler/gnu.py
    125     }
     123        if {[variant_isset universal] && [variant_isset atlas]} {
     124                # Prepare wrappers
     125                file copy -force ${filespath}/wrapper-template \
     126                        ${worksrcpath}/c-wrapper
     127                file copy -force ${filespath}/wrapper-template \
     128                        ${worksrcpath}/f-wrapper
     129                file copy -force ${filespath}/wrapper-template \
     130                        ${worksrcpath}/cxx-wrapper
     131
     132                if {[variant_isset gcc43]} {
     133                        set CC  "${prefix}/bin/gcc-mp-4.3"
     134                        set CXX "${prefix}/bin/g++-mp-4.3"
     135                        set F90 "${prefix}/bin/gfortran-mp-4.3"
     136                } elseif {[variant_isset gcc44]} {
     137                        set CC  "${prefix}/bin/gcc-mp-4.4"
     138                        set CXX "${prefix}/bin/g++-mp-4.4"
     139                        set F90 "${prefix}/bin/gfortran-mp-4.4"
     140                } elseif {[variant_isset gcc45]} {
     141                        set CC  "${prefix}/bin/gcc-mp-4.5"
     142                        set CXX "${prefix}/bin/g++-mp-4.5"
     143                        set F90 "${prefix}/bin/gfortran-mp-4.5"
     144                }
     145       
     146                reinplace       "s|@@@|${CC}|" ${worksrcpath}/c-wrapper
     147                reinplace       "s|---|\\\\.c|" ${worksrcpath}/c-wrapper
     148                reinplace       "s|&&&|${prefix}|" ${worksrcpath}/c-wrapper
     149               
     150                reinplace       "s|@@@|${CXX}|" ${worksrcpath}/cxx-wrapper
     151                reinplace       "s#---#(\\\\.C|\\\\.cpp|\\\\.cc)#" \
     152                        ${worksrcpath}/cxx-wrapper
     153                reinplace       "s|&&&|${prefix}|" ${worksrcpath}/cxx-wrapper
     154               
     155                reinplace       "s|@@@|${F90}|" ${worksrcpath}/f-wrapper
     156                reinplace       "s|---|\\\\.f|" ${worksrcpath}/f-wrapper
     157                reinplace       "s|&&&|${prefix}|" ${worksrcpath}/f-wrapper
     158
     159                build.env-append        CC="${worksrcpath}/c-wrapper" \
     160                                                        CXX="${worksrcpath}/cxx-wrapper" \
     161                                                        F77="${worksrcpath}/f-wrapper" \
     162                                                        F90="${worksrcpath}/f-wrapper"
     163
     164                destroot.env-append     CC="${worksrcpath}/c-wrapper" \
     165                                                        CXX="${worksrcpath}/cxx-wrapper" \
     166                                                        F77="${worksrcpath}/f-wrapper" \
     167                                                        F90="${worksrcpath}/f-wrapper"
     168        }
    126169}
    127170
    128171livecheck.type  regex