[cfe-dev] Prebuilt clang for Windows versions versus versions built with the latest source

Edward Diener via cfe-dev cfe-dev at lists.llvm.org
Sun Sep 6 18:33:38 PDT 2015

If I look at pre-built version of clang for Windows I notice that there 
are no dependencies on any C++ implementation DLLs but only on the 
common lower level Windows DLLs kernel32.dll, shell32.dll, and 
advapi32.dll, which are all in the windows/system32 directory. This 
appears pretty nice.

If I build clang from source using some version of mingw-64/gcc as the 
compiler and CMake/Ninja as the build system I end up with a clang which 
has dependencies on the above mentioned lower level Windows DLLs and 
msvcrt.dll in the windows/system32 directory, as well as libstdc++6.dll 
and on whatever other DLL represents the exceptional model for that 
version of mingw-64/gcc in a mingw-64/gcc bin directory. If I build a 
32-bit version of clang with mingw-64/gcc 32-bit supporting the dwarf 
exception model clang has a dependency on LIBGCC_S_DW2-1.DLL. If I build 
a 64-bit version of clang with mingw-64/gcc 64-bit supporting the seh 
exception model clang has a dependency on LIBGCC_S_SEH-1.DLL.

Why is there this discrepancy between the pre-built versions and the 
32-bit and 64-bit versions of clang which I build ?

Or better yet, with what is the clang pre-built versions being built so 
that it has no dependencies on any compiler implementation DLL ?

More information about the cfe-dev mailing list