On Fri, May 08, 2015 at 08:07:19PM +0300, Tor Lillqvist wrote:
Well, we have tinderbox slaves that cross-compile for Android and iOS
constantly, so it can't be totally broken.
Those only work because the makefiles are full of special hacks for
those two targets. For example:
find external -name \*mk | xargs grep -E 'IOS|ANDROID' | wc -l
75
At the very least, you would need to be consistent about passing
--host and --build to the externals:
find external -name ExternalProject\*mk | wc -l
73
find external -name ExternalProject\*mk | xargs grep CROSS_COMPILING | wc -l
52
So you need to be more specific. Also whether something is considered
"broken" or not depends somewhat on whether it is even promised anywhere to
work, don't you think?
From previous experience with large C++ projects, I didn't really
expect LO to cross compile at all, and I am not saying that it aught
to.
As you should have noticed, LibreOffice is far from
some "typical" small Open Source library using GNU auto everything that
would be cross-compilable by simple passing --host and --build options to
the configure script. LibreOffice's configury and build system is quite
complex. (But then, so is the build system of most *large* Open Source
software packages.) We don't promise anywhere that arbitrary
cross-compilation would work.
It doesn't work in general. That is not so bad, but it would be
better to specifically limit the configuration choices to the
supported (and tested!) targets.
The same goes for the many --without-foo and --disable-bar options.
Many of these don't work.
You don't even tell what the host platform
for which you are cross-compiling is.
x86_64
Sure, we don't have anything testing cross-compilation from one Unix to
another Unix, for instance (like from x86_64 Linux to MIPS Linux, etc), so
if that is broken, that is not surprising. I think at some stage a few of
us managed to cross-compile from x86 (or x86_64) Linux to Raspberry Pi ARM
Linux, but that was last year and many things might have bit-rotted since.
Yup, I can see the bit rot. I think it would be a lot of work to make
the LO build system truly support cross. I can't do that myself, and
so I am not complaining. I don't even think cross compiling is a good
idea. In this day and age, most embedded ARM target can just use the
(natively built) debian packages.
But I will have to somehow get this working (with hacks) for one
particular target, and I do appreciate the helpful suggestions!
Once I am done I will have a better idea of the magnitude of the cross
issues. I can at least report what I found, if that helps.
Thanks,
Richard
Context
Privacy Policy |
Impressum (Legal Info) |
Copyright information: Unless otherwise specified, all text and images
on this website are licensed under the
Creative Commons Attribution-Share Alike 3.0 License.
This does not include the source code of LibreOffice, which is
licensed under the Mozilla Public License (
MPLv2).
"LibreOffice" and "The Document Foundation" are
registered trademarks of their corresponding registered owners or are
in actual use as trademarks in one or more countries. Their respective
logos and icons are also subject to international copyright laws. Use
thereof is explained in our
trademark policy.