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