]> granicus.if.org Git - clang/commit
Support for multiarch runtimes layout
authorPetr Hosek <phosek@chromium.org>
Thu, 28 Jun 2018 03:11:52 +0000 (03:11 +0000)
committerPetr Hosek <phosek@chromium.org>
Thu, 28 Jun 2018 03:11:52 +0000 (03:11 +0000)
commit7a290f168c98ef77a050254694d3f9f2721ef13d
tree491a3e133740e25407a20ee8df166b98e4cb88fd
parentbd011d17e27bab090b3a5ddf966be495ad8ed639
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

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@335809 91177308-0d34-0410-b5e6-96231b3b80d8
14 files changed:
lib/Driver/ToolChain.cpp
lib/Driver/ToolChains/Fuchsia.cpp
lib/Driver/ToolChains/Linux.cpp
test/CMakeLists.txt
test/Driver/Inputs/resource_dir_with_per_target_subdir/aarch64-fuchsia/lib/.keep [new file with mode: 0644]
test/Driver/Inputs/resource_dir_with_per_target_subdir/i386-linux-gnu/lib/.keep [new file with mode: 0644]
test/Driver/Inputs/resource_dir_with_per_target_subdir/include/c++/v1/.keep [new file with mode: 0644]
test/Driver/Inputs/resource_dir_with_per_target_subdir/x86_64-fuchsia/lib/.keep [new file with mode: 0644]
test/Driver/Inputs/resource_dir_with_per_target_subdir/x86_64-linux-gnu/lib/.keep [new file with mode: 0644]
test/Driver/fuchsia.c
test/Driver/fuchsia.cpp
test/Driver/linux-header-search.cpp
test/Driver/linux-ld.c
test/Driver/linux-per-target-runtime-dir.c [new file with mode: 0644]