Jacob Carlborg Wrote:
> 
> I you don't think that support for other compilers should be in druntime 
> what do you suggest?

They should be in their own SVN repository somewhere.  I think one could even 
argue that the DMD compiler runtime (src/rt in druntime) should be maintained 
separately.  It's quite convenient to have the druntime repository produce a 
fully functional runtime however, and what better compiler to support than the 
reference compiler?

To be clear, I'm not vehemently opposed to other compiler runtimes living in 
the druntime repository.  It's simply proven to be a bad model.  In Tango, when 
a new DMD version was released I merged changes into the Tango runtime (a task 
which wouldn't admittedly exist with druntime), and then I speculatively made 
the same changes to the other runtimes as well.  In places where compiler 
support was needed, I left the new code versioned out with a comment to deal 
with it when that compiler was updated.  All in all, it meant a lot of work for 
me, and it was difficult to maintain a fully functional source tree.  I know 
the alternative is that each compiler team may have to sync with changes to 
druntime (at least core/* and gc/*), but this is a rather small and stable set 
of modules compared to the D1 Phobos arrangement.

>From a functional perspective, the other issue is that the compiler doesn't 
>like something having a module name of "rt.blah" but living in ldcrt/blah.d.  
>This is a problem with maintaining multiple GCs as well.  Symlinks are an 
>option on Posix, but as far as I know that isn't possible on Windows, so files 
>would have to be copied around during the build process depending on which 
>compiler or GC was selected.

Reply via email to