D infrastructure: make/cmake -> Meson ?

Denis Feklushkin feklushkin.denis at gmail.com
Wed Mar 18 06:41:38 UTC 2020


On Wednesday, 18 March 2020 at 05:01:24 UTC, Mathias Lang wrote:
> On Tuesday, 17 March 2020 at 17:53:46 UTC, Denis Feklushkin 
> wrote:
>> Hi!
>>
>> Will community accept PRs for switching build of druntime, 
>> Phobos, maybe DMD and maybe LDC from make/cmake to Meson build 
>> system?
>>
>> An important condition: current build system should be 
>> abandoned immediately after sucessful testing of new build 
>> system. This should not be a parallel existence of several 
>> build systems, because it will not give any advantages but 
>> will strengthen disadvantages.
>>
>> Related:
>> https://forum.dlang.org/post/oyuxvperqmddgndvmlyx@forum.dlang.org
>
> The community has put a lot of effort over the year to 
> transition to `build.d` and friends. While it originally felt 
> very NIH, it works and the situation is much better than it 
> used to be, so I came to like it more and more.

Anyway, we build it not directly but calling make with makefiles.

> We actually ended up doing the same thing in dub a few months 
> ago 
> (https://github.com/dlang/dub/commit/3115922a933b7a00a85e112d1ebb18529f3919cb), and when it comes to cross-platform, it felt like a big step up. To me it seems like the contributors have already voted on this way.

DUB becomes to substitute make for druntime and phobos?

> Also abandoning the current build system *immediately*

Of course we give time to maintainers. Just during this time we 
will forced to support two build systems and this will complicate 
codebase changes even more.

> is out of the question. There is too much out there that 
> depends on it. Packages, digger, other kind of tools. It's just 
> a big nuisance for everyone involved. The benefit of switching 
> to a (allegedly) better build system would be dwarfed by the 
> amount of breakage it'd cause.

Not the fact that such a breakdown will happen. As a result file 
Meson is able to generate a Makefile that running by usual way, 
but some of the targets may change their name of course, and env 
options also will be changed.


More information about the Digitalmars-d mailing list