[cfe-dev] Detecting MSVC version and location used by Clang
    Boris Kolpackov via cfe-dev 
    cfe-dev at lists.llvm.org
       
    Wed Dec  6 01:27:18 PST 2017
    
    
  
TL;DR
1. Include MSVC version in the target triplet reported by -dumpmachine.
2. Include MSVC and Platform SDK bin/ directories in the 'programs' value
   reported by -print-search-dirs.
Long version:
We are working[1] on adding "Clang-targeting-MSVC" support to build2 and
the problem we ran into is determining (1) which MSVC version Clang is
targeting and (2) the location of the MSVC toolchain.
For (1) the natural place to discover this would be the -dumpmachine
output. I see that internally Clang includes the compiler version:
clang++.exe -cc1 -triple x86_64-pc-windows-msvc19.11.25547 [...]
However, the version is omitted from the -dumpmachine output:
clang++.exe -dumpmachine
x86_64-pc-windows-msvc
Would it be possible to preserve the version here?
For (2), we need to find the bin/ directories of MSVC itself (for
lib.exe and link.exe) as well as of Platform SDK (for rc.exe,
mt.exe, etc).
Again, the natural place to include these paths would be the
'programs' value in -print-search-dirs output. Currently it looks
like this:
programs: =C:\LLVM\build\bin
libraries: =C:\LLVM\build\lib\clang\6.0.0
[1] https://lists.build2.org/archives/users/2017-December/000139.html
Thanks,
Boris
    
    
More information about the cfe-dev
mailing list