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
+
:
--
1.7.7.3