[clang] [clang] Support --sysroot= for ${arch}-windows-msvc targets (PR #96417)

Saleem Abdulrasool via cfe-commits cfe-commits at lists.llvm.org
Tue Sep 30 10:24:20 PDT 2025


compnerd wrote:

> > I don't think we should condone anything that assumes fetching WinSDK/MSVC derived files from a third party provider or github repo or anything like that.
> 
> I agree, but can we condone, or even redistribute, a script that post-processes the files this way, so anyone can replicate this setup for their personal use?
> 
> Looking at the linked github repo (which as you say may be violating a license), it really makes me question the entire Unix /usr/(include|lib) design philosophy, of having one single, global header and library search directory. But, that is what people do in practice. :)
> 
> > Perhaps one thing we could do is maybe relax that assumption, and see if we can shift some of the burden from users to the driver by having some form of case-insensitive lookup when we are targeting `x86_64-pc-windows-msvc`?
> 
> I recall @compnerd asked for this at some point in the past, but perhaps he's just adopted the `ciopfs` mount solution. Anyway, [my search didn't find an existing issue](https://github.com/llvm/llvm-project/issues?q=is%3Aissue%20state%3Aopen%20case%20insensitive), so I'll file a new one for that. ... Filed as issue #161400 .

I ended up pursing a hybrid approach. I ended up with modifications to the compiler to support that partially since it was needed for the (clang) modules support. However, I also used a forest of symlinks to get as much as possible done more easily. I haven't had to support that in a while and I think that at this point, my approach would be to use a VFS overlay rather than the symlinks. The linker would need the symlinks for the import libraries still though.

https://github.com/llvm/llvm-project/pull/96417


More information about the cfe-commits mailing list