Have Win DMD use gmake instead of a separate DMMake makefile?
Adam D. Ruppe
destructionator at gmail.com
Tue Aug 13 04:35:23 PDT 2013
On Tuesday, 13 August 2013 at 06:56:11 UTC, Jacob Carlborg wrote:
> No, it's not portable. Example, libraries on Posix are usually
> named "libfoo.a", on Windows they're named "foo.lib". As far as
> I know that is not handled by pragma(lib).
Yes, it is. pragma(lib, "foo") works on both systems. It passes
the name "foo" to the linker, which knows about the cross
platform differences. I use it all the time on Windows and Linux
without any problems.
The problem people have with pragma(lib) is that gdc's
architecture doesn't allow it; the front end in gcc can't pass an
argument to the linker, and also that separate compilation with
any compiler doesn't pass the pragma (its instruction is only in
the .d file, not the .o). I don't see this as a problem with the
feature - it doesn't have to work in every case to be very useful.
worst case, if it doesn't work, you're just doing it the way you
would anyway. Even so, however, pragma(lib) can still serve to
document the fact that the library is required.
In summary, pragma(lib) is great and you can have it when you pry
it from my cold, dead hands.
More information about the Digitalmars-d
mailing list