Replacing Make for the DMD build

Joakim via Digitalmars-d digitalmars-d at puremagic.com
Sat Jun 17 16:13:29 PDT 2017


On Saturday, 17 June 2017 at 21:49:29 UTC, Walter Bright wrote:
> On 6/17/2017 1:25 PM, Joakim wrote:
>> A lot of this is simply saying Make is popular so we should 
>> just stick with it: I hate that mindset.  It is the same 
>> mindset D has to combat with C or C++, and that was exhibited 
>> when you spoke against the SDL format for dub.
>
> It's not quite the same. I spend 99.99% of my time programming 
> working with code, not makefiles. Productivity gains from using 
> a better language have a major effect. A better make simply 
> does not.

I agree that most time spent coding doesn't involve the build 
system, but as Adam says, you say that as someone with a long 
history with Make.  For noobs, it represents a barrier to 
contributing, one that we should strive to lower as much as 
possible.

>> D should pick its battles,
>
> That's a good summary of the situation.
>
>
>> All that said, I'll reiterate what I said earlier to Russel, 
>> and what I'd say to Atila too: don't aim to replace Make, just 
>> aim to provide an alternative in the dmd/phobos repos.  If we 
>> find that everybody is using that instead of Make, we'll just 
>> switch over to it naturally someday.
>
> Maintaining two parallel build systems is having the downsides 
> of both and the benefits of neither. Then there's the endless 
> vim-vs-emacs debate about which alternative build system is 
> better. It's not a battle we need to or can afford to invest in.
>
> Let's please stay focused on things that will move the needle.

There's an easy way out of that morass.  Anybody who wants to 
submit an alternate build file for their build system must also 
provide a point of contact/support for that build system, so that 
any questions or update requests would be directed at them.

Make would remain the default and you make clear that it's the 
_only_ one officially supported.  Eventually, you prune out all 
the build files that don't work that well and aren't being 
supported by their proponents.  If they like, the project 
contributors can eventually decide to switch over to the new 
build system as the default, if it has been proven for some time 
to both work better and be well-supported.

All this would require you to do nothing, just perhaps make a 
decision someday down the line if and when a build system has 
been proven and others want to make it the default.  Would you be 
okay with starting this pragmatic approach, by okaying the commit 
of a Meson or Reggae build file to these repos and seeing where 
it goes?


More information about the Digitalmars-d mailing list