SONAME and D

Mike Wey mike-wey at example.com
Mon Feb 27 02:36:18 PST 2012


On 02/27/2012 10:30 AM, bioinfornatics wrote:
> Le lundi 27 février 2012 à 09:51 +0100, Jacob Carlborg a écrit :
>> On 2012-02-26 14:53, bioinfornatics wrote:
>>> Le vendredi 24 février 2012 à 15:56 +0100, Mike Wey a écrit :
>>>> On 02/23/2012 08:29 PM, bioinfornatics wrote:
>>>>> Le jeudi 23 février 2012 à 19:46 +0100, Mike Wey a écrit :
>>>>>> On 02/23/2012 05:27 PM, bioinfornatics wrote:
>>>>>>> dear,
>>>>>>> for set soname with:
>>>>>>> - gdc: -Xlinker -soname myLib.so.1
>>>>>>> - ldc2: -soname myLib.so.1
>>>>>>> - dmd: ?
>>>>>>>
>>>>>>> someone know how set soname with dmd ?
>>>>>>>
>>>>>>
>>>>>> dmd -L-soname=mylib.so.1
>>>>>>
>>>>>
>>>>> Thanks
>>>>> i will do so a $(SONAME_FLAG) in my makefile and maybe i will do a pull
>>>>> request for gtkd because ldc do not use -L-soname instead of dmd
>>>>>
>>>>
>>>> The GtkD Makefile uses:
>>>>
>>>> $(LINKERFLAG)-soname=$@.$(call stripBugfix,$(SO_VERSION))
>>>>
>>>> Witch works with all the compilers, $(LINKERFLAG) is either -L or
>>>> -Xlinker (with a space on th end).
>>>>
>>>
>>> this it is good for dmd and gdc but ldc use -soname without -L
>>> gdc: -Xlinker -soname
>>> ldc: -soname
>>> dmd: -L -soname
>>>
>>>
>>> with ldc you do not to do calling the linker with $(LINKERFLAG
>>
>> Do the ldmd and gdmd wrapper scripts handle this?
>>
>
> no but i will add it soon, waiting klickverbot or sokol
>
>
> Mike Wey could you look if soname is really setted with
> objdup -p libgtkd.so.1.5 | grep -i soname
>

$ make shared-libs DC="ldc2"
[ Lots of text scrolls by ;) ]

$ objdump -p libgtkd.so | grep -i soname
   SONAME               libgtkd.so.1.5

ldc is called like this by the make file:
ld -r "All the object files" -o libgtkd.so.o
ldc2 -shared -oflibgtkd.so -L-soname=libgtkd.so.1.5 -L-ldl -m64 libgtkd.so.o

-- 
Mike Wey


More information about the Digitalmars-d-learn mailing list