[gsoc] DMD - Ideas

Mike Franklin slavo5150 at yahoo.com
Thu Mar 14 00:16:26 UTC 2019


On Thursday, 7 March 2019 at 09:53:13 UTC, Seb wrote:

> @community: what other features do you miss the most from DMD 
> that could be done in the span of a GSoC?

There is currently an unfinished project in the DMD repository 
that is intended to replace all makefiles with a script written 
in D [1].  It was started by Seb [2] (Thanks! Seb) and I tried to 
move it along [3].

There are a number of reasons for doing this.

1. The current build system relies on Posix-y and Nix-y tooling 
to work. Much of that tooling is not available by default on 
Windows, so a number of 3rd party dependencies need to be 
installed first to get a build on Windows.  This increases the 
barrier to entry for those wishing to contribute to D or build 
one's own compiler.

2. The build system is difficult to understand, further 
heightening the barrier to entry.  The one thing all contributors 
to D have in common is the D language itself.  It will be much 
easier to understand and debug a build system written in D than 
one written with makefiles.

3. Why in the world do we work so hard building extremely 
powerful programming languages like D to automate our lives, and 
then resort to inferior tools like makefiles to build our 
software? rdmd makes scripting in D easy an convenient.

build.d currently works for Linux, but it needs more work for 
Windows.  It's almost there; it just needs a little more work.

It currently mimics the makefiles, as it was ported from them, 
but I believe that once build.d is working, it can be refactored 
to something more idiomatic-D that all proficient D users can 
easily understand and debug.

Mike

[1] https://github.com/dlang/dmd/blob/master/src/build.d
[2] https://github.com/dlang/dmd/pull/8293
[3] 
https://github.com/dlang/dmd/pulls?q=is%3Apr+build.d+author%3AJinShil


More information about the Digitalmars-d mailing list