Page MenuHomeFreeBSD

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

Authored by ed on Jun 24 2015, 11:17 AM.
Tags
None
Referenced Files
Unknown Object (File)
Dec 20 2023, 6:14 AM
Unknown Object (File)
Sep 11 2023, 1:25 PM
Unknown Object (File)
Aug 27 2023, 2:39 PM
Unknown Object (File)
Mar 6 2023, 9:10 PM
Unknown Object (File)
Apr 13 2017, 11:02 AM
Unknown Object (File)
Oct 19 2016, 8:24 PM
Unknown Object (File)
Sep 27 2016, 11:26 PM
Unknown Object (File)
Sep 20 2016, 10:24 PM
Subscribers
None

Details

Reviewers
antoine
bapt
Summary

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.

Diff Detail

Repository
rP FreeBSD ports repository
Lint
Lint Skipped
Unit
Tests Skipped

Event Timeline

ed retitled this revision from to Add libc++, libc++abi and libunwind for CloudABI..
ed updated this object.
ed edited the test plan for this revision. (Show Details)
ed added reviewers: bapt, antoine.
ed set the repository for this revision to rP FreeBSD ports repository.
ed updated this object.
bapt edited edge metadata.
This revision is now accepted and ready to land.Jun 27 2015, 8:30 PM