A valid code that won't run?
cym13 via Digitalmars-d
digitalmars-d at puremagic.com
Fri Apr 24 14:47:49 PDT 2015
On Friday, 24 April 2015 at 21:42:43 UTC, Daniel Kozak wrote:
>
> On Fri, 24 Apr 2015 16:52:16 -0400
> Steven Schveighoffer via Digitalmars-d
> <digitalmars-d at puremagic.com> wrote:
>
>> On 4/24/15 4:36 PM, Dicebot wrote:
>> > On Friday, 24 April 2015 at 20:27:28 UTC, Steven
>> > Schveighoffer wrote:
>> >> If pragma(lib, "libcurl"); doesn't work normally, then we
>> >> should
>> >> remove std.net.curl, and put it in dub.
>> >
>> > It was a historical mistake, discussed many time over and
>> > over. Yes, it
>> > shouldn't be in Phobos. No, we can't remove it now that
>> > easily.
>>
>> deprecated("Please use dub for curl");
>> module std.net.curl
>>
>> // this will cause an error until you install the binding,
>> then you can
>> // go through your imports and update them.
>> public import some.dub.project;
>>
>> > As for pragma(lib) - it can never work "normally". Linking
>> > 3d-party
>> > libraries is very platform-specific task that causes great
>> > deal of
>> > complexity in build systems. It can't be replaced by a
>> > single trivial
>> > compiler pragma. There is a reason nothing but Windows build
>> > of DMD
>> > supports it.
>>
>> You are right about not having pragma(lib anywhere but
>> windows, but we do depend on 3rd party libs -- libc, libm,
>> librt, etc. They are just always in the right places.
>>
>> I'm not quite sure where libcurl would be except /usr/lib, and
>> why -L-lcurl wouldn't work (and therefore pragma(lib ). Seems
>> like all the issues are for people who custom-build or
>> custom-install libcurl.
>
> everywher with even diferent name
>
>>
>> But I'm not really concerned about that. AFAIK, we have no
>> other 3rd party dependencies like this, std.net.curl sticks
>> out blatantly as something that was done in error, and we
>> should correct it.
>
>> -Steve
>
> Yes, but how? We maybe can reimplement all funcionality :D, any
> takers?
Reimplementing sure sounds like the best long-term way to go...
Maybe we don't need all libcurl features, we could provide a basic
set for 80% of use-cases and advanced users would use the
newly-non-standard libcurl binding.
More information about the Digitalmars-d
mailing list