| |
| Posted by Frits van Bommel in reply to nobody | PermalinkReply |
|
Frits van Bommel
Posted in reply to nobody
| nobody@nowhere.nonet wrote:
> Sebastian <sebastian.faltoni@gmail.com> spewed this unto the Network:
>> hi, is possibile to compile .so for linux and for mac, with D? if
>> true how i can do that? thanks
>
> This isn't handled by a compiler, but the linker, ld. First,
Are you sure? Shouldn't the compiler generate position-independent code? (That's what I seem to remember and will assume for the rest of the code. It that's not true, please ignore the rest of this post :) )
> you get the D compiler to generate an .o file. The "-c" option
> accomplishes this in both the DMD and GDC compilers:
>
> # Creates foo.o
> gdc -c foo.d
This generates relocatable code, not position-independent code. For that, you need to specify -fpic or -fPIC (for GDC, DMD can't do this IIRC).
> Then, the "ld" command line is as follows:
>
> ld -shared foo.o -o foo.so
This would be correct if foo.o contained position-independent code.
|