[Mono-list] Port to symbian?
andreas.faerber at web.de
Sun Nov 12 15:20:37 EST 2006
>> I figured Mono was way too big for my phone and Symbian OS only
>> includes a POSIX compatibility library and otherwise uses C++
>> libraries along with its own conventions, so porting Mono directly
>> seemed problematic at least.
> Mono does require very little from the underlying OS other than Posix.
> It might be interesting to get it working on that platform as well.
I defintely agree that this would have been the easiest, yes. Mono
does use TLS so would be okay, however I am not aware of any of its
dependencies (glib, etc.) being available, also Symbian uses its own
(ugly) Perl-based make system on Windows.
> Writing a fully compliant CLI is going to take a lot longer than
> carefully turning features off
I'd guess that!
> (we already support turning a few
> features off, see:
> For more details.
Last time I checked I believe Mono was about 8 MB in whole. By
comparison my phone has 4 MB in whole minus RAM and data (with no
memory expansion possibilities) so a CLI should be no larger than
maybe 500 KB - I doubt a compiler optimization, stripped debug
symbols and locales would make such a big difference, and regarding
the required autoconf etc. changes getting Mono to compile on Intel
OS X was already a hard thing for me! I can understand that Symbian
OS (just like Solaris) is not Novell's top priority, but there was
virtually no response from other potential contributors - the posts
were originally about porting Mono after all - and alone I am at a
Symbian OS rarely uses exes but mostly dlls even for applications up
to Symbian OS 8.x, so memory cleanup is key which it does using
strict two-phase object construction, a cleanup stack and its own
exception handling mechanism (C++ exceptions only on Symbian OS 9.x);
to support this infrastructure there are so-called descriptors that
wrap access to arrays or memory areas. Supporting all this would make
the Mono codebase pretty ugly with lots of #ifdefs.
More information about the Mono-list