]> git.ipfire.org Git - thirdparty/automake.git/commitdiff
tests: cover yacc target-specific flags, and `-v' flag handling
authorStefano Lattarini <stefano.lattarini@gmail.com>
Fri, 21 Jan 2011 10:47:20 +0000 (11:47 +0100)
committerStefano Lattarini <stefano.lattarini@gmail.com>
Sat, 22 Jan 2011 09:26:07 +0000 (10:26 +0100)
* tests/yacc-basic.test: Also try to build a parser having `-v'
as target-specific flags.  Add a couple of `ls -l' commands, for
debugging.  Update and extend comments.  Escape literal dots in
grep regular expressions.

ChangeLog
tests/yacc-basic.test

index 31adec7a796afd27574cdff7c85429c2379f92cf..3f23906c2b6e23349a54369650c811703ec6babc 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2011-01-22   Stefano Lattarini  <stefano.lattarini@gmail.com>
+
+       tests: cover yacc target-specific flags, and `-v' flag handling
+       * tests/yacc-basic.test: Also try to build a parser having `-v'
+       as target-specific flags.  Add a couple of `ls -l' commands, for
+       debugging.  Update and extend comments.  Escape literal dots in
+       grep regular expressions.
+
 2011-01-12   Stefano Lattarini  <stefano.lattarini@gmail.com>
 
        docs: clustered '-d' not recognized in YFLAGS
index 4faea9547b40a13ba913212516528e73930fd74e..cc2840148d58d91511fc444dacaf676d6f75e484 100755 (executable)
@@ -30,8 +30,10 @@ AC_OUTPUT
 END
 
 cat > Makefile.am << 'END'
-bin_PROGRAMS = foo
+bin_PROGRAMS = foo bar
 foo_SOURCES = parse.y foo.c
+bar_SOURCES = $(foo_SOURCES)
+bar_YFLAGS = -v
 
 .PHONY: echo-distcom
 echo-distcom:
@@ -59,30 +61,49 @@ $AUTOMAKE -a
 
 ./configure
 $MAKE
-# The `parse.c' file must be created and not removed (i.e., not treated
-# like an "intermediate file" in the GNU make sense).
+ls -l
+# The Yacc-derived C sources must be created, and not removed once
+# compiled (i.e., not treated like "intermediate files" in the GNU
+# make sense).
 test -f parse.c
+test -f bar-parse.c
+# Check that per-object flags are honored.
+test -f bar-parse.output
 
 echo a | ./foo
 echo b | ./foo && Exit 1
 
-# The generated file `parse.c' must be shipped.
+echo a | ./bar
+echo b | ./bar && Exit 1
+
+# The Yacc-derived C sources must be shipped.
 $MAKE echo-distcom
-$MAKE -s echo-distcom | grep '[ /]parse.c '
+$MAKE -s echo-distcom | grep '[ /]parse\.c '
+$MAKE -s echo-distcom | grep '[ /]bar-parse\.c '
 $MAKE distdir
 ls -l $distdir
 test -f $distdir/parse.c
+test -f $distdir/bar-parse.c
 
 # Sanity check on distribution.
+# Note that, for this to succeed, bar-parse.output must either not
+# be distributed, or properly cleaned by automake-generated rules.
+# We don't want to set the exact semantics yet, but want to ensure
+# they are are consistent.
 $MAKE distcheck
 
-# While we are at it, make sure that parse.c is erased by
+# Make sure that the Yacc-derived C sources are erased by
 # maintainer-clean, and not by distclean.
 test -f parse.c
+test -f bar-parse.c
 $MAKE distclean
+ls -l
 test -f parse.c
+test -f bar-parse.c
 ./configure # we must re-create `Makefile'
 $MAKE maintainer-clean
+ls -l
 test ! -f parse.c
+test ! -f bar-parse.c
 
 :