[gsoc] DMD - Ideas

Patrick Schluter Patrick.Schluter at bbox.fr
Fri Mar 22 09:49:18 UTC 2019


On Friday, 22 March 2019 at 09:08:51 UTC, Seb wrote:
> On Tuesday, 19 March 2019 at 20:45:06 UTC, H. S. Teoh wrote:
>>
>> Precisely my point.  So now instead of a single precompiled 
>> binary
>> (dmd), you have two (dmd + build). When the two go out of 
>> sync, things
>> become "interesting".
>>
>>
>> T
>
> This is no concern at all ;-)
> You see a DMD compiler is already _required_ to build DMD. We 
> simply use the same host compiler to compile build.d. The CIs 
> enforce that we can always compile DMD with the minimum host 
> compiler and similarly they also enforce the same for build.d.
>
> However, while we can build DMD and run its unittest without 
> Make now, druntime and Phobos don't have the equivalent of 
> `build.d` and `test/run.d` and some of the lesser used DMD 
> Makefile targets like the docs target haven't been ported 
> either, so it will still take a bit of time until we're in a 
> post-make era.

Bootstrapping is still important, though. There are situations 
where it is forbidden to install binaries on machines. Only the 
pre-installed software can be used. That's the situation for 
example at my work. We get Linux installations corresponding to 
some arbitrary levels IT has decided. The images are outdated and 
every tool or software must be compiled from sources. It's 
Kafkaesque, annoying and a total waste of time (for us, not for 
IT) but that's what I have to contend with. So to install dmd, I 
had to go through these steps:
build dmd, very old version 2.067 afaicr, then build newer 
versions. It has to be build also directly from the git repo. All 
the other nice tools to build any version (digger and so on) fail 
on our systems because of the very picky proxy. Yeah, our IT 
environment is a PITA.

So some indication somewhere which version was the last one that 
could be built without dmd would be a nice datapoint to have.


More information about the Digitalmars-d mailing list