Minimal druntime?

Ethan gooberman at gmail.com
Sat Jul 27 12:51:23 UTC 2019


This is another thing I see in hushed tones around here. So all 
in one place, the information goes.

Here's the short story for my plans for the runtime component of 
Smithy:

extern( C++ ) all the things.

Shipping Quantum Break showed me one thing: Certification 
processes will stop you dead in your tracks if any given platform 
holder's code analysis tools can't understand what your code is 
doing.

This slots neatly in with my DMD/LDC on mobile post. If I extern( 
C++ ) all the things, and avoid core and std, then I should be 
able to write code that doesn't even need a heavy druntime 
initialisation. Perhaps not even an init at all. I just want to 
write code at that point that doesn't use typeinfo, moduleinfo, 
etc. Binderoo won't be linked for example, I intend on making a 
library that for all intents and purposes looks like it was 
written in C++ to every compiler in use on the platforms I'll be 
targeting.

Making the compiler not link phobos should be easy. But the 
compiler expects to find druntime so it can include all its 
little hooks for arrays etc.

So. Is there a working minimal druntime out there? Or a process 
that can be applied for any given DMD release?


More information about the Digitalmars-d mailing list