[Libreoffice] iOS and convert to PDF

Tor Lillqvist tml at iki.fi
Thu Nov 17 22:02:49 PST 2011


> Is it possible that I don't need module tail_build?
tail_build is a "meta-module" that actually builds most of the modules
that have been migrated over to the new gnu make based build system.
It includes all the "business logic" of Calc, Writer etc, so sure,
stuff from it will be needed.

> Anyway, that leads to my next question. How do I build an Xcode project that
> works like the project you show in your July blog post?

Ah, yes. I "faked" it from Xcode's point of view: I created one of the
simple sample projects that Xcode offers, called it "cppunittester",
built it, and then replaced the actual executable inside with the
totally unrelated sal_cppunittester_all (IIRC) executable built in
LibreOffice. I.e. I Xcode did not do any compilation of LibreOffice
code at all, I just used it to run such code in the simulator (or
upload to and run on a device) and debug. Worked fine;)

Note that the unit tester I ran does not have any GUI.

> Do I just add all
> the .a files from core/solver/unxiosr.pro/lib to the project?

That would probably be possible, yes. Not all .a files, but the ones
relevant for what the app in question does.

> I see what you're referring to in the vcl module.  I see there's a custom
> UIApplication subclass and an app delegate and a bunch of other iOS code and
> most of it seems to be objective-C++. But I don't see main().

main() comes from the somewhat mysterious SAL_MAIN_IMPL etc macros in
sal/inc/sal/main.h. In the cppunit case, the SAL_IMPLEMENT_MAIN macro
is called in sal/cppunittester/cppunittester.cxx.

(Don't look too closely at the iOS code in vcl yet, that is just some
rough ideas, a start that has never been actually tried yet. Look at
the Mac code in vcl, that at least works. (The iOS code is based on
the Mac one.)

The actual sequence how LibreOffice starts and gets its message /
event loop going is a bit complex. It might suffer from organic
evolution and over-engineering over time. Or maybe it really has to be
like this. hard to say.

Anyway, it is useful to compile at least sal, desktop and the stuff in
vcl/aqua with debugging, and then on a Mac step through in the
debugger (gdb, or I guess Xcode) what happens when then soffice.bin
process starts. (Or on Linux, but there the sequence is a bit simpler;
I assume what will be used on iOS matches better how it happens on the
Mac.)

--tml


More information about the LibreOffice mailing list