On Monday, 6 January 2014 at 20:23:23 UTC, Dwhatever wrote:
On Monday, 6 January 2014 at 17:52:44 UTC, Sean Kelly wrote:
On Monday, 6 January 2014 at 11:47:57 UTC, Dwhatever wrote:
I'm using LDC and unfortunately the -mtriple=arm-eabi isn't supported so I have to use -mtriple=arm-linux which automatically sets the "Posix" version string. I can always try to stub all the Posix calls in the library but what I think would work is that you have a stubbed version when there isn't any system name like Windows or Posix. For example.

version (Windows)
{
  ...
}
else version (Posix)
{
  ...
}
else
{
  //Stubbed interface
}

For LDC with an ARM backend, you only need to compile with -march= and/or -mcpu= if you wish to compile for bare-metal.

The version strings are listed here (http://dlang.org/version.html). So if I understand your objective, you would only need...

else version(ARM_Thumb) // or version(ARM) if targeting Cortex-A and the like
{
   ...
}

And it may actually need to look more like...
version(X86)
{
    version(Windows)
    { }
    else version(Linux)
    { }
    else
    { }
}
else version(ARM_Thumb)
{
    ...
}

of course the hard part is filling in the (...).

What CPU/MCU are you targeting?  Are you building for bare-metal?



Reply via email to