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
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.