Hitchikers Guide to Porting Phobos / D Runtime to other architectures

Mike none at none.com
Mon Dec 2 18:43:33 PST 2013


> 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.
>
> Though it is fine to say using version {} else version {} else 
> static
> assert(false); when dealing with a small set of architectures.  
> I feel
> strongly this is not practical when considering there are 23+
> architectures and 12+ platforms that could be in mixed 
> combination.
> The result would either be lots of code duplications 
> everywhere, or
> just a wiry long block of spaghetti code.  Every port in one 
> file
> would (eventually) make it difficult for maintainers IMO.

I agree.  Submitted an enhancement here:  
https://d.puremagic.com/issues/show_bug.cgi?id=11666


More information about the Digitalmars-d mailing list