www.digitalmars.com         C & C++   DMDScript  

digitalmars.D - Re: why a part of D community do not want go to D2 ?

reply Sean Kelly <sean invisibleduck.org> writes:
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.
Nov 11 2010
next sibling parent "Vladimir Panteleev" <vladimir thecybershadow.net> writes:
On Thu, 11 Nov 2010 21:28:47 +0200, Sean Kelly <sean invisibleduck.org>  
wrote:

 They should be in their own SVN repository somewhere.

Nitpicking and off-topic, but probably not SVN - a DVCS would make maintaining a fork much easier.
 Symlinks are an option on Posix, but as far as I know that isn't  
 possible on Windows,

NTFS has had junction points for quite a while now, which behave almost exactly like directory symlinks. The last OS to not support them was Windows XP, if it was installed to a FAT32 partition. -- Best regards, Vladimir mailto:vladimir thecybershadow.net
Nov 11 2010
prev sibling parent Jacob Carlborg <doob me.com> writes:
On 2010-11-11 20:28, Sean Kelly wrote:
 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.

Ok, thanks for explaining. -- /Jacob Carlborg
Nov 12 2010