Have Win DMD use gmake instead of a separate DMMake makefile?

Jonathan M Davis jmdavisProg at gmx.com
Sat Aug 10 17:19:26 PDT 2013


On Saturday, August 10, 2013 20:06:32 Nick Sabalausky wrote:
> On Sat, 10 Aug 2013 16:21:45 -0700
> 
> Jonathan M Davis <jmdavisProg at gmx.com> wrote:
> > Another suggestion that I kind of liked was to just build them all
> > with a single script written in D and ditch make entirely, which
> > would seriously reduce the amount of duplication across platforms.
> > But that's obviously a much bigger change and would likely be much
> > more controversial than simply using a more standard make.
> 
> Yea, while I do like that too, it would make bootstrapping difficult.
> 
> But then again, if parts of DMD start being written in D (as there has
> been some talk about), then that would have to deal with the exact same
> bootstrapping issue anyway.

Yeah, it introduces a circular dependency, but it's one that we're planning it 
introduce anyway.

> Although, if that does happen (parts of DMD written in D), then I'd
> imagine it may help a lot to do it *starting* from a really good solid
> makefile instead of the inconsistent makefiles we have now. *Then* we
> could transition to a D-based buildscript if we really wanted, but I
> think starting with a D-based buildscript, or the current posix/win
> makefiles, could just make everything messier.
> 
> The posix makefiles actually aren't too bad at this point (the
> "generated" directories phobos/druntime use on posix are a big
> improvement) but the windows makefiles seem to be lagging behind. At
> the very least, I'd like to see that situation engineered away via
> common posix/windows makefiles - which of course requires using the
> same "make".

I actually think that a build script written in D could be quite clean, but it 
would obviously not be even vaguely standard, which could be viewed as a 
definite con. Really, I don't care all that much how the build scripts are put 
together just so long as they're reasonably maintainable, and what we have 
right now isn't, especially on the Windows side.

If I had to tackle the problem though, I'd likely tackle it with a script 
written in D. But I've got enough on my plate already without worrying about 
the built system. Thanks for looking into it.

- Jonathan M Davis


More information about the Digitalmars-d mailing list