diff options
author | Nicola Fontana <ntd@entidi.it> | 2015-03-23 22:04:32 +0100 |
---|---|---|
committer | Colin Walters <walters@verbum.org> | 2016-02-16 16:12:37 -0500 |
commit | b638438e874fa437adff3bb0480710fe5cbe120c (patch) | |
tree | 4ee1b3435e104a505f439f51fb3e793811643e90 | |
parent | 45757373ced1b50b183fb6cff44f1e6859d8cfb9 (diff) | |
download | gobject-introspection-b638438e874fa437adff3bb0480710fe5cbe120c.tar.gz |
Use a launcher for executing g-ir-scanner
In cross-compilation the build system is unable to execute the compiled
binary. Give the possibility to use a launcher, e.g. wine for MinGW or
qemu for different CPU type.
https://bugzilla.gnome.org/show_bug.cgi?id=696773
-rw-r--r-- | common.mk | 4 | ||||
-rw-r--r-- | giscanner/gdumpparser.py | 6 |
2 files changed, 10 insertions, 0 deletions
@@ -24,8 +24,12 @@ INTROSPECTION_SCANNER_ARGS = \ --add-include-path=$(top_builddir) \ --add-include-path=$(top_builddir)/gir +# GI_CROSS_LAUNCHER is the command to use for executing g-ir-compiler. +# Normally will be undefined but can be set (e.g. to wine or qemu) +# when cross-compiling INTROSPECTION_COMPILER = \ env PATH=".libs:$(PATH)" \ + $(GI_CROSS_LAUNCHER) \ $(top_builddir)/g-ir-compiler$(EXEEXT) INTROSPECTION_COMPILER_ARGS = \ diff --git a/giscanner/gdumpparser.py b/giscanner/gdumpparser.py index 9bdc2bc1..1134f33e 100644 --- a/giscanner/gdumpparser.py +++ b/giscanner/gdumpparser.py @@ -162,6 +162,12 @@ blob containing data gleaned from GObject's primitive introspection.""" out_path = os.path.join(self._binary.tmpdir, 'dump.xml') args = [] + + # Prepend the launcher command and arguments, if defined + launcher = os.environ.get('GI_CROSS_LAUNCHER') + if launcher: + args.extend(launcher.split()) + args.extend(self._binary.args) args.append('--introspect-dump=%s,%s' % (in_path, out_path)) |