On Saturday, 20 May 2017 at 20:04:27 UTC, Mike Parker wrote:
On Saturday, 20 May 2017 at 19:53:16 UTC, Igor wrote:

There is no mention of dll.def file.

Add a "sourceFiles" directive:

"sourceFiles-windows" : ["dll.def"]

See the comments at the following:

https://github.com/dlang/dub/issues/575
https://github.com/dlang/dub/pull/399

Thanks Mike. Google wasn't this helpful :). In the meantime I tried debugging dub to see what is happening and with this simple change in packagerecipe.d it seems to work:

// collect source files (instead of just "*.d" i put the following at line 206)
    dst.addSourceFiles(collectFiles(sourcePaths, "*.{d,def}"));

This is the output I got:

Performing "debug" build using dmd for x86_64.
handmade ~master: building configuration "internal"...
FILES IN BUILDSETTINGS: ["dll.def", "handmade.d", "handmade_h.d", "windll.d"] dmd -m64 -c -of.dub\build\internal-debug-windows-x86_64-dmd_2074-C56D6B49201C03F44B01E754688EACEE\handmade.obj -debug -g -w -version=HANDMADE_INTERNAL -version=Have_handmade handmade.d handmade_h.d windll.d -vcolumns
Linking...
dmd -of.dub\build\internal-debug-windows-x86_64-dmd_2074-C56D6B49201C03F44B01E754688EACEE\handmade.dll .dub\build\internal-debug-windows-x86_64-dmd_2074-C56D6B49201C03F44B01E754688EACEE\handmade.obj dll.def -m64 -shared -g

As you can see def file just got added to link command.

So my question is if the fix is so simple what are the reasons it isn't implemented? Am I missing something?

Reply via email to