[libcxx-commits] [PATCH] D107892: [runtimes] Allow overriding where CMake installs RUNTIME type libraries (DLLs)

Petr Hosek via Phabricator via libcxx-commits libcxx-commits at lists.llvm.org
Wed Sep 8 11:08:55 PDT 2021


phosek added a comment.

In D107892#2989982 <https://reviews.llvm.org/D107892#2989982>, @phosek wrote:

> In D107892#2989781 <https://reviews.llvm.org/D107892#2989781>, @mstorsjo wrote:
>
>> In D107892#2989709 <https://reviews.llvm.org/D107892#2989709>, @phosek wrote:
>>
>>> If we still need this, then I'd prefer `${LLVM_DEFAULT_TARGET_TRIPLE}/bin` following https://wiki.debian.org/Multiarch/LibraryPathOverview.
>>
>> Well, this path is only ever used for windows builds - but yeah, that pattern, <triple>/bin is what I use for mingw things in general too.
>>
>> But isn’t that a bit inconsistent when the other per-target files are installed into lib/<triple> and include/<triple>?
>
> AFAIK the reason why these are different is that if your binary `foo` uses dynamic linking, then the shared libraries for `<triple>/bin/foo` would be in `<triple>/lib` which is different from `lib/<triple>` which contains libraries used when targeting `<triple>`.

To give a more practical albeit contrived example, you could end up with this:

  x86_64-linux-gnu/
    bin/
      clang
    lib/
      libz.so
  aarch86_64-linux-gnu/
    bin/
      clang
    lib/
      libz.so
  include/
    ...
    riscv64-linux-gnu/
      ...
  lib/
    riscv64-linux-gnu/
      libc++.a


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D107892



More information about the libcxx-commits mailing list