Moving druntime into the DMD repository

Seb seb at wilzba.ch
Fri Jul 27 12:28:07 UTC 2018


On Friday, 27 July 2018 at 12:04:18 UTC, Jonathan M Davis wrote:
> On Friday, July 27, 2018 5:03:50 AM MDT Seb via Digitalmars-d 
> wrote:
>> What do you think?
>> ------------------
>>
>> - Has the dmd/druntime split being annoying you too?
>> - Do you have a better suggestion?
>> - Would this break your workflow in a drastic way?
>
> It would break all existing tools and scripts that are used to 
> build the existing repos - many of which are not official 
> tools. So, yes, it would be very annoying.

FWIW I don't think this would be the case. All build scripts I 
have seen call the Makefile (except for LDC/GDC, of course). The 
Makefile build would continue to work at any stage.

> That's not necessarily a good enough reason not to do it, but 
> IMHO, it really needs to provide solid benefits to rearrange 
> things like that for it to be worth breaking all of the 
> existing tools that anyone uses for building dmd, druntime, and 
> Phobos.

As mentioned, I don't know of any tool that builds druntime 
itself. Everyone calls the Makefiles.
If there are tools that build druntime on their own, it would be 
a very good point yes.

> It also arguably makes no sense in that a lot of what's in 
> druntime has nothing to do with dmd - e.g. all of the OS C 
> bindings are in there. There are also several modules that need 
> to be in druntime, because druntime uses them but don't really 
> have much to do with the compiler (e.g. core.time and 
> core.thread). And not only from a code organizational 
> standpoint does the current separation make a lot of sense for 
> a lot of what's in druntime, but it also matters from the 
> standpoint of who has permissions to do what. Right now, it's 
> reasonable to give privileges to folks to merge PRs for 
> druntime who have no business merging PRs for dmd.

> If the repos are merged, then we're forced to either give some 
> of those folks dmd merge rights or make the smaller pool of 
> folks who have merge rights for dmd deal with those PRs.

This shouldn't be a problem either as GitHub's CODEOWNERS files, 
are made for this use case and
all we need would be sth. this:

* @team-dmd
src/druntime @team-druntime

https://help.github.com/articles/enabling-required-reviews-for-pull-requests (Step 8)

> Also, given that druntime gets linked into Phobos, having that 
> repo be part of the compiler is that much weirder. In that 
> sense, it belongs more with Phobos than dmd.
>
> The dependencies between the three repos do occasionally cause 
> problems, but overall, I think that the separation makes a lot 
> of sense.

It causes A LOT of problems in terms of maintaining the CI and 
build scripts,
moving things between DMD and adding test for druntime features 
to the dmd testsuite.


More information about the Digitalmars-d mailing list