We will need an isolated gcc c++11 bootstrap compiler

Ken Cunningham ken.cunningham.webuse at gmail.com
Mon Jul 12 23:26:16 UTC 2021


Confirmed that Leopard i386, at least, can make the steps:

system compiler -> gcc-6 self-contained -> gcc11/libgcc11 without any
trouble.

Tiger i386 testing is underway and then PPC. There is reasonable hope that
in due course the entire platform list from Tiger to the current will
standardize on gcc11/libgcc11.

Along a similar path, we could also use the self-contained gcc6 on 10.4
through 10.6 to directly build a bootstrap version of clang-3.8 or 4.0 or
7.0 for example (linking against libstdc++),  skipping clang-3.4,
clang-3.7, and the partly-compromised libcxx without thread_local support
we build now, and then use that bootstrap clang to directly build libcxx
with thread_local support from the start, and go right to clang-9.0.

system roots -> gcc6 self-contained -> clang-bootstrap ->
libcxx +emulated_tls -> clang-9.0.

Apparently clang-4 when linked against libstdc++ is set to look in it's own
tree for libstdc++ first, so it could be self-contained if we copy in
libstdc++ from gcc6-bootstrap after it is built.

That potentially gets us out of a whole lot of "clang_dependency" hell.

Ken


On Tue, Jul 6, 2021 at 12:33 AM Ken Cunningham <
ken.cunningham.webuse at gmail.com> wrote:

> gcc11+ requires a c++11 compiler to build, and won't build with older
> clang versions for other reasons besides c++11 capability.
>
> So to bring the older systems up to parity with current and supported gcc
> versions, and hopefully have them standardize on libgcc11 to make it all
> easier on everyone, I'm going to need to create a stand-alone gcc compiler
> that is self-contained with it's own libraries to use as a bootstrap.
>
> I'm thinking this will either be gcc5 or gcc7 at present as they are both
> capable and very easy to build on every system using system roots.
>
> The bootstrap gcc5 or gcc7 will be tucked away somewhere off the beaten
> path, and used only to build gcc11/libgcc11 on older systems, and other
> similar things that might be needed for bootstrapping.
>
> Ken
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macports.org/pipermail/macports-dev/attachments/20210712/b7a94637/attachment.htm>


More information about the macports-dev mailing list