dub -> meson

JN 666total at wp.pl
Tue Apr 16 06:13:30 UTC 2019


On Tuesday, 16 April 2019 at 05:11:29 UTC, 9il wrote:
> I don't think so. For example, dub does not allow to compile 
> selected dependencies in release builds, while the current 
> project in debug mode. This is a common case for numeric 
> libraries like mir-glas (blas), mir-optim and etc.
> So, we need to call dub as prebuild command 
> https://github.com/libmir/mir-glas/blob/master/dub.json#L28
>
> For simple system dependencies dub force users to define 
> configuration monsters like that for mir-blas:
> https://github.com/libmir/mir-blas/blob/master/dub.sdl
>
> Maybe configurations for vibe.d and other packages looks no so 
> monstrous, however for my uses cases, it adds a lot of pain. 
> Also, this pain in inherited by dependencies:
> https://github.com/libmir/mir-lapack/blob/master/dub.sdl
> https://github.com/kaleidicassociates/lubeck/blob/master/dub.sdl

Those "configuration monsters" don't look that bad, compared to 
your average Ant or CMake build script (can't speak for Meson, 
never used it).

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 :)


More information about the Digitalmars-d mailing list