Build dependency on external cppunit

Richard Cochran richardcochran at gmail.com
Sat May 9 02:27:49 PDT 2015


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


More information about the LibreOffice mailing list