Replacing Make for the DMD build

Walter Bright via Digitalmars-d digitalmars-d at puremagic.com
Sat Jun 17 12:20:54 PDT 2017


On 6/15/2017 11:30 PM, Russel Winder via Digitalmars-d wrote:
> A direct question to Walter and Andrei really.
> 
> If someone, let us say Russel Winder, create a CMake/Ninja and/or
> Meson/Ninja build for DMD, is there any chance of it being allowed to
> replace the Make system?
> 
> If the answer is no, then Russel will obviously not waste his time
> doing something that will not be accepted.

It's highly unlikely it would be accepted:

1. make is ubiquitous. It's not something we have to scrounge to find on 
platform X, it's already there. People already are familiar with it (even if 
they hate it).

2. we're in the D business, not the project build business. It's easier to get 
past that "first 5 minutes" if everything about D other than D itself is 
familiar and conventional.

3. to steal from Churchill, `make` is the worst form of build system except for 
all the others

4. much as I dislike make, the time spent wrestling with it is a vanishingly 
tiny slice of time compared to what spent on the rest of D. Getting that time 
slice to zero will have no effect on productivity, and I'm not convinced that a 
newer build system will even reduce that time slice at all (see point 5).

5. D has a more complex build process than it should. Using another build system 
won't make that complexity go away.

6. unlike the choice to use github, there is no clear winner in the `make` 
category of build tools. If the industry has moved on from make to X, then we 
should, too. But it has not.

7. the current makefiles for DMD suffer from over-engineering, i.e. making 
simple things complicated and excessively using obscure features of make. This 
isn't really the fault of make.


More information about the Digitalmars-d mailing list