[PATCH] D107799: [CMake] Enable LLVM_ENABLE_PER_TARGET_RUNTIME_DIR by default on most platforms

Martin Storsjö via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Aug 11 04:47:37 PDT 2021


mstorsjo added a comment.

I tested using the per-target runtimes feature for my mingw builds, and enabling it requires a bunch of minor tweaks in the build scripts, but there's one fatal missing feature which IMO blocks enabling the feature by default anywhere outside of Linux and Fuchsia: Clang got support for finding the libc++ include files from the per-target include directory in ea12d779bc238c387511fe7462020f4ecf4a8246 <https://reviews.llvm.org/rGea12d779bc238c387511fe7462020f4ecf4a8246> / D89013 <https://reviews.llvm.org/D89013>, but it was only added to the Gnu and Fuchsia toolchain files, so `__config_site` won't be found even for other ELF platforms.

Secondly, using per-target runtimes makes the mingw use case much more picky about the form of triples used; the OS part of `x86_64-w64-mingw32` is normalized into `x86_64-w64-windows-gnu`, but the vendor string, `w64` is left intact. This causes issues where one transparently could use e.g. `i686-pc-mingw32` just as well as `i686-w64-mingw32` before. @phosek When normalizing the triple for this use case, do you think we should strip out the vendor part of the string altogether?

Other than that, I run into a number of minor inconveniences; I'll be sending patches for those. But the missing include directory is the main blocker IMO.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D107799/new/

https://reviews.llvm.org/D107799



More information about the llvm-commits mailing list