sharadhr wrote:

I think the spirit of this MR is useful, allowing `clang --sysroot` on any 
platform to target `{arch}-pc-windows-msvc`. 

However, I agree with @zmodem when he says this:

> This is about using clang with MSVC/Win SDK turned into a Unix-style sysroot

@trcrsired, I don't think it was said that 'cross-compilation is a narrow 
scenario', instead it was 'making the Windows SDK and MSVC STL into a Unix-like 
sysroot' is a narrow scenario, which is broadly true. 

Shoehorning the Windows SDK and MSVC STL into a Unix-like layout is, in my 
opinion, too much to ask of the user. We _can_ support this scenario, I won't 
say no either, but I believe the proper way is to get Clang to accept the 
layout as-is from the [Build Tools 
installer](https://aka.ms/vs/stable/vs_BuildTools.exe) (for example). Surely 
`clang-cl` already has all this machinery, and it is a matter of wiring up the 
discovered paths to clang++, with case-insensitive handling on case-sensitive 
filesystems. 

The most obvious, first-party way to set up an MSVC ABI + MSVC STL 
cross-compile environment on Unix-like environments would be to use the above 
installer on Windows itself or maybe WINE  and install it to a case-insensitive 
FS, mount that filesystem on the Unix-like host, and then write `clang 
--sysroot=...`. If you are running `clang` on your Android phone, this would 
entail copy-pasting the Windows SDK and MSVC STL into an SD card, loading it 
up, and then writing `clang --sysroot=/sdcard/VC/...` or something similar.

I'm not sure this functionality is present in the current PR, which is what I 
discussed in the first place. There is a lot of demand for this setup, I agree, 
but asking the user to do this extra work is not very ergonomic (and now that 
the links to the external GitHub page and scripts are gone, is less 
discoverable as well).

https://github.com/llvm/llvm-project/pull/96417
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to