Changeset 110805


Ignore:
Timestamp:
Sep 6, 2013, 5:40:48 PM (6 years ago)
Author:
jeremyhu@…
Message:

gcc*: Fix runtime linking and install info files (#36629)

Location:
trunk/dports/lang
Files:
13 edited

Legend:

Unmodified
Added
Removed
  • trunk/dports/lang/dragonegg-3.0/Portfile

    r110503 r110805  
    1010
    1111subport                 ${name}-gcc-4.5 {
    12     revision            2
     12    revision            3
    1313    set gcc_version     4.5
    1414    set gcc_version_no_dot 45
    1515}
    1616subport                 ${name}-gcc-4.6 {
    17     revision            2
     17    revision            3
    1818    set gcc_version     4.6
    1919    set gcc_version_no_dot 46
  • trunk/dports/lang/dragonegg-3.1/Portfile

    r110503 r110805  
    1010
    1111subport                 ${name}-gcc-4.5 {
    12     revision            2
     12    revision            3
    1313    set gcc_version     4.5
    1414    set gcc_version_no_dot 45
    1515}
    1616subport                 ${name}-gcc-4.6 {
    17     revision            2
     17    revision            3
    1818    set gcc_version     4.6
    1919    set gcc_version_no_dot 46
    2020}
    2121subport                 ${name}-gcc-4.7 {
    22     revision            2
     22    revision            3
    2323    set gcc_version     4.7
    2424    set gcc_version_no_dot 47
  • trunk/dports/lang/dragonegg-3.2/Portfile

    r110503 r110805  
    1010
    1111subport                 ${name}-gcc-4.5 {
    12     revision            2
     12    revision            3
    1313    set gcc_version     4.5
    1414    set gcc_version_no_dot 45
    1515}
    1616subport                 ${name}-gcc-4.6 {
    17     revision            2
     17    revision            3
    1818    set gcc_version     4.6
    1919    set gcc_version_no_dot 46
    2020}
    2121subport                 ${name}-gcc-4.7 {
    22     revision            2
     22    revision            3
    2323    set gcc_version     4.7
    2424    set gcc_version_no_dot 47
  • trunk/dports/lang/dragonegg-3.3/Portfile

    r110503 r110805  
    1010
    1111subport                 ${name}-gcc-4.5 {
    12     revision            3
     12    revision            4
    1313    set gcc_version     4.5
    1414    set gcc_version_no_dot 45
    1515}
    1616subport                 ${name}-gcc-4.6 {
    17     revision            3
     17    revision            4
    1818    set gcc_version     4.6
    1919    set gcc_version_no_dot 46
    2020}
    2121subport                 ${name}-gcc-4.7 {
    22     revision            3
     22    revision            4
    2323    set gcc_version     4.7
    2424    set gcc_version_no_dot 47
    2525}
    2626subport                 ${name}-gcc-4.8 {
    27     revision            3
     27    revision            4
    2828    set gcc_version     4.8
    2929    set gcc_version_no_dot 48
  • trunk/dports/lang/dragonegg-3.4/Portfile

    r110722 r110805  
    1010
    1111subport                 ${name}-gcc-4.5 {
    12     revision            0
     12    revision            1
    1313    set gcc_version     4.5
    1414    set gcc_version_no_dot 45
    1515}
    1616subport                 ${name}-gcc-4.6 {
    17     revision            0
     17    revision            1
    1818    set gcc_version     4.6
    1919    set gcc_version_no_dot 46
    2020}
    2121subport                 ${name}-gcc-4.7 {
    22     revision            0
     22    revision            1
    2323    set gcc_version     4.7
    2424    set gcc_version_no_dot 47
    2525}
    2626subport                 ${name}-gcc-4.8 {
    27     revision            0
     27    revision            1
    2828    set gcc_version     4.8
    2929    set gcc_version_no_dot 48
    3030}
    3131subport                 ${name}-gcc-4.9 {
    32     revision            0
     32    revision            1
    3333    set gcc_version     4.9
    3434    set gcc_version_no_dot 49
  • trunk/dports/lang/gcc42/Portfile

    r110136 r110805  
    66name                    gcc42
    77version                 4.2.4
    8 revision                8
     8revision                9
    99platforms               darwin
    1010categories              lang
     
    117117
    118118post-destroot {
    119         file delete -force ${destroot}${prefix}/share/man/man7 \
    120                 ${destroot}${prefix}/share/info
     119    file delete ${destroot}${prefix}/share/info/dir
    121120
    122     foreach dylib {libgcc_s.1.dylib libgfortran.3.dylib libstdc++.6.dylib libobjc-gnu.2.dylib libgomp.1.dylib libssp.0.dylib} {
     121    foreach file [glob ${destroot}${prefix}/share/{info,man/man7}/*] {
     122        set extension [file extension ${file}]
     123        set newfile [regsub "${extension}$" ${file} "-mp-${major}${extension}"]
     124       
     125        file rename ${file} ${newfile}
     126    }
     127
     128    foreach dylib {libgcc_ext.10.4.dylib libgcc_ext.10.5.dylib libgcc_s.1.dylib libgfortran.3.dylib libstdc++.6.dylib libobjc-gnu.2.dylib libgomp.1.dylib libssp.0.dylib} {
    123129        # Different OS versions (eg: Leopard) or architectures (eg: PPC) don't produce all the dylibs
    124130        # https://trac.macports.org/ticket/40098
    125131        # https://trac.macports.org/ticket/40100
    126         if {[file exists ${destroot}${prefix}/lib/libgcc/${dylib}]} {
     132        if {[file exists ${prefix}/lib/libgcc/${dylib}]} {
    127133            delete ${destroot}${prefix}/lib/${name}/${dylib}
    128134            ln -s ${prefix}/lib/libgcc/${dylib} ${destroot}${prefix}/lib/${name}/${dylib}
  • trunk/dports/lang/gcc43/Portfile

    r110521 r110805  
    77name                gcc43
    88version             4.3.6
    9 revision            8
     9revision            9
    1010platforms           darwin
    1111categories          lang
     
    138138
    139139post-destroot {
    140     file delete -force ${destroot}${prefix}/share/man/man7 \
    141         ${destroot}${prefix}/share/info
    142140    # install/copy ffitarget.h only if we have it
    143141    if {![catch {set ffitarget.h [glob ${destroot}${prefix}/lib/${name}/gcc/*/${version}/include/ffitarget.h]} result]} {
     
    145143    }
    146144
    147     foreach dylib {libgcc_s.1.dylib libgfortran.3.dylib libstdc++.6.dylib libobjc-gnu.2.dylib libgomp.1.dylib libssp.0.dylib} {
     145    file delete ${destroot}${prefix}/share/info/dir
     146
     147    foreach file [glob ${destroot}${prefix}/share/{info,man/man7}/*] {
     148        set extension [file extension ${file}]
     149        set newfile [regsub "${extension}$" ${file} "-mp-${major}${extension}"]
     150       
     151        file rename ${file} ${newfile}
     152    }
     153
     154    foreach dylib {libgcc_ext.10.4.dylib libgcc_ext.10.5.dylib libgcc_s.1.dylib libgfortran.3.dylib libstdc++.6.dylib libobjc-gnu.2.dylib libgomp.1.dylib libssp.0.dylib} {
    148155        # Different OS versions (eg: Leopard) or architectures (eg: PPC) don't produce all the dylibs
    149156        # https://trac.macports.org/ticket/40098
    150157        # https://trac.macports.org/ticket/40100
    151         if {[file exists ${destroot}${prefix}/lib/libgcc/${dylib}]} {
     158        if {[file exists ${prefix}/lib/libgcc/${dylib}]} {
    152159            delete ${destroot}${prefix}/lib/${name}/${dylib}
    153160            ln -s ${prefix}/lib/libgcc/${dylib} ${destroot}${prefix}/lib/${name}/${dylib}
  • trunk/dports/lang/gcc44/Portfile

    r110521 r110805  
    88epoch               1
    99version             4.4.7
    10 revision            7
     10revision            8
    1111platforms           darwin
    1212categories          lang
     
    139139
    140140post-destroot {
    141     file delete -force ${destroot}${prefix}/share/man/man7 \
    142         ${destroot}${prefix}/share/info
    143141    # install/copy ffitarget.h only if we have it
    144142    if {![catch {set ffitarget.h [glob ${destroot}${prefix}/lib/${name}/gcc/*/${version}/include/ffitarget.h]} result]} {
     
    150148                ${destroot}${prefix}/share/python/classfile-44.py
    151149
    152     foreach dylib {libgcc_s.1.dylib libgfortran.3.dylib libstdc++.6.dylib libobjc-gnu.2.dylib libgomp.1.dylib libssp.0.dylib} {
     150    file delete ${destroot}${prefix}/share/info/dir
     151
     152    foreach file [glob ${destroot}${prefix}/share/{info,man/man7}/*] {
     153        set extension [file extension ${file}]
     154        set newfile [regsub "${extension}$" ${file} "-mp-${major}${extension}"]
     155       
     156        file rename ${file} ${newfile}
     157    }
     158
     159    foreach dylib {libgcc_ext.10.4.dylib libgcc_ext.10.5.dylib libgcc_s.1.dylib libgfortran.3.dylib libstdc++.6.dylib libobjc-gnu.2.dylib libgomp.1.dylib libssp.0.dylib} {
    153160        # Different OS versions (eg: Leopard) or architectures (eg: PPC) don't produce all the dylibs
    154161        # https://trac.macports.org/ticket/40098
    155162        # https://trac.macports.org/ticket/40100
    156         if {[file exists ${destroot}${prefix}/lib/libgcc/${dylib}]} {
     163        if {[file exists ${prefix}/lib/libgcc/${dylib}]} {
    157164            delete ${destroot}${prefix}/lib/${name}/${dylib}
    158165            ln -s ${prefix}/lib/libgcc/${dylib} ${destroot}${prefix}/lib/${name}/${dylib}
  • trunk/dports/lang/gcc45/Portfile

    r110521 r110805  
    1111epoch               1
    1212version             4.5.4
    13 revision            8
     13revision            9
    1414platforms           darwin
    1515categories          lang
     
    215215} else {
    216216post-destroot {
    217     file delete -force ${destroot}${prefix}/share/man/man7 \
    218         ${destroot}${prefix}/share/info
    219217    # install/copy ffitarget.h only if we have it
    220218    if {![catch {set ffitarget.h [glob ${destroot}${prefix}/lib/${name}/gcc/*/${version}/include/ffitarget.h]} result]} {
     
    231229    }
    232230
    233     foreach dylib {libgcc_s.1.dylib libgfortran.3.dylib libstdc++.6.dylib libobjc-gnu.2.dylib libgomp.1.dylib libssp.0.dylib} {
     231    file delete ${destroot}${prefix}/share/info/dir
     232
     233    foreach file [glob ${destroot}${prefix}/share/{info,man/man7}/*] {
     234        set extension [file extension ${file}]
     235        set newfile [regsub "${extension}$" ${file} "-mp-${major}${extension}"]
     236       
     237        file rename ${file} ${newfile}
     238    }
     239
     240    foreach dylib {libgcc_ext.10.4.dylib libgcc_ext.10.5.dylib libgcc_s.1.dylib libgfortran.3.dylib libstdc++.6.dylib libobjc-gnu.2.dylib libgomp.1.dylib libssp.0.dylib} {
    234241        # Different OS versions (eg: Leopard) or architectures (eg: PPC) don't produce all the dylibs
    235242        # https://trac.macports.org/ticket/40098
    236243        # https://trac.macports.org/ticket/40100
    237         if {[file exists ${destroot}${prefix}/lib/libgcc/${dylib}]} {
     244        if {[file exists ${prefix}/lib/libgcc/${dylib}]} {
    238245            delete ${destroot}${prefix}/lib/${name}/${dylib}
    239246            ln -s ${prefix}/lib/libgcc/${dylib} ${destroot}${prefix}/lib/${name}/${dylib}
  • trunk/dports/lang/gcc46/Portfile

    r110521 r110805  
    1010# Whenever this port is bumped for version/revision, please revbump dragonegg-3.[012] and dragonegg-3.[34]-gcc-4.6
    1111version             4.6.4
    12 revision            2
     12revision            3
    1313platforms           darwin
    1414categories          lang
     
    135135
    136136post-destroot {
    137     file delete -force ${destroot}${prefix}/share/man/man7 \
    138         ${destroot}${prefix}/share/info
    139137    # install/copy ffitarget.h only if we have it
    140138    if {![catch {set ffitarget.h [glob ${destroot}${prefix}/lib/${name}/gcc/*/${version}/include/ffitarget.h]} result]} {
     
    142140    }
    143141
    144     foreach dylib {libgcc_s.1.dylib libgfortran.3.dylib libquadmath.0.dylib libstdc++.6.dylib libgomp.1.dylib libssp.0.dylib} {
     142    file delete ${destroot}${prefix}/share/info/dir
     143
     144    foreach file [glob ${destroot}${prefix}/share/{info,man/man7}/*] {
     145        set extension [file extension ${file}]
     146        set newfile [regsub "${extension}$" ${file} "-mp-${major}${extension}"]
     147       
     148        file rename ${file} ${newfile}
     149    }
     150
     151    foreach dylib {libgcc_ext.10.4.dylib libgcc_ext.10.5.dylib libgcc_s.1.dylib libgfortran.3.dylib libquadmath.0.dylib libstdc++.6.dylib libgomp.1.dylib libssp.0.dylib} {
    145152        # Different OS versions (eg: Leopard) or architectures (eg: PPC) don't produce all the dylibs
    146153        # https://trac.macports.org/ticket/40098
    147154        # https://trac.macports.org/ticket/40100
    148         if {[file exists ${destroot}${prefix}/lib/libgcc/${dylib}]} {
     155        if {[file exists ${prefix}/lib/libgcc/${dylib}]} {
    149156            delete ${destroot}${prefix}/lib/${name}/${dylib}
    150157            ln -s ${prefix}/lib/libgcc/${dylib} ${destroot}${prefix}/lib/${name}/${dylib}
  • trunk/dports/lang/gcc47/Portfile

    r110521 r110805  
    1111# Whenever this port is bumped for version/revision, please revbump dragonegg-3.[34]-gcc-4.7
    1212version             4.7.3
    13 revision            2
     13revision            3
    1414platforms           darwin
    1515categories          lang
     
    134134
    135135post-destroot {
    136     file delete -force ${destroot}${prefix}/share/man/man7 \
    137         ${destroot}${prefix}/share/info
    138136    # install/copy ffitarget.h only if we have it
    139137    if {![catch {set ffitarget.h [glob ${destroot}${prefix}/lib/${name}/gcc/*/${version}/include/ffitarget.h]} result]} {
     
    141139    }
    142140
    143     foreach dylib {libgcc_s.1.dylib libgfortran.3.dylib libquadmath.0.dylib libstdc++.6.dylib libobjc-gnu.4.dylib libgomp.1.dylib libitm.1.dylib libssp.0.dylib} {
     141    file delete ${destroot}${prefix}/share/info/dir
     142
     143    foreach file [glob ${destroot}${prefix}/share/{info,man/man7}/*] {
     144        set extension [file extension ${file}]
     145        set newfile [regsub "${extension}$" ${file} "-mp-${major}${extension}"]
     146       
     147        file rename ${file} ${newfile}
     148    }
     149
     150    foreach dylib {libgcc_ext.10.4.dylib libgcc_ext.10.5.dylib libgcc_s.1.dylib libgfortran.3.dylib libquadmath.0.dylib libstdc++.6.dylib libobjc-gnu.4.dylib libgomp.1.dylib libitm.1.dylib libssp.0.dylib} {
    144151        # Different OS versions (eg: Leopard) or architectures (eg: PPC) don't produce all the dylibs
    145152        # https://trac.macports.org/ticket/40098
    146153        # https://trac.macports.org/ticket/40100
    147         if {[file exists ${destroot}${prefix}/lib/libgcc/${dylib}]} {
     154        if {[file exists ${prefix}/lib/libgcc/${dylib}]} {
    148155            delete ${destroot}${prefix}/lib/${name}/${dylib}
    149156            ln -s ${prefix}/lib/libgcc/${dylib} ${destroot}${prefix}/lib/${name}/${dylib}
  • trunk/dports/lang/gcc48/Portfile

    r110521 r110805  
    1111epoch               2
    1212version             4.8.1
    13 revision            2
     13revision            3
    1414platforms           darwin
    1515categories          lang
     
    144144        file mkdir ${destroot}${prefix}/lib/libgcc.merged
    145145
    146         set dylibs {libgcc_s.1.dylib libgfortran.3.dylib libquadmath.0.dylib libstdc++.6.dylib libobjc-gnu.4.dylib libgomp.1.dylib libitm.1.dylib libssp.0.dylib libasan.0.dylib libatomic.1.dylib}
     146        # Note that we really don't want to include libgcc_ext.10.[45].dylib here, but install_name_tool
     147        # doesn't know how to change the id of stubs, and it's easier than recreating them for each
     148        # gcc port.
     149        set dylibs {libgcc_ext.10.4.dylib libgcc_ext.10.5.dylib libgcc_s.1.dylib libgfortran.3.dylib libquadmath.0.dylib libstdc++.6.dylib libobjc-gnu.4.dylib libgomp.1.dylib libitm.1.dylib libssp.0.dylib libasan.0.dylib libatomic.1.dylib}
    147150
    148151        foreach dylib ${dylibs} {
     
    170173            # strip debug symbols to supress debugger warnings:
    171174            # http://trac.macports.org/attachment/ticket/34831
    172             system "strip -x ${destroot}${prefix}/lib/libgcc.merged/${dylib}"
     175            if {! [string match *libgcc_ext* ${dylib}]} {
     176                system "strip -x ${destroot}${prefix}/lib/libgcc.merged/${dylib}"
     177            }
    173178        }
    174179
     
    186191} else {
    187192post-destroot {
    188     file delete -force ${destroot}${prefix}/share/man/man7
    189     file delete -force ${destroot}${prefix}/share/info
    190 
    191     foreach dylib {libgcc_s.1.dylib libgfortran.3.dylib libquadmath.0.dylib libstdc++.6.dylib libobjc-gnu.4.dylib libgomp.1.dylib libitm.1.dylib libssp.0.dylib libasan.0.dylib libatomic.1.dylib} {
     193    file delete ${destroot}${prefix}/share/info/dir
     194
     195    foreach file [glob ${destroot}${prefix}/share/{info,man/man7}/*] {
     196        set extension [file extension ${file}]
     197        set newfile [regsub "${extension}$" ${file} "-mp-${major}${extension}"]
     198
     199        file rename ${file} ${newfile}
     200    }
     201
     202    foreach dylib {libgcc_ext.10.4.dylib libgcc_ext.10.5.dylib libgcc_s.1.dylib libgfortran.3.dylib libquadmath.0.dylib libstdc++.6.dylib libobjc-gnu.4.dylib libgomp.1.dylib libitm.1.dylib libssp.0.dylib libasan.0.dylib libatomic.1.dylib} {
    192203        # Different OS versions (eg: Leopard) or architectures (eg: PPC) don't produce all the dylibs
    193204        # https://trac.macports.org/ticket/40098
    194205        # https://trac.macports.org/ticket/40100
    195         if {[file exists ${destroot}${prefix}/lib/libgcc/${dylib}]} {
     206        if {[file exists ${prefix}/lib/libgcc/${dylib}]} {
    196207            delete ${destroot}${prefix}/lib/${name}/${dylib}
    197208            ln -s ${prefix}/lib/libgcc/${dylib} ${destroot}${prefix}/lib/${name}/${dylib}
  • trunk/dports/lang/gcc49/Portfile

    r110704 r110805  
    1010# Whenever this port is bumped for version/revision, please revbump dragonegg-3.4-gcc-4.9
    1111version             4.9-20130901
    12 revision            0
     12revision            1
    1313platforms           darwin
    1414categories          lang
     
    145145        file mkdir ${destroot}${prefix}/lib/libgcc.merged
    146146
    147         set dylibs {libgcc_s.1.dylib libgfortran.3.dylib libquadmath.0.dylib libstdc++.6.dylib libobjc-gnu.4.dylib libgomp.1.dylib libitm.1.dylib libssp.0.dylib libasan.0.dylib libatomic.1.dylib}
     147        # Note that we really don't want to include libgcc_ext.10.[45].dylib here, but install_name_tool
     148        # doesn't know how to change the id of stubs, and it's easier than recreating them for each
     149        # gcc port.
     150        set dylibs {libgcc_ext.10.4.dylib libgcc_ext.10.5.dylib libgcc_s.1.dylib libgfortran.3.dylib libquadmath.0.dylib libstdc++.6.dylib libobjc-gnu.4.dylib libgomp.1.dylib libitm.1.dylib libssp.0.dylib libasan.0.dylib libatomic.1.dylib}
    148151
    149152        foreach dylib ${dylibs} {
     
    171174            # strip debug symbols to supress debugger warnings:
    172175            # http://trac.macports.org/attachment/ticket/34831
    173             system "strip -x ${destroot}${prefix}/lib/libgcc.merged/${dylib}"
     176            if {! [string match *libgcc_ext* ${dylib}]} {
     177                system "strip -x ${destroot}${prefix}/lib/libgcc.merged/${dylib}"
     178            }
    174179        }
    175180
     
    187192} else {
    188193post-destroot {
    189     file delete -force ${destroot}${prefix}/share/man/man7
    190     file delete -force ${destroot}${prefix}/share/info
    191 
    192     foreach dylib {libgcc_s.1.dylib libgfortran.3.dylib libquadmath.0.dylib libstdc++.6.dylib libobjc-gnu.4.dylib libgomp.1.dylib libitm.1.dylib libssp.0.dylib libasan.0.dylib libatomic.1.dylib} {
     194    file delete ${destroot}${prefix}/share/info/dir
     195
     196    foreach file [glob ${destroot}${prefix}/share/{info,man/man7}/*] {
     197        set extension [file extension ${file}]
     198        set newfile [regsub "${extension}$" ${file} "-mp-${major}${extension}"]
     199       
     200        file rename ${file} ${newfile}
     201    }
     202
     203    foreach dylib {libgcc_ext.10.4.dylib libgcc_ext.10.5.dylib libgcc_s.1.dylib libgfortran.3.dylib libquadmath.0.dylib libstdc++.6.dylib libobjc-gnu.4.dylib libgomp.1.dylib libitm.1.dylib libssp.0.dylib libasan.0.dylib libatomic.1.dylib} {
    193204        # Different OS versions (eg: Leopard) or architectures (eg: PPC) don't produce all the dylibs
    194205        # https://trac.macports.org/ticket/40098
    195206        # https://trac.macports.org/ticket/40100
    196         if {[file exists ${destroot}${prefix}/lib/libgcc/${dylib}]} {
     207        if {[file exists ${prefix}/lib/libgcc/${dylib}]} {
    197208            delete ${destroot}${prefix}/lib/${name}/${dylib}
    198209            ln -s ${prefix}/lib/libgcc/${dylib} ${destroot}${prefix}/lib/${name}/${dylib}
Note: See TracChangeset for help on using the changeset viewer.