[PATCH] D45604: Support for multiarch runtimes layout

Petr Hosek via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Apr 12 18:47:02 PDT 2018


phosek created this revision.
phosek added reviewers: beanz, rsmith, dlj, rnk, echristo.
Herald added subscribers: llvm-commits, christof, hiraditya, mgorny, srhines.
phosek added a comment.

Currently everything is a single patch but I'd be happy to split into separate patches and submit those separately against each subproject if you're fine with the overall design.


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.

Currently the new layout is support for Fuchsia and Linux.

The runtimes CMake build has been modified to use the new layout when
building runtimes for multiple targets.


Repository:
  rL LLVM

https://reviews.llvm.org/D45604

Files:
  clang/cmake/caches/Fuchsia-stage2.cmake
  clang/cmake/caches/Fuchsia.cmake
  clang/include/clang/Driver/Driver.h
  clang/lib/Driver/ToolChain.cpp
  clang/lib/Driver/ToolChains/Fuchsia.cpp
  clang/lib/Driver/ToolChains/Fuchsia.h
  clang/lib/Driver/ToolChains/Linux.cpp
  clang/test/Driver/Inputs/resource_dir_with_multiarch_subdir/i386-linux-gnu/lib/.keep
  clang/test/Driver/Inputs/resource_dir_with_multiarch_subdir/include/c++/v1/.keep
  clang/test/Driver/Inputs/resource_dir_with_multiarch_subdir/x86_64-linux-gnu/lib/.keep
  clang/test/Driver/fuchsia.cpp
  clang/test/Driver/linux-ld.c
  compiler-rt/cmake/Modules/AddCompilerRT.cmake
  compiler-rt/cmake/base-config-ix.cmake
  libcxx/CMakeLists.txt
  libcxx/cmake/Modules/HandleLibCXXABI.cmake
  libcxx/include/CMakeLists.txt
  llvm/lib/Support/Unix/Host.inc
  llvm/runtimes/CMakeLists.txt

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D45604.142308.patch
Type: text/x-patch
Size: 20682 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20180413/da0c495e/attachment.bin>


More information about the llvm-commits mailing list