Hello, في ح، 07-11-2010 عند 09:12 +0300 ، كتب Andrey Borzenkov: > > Automake assumes the .c files generated by vala are distributed with the > > source, and this isn't true when building from git. A solution is to do > > an in-tree build, make distclean, and re-run your out-of-tree build. The > > problem is you have to do this dance every time a vala file changes, so > > in practice, out-of-tree build isn't supported for development, only for > > release tarballs. > > > > I am afraid it does not answer my question. Yes, .c generated from > .vala are disributed, but why automake deliberately emits code that > cannot built .c files from .vala in *source* directory? Because you requested an out-of-tree build, I guess. The vala build is different enough that some assumptions in automake don't hold.
> The following crude change to final Makefile builds files in (srcdir) > when started from build directory: > [...] > Do you see any immediate problem with this change? Could automake > generate similar code by default? While this seems a bit weird (to touch the source dir for an out-of-tree build), if automake devs are ok I think it won't hurt :-) > > <wishlist> > > A possible solution is to have automake (optionally) not distribute the > > generated .c files (so they end up in the build dir rather than the > > source dir) and that could be used in development if out-of-tree builds > > are needed. > > </wishlist> > > > > While this is nice wishlist, it is rather orthogonal to discussed problem :) As I see it, if automake can generate a makefile that compiles the vala code in the build dir, it would solve your build failure as well :-) Regards, Abderrahim P.S. I don't know automake that well, I'm just a vala fanboy trying to help :-)