Hitchikers Guide to Porting Phobos / D Runtime to other architectures

Mike none at none.com
Mon Jan 6 15:16:09 PST 2014


On Monday, 6 January 2014 at 17:04:57 UTC, Sean Kelly wrote:
> On Monday, 9 April 2012 at 10:19:47 UTC, Iain Buclaw wrote:
>>
>> Personally I feel that people porting to specific 
>> architectures should maintain their differences in separate 
>> files under a /ports directory structure - lets say 
>> core.stdc.stdio as a cod example. The version for bionic would 
>> be under /ports/bionic/core/stdc/stdio.d, and that is the 
>> module that gets compiled into the library when building for 
>> bionic. When installing, the build process generates a header 
>> file of the bionic version of core.stdc.stdio and puts the 
>> file in the correct /include/core/stdc/stdio.di location.
>
> This would really be fine.  I'd even say just put them in 
> core.sys.bionic or whatever, except that this location is for 
> platform-specific imports and so core.sys.bionic.stdio could 
> contain nonstandard extensions, while anything exposed by 
> core.stdc should not.  For all of these issues, bugzilla 
> tickets and/or pull requests are much appreciated.  I know that 
> the design I chose for my own ease of maintenance may not scale 
> past the handful of platforms DMD targets.

I would submit tickets requests for these things, but in order to 
create a meaningful ticket that can be acted upon, one must know 
precisely what should be done, and articulate that in the ticket. 
  But in order to understand what must be done, one must 
understand the current organization of the runtime.  But in order 
to understand the current organization of the runtime, one needs 
to be able to see the abstraction. But the crux of this problem 
is that one can't see the abstraction because of the way the 
runtime is organized (catch 22).

The same goes for pull requests.

Those already familiar with the runtime could accelerate 
contribution from others by 1) documenting the current 
abstraction on the wiki or 2) following up on 
https://d.puremagic.com/issues/show_bug.cgi?id=11666 so one can 
see the abstraction.  Finally the original runtime authors and 
porters could both begin writing a porting guide.


More information about the Digitalmars-d mailing list