On Thursday, 27 November 2014 at 13:59:23 UTC, CraigDillabaugh wrote:
On Thursday, 27 November 2014 at 13:56:19 UTC, Chris wrote:
On Thursday, 27 November 2014 at 12:29:03 UTC, Gary Willoughby wrote:
On Thursday, 27 November 2014 at 09:33:49 UTC, Chris wrote:
I usually use dub to create and build projects. I built one of the projects with dub and then by hand with dmd[1] passing all the files etc. Turned out that the executable built with dub was 1.4 MB whereas the one built by hand was only 807 kB. Why is that?

dub compiles and links every file in the source folder whether it's used or not. Whereas with dmd or rdmd you only compile and link the files you actually use.

I compiled the exact same files. I excluded those I didn't need in the dub configuration like so:

"excludedSourceFiles": [...]

But dub's executable is bigger.

When you build with dub it should print out (if I remember correctly, its been a little while) the command it uses to build your code. Is there any difference between that command and your 'by hand' version?

dub says:

Compiling using dmd...
Linking...

I have the exact same setting, I think. I don't build for release with either method.

dmd file1.d file2.d file3.d ...

(dub compiles the same files, no release build)

Reply via email to