diff options
author | Stefano Lattarini <stefano.lattarini@gmail.com> | 2012-01-22 10:44:42 +0100 |
---|---|---|
committer | Stefano Lattarini <stefano.lattarini@gmail.com> | 2012-01-22 10:45:39 +0100 |
commit | b08103fedac9fbdf0a24f9192a901ea4b01e45af (patch) | |
tree | 01ccdc51751134f1e32433fbb3bbbe536e8e5b35 | |
parent | d266b5f7fb2fbb7fddb5b8515d57c32b45a50c67 (diff) | |
download | automake-b08103fedac9fbdf0a24f9192a901ea4b01e45af.tar.gz |
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.
-rw-r--r-- | automake.in | 4 | ||||
-rwxr-xr-x | tests/vala.test | 5 |
2 files changed, 7 insertions, 2 deletions
diff --git a/automake.in b/automake.in index 3c70b38e2..abca23de1 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 442661d5d..70122c326 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 + : |