[libc++] Simplify the configuration of the C++ ABI library
authorLouis Dionne <ldionne@apple.com>
Thu, 2 Apr 2020 06:09:23 +0000 (02:09 -0400)
committerLouis Dionne <ldionne@apple.com>
Thu, 2 Apr 2020 06:21:15 +0000 (02:21 -0400)
commit61e89737c5daf7b65341936f88f68efb680cdcd4
treec19b0cc221563c18b0d908fb455a7c02025d2890
parentcbd3969e8cd13aba23e843ab72b8807d68804f71
[libc++] Simplify the configuration of the C++ ABI library

This commit removes support for building against the system libc++abi,
which was supported on Apple platforms. This is basically never what we
want to do, since libc++ and libc++abi are coupled and building a trunk
libc++ against an older libc++abi can lead to incompatibilities (and
good luck debugging them!). It might have made some sense to support
that when the monorepo did not exist, however I don't think this is
anything but a footgun nowadays.

Furthermore, based on the newly-made assumption that we're building
against the monorepo libc++abi, we can simplify the search path logic
for finding libc++abi.

This area of our build system has a lot of technical debt accumulated,
and it's surprisingly difficult to change. We've tried different things
and failed several times in the past. I did test this change on our
Docker image for the build bots and on Apple platforms, however it is
possible that this breaks some unknown configuration, in which case it
should be fine to revert this (so we can try again!).
libcxx/CMakeLists.txt
libcxx/cmake/Modules/HandleLibCXXABI.cmake