I have this game engine...

Johannes Pfau via Digitalmars-d digitalmars-d at puremagic.com
Wed Nov 11 05:40:25 PST 2015


Am Wed, 11 Nov 2015 21:32:54 +1000
schrieb Manu via Digitalmars-d <digitalmars-d at puremagic.com>:

> Thanks Johannes! I tried a couple of builds with the prev binaries,
> but haven't been able to get to this stuff in any depth yet; I've been
> doing really long hours at work. I've had about half an hour a day to
> myself lately. Spread way too thin >_<
> Hopefully it calms down a bit soon, I'm really keen to dive in to
> this stuff.

No need to hurry. It's just the opposite for me: Since I finished my
bachelor thesis two weeks ago I've got much more free time at my
disposal. And there are still more than enough GDC related projects to
be done: Proper cross-compiler support for the test suite, proper MinGW
support, shared libraries :-)


BTW: One of the first problems you might encounter is missing
version(*) support. AFAICS we can not easily set version(Gamecube) or
version(Wii) from GDC. For now I recommend simply setting versions
manually with -fversion. But this also means you always have to pass
-fversion when compilling druntime and even when compilling user
applications or libraries !

I'd propose version(CRuntime_Newlib) for C-library related stuff and a
newlibVersion variable in core.[stdc.]config, version(DevkitPro) for the
vendor and version(Gamecube, Wii, WiiU, GBA, DS, DSi, 3DS) for the
system. Usage would be like this:

version CRuntime_Newlib
{
    //Newlib only supports this function with version 2.0
    static if(newlibVersion > NewlibVersion(2, 0))
    {
        extern(C) void foo();
    }
}
else //Ansi C
{
    extern(C) void foo();
}

version(Wii)
{
    version(DevkitPro)
    else version(Nintendo)
}

or 

version(DevkitPro)
{
    version(Gamecube)
    else version(Wii)
}

> Thanks for setting this stuff up so quick! It's nice that
> these are getting regular builds; hopefully they make it much easier
> for people to dive in and get moving.

I actually wanted to add support for these toolchains for some time now.
Your post motivated me to finally do it ;-)


More information about the Digitalmars-d mailing list