Should "std.net.curl" be moved from Phobos to Deimos?
Brad Anderson
eco at gnuk.net
Tue Nov 26 11:56:00 PST 2013
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/wgnsetqkzbzgulccphvu@forum.dlang.org
More information about the Digitalmars-d
mailing list