Congratulations on the release, really great to see GNUstep used in the wild like this!
As we’ve also been working on an GNUstep Android toolchain
(announcement forthcoming by Greg Casamento), I’d love to see if we can somehow combine our efforts towards making GNUstep work great on Android.
Our solution to managing the build process has been a collection of concise scripts
, one for each library, to pre-build the toolchain into a common shared location (for all ABIs). An Android project can then integrate the toolchain by calling gnustep-config in that location to get the necessary compiler/linker flags (e.g. from CMake as shown
in our Android Studio example project).
Other than that our setup seems very similar (e.g. using libdispatch and ARC), but it’d be great to hear where it differs from yours. We also have an integration with Qt internally (including integrating libdispatch with the Qt run loop) which I hope to share as another example.
While we’re still a long way from shipping something with this setup we’re pretty happy with our early prototypes using it.
As a side node, as of today the toolchain also works on arm64 and x86/x86_64 (great for using the emulator) using the gnustep-1.9 runtime (we tried using the 2.0 runtime but ran into an issue
with the clang version that is part of the NDK, but hopefully we can make the switch with a future NDK release).
Am 04.05.2019 um 05:49 schrieb Jordan Schidlowsky <address@hidden>:
Hey all, just wanted to share with everyone on the list we FINALLY launched our Android game built on GNUstep, Golf Blitz. It of course has an iOS counterpart but the Android build is built on top of GNUstep. If you have an android device you can find it easily in the Google Play store by searching for "Golf Blitz", it's free. It's a quite strange multiplayer golf game...
Arch: armv7a softfp
Graphics: GLESv2, cocos2d
Uses blocks, arc, and libdispatch heavily. Libdispatch isn't built into any runloop and we kinda bootstrap the apps main thread onto a java render thread... We also just drain the main dispatch queue manually and the start of our game loop.
Libs-base version: 9bcef37ae0bdf2ce5a1baacac2a3288cb39e2f03
Cloud game servers: Google cloud
Next up on my todo list is the get the game running on the 2.1 runtime (thanks David for all your work!), as Google has a requirement that all new game updates have to be built as arm64 binaries by August. I definitely will be able to provide a decent amount of testing for that runtime and arch.
Discuss-gnustep mailing list