HomePhabricator

Support for multiarch runtimes layout

Description

Support for multiarch runtimes layout

This change adds a support for multiarch style runtimes layout, so in
addition to the existing layout where runtimes get installed to:

lib/clang/$version/lib/$os

Clang now allows runtimes to be installed to:

lib/clang/$version/$target/lib

This also includes libc++, libc++abi and libunwind; today those are
assumed to be in Clang library directory built for host, with the
new layout it is possible to install libc++, libc++abi and libunwind
into the runtime directory built for different targets.

The use of new layout is enabled by setting the
LLVM_ENABLE_RUNTIME_TARGET_DIR CMake variable and is supported by both
projects and runtimes layouts. The runtimes CMake build has been further
modified to use the new layout when building runtimes for multiple
targets.

Differential Revision: https://reviews.llvm.org/D45604

Details

Committed
phosekJun 27 2018, 8:11 PM
Differential Revision
D45604: Support for multiarch runtimes layout
Branches
Unknown
Tags
Unknown

Event Timeline

mgorny added a subscriber: mgorny.Jul 24 2018, 2:51 PM
mgorny added inline comments.
/libcxxabi/trunk/CMakeLists.txt
167

Was this change really intentional? I see other parts of libc++abi still using LIBCXXABI_LIBDIR_SUFFIX.

phosek marked an inline comment as done.Jul 24 2018, 4:02 PM
phosek added inline comments.
/libcxxabi/trunk/CMakeLists.txt
167

This was an unintentional change, D49765 is a fix.