I have this game engine...

Johannes Pfau via Digitalmars-d digitalmars-d at puremagic.com
Wed Nov 4 12:31:13 PST 2015


Am Wed, 4 Nov 2015 09:37:46 +1000
schrieb Manu via Digitalmars-d <digitalmars-d at puremagic.com>:

> On 3 November 2015 at 17:30, Johannes Pfau via Digitalmars-d
> <digitalmars-d at puremagic.com> wrote:
> > Am Tue, 3 Nov 2015 09:16:47 +1000
> > schrieb Manu via Digitalmars-d <digitalmars-d at puremagic.com>:
> >  
> >> I have a samples directory which it would be theoretically
> >> possible to run and see that they don't crash as part of a test
> >> run. Also, I'd like to annotate my whole engine quite
> >> comprehensively with unittests. It's something that I'm keen to
> >> work on, and then it further helps to assure those toolchains
> >> remain working.  
> >
> > But how exactly would you run these? All CI machines are x86_64. I
> > guess emulators could be a possibility as long as they run headless.
> > We'd need some way to get feedback from the emulator though (test
> > passed/failed). If you're talking about running tests on the x86_64
> > architecture that should be easy.  
> 
> Emulators are the typical approach. Even Android + iOS have emulators
> that can be used for CI.
> Most emulators have such features required to return runtime errors
> back to the host environment for this sort of testing.

OK, that should work. I think the main problem is still the resource
usage when building GCC cross compilers. On Travis-CI we hit the 50
Minute execution limit, on SemaphoreCI we don't have enough temporary
disk space. CircleCI seems to work but I'm not sure if the "build
minutes per month" limit applies to OSS projects.
(Using prebuilt GDC toolchains to do CI for _fuji_ should work fine).


I've added support for devkitPro to our build scripts (I already knew
how to build these compilers so this was easy). We can build devkitARM
(GBA, DS, 3DS, N3DS) and devkitPPC (GC, Wii, WiiU) compilers. devkitPSP
can't be supported as it uses GCC 4.6. The oldest supported GCC version
for GDC  is 4.8.

Here is an build of all these toolchains running on CircleCI:
https://circleci.com/gh/jpf91/GDC/11
In theory this builds ready to use packages and could deploy these to
gdcproject.org as nightly builds.


If you want to build manually, use docker.io:

docker run -v ~/result-dir:/home/build/shared -t
jpf91/build-gdc /usr/bin/build-gdc build
--toolchain=i686-w64-mingw32/gcc-4.8/devkitPPC
--toolchain=i686-w64-mingw32/gcc-4.9/devkitARM


I've also uploaded initial toolchain builds here (untested):
ftp://ftp.gdcproject.org/binaries/devkitpro/

I still need to integrate devkitPro builds into the download page,
write some documentation and think about a directory layout which isn't
confusing when we have multiple devkitpro releases. I'll probably have
a look at this next weekend.


More information about the Digitalmars-d mailing list