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