iOS, status update

classic Classic list List threaded Threaded
6 messages Options
jani libreoffice jani libreoffice
Reply | Threaded
Open this post in threaded view
|

iOS, status update

Hi all

I am back after the summer break (which some might have guessed due to the new iOS commits).

Sidenote, I spend my 2 month vacation diving, managed to stay away from my computer, while I passed 4 exams (OW, AOW, Nitrox and rescue) so now I am a padi rescue diver.
(as always I like to do things 110%, the instructors made bets on whether I would achieve it :-) ).

The iOS port is back on schedule, before the summer break I did a lot of experiments to make it compile again and update it to recent iOS versions. I moved, at least, the library portion from a experiment level to a production like state (remark it is production like, because so far we have had no discussions about releasing any of the new stuff). The move also included securing the platforms of interest compiles.

I decided to drop 32bit, which caused severe problems in some of the third party libraries, and I decided to pre-link all LO libraries into 1 (this action reduces link time of the app from 12 minutes to 2 minutes 10 seconds), and since the next step involves app work a lot more the lib work, it is a time saving investment.

Supported platforms
arm64 for production (sorry this is the apple name for aarch64), used by all (newer) iPhones and iPads.
arm64 debug, to enable debugging on a i* from Xcode on a mac.
x86-64 debug, to enable the Xcode simulator to work for i* devices

SDK
min. 10.3 (no need to support old iOS versions)

XCODE
8.3
Current 9.0 does not compile the libraries correctly, but it also does not compile the normal LO app for macOSX correctly.

Make structure:
autoconfigure.ac have been cleaned for a lot of no longer needed iOS stuff, and the call generation moved down to the iOS/CustomTarget_ios.mk
distro-configs/LibreOfficeiOS.conf have been updated, remark I have currently disabled all the could be disabled, that may change later
ios/README, explains how to generated the library and how the different platforms work

Libraries
the final libraries (basically LibreOfficeKit) is stored in $(SRCDIR)/ios/generated, which is UGLY, but when working with the app you need to be able to switch between the 3 platforms, and hence have access to all 3 libraries, I could not find a way to generate the 3 libraries within 1 $(BUILDDIR), mainly because config_host.mk is stored at / level, and that is different for the 3 platforms.

Please remark this is still very much work in progress, but I believe the library is relatively stable now, and will continue with the swift app to add a UI.

The primary goal is to make a viewer, and once that is stable enhance it with limited editing capabilities. Timeframe is open but I hope to have the viewer available as part of the 6.0 release.

Anybody who wants, can of course use the work available in the repo, but I would also welcome any help, so please feel free to contact me on-list or off-list.

Many thanks to all who worked in iOS before me and thereby gave me a better starting point, and especially to Tor for his ongoing help and critical questions.


Comments are welcome.

rgds
jan I.
_______________________________________________
LibreOffice mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/libreoffice
jani libreoffice jani libreoffice
Reply | Threaded
Open this post in threaded view
|

Re: iOS, status update

Breaking news :-)

Just found out that when compiling third party libraries the make system uses the host variable, as a consequence when doing x86_64 (simulator) at least some of the libraries are compiled as arm64. The linker did not complain about this mismatch (which I consider a bug), but running the app failed.

Stay tuned for an update to configure.ac to solve this problem.

rgds
jan I.

_______________________________________________
LibreOffice mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/libreoffice
Jan-Marek Glogowski Jan-Marek Glogowski
Reply | Threaded
Open this post in threaded view
|

Re: iOS, status update

In reply to this post by jani libreoffice
Am 04.10.2017 um 08:52 schrieb Jan Iversen:

> Supported platforms
> arm64 for production (sorry this is the apple name for aarch64), used by all (newer) iPhones and iPads.
> arm64 debug, to enable debugging on a i* from Xcode on a mac.
> x86-64 debug, to enable the Xcode simulator to work for i* devices
>
> SDK
> min. 10.3 (no need to support old iOS versions)
>
> XCODE
> 8.3
> Current 9.0 does not compile the libraries correctly, but it also does not compile the normal LO app for macOSX correctly.

Please add this information to README.mds' "build chain and runtime
baselines" section.

Thanks

Jan-Marek
_______________________________________________
LibreOffice mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/libreoffice
Tor Lillqvist-2 Tor Lillqvist-2
Reply | Threaded
Open this post in threaded view
|

Re: iOS, status update

In reply to this post by jani libreoffice

Current 9.0 does not compile the libraries correctly, but it also does not compile the normal LO app for macOSX correctly.

It doesn't? What goes wrong, it compiles it fine here? (LO starts and seems to work fine, but I haven't dared running 'make check' on macOS in a long time, though, as some of the unit tests cause WindowServer to crash, yay.)

--tml

_______________________________________________
LibreOffice mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/libreoffice
Alex Thurgood Alex Thurgood
Reply | Threaded
Open this post in threaded view
|

Re: iOS, status update

Le 04/10/2017 à 10:33, Tor Lillqvist a écrit :
>> Current 9.0 does not compile the libraries correctly, but it also does not
>> compile the normal LO app for macOSX correctly.
>>
>

It compiles for me too, and provides a working app bundle, at least in
my symbols enabled build from current master.

XCode9.0, HighSierra OSX10.13


Alex


_______________________________________________
LibreOffice mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/libreoffice
sberg sberg
Reply | Threaded
Open this post in threaded view
|

Re: iOS, status update

In reply to this post by Tor Lillqvist-2
On 10/04/2017 10:33 AM, Tor Lillqvist wrote:
> It doesn't? What goes wrong, it compiles it fine here? (LO starts and
> seems to work fine, but I haven't dared running 'make check' on macOS in
> a long time, though, as some of the unit tests cause WindowServer to
> crash, yay.)

btw, on macOS full 'make check screenshot' works remarkably reliably for
me again since some days (after jmux' latest round of fixes, moving
event handling to the main thread on macOS), when before that it had
almost always crashed spectacularly since ages
_______________________________________________
LibreOffice mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/libreoffice