On Thursday, 13 February 2014 at 17:14:05 UTC, Adam D. Ruppe
wrote:
Don't implement _d_throw in druntime and they won't link. I'm
pretty sure the tables are still generated but they won't be
used (and are pretty small anyway.
Maybe I'm too pedantic about my code, but I don't want to have
useless tables in data sections. Sadly on practice this stuff
isn't cut off by optimizations.
http://arsdnet.net/dcode/minimal.zip
That's one with exception support (you can remove that sort of
with a -version switch but i like exceptions), classes, and
much the rest of the language but only comes out to ~30 KB
executable, zero outside dependencies (see also Makefile.bare
that can make a bare metal image bootable with grub).
It might not compile with the newest dmd, I'm not sure since I
haven't kept up with the changes over the last several months.
Ripping out druntime and doing it all yourself is liable to
break without warning.
An independent try at doing the same thing is here:
https://bitbucket.org/timosi/minlibd
I haven't used it myself though.
Thanks, I will look at it. But I agree that in general it may be
hard to keep your own minimal runtime library up to date with the
latest compiler version. That is a bad thing about it too...