SONAME and D

bioinfornatics bioinfornatics at fedoraproject.org
Mon Feb 27 03:25:15 PST 2012


Le lundi 27 février 2012 à 11:36 +0100, Mike Wey a écrit :
> 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
> 

awesome, thanks a lot



More information about the Digitalmars-d-learn mailing list