]> git.ipfire.org Git - thirdparty/automake.git/commitdiff
Merge branch 'maint' into yacc-work
authorStefano Lattarini <stefano.lattarini@gmail.com>
Fri, 15 Apr 2011 15:43:28 +0000 (17:43 +0200)
committerStefano Lattarini <stefano.lattarini@gmail.com>
Fri, 15 Apr 2011 15:43:28 +0000 (17:43 +0200)
1  2 
ChangeLog
tests/defs.in

diff --cc ChangeLog
index 663f862a203671b9b4251c52003eaa54df451bf1,1c883ac0cbf9685d371b480ecf4ad384b8f3558c..1a0363c101818b9fc59d2de3f2e70652be593f7c
+++ b/ChangeLog
 -2011-04-12  Stefano Lattarini  <stefano.lattarini@gmail.com>
 -
 -      coverage: test for automake bug#8485 (known regression)
 -      * tests/yacc-dist-nobuild-subdir.test: New test.
 -      * tests/Makefile.am (TESTS, XFAIL_TESTS): Update.
 -
+ 2011-04-12  Stefano Lattarini  <stefano.lattarini@gmail.com>
+       test defs: define default $distdir (help reducing duplication)
+       * tests/defs.in ($distdir): New variable, might be used in
+       testcases checking distribution-related features.
+       * tests/pr9.test: Use it.
+       * tests/subdir9.test: Likewise.
+       * tests/vtexi3.test: Add comment explaining why we redefine
+       $distdir in this test.
 +2011-04-14  Stefano Lattarini  <stefano.lattarini@gmail.com>
 +
 +      coverage: test lex-generated "#line" directives postprocessing
 +      * tests/yacc-line.test: In heading comments, add reference to new
 +      sister test `lex-line.test'.
 +      * tests/lex-line.test: New test.
 +      * tests/Makefile.am (TESTS): Update.
 +
 +2011-04-14  Stefano Lattarini  <stefano.lattarini@gmail.com>
 +
 +      tests: minor improvements to a couple of yacc tests
 +      * tests/yacc-auxdir.test: Avoid running autoconf, it's not
 +      needed.
 +      * tests/yacc-line.test: Also check that the yacc-generated C
 +      and header files do not contain "#line" directives referencing
 +      `y.tab.c' or `y.tab.h'.  Add a couple of explicative comments.
 +
 +2011-04-11  Stefano Lattarini  <stefano.lattarini@gmail.com>
 +
 +      tests: split yacc6.test, for better separation and coverage
 +      * tests/yacc6.test: Test removed, its content extended and split
 +      into ...
 +      * tests/yacc-auxdir.test, tests/yacc-depend.test,
 +      tests/yacc-line.test: ... these new tests.
 +      * tests/yacc-depend2.test: New test, exposes the failure that
 +      FreeBSD used to encounter in yacc6.test.
 +      * tests/Makefile.am (TESTS): Update.
 +
 +2011-04-11  Stefano Lattarini  <stefano.lattarini@gmail.com>
 +
 +      tests: do not uselessly require GNU make or gcc in a few tests
 +      * tests/lex3.test: Remove gcc from requirements, as any working C
 +      compiler should be ok.  Consequently, do not clobber user CFLAGS.
 +      Also, remove GNUmake from requirements; it was added (see commit
 +      `Release-1-8-103-g0d2f592') because this test fails with FreeBSD
 +      make due to VPATH issues -- but so do many other yacc-related and
 +      lex-related tests currently, and requiring GNU make in all of
 +      them would unacceptably reduce coverage.
 +      * tests/lexvpath.test: Remove gcc from requirements, as any
 +      working C compiler should be ok.
 +      * tests/yacc4.test: Likewise.
 +      * tests/yacc8.test: Likewise.
 +      * tests/lex5.test: Likewise.  Also, do not require anymore GNU
 +      make; to compensate, explicitly call "$MAKE Makefile" to update
 +      the out-of-date Makefile if $MAKE is not GNU make.
 +
 +2011-04-12  Stefano Lattarini  <stefano.lattarini@gmail.com>
 +
 +      tests: fix spurious failure in test 'yacc-d-cxx.test'
 +      * tests/yacc-d-cxx.test: Create ylwrap script before calling
 +      automake for the first time, so that the script gets correctly
 +      distributed.  Add checks verifying it indeed is.
 +
 +2011-04-12  Stefano Lattarini  <stefano.lattarini@gmail.com>
 +
 +      tests cosmetics: remove redundant definitions of variable $tab
 +      * tests/yacc-d-basic.test ($tab): Remove definition: it's already
 +      defined in `tests/defs'.
 +      * tests/yacc-d-cxx.test: Likewise.
 +
 +2011-04-12  Stefano Lattarini  <stefano.lattarini@gmail.com>
 +
 +      yacc: add some tests on bison support (still xfailing)
 +      Related to automake bug#7648 and PR automake/491.
 +      * tests/bison-skeleton-cxx.test: New test.
 +      * tests/bison-skeleton.test: New test.
 +      * tests/Makefile.am (TESTS, XFAIL_TESTS): Updated.
 +
 +2011-04-12  Stefano Lattarini  <stefano.lattarini@gmail.com>
 +
 +      coverage: test for automake bug#8485 (known regression)
 +      * tests/yacc-dist-nobuild-subdir.test: New test.
 +      * tests/Makefile.am (TESTS, XFAIL_TESTS): Update.
 +
 +2011-04-10  Stefano Lattarini  <stefano.lattarini@gmail.com>
 +
 +      coverage: test mixed C/C++ yacc-generated parsers in the same dir
 +      * tests/yacc-mix-c-cxx.test: New test.
 +      * tests/Makefile.am (TESTS): Update.
 +
 +2011-04-10  Stefano Lattarini  <stefano.lattarini@gmail.com>
 +
 +      cosmetics: fix typos and wording in some yacc tests
 +      * tests/yacc-cxx.test (foo.cc): Clarify comment about the content
 +      of this file being valid C++ but invalid C.
 +      (parse1.yy): Likewise.  Also, remove redundant parentheses in a
 +      `return' statement.
 +      * tests/yacc-d-cxx.test (write_parse): Clarify comment about the
 +      content of the generated files being valid C++ but invalid C.
 +      (write_main): Likewise.
 +      * tests/yacc-basic.test: Remove redundant parentheses in a
 +      `return' statement.
 +      * tests/yacc-d-vpath.test: Adjust spacing around curly brackets.
 +      * tests/yaccvpath.test: Likewise.
 +      * tests/yaccdry.test: Likewise.
 +      * tests/yacc8.test: Likewise.
 +      * tests/yacc4.test: Likewise.
 +      Suggested by Ralf Wildenhues.
 +
 +2011-04-10  Stefano Lattarini  <stefano.lattarini@gmail.com>
 +
 +      yacc: update NEWS and docs about yacc-generated headers extensions
 +      * doc/automake.texi (Yacc and Lex): Document explicitly that
 +      extensions of yacc-generated headers are modelled after the
 +      extension of the corresponding sources.
 +      * NEWS: Update.
 +
 +2011-01-28   Stefano Lattarini  <stefano.lattarini@gmail.com>
 +
 +      yacc: extension of headers modelled after extension of sources
 +      With this change, if '-d' is in *YFLAGS, a yacc input file named
 +      foo.y++ will cause a foo.h++ header to be generated, instead of a
 +      foo.h header.  Similarly for foo.ypp, foo.yxx and foo.yy.
 +      This way, the name of the files generated by an automake-created
 +      `ylwrap' invocation should be consistent with those generated by
 +      a `bison -o' call.
 +      Related to automake bug#7648 and PR automake/491.
 +      * lib/am/yacc.am (am__yacc_c2h): New internal variable.
 +      (?GENERIC?%EXT%%DERIVED-EXT%, ?!GENERIC?%OBJ%): Get the name of
 +      the header dynamically at make runtime, so that its extension is
 +      modelled after the extension of the source.
 +      * automake.in (lang_yacc_target_hook): Adjust the calculation of
 +      `$header' accordingly.
 +      * tests/yacc-cxx.test: New test.
 +      * tests/yacc-d-cxx.test: Likewise.
 +      * tests/yacc-weirdnames.test: Likewise.
 +      * tests/yacc-basic.test: Update comments.
 +      * tests/yacc-d-basic.test: Likewise.
 +      * tests/yaccpp.test: Updated and extended.
 +      * tests/Makefile.am (TESTS): Update.
 +
 +2011-01-29  Stefano Lattarini  <stefano.lattarini@gmail.com>
 +
 +      tests: don't define YACC and LEX in the Makefiles
 +      We don't want YACC and LEX defined as make variables, otherwise
 +      the values determined at configure time will override those from
 +      the environment, even in the make-spawned testcases.  For example,
 +      before this change, with the following usage:
 +        $ ./configure YACC=yacc
 +        $ export YACC='bison -y'
 +        $ make check
 +      the testsuite would have ended up, very counterintuitively, with
 +      YACC defined to 'yacc' in the testcases' environment.
 +      * configure.ac: Call `AM_SUBST_NOTMAKE' on YACC and LEX.
 +
 +2011-01-29  Stefano Lattarini  <stefano.lattarini@gmail.com>
 +
 +      tests: fix spurious failures in lflags*.test
 +      * tests/lflags.test: Remove 'LEX' from the environment, so
 +      that it won't be erroneously picked up by `make -e'.
 +      * tests/lflags2.test: Likewise.
 +
 +2011-01-29   Stefano Lattarini  <stefano.lattarini@gmail.com>
 +
 +      coverage: more on 'yacc -d' and recovery from deleted headers
 +      * tests/yacc-deleted-headers.test: New test.
 +      * tests/Makefile.am (TESTS): Update.
 +
 +2011-01-29   Stefano Lattarini  <stefano.lattarini@gmail.com>
 +
 +      tests: remove redundancy from silent lex/yacc tests
 +      * tests/silent-yacc-gcc.test, tests/silent-yacc-generic.test: Merge
 +      these two testcases into ...
 +      * tests/silent-yacc.test: ... this new one, which doesn't fiddle
 +      which dependency tracking, as that shouldn't impact on generation
 +      of yacc-derived C source and header files (and, for what concerns
 +      compilation of C files, is already tested in other testcases).
 +      * tests/silent-lex-gcc.test, tests/silent-lex-generic.test: Merge
 +      these two testcases into ...
 +      * tests/silent-lex.test: ... this new test, for similar reasons.
 +      * tests/Makefile.am (TESTS): Update.
 +
 +2011-01-29  Stefano Lattarini  <stefano.lattarini@gmail.com>
 +          Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
 +
 +      tests init: better messages for 'yacc' and 'lex' requirements
 +      * tests/defs.in: Give better diagnostic messages when a test must
 +      be skipped to the unavailability of yacc or lex program.  Also,
 +      improve syncing between code for requiring yacc and lex.
 +
 +2011-01-28  Stefano Lattarini  <stefano.lattarini@gmail.com>
 +
 +      configure: look for a lex program to be used by the testsuite
 +      This will allow the testcases requiring a 'lex' program to run also
 +      with vendor/legacy lex implementations, not only with 'flex'.
 +      * configure.ac: Look for a lex program, using AC_CHECK_PROGS.
 +      * tests/defs.in: New required entry 'lex'.
 +      ($LEX): Let the user override the lex program to be used by the
 +      testsuite.
 +      * tests/cond35.test ($required): Require 'lex', not 'flex'.
 +      * tests/cond36.test: Likewise.
 +      * tests/lexv3.test: Likewise.
 +      * tests/lexv3.test: Likewise.
 +      * tests/silent-lex-gcc.test: Likewise.
 +      * tests/silent-lex-generic.test: Likewise.
 +      * tests/silent-many-gcc.test: Likewise.
 +      * tests/silent-many-generic.test:likewise.
 +      * tests/lexvpath.test: Likewise, and fix typo in comments.
 +
 +2011-01-22   Stefano Lattarini  <stefano.lattarini@gmail.com>
 +
 +      configure: look for a yacc program to be used by the testsuite
 +      Instead of forcing the user to manually export 'YACC' in the
 +      testsuite to use a non-bison yacc, we now look for a yacc program
 +      at configure time, and use that as the default in the testsuite.
 +      * configure.ac: Look for a yacc program, using AC_CHECK_PROGS.
 +      * tests/defs.in: Updated to use the value of $YACC precomputed by
 +      configure, unless the user overrides that in the environment.
 +
 +2011-01-22   Stefano Lattarini  <stefano.lattarini@gmail.com>
 +
 +      tests: more coverage on yacc/lex silent-rules, plus minor cleanups
 +      * tests/silent-yacc-gcc.test: Add sanity checks verifying that the
 +      generated Makefile.in files really contains the non-generic rules
 +      we expect.  Do not redundantly manually remove files we know to be
 +      already removed "make maintainer-clean".
 +      (Makefile.am): Ensure we cover also non-generic yacc rules, by
 +      setting target-specific YFLAGS.
 +      (sub/Makefile.am): Likewise.
 +      * tests/silent-yacc-generic.test: Likewise.
 +      * tests/silent-lex-gcc.test: Likewise, but with LFLAGS instead of
 +      YFLAGS.
 +      * tests/silent-lex-generic.test: Likewise.
 +      * tests/silent-many-gcc.test: Likewise, but with both LFLAGS and
 +      YFLAGS.  Also ...
 +      (do_and_check_verbose_build): Remove redundant blank line.
 +      * tests/silent-many-generic.test: Likewise.
 +      * tests/silent-yacc-headers.test: New test.
 +      * tests/Makefile.am (TESTS): Update.
 +
 +2011-01-22  Stefano Lattarini  <stefano.lattarini@gmail.com>
 +
 +      tests: fix spurious failures in yflags*.test
 +      * tests/yflags.test: Remove 'YACC' from the environment, so
 +      that it won't be erroneously picked up by `make -e'.
 +      * tests/yflags2.test: Likewise.
 +
 +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
 +      This change fixes automake bug#7828.
 +      * doc/automake.texi (Yacc and Lex): Document that automake
 +      recognizes '-d' in AM_YFLAGS only if it's not clustered with
 +      other options.
 +      From a report by Юрий Пухальский.
 +
 +2011-01-11  Stefano Lattarini  <stefano.lattarini@gmail.com>
 +
 +      tests: do not force yacc-requiring tests to use bison
 +      * tests/defs.in: New required entry 'yacc'.  Remove old
 +      required entry 'bison'.
 +      * tests/cond35.test ($required): Require yacc, not bison.
 +      * tests/cond36.test: Likewise.
 +      * tests/pr204.test: Likewise.
 +      * tests/silent-many-gcc.test: Likewise.
 +      * tests/silent-many-generic.test: Likewise.
 +      * tests/silent-yacc-gcc.test: Likewise.
 +      * tests/silent-yacc-generic.test: Likewise.
 +      * tests/subpkg.test: Likewise.
 +      * tests/suffix10.test: Likewise.
 +      * tests/yacc-basic.test: Likewise.
 +      * tests/yacc-clean.test: Likewise.
 +      * tests/yacc-d-basic.test: Likewise.
 +      * tests/yacc-d-vpath.test: Likewise.
 +      * tests/yacc-dist-nobuild.test: Likewise.
 +      * tests/yacc-nodist.test: Likewise.
 +      * tests/yacc4.test: Likewise.
 +      * tests/yacc6.test: Likewise.
 +      * tests/yacc7.test: Likewise.
 +      * tests/yacc8.test: Likewise.
 +      * tests/yaccdry.test: Likewise.
 +      * tests/yaccvpath.test: Likewise.
 +
 +2011-01-10   Stefano Lattarini  <stefano.lattarini@gmail.com>
 +
 +      yacc: warn about conditional content in *YFLAGS variables
 +      This change fixes automake bug#7804.
 +      * automake.in (lang_yacc_target_hook): Warn if any of the relevant
 +      *YFLAGS variables has conditional contents (not only a conditional
 +      definition).  Related refactoring.
 +      * NEWS: Updated.
 +      * tests/yflags-conditional.test: Updated and extended.
 +      * tests/yflags-conditional-force.test: New test.
 +      * tests/Makefile.am (TESTS): Updated.
 +
 +2011-01-08   Stefano Lattarini  <stefano.lattarini@gmail.com>
 +
 +      yacc: support variable expansions in *YFLAGS definition.
 +      This change fixes automake bug#7800.
 +      * automake.in (lang_yacc_target_hook): Use 'value_as_list_recursive'
 +      instead of 'variable_value' to get the value of *YFLAGS variables.
 +      Related changes.
 +      ($DASH_D_PATTERN): Removed.
 +      * tests/Makefile.am (XFAIL_TESTS): Remove yflags-var-expand.test.
 +      * tests/yacc-clean.test: Remove workaround for now-fixed bug.
 +      * NEWS: Update.
 +
 +2011-01-08   Stefano Lattarini  <stefano.lattarini@gmail.com>
 +
 +      yacc: more tests on *YFLAGS support
 +      * tests/yflags-var-expand.test: New test, still xfailing.  It
 +      exposes automake bug#7800 -- "automake fails to honor `-d' in
 +      AM_YFLAGS when variable expansions are involved".
 +      * tests/yflags-d-false-positive.test: New test, checking that
 +      automake do not spuriously see `-d' in *YFLAGS when that isn't
 +      really there.
 +      * tests/yflags-force-override.test: New test, checking that
 +      automake can cope with definition of the YFLAGS variable in
 +      Makefile.am (even if that is an extremely bad practice, as that
 +      variable is user-reserved).
 +      * tests/yflags-cmdline-override.test: New test, checking that
 +      automake can cope with user-redefinition of YFLAGS at configure
 +      time and/or at make time.
 +      * tests/yflags-conditional.test: New test, checks that automake
 +      warns on conditionally-defined *YFLAGS variables.
 +      * tests/Makefile.am (TESTS, XFAIL_TESTS): Update.
 +
 +2011-01-08   Stefano Lattarini  <stefano.lattarini@gmail.com>
 +
 +      yacc: extend and improve tests
 +      * tests/yacc-basic.test: Also check that the intermediate C file
 +      is mentioned in the generated Makefile.in, and that it is created
 +      by the first make invocation.
 +      * tests/yacc3.test: Test removed, superseded by ...
 +      * tests/yacc-d-basic.test: ... this new test.
 +      * tests/yacc2.test: Add reference to that new test in the heading
 +      comments.
 +      * tests/yacc-d-vpath.test: New test.
 +      * tests/yaccvpath.test: Updated heading comments.  Do not require
 +      gcc anymore, as any working C compiler should be enough.  Remove
 +      redundant comments.
 +      * tests/yacc-nodist.test: New test.
 +      * tests/yacc-dist-nobuild.test: New test.
 +      * tests/Makefile.am (TESTS): Update.
 +
 +2010-12-13  Stefano Lattarini  <stefano.lattarini@gmail.com>
 +
 +      Extend, fix and improve tests on Lex and Yacc support.
 +      * tests/lexcpp.test: New test script, on support for Lex + C++.
 +      * tests/lexvpath.test: New test script, test build and rebuild
 +      rules for lexers in VPATH setup.
 +      * tests/yacc-basic.test: New test script, run simple "semantic"
 +      checks on basic Yacc support (similarly to what lex3.test does
 +      for Lex support).
 +      * tests/lex.test: Don't create useless dummy source file joe.l.
 +      Remove extra blank lines.
 +      * tests/lex4.test: Add trailing `:' command.  Do not create dummy
 +      useless lex source file.
 +      * tests/lex2.test: Likewise.  Call automake with the `-a' option,
 +      so that it doesn't fail for the absence of `ylwrap' script.  Make
 +      grepping of automake stderr stricter.
 +      * tests/yacc7.test: Add trailing `:' command.  Enable `errexit'
 +      shell flag earlier (just after having sourced ./defs).
 +      * tests/yacc4.test: Likewise.  Also ...
 +      (configure.in): Use pre-populated skeleton set up by ./defs,
 +      instead of writing one from scratch.
 +      Other minor cosmetic changes.
 +      * tests/yacc5.test: Likewise.
 +      * tests/yaccvpath.test: Likewise. Also ...
 +      ($distdir): New variable.
 +      Use it throughout.
 +      * tests/lex5.test: Likewise.
 +      * tests/lex3.test: Likewise.  Check the distdir, rather than
 +      grepping the distribution tarball.  Extend the test on the
 +      created binary, and be sure to avoid hangs.  Add some comments.
 +      * tests/yacc.test: Use stricter grepping.  Add trailing `:'.
 +      * tests/yacc6.test: Likewise.
 +      * tests/yacc3.test: Likewise.  Do not create the unused file
 +      `Makefile.sed'.  Remove useless rules from Makefile.am.  Other
 +      minor cosmetic changes.
 +      * tests/yacc2.test: Make grepping of generated `Makefile.in' and
 +      of automake error messages stricter.  Do not redirect output of
 +      grep to /dev/null.  Move call to aclocal earlier.  Reduce the
 +      number of empty blank lines.  Fix a typo in comments.
 +      * tests/yacc8.test: Fixed bugs that reduced the completeness of
 +      the tests.  Added trailing `:' command.
 +      (configure.in): Use pre-populated skeleton set up by ./defs,
 +      instead of writing one from scratch.
 +      * tests/yaccpp.test: Test also extensions `.y++', `.ypp', and
 +      `.yxx', rather than only `.yy'.
 +      * tests/Makefile.am (TESTS): Update.
 +
 +2011-01-07   Stefano Lattarini  <stefano.lattarini@gmail.com>
 +
 +      yacc: "make clean" removes .c and .h files from non-distributed .y
 +      Previously, while automake did *not* distribute C source and header
 +      files derived from non-distributed Yacc sources, it still caused
 +      them to be removed only by "make maintainer-clean" only, and not by
 +      simply "make clean" or "make distclean".
 +      This caused "make distcheck" to fail, unless the developer put
 +      those generated .c and .h files in CLEANFILES or in DISTCLEANFILES
 +      by hand.
 +      This change fixes this issue, by making non-distributed `.c' and
 +      `.h' files generated by non-distributed Yacc sources cleaned by
 +      "make clean".
 +      * tests/automake.in (lang_yacc_target_hook): Make C source and
 +      header files derived from non-distributed Yacc files cleaned by
 +      "make clean", not only by "make maintainer-clean".
 +      * tests/yacc-clean.test: New test.
 +      * tests/Makefile.am (TESTS): Update.
 +      * NEWS: Update.
 +
  2011-04-11  Stefano Lattarini  <stefano.lattarini@gmail.com>
  
        depcomp: fix bugs in tests and in the depcomp script
diff --cc tests/defs.in
Simple merge