On Tuesday, 26 November 2013 at 19:27:07 UTC, Andrei Alexandrescu wrote:
On 11/26/13 11:13 AM, Brad Anderson wrote:
To use 32-bit curl you need to generate an OMF import library from the libcurl DLL. It's not terribly hard. I did it originally for when I
added downloading of libcurl to the Windows installer.

When is the OMF library needed?

1. While building dmd

2. While building druntime

3. While building phobos

4. While building client code that does NOT use std.net.curl

5. While building client code that DOES use std.net curl


5. std.net.curl actually existed for several releases of dmd before I went to use it one day and got linker errors and decided to fix it with the installer change.

It's not at all
obvious to users that they need to distribute libcurl.dll et al when they distribute their application but that's a documentation issue.

Or they could kick the can down the road by requiring their customers to have it.


The MSVCRT.dll hell of yore has shown this is a terrible option. Windows applications almost universally ship with everything needed to run. There is no package manager on Windows to handle dependencies like there is on Linux. You always include the DLLs or installers in your application (or instruct the user to download themselves if licensing forbids redistribution but this is avoided as much as possible).

If I remember correctly Walter didn't want to distribute in the dmd zip anything that wasn't boost licensed which is why curl on Windows comes as a separate download. zlib is a notable exception but I seem to recall
Walter regretted including zlib.

On the other hand we've hardly heard one peep from anyone in literally years that their zip code has trouble building.

We can ask the libcurl author if it comes down to redistributing a libcurl binary. But we want to make sure this is the solution of choice.

Walter actually already did that and the author of libcurl said redistributing it was fine.

Here's an old thread discussing the licensing: http://forum.dlang.org/post/[email protected]

Reply via email to