From 39f0ae6152acfb3d8ca086090a02e0aa8742f050 Mon Sep 17 00:00:00 2001
From: "Yann E. MORIN" <yann.morin.1998@free.fr>
Date: Sun, 2 Dec 2018 16:26:07 +0100
Subject: [PATCH] buildsys: use variable for glib-genmarshal

When doing cross-compilation, the path returned by pkg-config for
glib-genmarshal can be incorrect (because it is the runtime path,
not the build-time path).

Change configure.ac to use pkg-config to get the variable.

This allows overridig the path at configure time, by using the configure
option GLIB_GENMARSHAL=/path/toglib-genmarshal

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
[smcv: Fix typo in commit message]
Reviewed-by: Simon McVittie <smcv@collabora.com>
---
 configure.ac                           | 4 ++--
 dbus/Makefile.am                       | 4 ++--
 dbus/examples/statemachine/Makefile.am | 4 ++--
 3 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/configure.ac b/configure.ac
index e00bc38..8be3147 100644
--- a/configure.ac
+++ b/configure.ac
@@ -267,8 +267,8 @@ AC_DEFINE([GLIB_VERSION_MIN_REQUIRED], [GLIB_VERSION_2_32],
   [Warn on use of APIs deprecated before GLib 2.32])
 PKG_CHECK_MODULES([GLIB], [glib-2.0 >= 2.40, gobject-2.0 >= 2.40, gio-2.0 >= 2.40])
 
-GLIB_GENMARSHAL=`$PKG_CONFIG --variable=glib_genmarshal glib-2.0`
-AC_SUBST(GLIB_GENMARSHAL)
+PKG_CHECK_VAR([GLIB_GENMARSHAL], [glib-2.0], [glib_genmarshal],,
+    [AC_MSG_ERROR([cannot find glib-genmarshal])])
 
 dnl GLib flags
 AC_SUBST(GLIB_CFLAGS)
diff --git a/dbus/Makefile.am b/dbus/Makefile.am
index 37c6334..2e8cb27 100644
--- a/dbus/Makefile.am
+++ b/dbus/Makefile.am
@@ -87,10 +87,10 @@ dbus_binding_tool_LDADD= $(builddir)/libdbus-gtool.la $(builddir)/libdbus-glib-1
 ## we just rebuilt these manually and check them into cvs; easier than
 ## convincing automake/make to do this properly
 regenerate-built-sources:
-	@GLIB_GENMARSHAL@ --prefix=_dbus_g_marshal dbus-gmarshal.list --header > dbus-gmarshal.h && \
+	$(GLIB_GENMARSHAL) --prefix=_dbus_g_marshal dbus-gmarshal.list --header > dbus-gmarshal.h && \
 	echo '#include <config.h>' > dbus-gmarshal.c &&						    \
 	echo '#include "dbus-gmarshal.h"' >> dbus-gmarshal.c &&					    \
-        @GLIB_GENMARSHAL@ --prefix=_dbus_g_marshal dbus-gmarshal.list --body >> dbus-gmarshal.c
+        $(GLIB_GENMARSHAL) --prefix=_dbus_g_marshal dbus-gmarshal.list --body >> dbus-gmarshal.c
 
 
 completiondir = $(sysconfdir)/bash_completion.d
diff --git a/dbus/examples/statemachine/Makefile.am b/dbus/examples/statemachine/Makefile.am
index 187b044..c8fe029 100644
--- a/dbus/examples/statemachine/Makefile.am
+++ b/dbus/examples/statemachine/Makefile.am
@@ -35,11 +35,11 @@ statemachine-glue.h: statemachine.xml
 
 sm-marshal.c: Makefile sm-marshal.list
 	echo "#include <config.h>" > $@.tmp
-	@GLIB_GENMARSHAL@ --prefix=sm_marshal $(srcdir)/sm-marshal.list --header --body >> $@.tmp
+	$(GLIB_GENMARSHAL) --prefix=sm_marshal $(srcdir)/sm-marshal.list --header --body >> $@.tmp
 	mv $@.tmp $@
 
 sm-marshal.h: Makefile sm-marshal.list
-	@GLIB_GENMARSHAL@ --prefix=sm_marshal $(srcdir)/sm-marshal.list --header > $@.tmp && mv $@.tmp $@
+	$(GLIB_GENMARSHAL) --prefix=sm_marshal $(srcdir)/sm-marshal.list --header > $@.tmp && mv $@.tmp $@
 
 BUILT_SOURCES += sm-marshal.c sm-marshal.h
 
-- 
GitLab

