On Sat, 04 May 2013 19:10:36 GMT, Jack Applegame wrote:
Finally, I do it myself.
May be this is not very good solution, but it works. :)source/dub/compilers/dmd.d | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/dub/compilers/dmd.d b/source/dub/compilers/dmd.d index fad3269..edaa79e 100644 --- a/source/dub/compilers/dmd.d +++ b/source/dub/compilers/dmd.d @@ -123,7 +123,7 @@ class DmdCompiler : Compiler { { import std.string; auto tpath = Path(settings.targetPath) ~ getTargetFileName(settings, platform); - auto args = ["dmd", "-of"~tpath.toNativeString()] ~ objects ~ settings.lflags.map!(l => "-L"~l)().array() ~ settings.sourceFiles; + auto args = ["dmd", "-of"~tpath.toNativeString()] ~ objects ~ settings.lflags.map!(l => "-L" ~ (l.find("-Wl,") == l ? l.replace("-Wl,", "").replace(",", " -L") : l))().array() ~ settings.sourceFiles; args ~= settings.dflags.filter!(f => f == "-g" || f == "-gc")().array(); logDebug("%s", args.join(" ")); auto res = spawnProcess(args).wait();
Thanks for tracking this down so far! I'll patch the source later today when I'm back at the PC.