Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How does Marmalade SDK cross compiler work?

Marmalade SDK is a cross-compiler, cross-platform framework that allows one to develop Iphone applications from Windows. Marmalade has a cross-compiler that is able to generate valid signed IPAs directly from a local windows computer without requiring a Mac or a remote build service. I know of some "open toolchains" that are able to cross-compile applications but these toolchains are not compatible with Iphone licensing. Anyone has any idea of how Marmalade's cross-compiler works? How did marmalade develop a cross-compiler that is compatible with Iphone SDK licensing? What compiler do they use to cross-compile? Did they use an open source compiler and customized it? How do they link with a "portable-OS-wrapper" that is compatible with Iphone licensing?

like image 741
register Avatar asked Sep 10 '12 19:09

register


2 Answers

Marmalade is like a virtual OS.

It generates code that targets Marmalade ARM or x86 So code created on Windows targets Marmalade and does not know anything about iOS.

Marmalade code can't call OS directly. It can call EDK extensions only.

EDK extension provides interface for Marmalade and implementation for a set of Platforms: iOS, Android, Windows, etc

Marmalade has loaders for each platform. Loader loads Marmalade code that is same for iOS, Android, Bada and other ARM platforms

iOS loader is close source compiled object by Marmalade team on iOS.

EDK extensions for iOS and iOS Loader are compiled in XCode on Mac.

like image 131
Max Avatar answered Sep 18 '22 00:09

Max


What I know is Marmalade uses GCC compiler to compile the code to ipa. While deploying the build, Marmalade uses the certificates and keys in your Marmalade certificates folder. DrMop explains the certificates generation using key from Marmalade and Provision profiles from Apple's provisioning portal.

In the Deploy tool, all the bin files, compiled extensions, certificates and provisioned are merged and archived into ipa file. I don't think Marmalade has made the ipa creation technique public yet.

like image 39
noob Avatar answered Sep 19 '22 00:09

noob