Thread overview
Have Win DMD use gmake instead of a separate DMMake makefile?
Aug 10, 2013
Nick Sabalausky
Aug 10, 2013
Nick Sabalausky
Aug 11, 2013
Russel Winder
Aug 11, 2013
Nick Sabalausky
August 10, 2013
Although it took longer than I expected to get around to it, I'm working on a release-generator tool for DMD. I'm finding that a very significant amount of the effort involved (much more than I expected) is discovering and dealing with all the fun little differences between the posix and win32 makefiles (and now we have some win64 makefiles as well).

Efforts can be made to decrease these differences, but simply having them separate makefiles in the first place (let alone using completely different "make"s: GNU make vs DM make) is a natural invitation for divergence.

No disrespect intended to Digital Mars Make, but since GNU make appears to be more feature-rich, have wider overall adoption, and is freely available on Windows as a pre-built binary <http://gnuwin32.sourceforge.net/packages/make.htm>: Would it be acceptable to use gmake as *the* make for DMD? Ie, either convert the windows makefiles to gmake, or expand the posix makefiles to support windows?

I'd be willing to give it a shot myself, and I could trivially
write a small batch utility to download Win gmake and put it on the
current PATH, so that nobody has to go downloading/installing it
manually. I would do this *after* finishing the release-generator tool,
but afterwords it would allow the tool's implantation to be greatly
simplified.

Is this something that would be acceptable, or does building DMD for Windows need to stay as DM make?

August 10, 2013
On Sat, 10 Aug 2013 14:27:34 -0400
Nick Sabalausky <SeeWebsiteToContactMe@semitwist.com> wrote:

>[...]

Shoot, sorry, can someone delete this? I meant to post to "digitalmars.D", not D.announce.
August 11, 2013
On Sat, 2013-08-10 at 14:27 -0400, Nick Sabalausky wrote: […]
> is discovering and dealing with all the fun little differences between the posix and win32 makefiles (and now we have some win64 makefiles as well).
[…]

Isn't this sort of problem solved by using SCons, Waf or (if you really
have to) CMake?

-- 
Russel. ============================================================================= Dr Russel Winder      t: +44 20 7585 2200   voip: sip:russel.winder@ekiga.net 41 Buckmaster Road    m: +44 7770 465 077   xmpp: russel@winder.org.uk London SW11 1EN, UK   w: www.russel.org.uk  skype: russel_winder


August 11, 2013
On Sun, 11 Aug 2013 09:26:11 +0100
Russel Winder <russel@winder.org.uk> wrote:

> On Sat, 2013-08-10 at 14:27 -0400, Nick Sabalausky wrote: […]
> > is discovering and dealing with all the fun little differences between the posix and win32 makefiles (and now we have some win64 makefiles as well).
> […]
> 
> Isn't this sort of problem solved by using SCons, Waf or (if you
> really have to) CMake?
> 

One of the problems, yea.

In this case, I think anything involving a full-fledged programming language other than D is going to be, at the very least, controversial.

Even though I've always avoided CMake since it relies on other makes on the back end, it seems like (out of all the existing build tools I'm aware of) it may be the most appropriate in DMD's case. I think that's something to further look into.