All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [RFC PATCH 0/2] add gobject-introspection
@ 2017-02-23  0:54 Sam Bobroff
  2017-02-23  0:54 ` [Buildroot] [RFC PATCH 1/2] package/gobject-introspection: add package Sam Bobroff
  2017-02-23  0:54 ` [Buildroot] [RFC PATCH 2/2] package/libvips: enable introspection Sam Bobroff
  0 siblings, 2 replies; 22+ messages in thread
From: Sam Bobroff @ 2017-02-23  0:54 UTC (permalink / raw)
  To: buildroot


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

^ permalink raw reply	[flat|nested] 22+ messages in thread

end of thread, other threads:[~2017-08-27 15:15 UTC | newest]

Thread overview: 22+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-02-23  0:54 [Buildroot] [RFC PATCH 0/2] add gobject-introspection Sam Bobroff
2017-02-23  0:54 ` [Buildroot] [RFC PATCH 1/2] package/gobject-introspection: add package Sam Bobroff
2017-02-23  9:18   ` Thomas Petazzoni
2017-02-24  4:07     ` Sam Bobroff
2017-02-24  8:25       ` Thomas Petazzoni
2017-02-27 14:58         ` Arnout Vandecappelle
2017-02-27 15:06           ` Baruch Siach
2017-02-27 23:22             ` Sam Bobroff
2017-08-15 10:47               ` Adam Duskett
2017-08-17  6:44                 ` Alexey Roslyakov
2017-08-17 22:39                   ` Arnout Vandecappelle
2017-08-22 10:57                     ` Adam Duskett
2017-08-24 23:03                       ` Arnout Vandecappelle
2017-08-26 16:01                         ` Adam Duskett
2017-08-27  5:11                           ` Waldemar Brodkorb
2017-08-27 15:15                             ` Adam Duskett
2017-02-27 15:58           ` Thomas Petazzoni
2017-02-27 22:54             ` Sam Bobroff
2017-02-23 13:02   ` Baruch Siach
2017-02-23 13:44   ` Jérôme Pouiller
2017-02-23  0:54 ` [Buildroot] [RFC PATCH 2/2] package/libvips: enable introspection Sam Bobroff
2017-02-23  9:19   ` Thomas Petazzoni

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.