On Thursday, 1 February 2018 at 12:19:48 UTC, Russel Winder wrote:
On Tue, 2018-01-30 at 11:55 +0000, rjframe via Digitalmars-d wrote:
On Tue, 30 Jan 2018 10:38:31 +0000, Russel Winder wrote:

[…]

Are you sure? Every project on my PC places the build files in $PROJECTDIR/.dub/build; the source is in ~/.dub/packages.

I see the source of the dependencies both in ~/.dub/packages and in the project .dub directory, but I see the compilation products in ~/.dub/packages. There are every compiled version in obscure named sub- directories and the last compiled (unknown compiler and options) in the dependency directory.

Compilation seems to be only of .a and not (.so|.dll).

Whether it's .a or .so depends on the dependent package being `staticLibrary` or `dynamicLibrary`. It's possible for a package to be both if it has a configuration for each.

Personally I don't even see the point - just link all the .o files. In a traditional build system static libraries might be useful to specify that multiple targets link to this particular binary blob. With dub there's only ever one binary anyway.

And at this point in time I think shared libraries are mostly a mistake. The only time I use them is when I have to, as in when developing Python extensions.

Atila


Reply via email to