On Mon, Mar 25, 2013 at 04:49:00PM -0700, H. S. Teoh wrote: > On Mon, Mar 25, 2013 at 04:46:12PM -0700, Walter Bright wrote: > > > > On 3/25/2013 3:19 PM, Jonathan M Davis wrote: > > >On Monday, March 25, 2013 12:46:46 Walter Bright wrote: > > >>I couldn't find a linker flag to prefer libdruntime.so over libdruntime.a, > > >>or vice versa, so I named the shared library libdruntimeso.so. Ugh. If > > >>there's a better way, please let me know. > > >I believe that the .so is preferred over the .a so that you normally give > > >the > > >.a version explicitly if you want to link against it, > > > > Tried that (giving a .so or .a explicit extension). Doesn't work, it > > just gives an error. > [...] > > AFAIK, if you're giving an explicit extension, you have to specify the > filename instead of -l<name>, something like: > > ld -oexecutable program.o libabc.so > > Assuming you have library paths setup correctly (or have requisite -L > flags), using -l should prefer .so over .a: > > ld -oexecutable program.o -labc > (should link in libabc.so, assuming both libabc.so and libabc.a > are found in the library paths) [...]
Actually, scratch that. According to ld's manpage, using -l *always* links with the .a. My bad. T -- Talk is cheap. Whining is actually free. -- Lars Wirzenius _______________________________________________ dmd-internals mailing list [email protected] http://lists.puremagic.com/mailman/listinfo/dmd-internals
