summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--common.mk4
-rw-r--r--giscanner/gdumpparser.py6
2 files changed, 10 insertions, 0 deletions
diff --git a/common.mk b/common.mk
index e26c6377..b778f7aa 100644
--- a/common.mk
+++ b/common.mk
@@ -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))