dub -> meson

H. S. Teoh hsteoh at quickfur.ath.cx
Tue Apr 16 16:42:24 UTC 2019


On Tue, Apr 16, 2019 at 06:13:30AM +0000, JN via Digitalmars-d wrote:
[...]
> The problem with using anything else is that we're back to square one.
> If you push Meson as an official build tool, soon people will want to
> bring CMake, SCons, Gradle, makefiles etc. into the mix. Which will be
> problematic, especially on Windows. Right now you can download dub and
> hope that most of stuff will build, without having to chase down
> dependencies and additional build tools. And after a while someone
> will propose, why do we use all these tools, why not create a single
> build tool, written in D, that can support these usecases. And then
> we'll reinvent dub again :)

The problem is that while dub fills a very important role in the D
ecosystem, it also has some unfortunate design decisions that has since
become major limitations as the ecosystem grows. It originally targeted
a very specific, and narrow use case, and the design was fine in that
context.  But as the D ecosystem grows to encompass wider use cases, the
inherent limitations in that design has since become a major issue, esp.
with those of us who need to do stuff beyond just "pull in dependencies,
build everything". For example, for me, supporting D codegen via
external tools (themselves needing to be compiled and run from the same
source tree) and mixed-language codebases (requiring multiple different
toolchains) is absolutely essential.  Since dub has no way of doing
this, it simply isn't even a viable option for me.  Performance is also
a big showstopper -- although it has improved since I last checked, the
code-compile-test turnaround time is still far too slow for everyday
usage.

What we really need is a dub replacement that has a different, more
flexible design that can accomodate things that people want to do, that
the current dub simply cannot due to its design limitations.  There are
some promising ideas in the other thread about improving dub, and I hope
that discussion will eventually lead to a redesign / revamp of dub that
makes it more viable for my use case.


T

-- 
The problem with the world is that everybody else is stupid.


More information about the Digitalmars-d mailing list