It would be quite useful if the DMD configuration file provided a means of specifying the name of the default libraries to link based on the presence of "-release" on the command-line. In short, I'd like for something like this to happen:
* Specify "phobos.lib" as the library to use for release builds and "phobos_d.lib" as the library to use for debug builds.
* Command "dmd foo.d" links "phobos_d.lib" as specified in sc.ini
* Command "dmd -release foo.d" links "phobos.lib" as specified in sc.ini
If either of these fields are not set, the built-in default (phobos.lib or libphobos.a) will be used instead.
This has the advantage of both simplifying the use of alternate runtime libraries and providing a means of linking a debug lib when doing so may be beneficial to the user.
Comment #1 by shro8822 — 2007-08-27T19:34:40Z
along the same line, it would be vary nice to be able to select phobos vs. tango builds. Something like have a DMDLIB environment variable that picks a section out of the sc.ini file.
Comment #2 by bugzilla — 2007-08-30T14:29:37Z
I'll do this as command line switches, which can be set via DFLAGS in sc.ini/dmd.conf.
Comment #3 by davidl — 2007-09-12T07:54:57Z
some part of this proposal seems to duplicate with bug 987
*** This bug has been marked as a duplicate of 987 ***
Comment #4 by davidl — 2007-09-12T07:58:57Z
oh why not make the current -debuglib a little bit more advanced?
I mean make the -debuglib work together with -debug version , different debug
version uses different debuglib,
and -g symbolic stuff should be also controllable with -debug version stuff, so the compiler debug system goes consistent
Comment #5 by davidl — 2007-09-12T08:00:05Z
sorry for the bad mouse clicking, reopen this issue for a little bit more enhancement
Comment #6 by braddr — 2009-06-07T23:48:22Z
This was added back in versions 1.021 and 2.004:
-debuglib=libname
link in libname as the default library when compiling for
symbolic debugging instead of libphobos2.a
-defaultlib=libname
link in libname as the default library when not compiling
for symbolic debugging instead of libphobos2.a
It's based off the -g option rather than the -release option, but.. close enough.