On Saturday, 11 October 2014 at 06:59:33 UTC, Mike wrote:
Hello,
In my continued, though stalled, effort to try and make minimal
runtime for embedded systems, I've tried to find a way for
users to know at compile-time if a feature of the runtime is
supported or not, and more importantly, if they are explicitly
or implicitly using an unsupported feature.
I have started work myself on a D kernel (using gdc based on
2.065 as compiler) and am going through the process of figuring
out how the D runtime works. I have looked at XOMB and Adam
Ruppe's minimal-d, and saw the presentation online on running D
on ARM.
I can boot and call D functions, but most of the D language
remains unavailable. I am locating the various dependencies of
object.d(i) now, and hope to be able to soon be able to at least
complete a link with D code that has structs and enums. I am
currently using 2.065 druntime, adding only those bits of
object.d that the compiler is directly referencing, and
versioning my changes with version(BareBones).
Is your work online somewhere? Would it be OK if I took a peek?
Mine just started (seriously, it is just hello world) over at:
https://github.com/klamonte/cycle
I would really like a micro-runtime that supports the D dialect
minus GC, Threads, synchronization, OS APIs, and i386/amd64
arch-specific things like atomic operations. So far (crossing
fingers) it seems like such a thing is only about 5-10 kloc.