From 668c22b2f132893daa125a586faed3cb958ef1c9 Mon Sep 17 00:00:00 2001 From: Bahjat SALEM Date: Sun, 25 Oct 2009 14:34:19 +0100 Subject: [PATCH] VPATH builds with Vala Problem solved: Build failure on a VPATH build. How the problem was solved: Made automake put the .stamp file and the .c sources in the source tree. Typical usage scenarii tested: 1. C sources have not yet been generated by $(VALAC). VPATH build. mkdir build && cd build && autoreconf -vfi .. && ../configure && make 2. C sources have not yet been generated by $(VALAC). Normal build. autoreconf -vfi && ./configure && make 3. C sources have already been generated by the package maintainer's $(VALAC). The sources are included in the package and do not need to be generated again. ./configure && make 4. Same as 3. mkdir build && cd build && ../configure && make Please ignore my previous (failed) patch. http://www.mail-archive.com/address@hidden/msg01597.html --- automake.in | 17 ++++------------- 1 files changed, 4 insertions(+), 13 deletions(-) diff --git a/automake.in b/automake.in index 2af2897..16d9a42 100755 --- a/automake.in +++ b/automake.in @@ -5979,11 +5979,7 @@ sub lang_vala_finish_target ($$) { foreach my $file ($var->value_as_list_recursive) { - $output_rules .= "\$(srcdir)/$file: \$(srcdir)/${derived}_vala.stamp\n". - "address@hidden test -f \$@; then :; else \\\n". - "\t rm -f \$(srcdir)/${derived}_vala.stamp; \\\n". - "\t \$(am__cd) \$(srcdir) && \$(MAKE) \$(AM_MAKEFLAGS) ${derived}_vala.stamp; \\\n". - "\tfi\n" + $output_rules .= "\$(srcdir)/$file: \$(srcdir)/${derived}_vala.stamp\n" if $file =~ s/(.*)\.vala$/$1.c/; } } @@ -5999,11 +5995,7 @@ sub lang_vala_finish_target ($$) '--vapi', '--internal-vapi', '--gir'))) { my $headerfile = $flag; - $output_rules .= "\$(srcdir)/$headerfile: \$(srcdir)/${derived}_vala.stamp\n". - "address@hidden test -f \$@; then :; else \\\n". - "\t rm -f \$(srcdir)/${derived}_vala.stamp; \\\n". - "\t \$(am__cd) \$(srcdir) && \$(MAKE) \$(AM_MAKEFLAGS) ${derived}_vala.stamp; \\\n". - "\tfi\n"; + $output_rules .= "\$(srcdir)/$headerfile: \$(srcdir)/${derived}_vala.stamp\n"; # valac is not used when building from dist tarballs # distribute the generated files @@ -6035,9 +6027,8 @@ sub lang_vala_finish_target ($$) my $silent = silent_flag (); $output_rules .= - "${derived}_vala.stamp: \$(${derived}_SOURCES)\n". - "\t${verbose}${compile} \$(${derived}_SOURCES)\n". - "\t${silent}touch address@hidden"; + "\$(srcdir)/${derived}_vala.stamp: \$(${derived}_SOURCES)\n". + "\t${verbose}\$(am__cd) \$(srcdir) && ${compile} \$(${derived}_SOURCES) && touch \$(abs_srcdir)/${derived}_vala.stamp\n"; push_dist_common ("${derived}_vala.stamp"); -- 1.6.0.4