Have Win DMD use gmake instead of a separate DMMake makefile?
Nick Sabalausky
SeeWebsiteToContactMe at semitwist.com
Sat Aug 10 17:46:16 PDT 2013
On Sat, 10 Aug 2013 17:14:35 -0700
"H. S. Teoh" <hsteoh at quickfur.ath.cx> wrote:
>
> I'm all for ditching make. What about this:
>
> - We write a small D app that automatically scans all dependencies and
> generates a shell script / .BAT file / whatever the target platform
> uses, that contains compile commands that builds DMD and a make
> replacement written in D. This is for bootstrapping.
>
> - The make replacement written in D can then be used to rebuild DMD,
> build druntime, Phobos, etc..
>
That's a very interesting idea. Couple thoughts:
- It sounds a lot like RDMD, just with shell-script output added
(actually, I think RDMD can already generate makefiles). So I'm
wondering how much of RDMD could be leveraged for this. But maybe not
much since RDMD is specially-tailored to scanning D-based projects,
not C/C++ ones like DMD (but druntime and phobos OTOH...). I guess
the tool you're talking about would be specifically-designed to scan
DMD's sources. Or is there some existing C/C++ tool we could/should
leverage?
- What happens when DMD starts using D-language sources? The generated
bootstrapper shell scripts would no longer be able to compile DMD
because DMD hasn't yet been built. So it wouldn't solve *that* issue,
but I suppose we can just shell-bootstrap the last pure-C/C++ DMD as
an "origin" DMD and use that to compile the next DMD (or the most
recent one it's capable of compiling), and then use that to compile
the next-in-line DMD, and so on up to whatever's the latest. (Which
is probably what would have to happen *anyway* even without the tool
you suggest.)
Sounds like that should work, and fairly well, too (as long as DMD's
D-based sources are careful to be compilable with *sufficiently* older
versions of itself). And it eliminates any point in bothering to make
any big improvements on the makefiles.
More information about the Digitalmars-d
mailing list