-L-ldl needed on Linux

Bill Baxter dnewsgroup at billbaxter.com
Sun Apr 13 13:12:08 PDT 2008


Lars Ivar Igesund wrote:
> Mike Parker wrote:
> 
>> Bill Baxter wrote:
>>> Mike Parker wrote:
>>>> Bill Baxter wrote:
>>>>> Lars Ivar Igesund wrote:
>>>>>> It may be that it is derelict's fault for not working with the
>>>>>> tools, but
>>>>>> there is also the relevant bugzilla entries
>>>>>> http://d.puremagic.com/issues/show_bug.cgi?id=1663
>>>>>>
>>>>>> and
>>>>>>
>>>>>> http://d.puremagic.com/issues/show_bug.cgi?id=1690
>>>>>>
>>>>>> pragma(lib) should be implemented on all platforms, or removed from
>>>>>> the spec
>>>>>> entirely.
>>>>> That's certainly a problem.
>>>>>
>>>>> However, Derelict supports DSSS, so that's not really an excuse for
>>>>> Derelict.  It could use DSSS's pragma(link).
>>>>>
>>>>> --bb
>>>> How is that going to help with the final executable? No linking is
>>>> done during the compilation of static libraries, so even if I did add
>>>> that to Derelict's dsss.conf files, the user would still have to link
>>>> to libdl when compiling the executable.
>>> You wouldn't put it in Derelict's dsss.conf, you'd put it in
>>> derelict/util/loader.d.  And it would end up in the .di file, where it
>>> would be found by dsss later when users are trying to compile something
>>> that uses loader.
>>>
>> I see now. I've updated the Derelict trunk with the pragma link.
> 
> For reference, this is where I think that pragma lib should be available
> from the compiler instead, such that the correct lib will be linked even
> with a different build tool.

Agreed.  I think it's yet another one of those things that has been 
debated, hailed by all, then ignored, then forgotten.

But DSSS takes the feature from Bud, I believe.  So if all D-aware build 
tools implement it, then it's not so bad.  Of course that doesn't help 
'make' users.

Incidentially, this may be a good time to once again bring up Gregor's 
proposal of dmd -v spitting out pragmas in addition to imports.  It 
would make supporting things like pragma("link") much easier for any 
build tool that wanted to.

--bb


More information about the Digitalmars-d-learn mailing list