On Wed, Sep 24, 2014 at 11:14:30PM -0700, Walter Bright via Digitalmars-d wrote: [...] > You noted my preference for simple makefiles (even if they tend to get > verbose). I've been using make for 30 years now, and rarely have > problems with it. Of course, I also eschew using every last feature of > make, which too many people feel compelled to do. So no, my makefiles > don't consist of "arcane hacks". They're straightforward and rather > boring. > > And I use make -j on posix for parallel builds, it works fine on dmd.
Well, I *am* grateful that building dmd is as simple as identifying which makefile to use for your platform, and make away. And the fact that building dmd with -j works. Sadly, 95% of non-trivial make-based projects out there require all manner of arcane hacks that break across platforms, requiring patch upon patches (*ahem*autotools*cough*) ostensibly to work, but in practice ends up breaking anyway and you're left with a huge mess to debug. And -j generally doesn't work. :-/ (It either crashes with obscure non-reproducible compile errors caused by race conditions, or gives you a binary that may or may not represent the source code. Sigh.) In fact, one thing that impressed me immensely is the fact that building the dmd toolchain is as simple as it is. I know of no other compiler project that is comparable. Building gcc, for example, is a wondrous thing to behold -- when it works. When it doesn't (which is anytime you dare do the slightest thing not according to the meticulous build instructions)... it's nightmarish. But even then, I *did* run into the problem of non-reproducible builds with dmd. So there's still a blemish there. :-P Makes me want to alias `make` to `make clean; make` just for this alone... Oh wait, I've already done that -- I have a script for pulling git HEAD from github and rebuilding dmd, druntime, phobos, and it *does* run make clean before rebuilding everything! Sigh. The only redeeming thing is that dmd/druntime/phobos builds at lightning speed (relative to, say, the gcc toolchain), so this isn't *too* intolerable a cost. But still. It's one of my pet peeves about make... T -- Many open minds should be closed for repairs. -- K5 user
