Subject: [bug#50201] [PATCH core-updates-frozen 0/52] Support cross-compilation in glib-or-gtk-build-system and fix cross-compilation errors

From: Mathieu Othacehe <[email-masked]>
Date: Tue, 31 Aug 2021 11:49:49 +0200

Hey,

Thanks for investigating it.

> One ‘solution’ is to run g-ir-scanner under QEMU:
> <https://maxice8.github.io/8-cross-the-gir/>.  That isn't really cross-compilation
> though, but emulated compilation, so it won't work with the Hurd.
> Might be good enough for cross-compiling between Linux targets though ...

Yes, looks like some projects such as Yocto[1] and Void[2] are also
using this solution. Requiring transparent emulating through QEMU while
cross-compiling will for sure make the process more complex. Restricting
this support to architectures that can be emulated by QEMU is also an
important limitation.

> (*) One solution would be to copy it over anyway and substitute things(***) where needed,
>     and re-generate the typelib data.  That seems rather prone to mistakes though,
>     so maybe we should then hash the adjusted introspection data and compare the hash
>     to the hash of what we now the introspection data must be (**).

This is a very interesting idea, I'm not familiar with this
introspection mechanism an couldn't judge how hard the substitution
would be. Maybe we could bring this topic upstream, to see what's their
opinion about it.

That's a whole new topic anyway, that shouldn't block the current
patchset we are discussing.

Thanks,

Mathieu

[1]: https://www.openembedded.org/pipermail/openembedded-core/2015-November/113390.html
[2]: https://voidlinux.org/news/2019/02/cross-gobject.html