Brussels / 1 & 2 February 2014


LibreOffice plumbing on iOS and Android

In this presentation, I will present a summary of the peculiarities of LibreOffice internals on iOS and Android, and tell about some recent advances like running as 64-bit ARM64 code on the newest iOS devices.

Note: I am intentionally using the term "LibreOffice code", not "LibreOffice".

Porting the LibreOffice codebase to iOS and Android was quite fun and many interesting issues had to be worked on. Some tasks were expected, like having to create new C++/UNO bridges for the two new platforms (not from scratch, but borrowing code from appropriate existing ones of course). Other issues were unexpected, like discovering the arbitrary and (relatively) low limit on the number of dynamic libraries loaded into a process on Android.

In general the restrictions placed on iOS apps that would require significant changes to some part of LibreOffice internals were well documented and known in advance, while restrictions in Android were undocumented, often presumably coincidental (or even simply bugs), and thus came as a surprise.

The porting efforts, and cross-compilation support in general, started back when we were still using a hybrid of old and new build mechanisms, which brought its own charms. But luckily dmake is dead now.


Tor Lillqvist