[Spice-devel] [PATCH] Fix build from git with srcdir != builddir

Marc-André Lureau mlureau at redhat.com
Thu Dec 22 06:44:59 PST 2011


Hi

----- Mensaje original -----
> The --basedir argument to valac seems to be meant to help handling
> this case but it doesn't seem to work with f16 valac so I appended
> $(srcdir) to the vala source files.
> Build is still broken with --enable-vala during .vapi generation
> due to what look like a vala bug.

I don't think that's a vala bug, nor an automake bug. It's the way the Makefile.am is written. I think basedir only influence generated files include... I'd need to look closer.

> diff --git a/gtk/controller/Makefile.am b/gtk/controller/Makefile.am
> index 2d5c5af..39c4ed0 100644
> --- a/gtk/controller/Makefile.am
> +++ b/gtk/controller/Makefile.am
> @@ -11,6 +11,7 @@ AM_VALAFLAGS =							\
>  	--pkg gio-2.0						\
>  	--pkg spice-protocol --vapidir=$(top_srcdir)/data	\
>  	--pkg custom --vapidir=$(srcdir)			\
> +	--directory=$(srcdir)					\
>  	-C -g							\

Outputting files in srcdir goes against the idea of out of tree build.

>  
> @@ -26,8 +27,8 @@ noinst_PROGRAMS = test-controller
>  BUILT_SOURCES = controller.vala.stamp
>  
>  libspice_controller_la_VALASOURCES =		\
> -	menu.vala				\
> -	controller.vala				\
> +	$(srcdir)/menu.vala			\
> +	$(srcdir)/controller.vala		\

This is indeed needed, but then the $(libspice_controller_la_VALASOURCES:.vala=.c) substitution will also look for .c file in srcdir.

Since .c are dist'ed, they should be in the srcdir, so in the end I think that patch isn't really useful.

Instead, "./autogen.sh && make && make clean" should be run before doing out of tree builds from git.


More information about the Spice-devel mailing list