<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Wed, Sep 17, 2014 at 6:30 AM, Óscar Fuentes <span dir="ltr"><<a href="mailto:ofv@wanadoo.es" target="_blank">ofv@wanadoo.es</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><span class="">Reid Kleckner <<a href="mailto:rnk@google.com">rnk@google.com</a>> writes:<br>
<br>
> On Tue, Sep 16, 2014 at 7:47 PM, Óscar Fuentes <<a href="mailto:ofv@wanadoo.es">ofv@wanadoo.es</a>> wrote:<br>
><br>
>> IIUC zlib availability is tested and the library used if present. Do you<br>
>> mean that LLVM does not use zlib on Windows when the library is present?<br>
><br>
><br>
> Sure, but if there aren't instructions for how to do it easily, then it's<br>
> effectively unsupported. There isn't really a canonical way to "install"<br>
> headers and libraries on Windows like you would on Linux.<br>
<br>
</span>That's a non-issue. Downloading, compiling and installing zlib on<br>
Windows takes about 10 minutes, for both MinGW and MSVC. There are<br>
pre-compiled packages around too.<br>
<br>
It is a good thing that LLVM works when zlib is not present, but<br>
assuming that LLVM will not support certain zlib-related features<br>
"because it is Windows" just shows how much misinformation some people<br>
have about that OS.</blockquote><div><br></div><div>I haven't heard of anyone doing this successfully, and there isn't any documentation, which is just a hair shy of being unsupported. I agree, though, we can fix this. If GnuWin32 provides a usable zlib, that's great, we should document how to use it.</div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><span class="">
> It probably works on MinGW, but then you're a MinGW binary in a MinGW<br>
> world.<br>
<br>
</span>I think you are confusing MinGW with Cygwin. There is nothing special<br>
about MinGW binaries. Moreover, for C code the libraries are compatible.<br>
I've been using the same zlib binary on both MinGW(-w64) and MSVC for a<br>
decade, across multiple toolset releases.<br></blockquote><div><br></div><div>I did mean MinGW, I was really just referring to the C++ ABI, alternative SDK headers, and CRT adapters.</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
The "MinGW world" vs the "VS world" is restricted to C++, where<br>
different ABIs are used by their respective compilers. That's nothing<br>
new on Windows, which doesn't has a "platform C++ ABI" (nor Linux has,<br>
because C++ has no special role on neither OS.) C++ compilers with<br>
incompatible C++ ABIs are common on Windows. Actually, a MSVC++ version<br>
is often incompatible with other versions.</blockquote><div><br></div><div>There are proposals to define such a platform C++ ABI for Windows, N4028:</div><div><a href="https://isocpp.org/blog/2014/05/n4028">https://isocpp.org/blog/2014/05/n4028</a><br></div><div><br></div><div>It's not clear to me that the ISO C++ standard is the right place to declare that, but it suggests that Microsoft (or at least Herb) intend to document the Visual C++ ABI.</div></div></div></div>