Description
I've had some hacky,primitive attempts to get rust onto iOS, not really getting very far;
I would just like to call rust entry points from an objective-C main application , as is possible for a cross-platform C++ opengl|ES project - I dont intend to build complete iOS executables in Rust, or interact with the iOS objC SDK itself.
it might not even need the entire rust runtime to be useful - it would interface with custom crossplatform C wrappers for mobile apps (something like an iOS port of glfw), in particular wrapping touch input and acess to file bundles.
[Attempt1]:- Originally I had hoped I could generate C source via LLVM-IR, but it turns out that has bitrotted and no longer works;
[Attempt2]:- got ARM assembly source (rustc --emit-llvm -S --target=arm-linux-androideabi..) using the existing android support but this uses a different ABI (eabi versus apples' modified AAPCS). There seemed to be directives that i'm told relate to stacl unwinding for exceptions.
http://developer.apple.com/library/ios/#documentation/Xcode/Conceptual/iPhoneOSABIReference/Articles/ARMv6FunctionCallingConventions.html
[Attempt3]:- I was advised I needed to modify mk/platform.mk to add an "arm-apple-darwin" target triple - made a little progress at least getting it to call apple tools but ran into difficulties.. with this I would still intend to generate assembly source for inclusion in an apple xcode-project as with [attempt2]
I'm posting info on my attempts, any comments/information/assistance welcome.
I'm not an exert in apple frameworks/toolchain, but I've done a crossplatform C++ sourcebase across win/android/iOS/linux as described above.