How do I install a library?

bachmeier no at spam.net
Fri Nov 9 01:18:51 UTC 2018


On Friday, 9 November 2018 at 00:18:28 UTC, H. S. Teoh wrote:
> It's not true that you're stuck with dub.  And I'm not among 
> the people who think dub is the way to go (though it's true 
> that that's a minority opinion around here).  Where I have a 
> choice, my own D projects do not use dub.
>
> I have one project that uses dub because it's based on vibe.d, 
> but I mostly avoid needing to use dub by creating an empty dub 
> project in a subdirectory whose sole purpose is to declare a 
> dependency on vibe.d. Then I build that once with dub, and 
> outside in my real project I just link directly to the produced 
> artifacts. (The exact path(s) to the dub products can be 
> extracted from the output of `dub -v`. This can probably be 
> automated and translated into your build system of choice, 
> though I haven't quite gone that far yet.)  Then I don't need 
> to use dub except when upgrading the dub-dependent library.

This is still a build system though. It might have advantages 
over Dub, but I think the OP wants to avoid build systems 
altogether. Someone coming from a scripting language wants to add

import foo;

to their program and not think about package foo further. There's 
no obvious reason it can't be done that way in D, but the C/C++ 
foundation of this community leads to a mindset that it's wrong, 
because you need to be able to set all kinds of configuration 
options, guarantee reproducible builds, etc. All of which are of 
no importance to someone using D as a scripting language.


More information about the Digitalmars-d-learn mailing list