From b08103fedac9fbdf0a24f9192a901ea4b01e45af Mon Sep 17 00:00:00 2001 From: Stefano Lattarini Date: Sun, 22 Jan 2012 10:44:42 +0100 Subject: [PATCH] vala: fix name of temporary file used in vala rules Unquoted `@' characters in a "..." string in the automake script were causing slightly wrong rules to be emitted in the generated Makefile.in; i.e., rules like: rm -f $@ && echo stamp > $10t instead of the expected: rm -f $@ && echo stamp > $@-t * automake.in (lang_vala_finish_target): Fix that. * tests/vala.test: Enhance. --- automake.in | 4 ++-- tests/vala.test | 5 +++++ 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/automake.in b/automake.in index 3c70b38..abca23d 100644 --- a/automake.in +++ b/automake.in @@ -6083,9 +6083,9 @@ sub lang_vala_finish_target ($$) # especially important on systems with sub-second timestamp resolution). # Thus we need to create the stamp file *before* invoking valac, and to # move it to its final location only after valac has been invoked. - "\t${silent}rm -f \$@ && echo stamp > \$@-t\n". + "\t${silent}rm -f \$\@ && echo stamp > \$\@-t\n". "\t${verbose}\$(am__cd) \$(srcdir) && ${compile} \$(${derived}_SOURCES)\n". - "\t${silent}mv -f \$@-t \$@\n"; + "\t${silent}mv -f \$\@-t \$\@\n"; push_dist_common ("${derived}_vala.stamp"); diff --git a/tests/vala.test b/tests/vala.test index 442661d..70122c3 100755 --- a/tests/vala.test +++ b/tests/vala.test @@ -84,4 +84,9 @@ $FGREP 'baz.c' sub/Makefile.in $FGREP 'foo_vala.stamp:' sub/Makefile.in test `$FGREP -c '.stamp:' sub/Makefile.in` -eq 1 +# Check against regression for weird bug due to unescaped '@' +# characters used in a "..." perl string when writing the vala +# rules from automake.in. +grep '\$[0-9][0-9]*t' Makefile.in sub/Makefile.in && Exit 1 + : -- 2.7.4