Skip to content
  • ed's avatar
    Add libc++, libc++abi and libunwind for CloudABI. · c131e588
    ed authored
    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
    c131e588