Changeset 97687


Ignore:
Timestamp:
Sep 12, 2012, 4:41:13 AM (7 years ago)
Author:
jeremyhu@…
Message:

gcc4?: Add a new libstdcxx (and libstdcxx-devel) port to provide the GNU C++ runtime. Note that it is not compatible with the host C++ runtime, but at least now we're not in a situation where each gcc port has its own conflicting runtime. See #35770 for more discussion.

Location:
trunk/dports/lang
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • trunk/dports/lang/gcc42/Portfile

    r97664 r97687  
    66name                    gcc42
    77version                 4.2.4
    8 revision                5
     8revision                6
    99platforms               darwin
    1010categories              lang
     
    4242
    4343depends_lib             port:gmp port:mpfr port:libiconv
    44 depends_run             port:gcc_select port:ld64 port:cctools
     44depends_run             port:gcc_select port:ld64 port:cctools path:lib/libstdc++.dylib:libstdcxx
    4545
    4646depends_skip_archcheck-append gcc_select ld64 cctools
     
    120120    eval delete [glob ${destroot}${prefix}/lib/${name}/libstdc++*]
    121121
     122    ln -s ${prefix}/lib/libstdc++.6.dylib ${destroot}${prefix}/lib/${name}/libstdc++.dylib
     123
    122124    # This symlink is provided as a transition aide and will be removed
    123125    # with a future revision of this port.
    124     ln -s /usr/lib/libstdc++.6.dylib ${destroot}${prefix}/lib/${name}/libstdc++.6.dylib
     126    ln -s ${prefix}/lib/libstdc++.6.dylib ${destroot}${prefix}/lib/${name}/libstdc++.6.dylib
    125127}
    126128
  • trunk/dports/lang/gcc43/Portfile

    r97664 r97687  
    66name                gcc43
    77version             4.3.6
    8 revision            5
     8revision            6
    99platforms           darwin
    1010categories          lang
     
    5555
    5656depends_lib         port:gmp port:mpfr port:libiconv
    57 depends_run         port:gcc_select port:ld64 port:cctools
     57depends_run         port:gcc_select port:ld64 port:cctools path:lib/libstdc++.dylib:libstdcxx
    5858
    5959depends_skip_archcheck-append gcc_select ld64 cctools
     
    140140    eval delete [glob ${destroot}${prefix}/lib/${name}/libstdc++*]
    141141
     142    ln -s ${prefix}/lib/libstdc++.6.dylib ${destroot}${prefix}/lib/${name}/libstdc++.dylib
     143
    142144    # This symlink is provided as a transition aide and will be removed
    143145    # with a future revision of this port.
    144     ln -s /usr/lib/libstdc++.6.dylib ${destroot}${prefix}/lib/${name}/libstdc++.6.dylib
     146    ln -s ${prefix}/lib/libstdc++.6.dylib ${destroot}${prefix}/lib/${name}/libstdc++.6.dylib
    145147}
    146148
  • trunk/dports/lang/gcc44/Portfile

    r97664 r97687  
    77epoch               1
    88version             4.4.7
    9 revision            3
     9revision            4
    1010platforms           darwin
    1111categories          lang
     
    5656
    5757depends_lib         port:gmp port:mpfr port:libiconv
    58 depends_run         port:gcc_select port:ld64 port:cctools
     58depends_run         port:gcc_select port:ld64 port:cctools path:lib/libstdc++.dylib:libstdcxx
    5959
    6060depends_skip_archcheck-append gcc_select ld64 cctools
     
    145145    eval delete [glob ${destroot}${prefix}/lib/${name}/libstdc++*]
    146146
     147    ln -s ${prefix}/lib/libstdc++.6.dylib ${destroot}${prefix}/lib/${name}/libstdc++.dylib
     148
    147149    # This symlink is provided as a transition aide and will be removed
    148150    # with a future revision of this port.
    149     ln -s /usr/lib/libstdc++.6.dylib ${destroot}${prefix}/lib/${name}/libstdc++.6.dylib
     151    ln -s ${prefix}/lib/libstdc++.6.dylib ${destroot}${prefix}/lib/${name}/libstdc++.6.dylib
    150152}
    151153
  • trunk/dports/lang/gcc45/Portfile

    r97664 r97687  
    77epoch               1
    88version             4.5.4
    9 revision            3
     9revision            4
    1010platforms           darwin
    1111categories          lang
     
    6161
    6262depends_lib         port:gmp port:mpfr port:libiconv port:libmpc port:ppl
    63 depends_run         port:gcc_select port:ld64 port:cctools
     63depends_run         port:gcc_select port:ld64 port:cctools path:lib/libstdc++.dylib:libstdcxx
    6464
    6565depends_skip_archcheck-append gcc_select ld64 cctools
     
    150150    eval delete [glob ${destroot}${prefix}/lib/${name}/libstdc++*]
    151151
     152    ln -s ${prefix}/lib/libstdc++.6.dylib ${destroot}${prefix}/lib/${name}/libstdc++.dylib
     153
    152154    # This symlink is provided as a transition aide and will be removed
    153155    # with a future revision of this port.
    154     ln -s /usr/lib/libstdc++.6.dylib ${destroot}${prefix}/lib/${name}/libstdc++.6.dylib
     156    ln -s ${prefix}/lib/libstdc++.6.dylib ${destroot}${prefix}/lib/${name}/libstdc++.6.dylib
    155157}
    156158
  • trunk/dports/lang/gcc46/Portfile

    r97664 r97687  
    77epoch               1
    88version             4.6.3
    9 revision            6
     9revision            7
    1010platforms           darwin
    1111categories          lang
     
    4747
    4848depends_lib         port:gmp port:mpfr port:libiconv port:libmpc port:ppl port:cloog
    49 depends_run         port:gcc_select port:ld64 port:cctools
     49depends_run         port:gcc_select port:ld64 port:cctools path:lib/libstdc++.dylib:libstdcxx
    5050
    5151depends_skip_archcheck-append gcc_select ld64 cctools
     
    129129    eval delete [glob ${destroot}${prefix}/lib/${name}/libstdc++*]
    130130
     131    ln -s ${prefix}/lib/libstdc++.6.dylib ${destroot}${prefix}/lib/${name}/libstdc++.dylib
     132
    131133    # This symlink is provided as a transition aide and will be removed
    132134    # with a future revision of this port.
    133     ln -s /usr/lib/libstdc++.6.dylib ${destroot}${prefix}/lib/${name}/libstdc++.6.dylib
     135    ln -s ${prefix}/lib/libstdc++.6.dylib ${destroot}${prefix}/lib/${name}/libstdc++.6.dylib
    134136}
    135137
  • trunk/dports/lang/gcc47/Portfile

    r97664 r97687  
    55
    66name                gcc47
     7subport             libstdcxx {}
    78epoch               1
    89version             4.7.1
    9 revision            4
     10revision            5
    1011platforms           darwin
    1112categories          lang
     
    4546
    4647depends_lib         port:gmp port:mpfr port:libiconv port:libmpc port:ppl port:cloog
    47 depends_run         port:gcc_select port:ld64 port:cctools
     48depends_run         port:gcc_select port:ld64 port:cctools path:lib/libstdc++.dylib:libstdcxx
    4849
    4950depends_skip_archcheck-append gcc_select ld64 cctools
     
    118119destroot.target     install install-info-host
    119120
     121# TODO: Optimize this.  We don't need to actually bootstrap gcc to build libstdc++
     122if {${subport} == "libstdcxx"} {
     123    depends_run-delete port:${subport}
     124
     125    configure.args-delete --libdir=${prefix}/lib/${name}
     126
     127    configure.args-delete --enable-languages=c,c++,objc,obj-c++,lto,fortran,java
     128    configure.args-append --enable-languages=c++
     129
     130    destroot.target     install-target-libstdc++-v3
     131
     132    post-destroot {
     133        eval delete [glob ${destroot}${prefix}/lib/*{a,py}]
     134        file delete -force ${destroot}${prefix}/share/gcc-${major}
     135        file delete -force ${destroot}${prefix}/include/${name}
     136    }
     137} else {
    120138post-destroot {
    121139    file delete -force ${destroot}${prefix}/share/man/man7 \
     
    129147    eval delete [glob ${destroot}${prefix}/lib/${name}/libstdc++*]
    130148
     149    ln -s ${prefix}/lib/libstdc++.6.dylib ${destroot}${prefix}/lib/${name}/libstdc++.dylib
     150
    131151    # This symlink is provided as a transition aide and will be removed
    132152    # with a future revision of this port.
    133     ln -s /usr/lib/libstdc++.6.dylib ${destroot}${prefix}/lib/${name}/libstdc++.6.dylib
     153    ln -s ${prefix}/lib/libstdc++.6.dylib ${destroot}${prefix}/lib/${name}/libstdc++.6.dylib
    134154}
    135155
    136156select.group        gcc
    137157select.file         ${filespath}/mp-${name}
     158
     159}
    138160
    139161platform powerpc {
  • trunk/dports/lang/gcc48/Portfile

    r97664 r97687  
    55
    66name                gcc48
     7subport             libstdcxx-devel {}
    78version             4.8-20120909
    8 revision            2
     9revision            3
    910platforms           darwin
    1011categories          lang
     
    3334
    3435depends_lib         port:gmp port:mpfr port:libiconv port:libmpc port:ppl port:cloog
    35 depends_run         port:gcc_select port:ld64 port:cctools
     36depends_run         port:gcc_select port:ld64 port:cctools port:libstdcxx-devel
    3637
    3738depends_skip_archcheck-append gcc_select ld64 cctools
     
    99100destroot.target     install install-info-host
    100101
     102# TODO: Optimize this.  We don't need to actually bootstrap gcc to build libstdc++
     103if {${subport} == "libstdcxx-devel"} {
     104    depends_run-delete port:${subport}
     105
     106    configure.args-delete --libdir=${prefix}/lib/${name}
     107
     108    configure.args-delete --enable-languages=c,c++,objc,obj-c++,lto,fortran,java
     109    configure.args-append --enable-languages=c++
     110
     111    destroot.target     install-target-libstdc++-v3
     112
     113    post-destroot {
     114        eval delete [glob ${destroot}${prefix}/lib/*{a,py}]
     115        file delete -force ${destroot}${prefix}/share/gcc-${major}
     116        file delete -force ${destroot}${prefix}/include/${name}
     117    }
     118} else {
    101119post-destroot {
    102120    file delete -force ${destroot}${prefix}/share/man/man7 \
     
    110128    eval delete [glob ${destroot}${prefix}/lib/${name}/libstdc++*]
    111129
     130    ln -s ${prefix}/lib/libstdc++.6.dylib ${destroot}${prefix}/lib/${name}/libstdc++.dylib
     131
    112132    # This symlink is provided as a transition aide and will be removed
    113133    # with a future revision of this port.
    114     ln -s /usr/lib/libstdc++.6.dylib ${destroot}${prefix}/lib/${name}/libstdc++.6.dylib
     134    ln -s ${prefix}/lib/libstdc++.6.dylib ${destroot}${prefix}/lib/${name}/libstdc++.6.dylib
    115135}
    116136
    117137select.group        gcc
    118138select.file         ${filespath}/mp-${name}
     139
     140}
    119141
    120142platform powerpc {
Note: See TracChangeset for help on using the changeset viewer.