[Buildroot] [RFC PATCH 0/2] add gobject-introspection
Sam Bobroff
sam.bobroff at au1.ibm.com
Thu Feb 23 00:54:53 UTC 2017
Hi Buildroot,
Here's my attempt at the gobject-introspection package, presented for comments.
The basic design is:
* Build host-gobject-introspection normally, but slightly patched to allow an
alternate "ldd" to be used (this handles it's use of "ldd", it already has a
way to add a wrapper when it directly executes binaries).
* Manually construct some wrappers in the staging
directories so that it can be used from there on target packages (via QEMU
usermode).
* Build the target packages that use gobject-introspection using the wrappers
in staging.
* Build the target version of gobject-introspection (I think this is necessary
at run time, but I can't remember for sure).
The part I'm least happy with is the ldd-cross script, and the way it has to
scrape information out of "/usr/bin/ldd" to find the target's dynamic linker.
Is there a better way to find the dynamic linker in the target?
Note: ldd-cross can be useful separately, as it lets you easily inspect target
binaries from the host. Perhaps it should be it's own package?
I've included a patch to a random package (libvips) that uses
gobject-introspection to enable it's use and exercise build dependencies.
I'm sure it needs more cleanup, but at least it works.
Cheers,
Sam.
Sam Bobroff (2):
package/gobject-introspection: add package
package/libvips: enable introspection
package/Config.in | 1 +
.../0001-ldd-cross-launcher.patch | 22 +++++++++
package/gobject-introspection/Config.in | 12 +++++
package/gobject-introspection/create-ldd-cross.sh | 46 ++++++++++++++++++
.../gobject-introspection/gobject-introspection.mk | 55 ++++++++++++++++++++++
package/libglib2/libglib2.hash | 4 +-
package/libglib2/libglib2.mk | 4 +-
package/libvips/Config.in | 1 +
package/libvips/libvips.mk | 4 +-
9 files changed, 143 insertions(+), 6 deletions(-)
create mode 100644 package/gobject-introspection/0001-ldd-cross-launcher.patch
create mode 100644 package/gobject-introspection/Config.in
create mode 100755 package/gobject-introspection/create-ldd-cross.sh
create mode 100644 package/gobject-introspection/gobject-introspection.mk
--
2.11.0
More information about the buildroot
mailing list