HomeFreeBSD

Add libc++, libc++abi and libunwind for CloudABI.

Description

Add libc++, libc++abi and libunwind for CloudABI.

In order to get C++ support for CloudABI working, we need to import
three libraries from LLVM, namely libc++, libc++abi and libunwind. Even
though they are installed separately, there seems to be a circular
dependency between them:

  • libc++ depends on an internal header from libc++abi.
  • libc++abi depends on public headers from libc++, but also an internal header from libunwind.
  • similarly, libunwind depends on public headers from libc++, but also an internal header from libc++abi.

This change adds three new ports for these libraries. As with
compiler-rt, it seems to be almost impossible to use the cmake
infrastructure shipped with these libraries, for the reason that they
depend on a functional C++ compiler being present. This is obviously not
the case, as we're trying to get these installed.

The libc++ port ships with a small number of patches. Almost all of the
patches needed to get libc++ to work on CloudABI have already been
upstreamed. These are the last remaining ones that haven't been
upstreamed yet. Expect the patches to become smaller over time.

Differential Revision: https://reviews.freebsd.org/D2898
Approved by: bapt

Details

Provenance
edAuthored on
Parents
rP390727: sysutils/ipmitool: properly link against ports OpenSSL/LibreSSL
Branches
Unknown
Tags
Unknown