Subject: Re: bug#8753: unable to build VALA project out-of-tree

From: Stefano Lattarini <[email-masked]>
Date: Thu, 1 Sep 2011 21:35:07 +0200

Hi Zbigniew, sorry for the shameful delay.

On Saturday 28 May 2011, Zbigniew Jędrzejewski-Szmek wrote:
> Automake generates rules for VALA files which try to create C output
> in the source directory. This is pretty strange, but anyway the
> build doesn't succeed even if the source directory is writable.
> 
> quoting Andrey Borzenkov in http://lists.gnu.org/archive/html/automake/2010-11/msg00036.html:
> 
> -------------------------------------------------------------------
> I'm trying to rebuild systemd
> (http://www.freedesktop.org/wiki/Software/systemd) from GIT. It is
> using several programs built using vala; in-tree build is OK,
> out-of-tree build fails:
> 
> {pts/0}% LC_ALL=C make
> make  all-am
> make[1]: Entering directory `/home/bor/build/systemd'
> make[1]: *** No rule to make target
> `/home/bor/src/systemd/systemadm_vala.stamp', needed by
> `/home/bor/src/systemd/src/systemadm.c'.  Stop.
> make[1]: Leaving directory `/home/bor/build/systemd'
> make: *** [all] Error 2
> 
> Looking at Makefile.in, generated by automake, I cannot understand how
> it is supposed to work:
> 
> $(srcdir)/src/systemadm.c: $(srcdir)/systemadm_vala.stamp
>         @if test -f $@; then :; else \
>           rm -f $(srcdir)/systemadm_vala.stamp; \
>           $(am__cd) $(srcdir) && $(MAKE) $(AM_MAKEFLAGS) systemadm_vala.stamp; \
>         fi
> systemadm_vala.stamp: $(systemadm_SOURCES)
>         $(AM_V_VALAC)$(VALAC) $(systemadm_VALAFLAGS) $(VALAFLAGS) -C
> $(systemadm_SOURCES)
>         $(AM_V_at)touch $@
> 
> In out-of-tree build $(srcdir)/systemadm_vala.stamp is not the same as
> systemadm_vala.stamp, nor can it be. VPATH search does not apply here,
> because path does not yet exist; so when it is rebuilt, file name is
> used verbatim.
> -------------------------------------------------------------------
> 
> Andrey didn't get a definite reply, but the problem seems to be still present.
> 
> Zbyszek
> 
> 
I'm quite ignorant about vala and also its support in automake, but I do
think that VPATH builds are not really supported for vala.

Anyway, it would be nice to at least expose the problem in the Automake
testsuite, even if only as an XFAIL; do you have a minimal use case
exposing the issue?

Regards,
  Stefano