[PATCH] D95534: clang-cl: Invent a /winsysroot concept

Alexandre Ganea via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Mon Feb 8 15:21:40 PST 2021


aganea added a comment.

In D95534#2534510 <https://reviews.llvm.org/D95534#2534510>, @smeenai wrote:

> Now if only Windows could case-correct their SDKs so we didn't need VFS overlays and symlinks for the linker...

I opened a ticket <https://developercommunity2.visualstudio.com/t/File-names-do-not-match-casing-in-includ/1284439> but it was closed shortly after. Microsoft could easily fix the `#includes` but the `#pragma comment(lib, ..)` would require an additionnal layer of OLDNAMES.lib aka `/ALTERNATENAME` directives when dealing with external libraries, since they already have the (old) `#pragma comment(lib, ..)` directives already stamped in. Even after making these changes manually for a PoC, we still needed `clang-cl ... -Xclang -fixit -Wnonportable-include-path -Wnonportable-system-include-path` to fix some paths in third-party libraries - and discovered along the way that `-fixit` didn't work with PCH files in this specific case. All just a massive pain.

We ended up mounting a 'casefold' filesystem and now it cross-compiles like a charm! :-) (and incidentally it is a bit faster to build than on Windows, on the same hardware)


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D95534



More information about the cfe-commits mailing list