[LLVMdev] proposal to avoid zlib dependency.

Reid Kleckner rnk at google.com
Wed Sep 17 09:46:00 PDT 2014


On Wed, Sep 17, 2014 at 6:30 AM, Óscar Fuentes <ofv at wanadoo.es> wrote:

> Reid Kleckner <rnk at google.com> writes:
>
> > On Tue, Sep 16, 2014 at 7:47 PM, Óscar Fuentes <ofv at wanadoo.es> wrote:
> >
> >> IIUC zlib availability is tested and the library used if present. Do you
> >> mean that LLVM does not use zlib on Windows when the library is present?
> >
> >
> > Sure, but if there aren't instructions for how to do it easily, then it's
> > effectively unsupported. There isn't really a canonical way to "install"
> > headers and libraries on Windows like you would on Linux.
>
> That's a non-issue. Downloading, compiling and installing zlib on
> Windows takes about 10 minutes, for both MinGW and MSVC. There are
> pre-compiled packages around too.
>
> It is a good thing that LLVM works when zlib is not present, but
> assuming that LLVM will not support certain zlib-related features
> "because it is Windows" just shows how much misinformation some people
> have about that OS.


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.

> It probably works on MinGW, but then you're a MinGW binary in a MinGW
> > world.
>
> I think you are confusing MinGW with Cygwin. There is nothing special
> about MinGW binaries. Moreover, for C code the libraries are compatible.
> I've been using the same zlib binary on both MinGW(-w64) and MSVC for a
> decade, across multiple toolset releases.
>

I did mean MinGW, I was really just referring to the C++ ABI, alternative
SDK headers, and CRT adapters.


> The "MinGW world" vs the "VS world" is restricted to C++, where
> different ABIs are used by their respective compilers. That's nothing
> new on Windows, which doesn't has a "platform C++ ABI" (nor Linux has,
> because C++ has no special role on neither OS.) C++ compilers with
> incompatible C++ ABIs are common on Windows. Actually, a MSVC++ version
> is often incompatible with other versions.


There are proposals to define such a platform C++ ABI for Windows, N4028:
https://isocpp.org/blog/2014/05/n4028

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.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20140917/09da1671/attachment.html>


More information about the llvm-dev mailing list