[Spice-devel] [PATCH 1/2] Fix generation of marshallers in VPATH builds

Christophe Fergeau cfergeau at redhat.com
Wed Mar 19 08:30:34 PDT 2014


The rules to generate the .c/.h (de)marshalling files have targets based in
$builddir, but the CLIENT_MARSHALLERS/SERVER_MARSHALLERS list refer to
files in $srcdir.
When using a $srcdir != $builddir, these $srcdir files will not exist, and
it will not be possible to generate them, which causes the build to fail.

When using $srcdir == $builddir from git or from tarballs, this will not
make a difference. When building from git, if $srcdir and $builddir are the
same, then the files will be found regardless of if we look for them in
$srcdir or $builddir as they are the same.
In tarballs, the files will be shipped with the tarball and thus available
in $srcdir. As $builddir is the same as $srcdir, the files will already
exist and not be regenerated.

The only change of behaviour will be when using a tarball and doing a
$srcdir != $builddir build. In this case, the files will need to be
regenerated, so the tools needed for that must be installed on the
machine doing the build.
---
 common/Makefile.am | 18 +++++++++---------
 1 file changed, 9 insertions(+), 9 deletions(-)

diff --git a/common/Makefile.am b/common/Makefile.am
index 73703fc..f985057 100644
--- a/common/Makefile.am
+++ b/common/Makefile.am
@@ -1,17 +1,17 @@
 NULL =
 
 # Avoid need for python(pyparsing) by end users
-CLIENT_MARSHALLERS =					\
-	$(srcdir)/generated_client_demarshallers.c	\
-	$(srcdir)/generated_client_demarshallers1.c	\
-	$(srcdir)/generated_client_marshallers.c	\
-	$(srcdir)/generated_client_marshallers1.c	\
+CLIENT_MARSHALLERS =				\
+	generated_client_demarshallers.c	\
+	generated_client_demarshallers1.c	\
+	generated_client_marshallers.c		\
+	generated_client_marshallers1.c		\
 	$(NULL)
 
-SERVER_MARSHALLERS =					\
-	$(srcdir)/generated_server_demarshallers.c	\
-	$(srcdir)/generated_server_marshallers.c	\
-	$(srcdir)/generated_server_marshallers.h	\
+SERVER_MARSHALLERS =				\
+	generated_server_demarshallers.c	\
+	generated_server_marshallers.c		\
+	generated_server_marshallers.h		\
 	$(NULL)
 
 BUILT_SOURCES = $(CLIENT_MARSHALLERS) $(SERVER_MARSHALLERS) $(top_srcdir)/spice-protocol/spice/enums.h
-- 
1.8.5.3



More information about the Spice-devel mailing list