]> git.ipfire.org Git - thirdparty/automake.git/log
thirdparty/automake.git
13 years ago[ng] parallel-tests: support "TESTS = $(srcdir)/foo.test"
Stefano Lattarini [Sun, 22 Apr 2012 14:37:11 +0000 (16:37 +0200)] 
[ng] parallel-tests: support "TESTS = $(srcdir)/foo.test"

This change fixes a small but annoying limitation of the parallel
testsuite harness.   Before this change, if $(TESTS) contained a test
case with '$(srcdir)' in its name:

  TESTS = $(srcdir)/foo.test

the parallel testsuite driver would have created the 'foo.log' and
'foo.trs' files in the source directory rather than in the build
directory.  This made it impossible to employ useful constructs of the
following kind:

  TESTS = $(wildcard *.test)

in a VPATH setup.  In fact, the idiom as written above would have missed
any test in the source directory (i.e., any non-generated tests), while
the "corrected" idiom:

  TESTS = $(wildcard $(srcdir)/t[0-9][0-9]*.sh t[0-9][0-9]*.sh)

would have created the '.log' and '.trs' files for any distributed test
in the source directory.

After this change, the "corrected" idiom above is usable, and created
'.log' and '.trs' files in the build directory.

* doc/automake.texi: Don't warn about the old limitation anymore.
* NG-NEWS: Document that that limitation has been lifted.
* lib/am/check.am (am__cooked_tests): New variable, containing all the
entries of $(TESTS) with $(srcdir) prefix (if present) removed.
* am__cooked_tests: Likewise, but for the contents of $(XFAIL_TESTS).
* automake.in (handle_tests): Adjust the definition of $(TEST_LOGS) to
use '$(am__cooked_tests)' instead of raw '$(TESTS)'.
* t/parallel-tests-srcdir-in-test-name.sh: Adjust to test the new
semantics.
* t/list-of-tests.mk (XFAIL_TESTS): Remove the above test, it now
passes.
* t/parallel-tests-dynamic.sh: Enhance a little.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
13 years ago[ng] coverage: parallel-tests and dynamic $(TESTS) content
Stefano Lattarini [Sun, 22 Apr 2012 13:15:02 +0000 (15:15 +0200)] 
[ng] coverage: parallel-tests and dynamic $(TESTS) content

The recent changes to the parallel-tests implementation should allow us
to define or override TESTS with more dynamic contents; in particular,
something like:

  TESTS = $(wildcard t[0-9][0-9]*.sh)

should now work smoothly.  Let's cover this enhanced functionalities
explicitly in our testsuite.

* t/parallel-tests-dynamic.sh: New test.
* t/list-of-tests.mk: Add it.
* NG-NEWS: Document the new feature.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
13 years ago[ng] parallel-tests: simplify automake-time preprocessing
Stefano Lattarini [Fri, 20 Apr 2012 19:04:36 +0000 (21:04 +0200)] 
[ng] parallel-tests: simplify automake-time preprocessing

Our new pattern rules, introduced in recent commit 'v1.11b-124-gaeaba3f',
are smart enough to allow us to ditch most of our cumbersome automake-time
analysis and rewriting of the $(TESTS) variable when the parallel-tests
driver is used.  This also makes other related simplifications possible.

This change causes a little regression in that we won't be able anymore to
diagnose at automake time test cases that start with the '$(srcdir)' or
'$(top_srcdir)' component, but that's acceptable, since a later commit will
make the former case actually work, and the second case isn't important
enough to worry to much about.

This change also causes a small behavioural change in automake, in that it
will also need the 'LOG_DRIVER' variable to be defined in each Makefile.am
defining the 'TESTS' variable; and if it's not defined, automake will
define it itself, and require the presence of the 'test-driver' auxiliary
script in the process (or bing it in if the "--add-missing" option is in
use).  See the changes to 'NG-NEWS' for more details, and for workarounds.

* automake.in (handle_tests): Don't walk nor rewrite $(TESTS) when the
'parallel-tests' option is active.  Other related minor simplifications.
* t/exeext4.sh: Define '$am_parallel_tests' to "no", so that the test
won't be run with the 'parallel-tests' option enabled (as the semantics
in that case have been changed in a way that would make this test fail).
* t/check7.sh: When '$am_parallel_tests' is "yes", skip checks that
don't work anymore with the 'parallel-tests' option is enabled.
* t/test-driver-custom-no-extra-driver.sh: Adjust to avoid spurious
failures to to the "LOG_DRIVER must be defined somehow" semantic change.
* t/tap-common-setup.sh: Likewise.
* t/tap-recheck.sh: Likewise.
* t/tap-basic.sh: Likewise.
* t/tap-diagnostic-custom.sh: Likewise.
* t/tap-more.sh: Likewise.
* t/tap-recheck.sh: Likewise.
* t/tap-signal.tap: Likewise.
* t/test-driver-custom-multitest.sh: Likewise.
* t/test-driver-custom-multitest-recheck.sh: Likewise.
* t/test-driver-custom-multitest-recheck2.sh: Likewise.
* t/test-driver-custom-xfail-tests.sh: Likewise.
* t/test-driver-fail.sh: Likewise.
* t/test-driver-strip-vpath.sh: Likewise.
* t/test-metadata-global-log.sh: Likewise.
* t/test-metadata-global-results.sh: Likewise, and enhanced a little since
we are at it.
* t/test-metadata-results.sh: Likewise.
* t/tap-bad-prog.tap: Likewise.
* t/parallel-tests8.sh: Move the now-failing checks verifying that automake
diagnoses test cases that start with the '$(srcdir)' or '$(top_srcdir)'...
* t/parallel-tests-srcdir-in-test-name.sh: ... this new xfailing test.
* t/spy-pattern-rules.sh: New "spy" test, verify our new assumptions on the
precedence of pattern rules truly hold.
* t/parallel-tests-longest-stem.sh: New test.
* t/list-of-tests.mk: Update.
* doc/automake.texi: Document that $(TESTS) is rewritten for $(EXEEXT)
appending only when the 'parallel-tests' option is *not* in use.
Add a "FIXME" comment about the fact that automake does not diagnose test
cases that start with the '$(srcdir)' or '$(top_srcdir)' anymore.
* NG-NEWS: Update.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
13 years ago[ng] cleanup: simplify %transforms for parallel-tests handling
Stefano Lattarini [Fri, 20 Apr 2012 16:04:47 +0000 (18:04 +0200)] 
[ng] cleanup: simplify %transforms for parallel-tests handling

* automake.in (handle_tests, handle_per_suffix_test): Drop some %transforms
previously required when processing 'lib/am/check.am': '%SOURCE%', '%OBJ%',
'%BASE%' and '?GENERIC?'.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
13 years ago[ng] parallel-tests: simplify, using pattern rules with multiple targets
Stefano Lattarini [Thu, 19 Apr 2012 12:44:54 +0000 (14:44 +0200)] 
[ng] parallel-tests: simplify, using pattern rules with multiple targets

In GNU make, a pattern with multiple targets, like:

    %.tab.c %.tab.h: %.y
            bison -d $<

informs make that the associated recipe (in this example, "bison -d foo.y")
will make create all the targets *at once* (in this example, both 'x.tab.c'
and 'x.tab.h').

Using this semantics we can simplify the parallel testsuite harness nicely,
especially the recipe to build 'test-suite.log' in face of partially
missing prerequisites (e.g., a missing '.trs' file while the corresponding
'.log' file is present and up-to-date).

In doing so, we unfortunately lose the ability to cope with very fringe-case
situations and weird errors (e.g., a '.log' or '.trs' file somehow created
unreadable), but that's a more than fair trade-off for the simplifications
we obtain.

* lib/am/check.am (am__set_TESTS_bases): Removed, superseded  by ...
(am__TEST_BASES): ... this new variable.
(check-TESTS, recheck): Adjust these recipes.
(am__TEST_RESULTS): New variable.
(am__check_pre): Adjust, to avoid an extra error (syntax error in the
shell) when a circular dependency due to $(TEST_SUITE_LOG) being listed
in $(TEST_LOGS) is detected.
($(TEST_SUITE_LOG)): Recipe heavily edited and simplified.  Also,
depend on $(am__TEST_RESULTS) explicitly.
(.log.trs): Remove this suffix rule, superseded by ...
* lib/am/check2.am (%.log %.trs): ... this new pattern rule.
Remove obsolete suffix rules.
(am__runtest): Adjust.
* automake.in (handle_tests): Adjust minimally.
* lib/Automake/Rule.pm: Skip detection of duplicated rules for pattern
rules; it would be tricky, prone to false positives, and not worth it.
* t/parallel-tests-fork-bomb.sh: Minimal adjustments.
* t/parallel-tests-unreadable.sh: Adjust functional tests.
* t/serial-tests.sh: Adjust grepping checks.
* t/serial-extensions.sh: Likewise.
* t/parallel-tests-fd-redirect.sh: Relax grepping checks.
* t/parallel-tests-fd-redirect-exeext.sh: Likewise.
* t/test-trs-basic.sh: Adjust checks about some internal details that
have been changed.
* t/parallel-tests-no-repeat.sh: New test.
* t/test-trs-recover-parallel.sh: Likewise.
* t/test-driver-trs-suffix-registered.sh: Remove as obsolete.
* t/test-missing2.sh: Remove (as "too picky").
* t/test-trs-recover2.sh: Likewise.
* t/list-of-tests.mk: Update.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
13 years agoMerge branch 'master' into ng/master
Stefano Lattarini [Sat, 21 Apr 2012 08:42:27 +0000 (10:42 +0200)] 
Merge branch 'master' into ng/master

* master:
  refactor: processing of input makefile rules
  automake: refactor pre-processing of makefile fragments
  docs: remove obsolete references to Autoconf 2.13
  tests: fix spurious failure with non-ANSI terminals

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
13 years agorefactor: processing of input makefile rules
Stefano Lattarini [Fri, 20 Apr 2012 08:05:51 +0000 (10:05 +0200)] 
refactor: processing of input makefile rules

This is a pure refactoring, with no intended functional or semantic
changes.  It breaks up an overly-long function in three smaller
sub-functions.  This change will very especially useful for the work
on Automake-NG.

* lib/Automake/Rule.pm (define): Move quite a lot of code out, into ...
(_rule_defn_with_exeext_awareness, _maybe_warn_about_duplicated_target,
_conditionals_for_rule): ... these new subroutines.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
13 years agoautomake: refactor pre-processing of makefile fragments
Stefano Lattarini [Mon, 16 Apr 2012 12:59:53 +0000 (14:59 +0200)] 
automake: refactor pre-processing of makefile fragments

This change will provide the automake script with a new function that
reads in a Makefile fragment *without* performing Automake ad-hoc parsing,
but only the pre-processing step, i.e., removal of '##' comments and
substitution of tokens like '%SUBDIRS%', '%?LIBTOOL%' or '?GENENRIC?'.

This will very likely be useful for the work on Automake-NG.

This is a pure refactoring, with no intended functional or semantic
changes.

* automake.in (preprocess_file): New function, extracted ...
(make_paragraphs): ... from here.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
13 years agodocs: remove obsolete references to Autoconf 2.13
Stefano Lattarini [Fri, 20 Apr 2012 17:29:14 +0000 (19:29 +0200)] 
docs: remove obsolete references to Autoconf 2.13

Autoconf 2.13 is definitely obsolete today, so giving hints or caveats
about it in the Automake documentation is not only obsolescent, but
also counter-productive, as it suggests that autoconf 2.13 is still
relevant.

* doc/automake.texi: Adjust.  Related rewordings.  Since we are at it,
prefer using a more modern autoconf version number (2.68 instead of 2.57)
in an example showing how to correctly use 'AC_PREREQ' in third-party
.m4 files.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
13 years ago[ng] maint: bump version, for better compatibility with mainstream automake
Stefano Lattarini [Fri, 20 Apr 2012 13:35:23 +0000 (15:35 +0200)] 
[ng] maint: bump version, for better compatibility with mainstream automake

Having a version number of '0.5a' for Automake-NG, while somewhat more
correct and "honest" (see comments in commit 'v1.11-2001-g2684923' of
17-02-2012 for more details), is also more problematic, in that it makes
more difficult to adapt a project using mainstream Automake to the use of
Automake-NG.  And alas, this difficulty cannot always be solved simply by
downgrading the required version number in AM_INIT_AUTOMAKE (as we had
naively thought originally); for example, Makefile.am fragments generated
by Gnulib will usually have a required version number of '1.5' hard-coded
in AUTOMAKE_OPTIONS, so that many Gnulib client would be prevented from
switching to Automake-NG (or they should be forced to put greater efforts
in the conversion, e.g., by adding hacks that post-process the Gnulib
generated Makefile.am).  And of course, other third-party tools might
have similar issues.

So, to avoid a plethora of potential spurious issues and breakages due
only to version number incompatibilities, we change the Automake-NG
version number again to closely track the one in the 'master' branch of
mainstream Automake.  Practicality beats purity.

Also, this "equal version" policy should be enough to avoid giving the
wrong impressions that Automake-NG is somehow meant to obsolete or
supersede mainstream Automake, which some automake users would consider
a sort of "abuse":
<http://lists.gnu.org/archive/html/automake-ng/2012-02/msg00024.html>

* configure.ac (AC_INIT): Change version number from 0.5a to 1.11e.
* m4/amversion.m4: Likewise (autoupdated by './bootstrap').
* .gitignore: Update w.r.t. automake and aclocal wrappers in 't/wrap'.
* t/version4.sh: Require again version '1.4-p3', to avoid useless diffs
with the 'master' branch.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
13 years ago[ng] opts: new 'ng' option, to better differentiate from mainstream Automake
Stefano Lattarini [Sat, 14 Apr 2012 23:33:48 +0000 (01:33 +0200)] 
[ng] opts: new 'ng' option, to better differentiate from mainstream Automake

We add a new no-op option 'ng', that will be recognized by Automake-NG but
not by mainstream Automake.  It can be used by developers to declare that
their build system requires Automake-NG, and in a way that will ensure a
clear error if mainstream Automake is used by mistake.

* lib/Automake/Options.pm (_is_valid_easy_option): Recognize 'ng'.
* doc/automake.texi: Document the new option and its purpose.
* t/option-ng.sh: New test.
* t/list-of-tests.mk: Add it.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
13 years agotests: fix spurious failure with non-ANSI terminals
Stefano Lattarini [Fri, 20 Apr 2012 08:23:35 +0000 (10:23 +0200)] 
tests: fix spurious failure with non-ANSI terminals

* t/ax/tap-summary-aux.sh: When checking colored testsuite output,
be sure to export the TERM variable to the value "ansi"; otherwise
the automake testsuite driver will not display colored output, not
even if AM_COLOR_TESTS is exported to "always".  Failure revealed
by NixOS Hydra.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
13 years ago[ng] parallel-tests: minor optimizations
Stefano Lattarini [Thu, 19 Apr 2012 13:15:52 +0000 (15:15 +0200)] 
[ng] parallel-tests: minor optimizations

* lib/am/check.am (am__check_pre): Shave off a couple of forks in
the case the test script is placed in a subdirectory.
* t/spy-autovars.sh: New "spy" test, verifying that our expectations
on the behaviour of (some) GNU make automatic variables are correct.
* t/list-of-tests.mk: Add it.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
13 years ago[ng] silent rules: support for them is always active now
Stefano Lattarini [Tue, 17 Apr 2012 09:48:01 +0000 (11:48 +0200)] 
[ng] silent rules: support for them is always active now

At the time of writing, in mainstream Automake, support for silent rules
is optional and activated only if the 'silent-rules' option is specified.

The rationale behind this behaviour is that the silent-rules machinery
originally [1] only worked with make implementations supporting nested
variables expansions, which wasn't a POSIX-specified features, so that
packages wanting to be "extra-portable" couldn't use the silent-rules
machinery at all.

But since Automake-NG only targets GNU make, and since silent rules are
disabled by default even when the 'silent-rules' option is given [2], we
can now have the support for silent rules always enabled.

The 'silent-rules' option will thus become a no-op, but will reaming a
valid option for the time being, for better backward-compatibility.

[NOTES]

  [1] At least, until Paul Eggert's commit 'v1.11-598-g8493499' of
      25-12-2011, "silent-rules: fallback for makes without nested
      vars", motivate by automake bugs #9928 and #10237.

  [2] Unless the developer makes them enabled by default be calling
      "AM_SILENT_RULES([yes])" in configure.ac.

[DETAILS]

For more details, see this thread on the automake-ng mailing list:
<http://lists.gnu.org/archive/html/automake-ng/2012-04/msg00027.html>

* automake.in: Enable silent-rules machinery unconditionally.  Reword
some comments.
* m4/init.m4: Call 'AC_REQUIRE' on 'AM_SILENT_RULES' unconditionally.
* lib/Automake/Options.pm: Recognize 'silent-rules' as a dummy option
* t/silent.sh: Remove now-redundant calls to AM_SILENT_RULES.
* t/silent2.sh: Likewise.
* t/silent3.sh: Likewise.
* t/silent4.sh: Likewise.
* t/silent6.sh: Likewise.
* t/silent8.sh: Likewise.
* t/silent9.sh: Likewise.
* t/silent-lex.sh: Likewise.
* t/silent-many-gcc.sh: Likewise.
* t/silent-many-generic.sh: Likewise.
* t/silent-yacc-headers.sh: Likewise.
* t/silent-yacc.sh: Likewise.
* t/silentcxx-gcc.sh: Likewise.
* t/silentcxx.sh: Likewise.
* t/silentf77.sh: Likewise.
* t/silentf90.sh: Likewise.
* t/help-silent.sh: Likewise.
* t/silent-configsite.sh: Likewise, and other minor adjustments.
* t/silent7.sh: Likewise.  Also, extend to check that silent rules
are disabled by default, and remove obsoleted checks about the
'silent-rules' option being rejected in AUTOMAKE_OPTIONS.
* t/compile_f_c_cxx.sh: Adjust to avoid a spurious failure.
* t/silent-amopts.sh: Remove as obsolete.
* t/list-of-tests.mk: Adjust.
* NG-NEWS: Update.
* doc/automake.texi: Update and simplify accordingly.
* configure.ac (AM_INIT_AUTOMAKE): Remove 'silent-rules' option.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
13 years ago[ng] tests: remove explicit GNU make requirements
Stefano Lattarini [Wed, 18 Apr 2012 17:19:19 +0000 (19:19 +0200)] 
[ng] tests: remove explicit GNU make requirements

Issue reveled by a "make maintainer-check" failure.

* t/vala-vapi.sh ($required): Drop 'GNUmake' requirement, which was
causing the test to be spuriously skipped.
* t/vala-libs.sh: Likewise.
* t/vala-headers.sh: Likewise.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
13 years agoMerge branch 'master' into ng/master
Stefano Lattarini [Wed, 18 Apr 2012 17:12:49 +0000 (19:12 +0200)] 
Merge branch 'master' into ng/master

* master:
  hacking: fix typo
  maint: version bump after beta release
  Beta release 1.11d (will become 1.12)
  tests: remove redundant 'set -e' calls
  tests: avoid spurious failures when cross-compiling
  maintainer-check: fix definition of $(ams) again

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
13 years agohacking: fix typo
Stefano Lattarini [Wed, 18 Apr 2012 16:31:24 +0000 (18:31 +0200)] 
hacking: fix typo

* HACKING (Test suite): Refer to file 't/README', not to the
non-existent 'tests/README'.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
13 years agomaint: version bump after beta release
Stefano Lattarini [Wed, 18 Apr 2012 16:29:31 +0000 (18:29 +0200)] 
maint: version bump after beta release

* configure.ac (AC_INIT): Bump version number to 1.11e, as per
HACKING suggestion.
* NEWS: Likewise.
* m4/amversion.m4: Likewise (autoupdated by ./bootstrap).

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
13 years agoBeta release 1.11d (will become 1.12) v1.11d
Stefano Lattarini [Wed, 18 Apr 2012 16:19:05 +0000 (18:19 +0200)] 
Beta release 1.11d (will become 1.12)

* configure.ac (AC_INIT): Bump version number to 1.11d.
* NEWS: Likewise.
* m4/amversion.m4: Likewise (autoupdated by ./bootstrap).

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
13 years agotests: remove redundant 'set -e' calls
Stefano Lattarini [Wed, 18 Apr 2012 16:09:58 +0000 (18:09 +0200)] 
tests: remove redundant 'set -e' calls

* t/aclocal-install-fail.sh: Do not set the 'errexit' shell flag,
as it is already set by './defs'.
* t/aclocal-install-mkdir.sh: Likewise.
* t/aclocal-no-install-no-mkdir.sh: Likewise.
* t/aclocal-verbose-install.sh: Likewise.
* t/instdir-no-empty.sh: Likewise.
* t/link_cond.sh: Likewise.
* t/python-pr10995.sh: Likewise.
* t/vala-vapi.sh: Likewise.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
13 years agotests: avoid spurious failures when cross-compiling
Stefano Lattarini [Wed, 18 Apr 2012 16:04:12 +0000 (18:04 +0200)] 
tests: avoid spurious failures when cross-compiling

* t/parallel-tests-recheck-depends-on-all.sh: Skip the test
when cross-compiling.
* t/vala-vapi.sh: Skip tests that do not make sense when
cross-compiling.
* t/yacc-basic.sh: Likewise.
* t/yacc-cxx.sh: Likewise.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
13 years agomaintainer-check: fix definition of $(ams) again
Stefano Lattarini [Wed, 18 Apr 2012 13:08:37 +0000 (15:08 +0200)] 
maintainer-check: fix definition of $(ams) again

* syntax-checks.mk (ams): The previous change 'v1.11b-36-g127adfb' solved
one problem in the definition of this variable, but also caused it contain
the names of all the left-behind 't/*.dir' temporary test directories.
Fix that.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
13 years agoMerge branch 'master' into ng/master
Stefano Lattarini [Wed, 18 Apr 2012 12:11:22 +0000 (14:11 +0200)] 
Merge branch 'master' into ng/master

* master:
  maintainer-check: do not hang
  parallel-tests: 'recheck' must depend on 'all'
  vala tests: building libraries, and more on '.vapi' files
  automake: fix botched call to 'check_user_variables'
  vala: cleanup rules are better and more complete now
  vala tests: check headers generation
  vala tests: remove redundant libtool requirements and usages
  vala tests: some enhancements
  vala tests: few adjustments and improvements
  build: use latest help2man, but without locale support

13 years agomaintainer-check: do not hang
Stefano Lattarini [Wed, 18 Apr 2012 11:40:59 +0000 (13:40 +0200)] 
maintainer-check: do not hang

* syntax-checks.mk (ams): The definition of this variable was invoking
the 'find' utility in an incorrect way, which resulted into the variable
being empty, thus reducing coverage in some maintainer check and making
other hang.  Fix this.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
13 years agoparallel-tests: 'recheck' must depend on 'all'
Stefano Lattarini [Wed, 18 Apr 2012 09:40:15 +0000 (11:40 +0200)] 
parallel-tests: 'recheck' must depend on 'all'

Fixes automake bug#11252.

When a developer experience one or more failures in the testsuite, a good
workflow is for him to modify its program's sources to fix the bug thus
revealed, run "make recheck" to verify that the change has indeed solved
the testsuite failures previously experienced, and then run "make check"
to verify that the change has not introduced any new failure or regression.

Unfortunately, this apparently natural workflow couldn't have worked until
now, since the Automake-provided 'recheck' target (which didn't depend on
'all') wouldn't have causes the program to be recompiled, and the failed
tests would have thus been run with the older, buggy version of the
program, failing the same way as before.

* lib/am/check.am (recheck): Depend on 'all'.
* t/parallel-tests-recheck-depends-on-all.sh: New test.
* t/list-of-tests.mk: Add it.
* NEWS: Update.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
13 years agovala tests: building libraries, and more on '.vapi' files
Stefano Lattarini [Mon, 16 Apr 2012 23:07:23 +0000 (01:07 +0200)] 
vala tests: building libraries, and more on '.vapi' files

* t/vala1.sh: Remove, turned into ...
* t/vala-libs.sh: ... this functional test instead.
* t/list-of-tests.mk: Adjust.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
13 years agoautomake: fix botched call to 'check_user_variables'
Stefano Lattarini [Mon, 16 Apr 2012 22:02:58 +0000 (00:02 +0200)] 
automake: fix botched call to 'check_user_variables'

* automake.in (lang_vala_finish_target): The 'check_user_variables' function
takes an array, not an array ref, as argument; adjust its call accordingly.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
13 years agovala: cleanup rules are better and more complete now
Stefano Lattarini [Mon, 16 Apr 2012 21:42:41 +0000 (23:42 +0200)] 
vala: cleanup rules are better and more complete now

* automake.in (lang_vala_finish_target): Ensure Vala-generated C sources
and header files and our custom stamp files are correctly cleaned.
* t/vala-headers.sh, t/vala-vpath.sh: Enhance.
* NEWS: Update.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
13 years agovala tests: check headers generation
Stefano Lattarini [Mon, 16 Apr 2012 21:10:50 +0000 (23:10 +0200)] 
vala tests: check headers generation

* t/vala-headers.sh: New test, checking use of 'valac' options for
header generation (e.g., '-H', '--vapi', ...) in '$(..._VALAFLAGS)'.
* t/list-of-tests.mk: Add it.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
13 years agovala tests: remove redundant libtool requirements and usages
Stefano Lattarini [Mon, 16 Apr 2012 21:16:22 +0000 (23:16 +0200)] 
vala tests: remove redundant libtool requirements and usages

* t/vala2.sh: Don't require libtool m4 macros, don't run libtoolize,
don't invoke AC_PROG_LIBTOOL: none of there is really needed.
* t/vala3.test: Likewise.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
13 years ago[ng] parallel-tests: remove workarounds required by Solaris xpg4 make
Stefano Lattarini [Sun, 15 Apr 2012 19:38:03 +0000 (21:38 +0200)] 
[ng] parallel-tests: remove workarounds required by Solaris xpg4 make

* lib/am/check.am (check-TESTS, recheck): Simplify by not bothering to
work around a bug of Solaris xpg4 make that is not shared by GNU make.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
13 years ago[ng] parallel-tests: don't cater to VPATH rewrites
Stefano Lattarini [Sun, 15 Apr 2012 16:48:01 +0000 (18:48 +0200)] 
[ng] parallel-tests: don't cater to VPATH rewrites

GNU make doesn't do VPATH rewrites a' la' Solaris make, but does VPATH
rewrites for the '$<' automatic variable.  Take advantage of these facts
to simplify the recipes of the parallel testsuite harness.

* lib/am/check.am: Don't include 'inst-vars.am'
(am__check_pre): Simplify and adjust.
(am__set_TESTS_bases): Likewise.
(check-TESTS): Likewise.
* lib/am/check2.am (am__runtest): Don't bother setting the 'p' shell
variable, it's not needed anymore.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
13 years ago[ng] parallel-tests: reduce code duplication a little
Stefano Lattarini [Sun, 15 Apr 2012 15:27:58 +0000 (17:27 +0200)] 
[ng] parallel-tests: reduce code duplication a little

Use more GNU make features and built-ins, and less automake-time
pre-processing, in order to reduce code duplication and improve
clarity.

* lib/am/check2.am: Define a new custom make function 'am__runtest', used
to simplify rules in here, and reduce code duplication among them.
* automake.in (handle_per_suffix_test): Update and simplify accordingly.
As a result, the automake-defined 'LOG_COMPILE' variables are not defined
anymore, which we should mention ...
* NG-NEWS: ... in here.
* t/test-extensions.sh: Adjust outdated grepping checks.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
13 years ago[ng] parallel-tests: remove workaround for BSD make
Stefano Lattarini [Sun, 15 Apr 2012 10:02:47 +0000 (12:02 +0200)] 
[ng] parallel-tests: remove workaround for BSD make

When BSD make is run in parallel mode, it apparently strips any
leading directory component from the automatic variable '$*' (of
course, against what POSIX mandates).  In order to avoid this
behaviour from breaking the parallel-tests driver, we added an
hacky workaround in commit v1.11-1982-ge1606b3 of 18-02-2012.
Now that we assume GNU make, this workaround is not needed anymore,
so let's remove it.

* lib/check2.am (am__set_b): Remove its definition and its uses.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
13 years agovala tests: some enhancements
Stefano Lattarini [Mon, 16 Apr 2012 20:35:18 +0000 (22:35 +0200)] 
vala tests: some enhancements

* t/vala-vpath.sh, t/vala2.sh, t/vala3.sh, t/vala5.sh: Enhance a little.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
13 years ago[ng] dry run: only use GNU make builtins to determine whether running dry
Stefano Lattarini [Sun, 15 Apr 2012 20:45:47 +0000 (22:45 +0200)] 
[ng] dry run: only use GNU make builtins to determine whether running dry

* lib/am/header-vars.am (am__make_dryrun): only use GNU make builtins to
determine whether make is being running in "dry mode".
* t/nodep.sh: Adjust grepping checks to avoid spurious failures.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
13 years agovala tests: few adjustments and improvements
Stefano Lattarini [Mon, 16 Apr 2012 17:18:08 +0000 (19:18 +0200)] 
vala tests: few adjustments and improvements

* t/vala4.sh: Don't run 'libtoolize', it's not truly required.
($required): Don't require 'libtoolize'.
(configure.ac): Don't invoke 'AC_PROG_LIBTOOL'.
* t/vala-mix.sh ($required): Require 'cc'.
Avoid some calls to 'framework_failure_', they were only useful when
this test was xfailing (to ensure it wasn't failing for the wrong
reasons).
Ensure the stamp file is created in the source directory.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
13 years ago[ng] tests: better name for a test script
Stefano Lattarini [Mon, 16 Apr 2012 12:24:27 +0000 (14:24 +0200)] 
[ng] tests: better name for a test script

* t/spy.sh: Rename ...
* t/spy-double-colon.sh: ... to this.
* t/list-of-tests.mk: Adjust.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
13 years ago[ng] tests: add "spy" test for '.PHONY' support
Stefano Lattarini [Mon, 16 Apr 2012 12:22:08 +0000 (14:22 +0200)] 
[ng] tests: add "spy" test for '.PHONY' support

Some make implementations (especially Solaris make) have some problems
in '.PHONY' support, and this has had the consequence that mainstream
Automake hadn't been able to fully take advantage of the '.PHONY'
semantics to simplify some of its idioms or recipes.  Since we now
want to assume and take advantage of such semantics, we add a new "spy"
test case verifying that they truly hold GNU make, to avoid unwelcome
surprises.

* t/spy-phony.sh: New test.
* t/list-of-tests.mk: Add it.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
13 years ago[ng] build: simplify rules for ChangeLog generation
Stefano Lattarini [Mon, 16 Apr 2012 11:34:35 +0000 (13:34 +0200)] 
[ng] build: simplify rules for ChangeLog generation

The pre-existing rules used an hacky indirection, only to work
around a Solaris make bug in '.PHONY' support.  GNU make does
not suffer of this bug, so we can simplify our rules accordingly.

* Makefile.am (am--changelog-regen-hook): Remove this dummy target.
(.PHONY, ChangeLog): Do not depend on it.
(.PHONY): Depend directly on 'ChangeLog' instead.
Remove outdated comments.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
13 years agobuild: use latest help2man, but without locale support
Jim Meyering [Sun, 15 Apr 2012 16:44:50 +0000 (18:44 +0200)] 
build: use latest help2man, but without locale support

* doc/help2man: Update to latest (1.40.8), but built with
--disable-nls, which elides the less-portable locale-related
code, and with the "use 5.008" manually changed to "use 5.006".
Thanks to Brendan O'Dea for the tips.
* THANKS: Update Brendan's address.

13 years ago[ng] tests: prefer to grep make stderr for expected diagnostic
Stefano Lattarini [Sat, 14 Apr 2012 08:03:38 +0000 (10:03 +0200)] 
[ng] tests: prefer to grep make stderr for expected diagnostic

Few make implementations, like BSD's, can print diagnostic from make or
its spawned recipes on stdout rather than on stderr.  Some of our tests
had been relaxed to cater for this.  Now that we assume GNU make, there
is no reason to be this "sloppy" anymore.

* t/uninstall-fail.sh: Expect diagnostic from make and its recipes
to be on stderr, not possibly also on stdout.
* t/lisp3.sh: Likewise.
* t/test-missing.sh: Likewise.
* t/test-missing2.sh: Likewise.
* t/distcheck-pr10470.sh: Likewise.
* t/distcheck-pr9579.sh: Likewise.
* t/dist-missing-am.sh: Likewise.
* t/dist-missing-included-m4.sh: Likewise.
* t/dist-missing-m4.sh: Likewise.
* t/deleted-am.sh: Likewise.
* t/deleted-m4.sh: Likewise.
* t/distcheck-configure-flags-am.sh: Likewise.
* t/distcheck-configure-flags-subpkg.sh: Likewise.
* t/distcheck-configure-flags.sh: Likewise.
* t/yacc-dist-nobuild.sh: Likewise.  Also, be stricter in matching
expected make diagnostic.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
13 years ago[ng] tests: remove some workarounds for non-GNU make
Stefano Lattarini [Fri, 13 Apr 2012 20:59:31 +0000 (22:59 +0200)] 
[ng] tests: remove some workarounds for non-GNU make

* t/makej2.sh: Adjust heading comments.  Don't check whether $MAKE
groks the '-j' option: GNU make is assured to do so.
* t/check-concurrency-bug9245.sh: Likewise.  Fix botched indentation
since we are at it.
* t/remake4.sh: Adjust heading comments.
* t/parallel-tests6.sh: Likewise.
* t/deleted-am.sh: Remove extra '$sleep' call required to work around
a bug of FreeBSD make.
* t/colon6.test: Remove a workaround needed by HP-UX make.
* t/spy.test: Likewise.  Uncomment the part of the checks that still
wasn't portable to BSD make.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
13 years agoMerge branch 'master' into ng/master
Stefano Lattarini [Sat, 14 Apr 2012 08:04:51 +0000 (10:04 +0200)] 
Merge branch 'master' into ng/master

* master:
  parallel-tests: print error messages on stderr, not stdout
  dist tests: fix reduced coverage due to typo

13 years agoparallel-tests: print error messages on stderr, not stdout
Stefano Lattarini [Sat, 14 Apr 2012 07:55:41 +0000 (09:55 +0200)] 
parallel-tests: print error messages on stderr, not stdout

* lib/am/check.am ($(TEST_SUITE_LOG)): Be sure to print error messages
on stderr, not on stdout.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
13 years agocleanup: remove one instance of .MAKE usage
Stefano Lattarini [Fri, 13 Apr 2012 20:20:14 +0000 (22:20 +0200)] 
cleanup: remove one instance of .MAKE usage

The .MAKE target is only used by BSD make, not GNU make, so
Automake-NG don't need to generate it.

* lib/Automake/Rule.pm (reset): Don't reset $dependencies{".MAKE"}.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
13 years ago[ng] tests: remove stale workarounds for non-GNU make
Stefano Lattarini [Tue, 21 Feb 2012 16:14:29 +0000 (17:14 +0100)] 
[ng] tests: remove stale workarounds for non-GNU make

* t/yacc-depend2.sh: Remove now-irrelevant comment about
the fact that this test fails with FreeBSD make.
* t/silent8.sh: Remove useless workaround for NetBSD make.
* t/tap-signal.tap: Likewise.
* t/posixsubst-ldadd.sh: Remove useless workaround for
FreeBSD make.
* t/posixsubst-libraries.sh: Likewise.
* t/posixsubst-ltlibraries.sh: Likewise.
* t/posixsubst-sources.sh: Likewise.
* t/posixsubst-tests.sh: Likewise.
* t/distcheck-outdated-m4.sh: Remove workaround for
extra-verbose make implementations (like Solaris make).
* t/distcheck-missing-m4.sh: Likewise.
* t/tap-color.sh: Likewise.
* t/color.test (test_no_color): Likewise.
* t/color2.test (test_no_color): Likewise.
Remove redundant check that parallel make does nor redirect
output to temporary files or named pipes.
* t/tap-color.sh: Likewise.
* t/tap-doc.sh: Do not post-process make output to strip
extra lines printed bu Sun dmake..
* t/tap-doc2.sh: Remove stray comment.
* t/yacc-mix-c-cxx.sh: Just assume that "make -jN" can
run make in parallel mode.
* t/tap-more.sh: Likewise.
* t/dist-formats.tap: Likewise.
* t/yacc-line.sh: Avoid workaround to cater for the
Solaris XPG4 make inability to chain suffix rules.
* t/lex-line.sh: Likewise.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
13 years agodist tests: fix reduced coverage due to typo
Stefano Lattarini [Fri, 13 Apr 2012 16:56:24 +0000 (18:56 +0200)] 
dist tests: fix reduced coverage due to typo

* t/dist-formats.tap: Append to 'Makefile.am', not to 'Makefil.am'.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
13 years agoMerge branch 'master' into ng/master
Stefano Lattarini [Fri, 13 Apr 2012 16:41:20 +0000 (18:41 +0200)] 
Merge branch 'master' into ng/master

* master:
  build: use slightly older help2man, for improved portability
  tests: avoid spurious failure when 'install-info' program is unavailable
  install: shell parameter expansions can be used in directory names
  test defs: more environment cleanups
  test defs: unset 'AM_UPDATE_INFO_DIR' environment variable
  build: generate doc/*.1 files; include help2man
  build: avoid parallel build failures

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
13 years agobuild: use slightly older help2man, for improved portability
Jim Meyering [Fri, 13 Apr 2012 15:58:04 +0000 (17:58 +0200)] 
build: use slightly older help2man, for improved portability

Fixes automake bug#11235

* doc/help2man: Downgrade to help2man-1.36.4, so that it does
not require Locale/gettext.pm, which is not available on a
default Fedora 16 installation.  Reported by Stefano Lattarini.

13 years agotests: avoid spurious failure when 'install-info' program is unavailable
Stefano Lattarini [Fri, 13 Apr 2012 15:57:12 +0000 (17:57 +0200)] 
tests: avoid spurious failure when 'install-info' program is unavailable

From a report by Dmitry V. Levin:
<http://lists.gnu.org/archive/html/automake-patches/2012-04/msg00085.html>

* t/install-info-dir.sh : When 'install-info' is unavailable, create a
dummy '${infodir}/dir' file by hand when that file is required by later
checks.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
13 years agoMerge branch 'maint'
Stefano Lattarini [Fri, 13 Apr 2012 12:36:31 +0000 (14:36 +0200)] 
Merge branch 'maint'

* maint:
  install: shell parameter expansions can be used in directory names

13 years agoMerge branch 'fix-pr11232' into maint
Stefano Lattarini [Fri, 13 Apr 2012 12:16:29 +0000 (14:16 +0200)] 
Merge branch 'fix-pr11232' into maint

* fix-pr11232:
  install: shell parameter expansions can be used in directory names

13 years agoinstall: shell parameter expansions can be used in directory names
Dmitry V. Levin [Thu, 12 Apr 2012 16:24:23 +0000 (16:24 +0000)] 
install: shell parameter expansions can be used in directory names

Fixes automake bug#11232.

GNU automake used to support shell parameter expansion and command
substitutions in installation directories, but that was inadvertently
broken by commit v1.11-759-g368f1c4 "install: don't create empty dirs
when an empty 'foo_PRIMARY' is used" of 18-03-2012, where shell quoting
of generated MKDIR_P command was changed from double to single quotes
in 3 places, while some 21 other places still use double quotes for
generated MKDIR_P commands.

* lib/am/data.am: Use double quotes for generated "mkdir -p" commands.
* lib/am/libs.am: Likewise.
* lib/am/ltlib.am: Likewise.

Signed-off-by: Dmitry V. Levin <ldv@altlinux.org>
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
13 years agotest defs: more environment cleanups
Stefano Lattarini [Fri, 13 Apr 2012 09:11:03 +0000 (11:11 +0200)] 
test defs: more environment cleanups

* defs (SH_LOG_COMPILER, SH_LOG_COMPILE, SH_LOG_FLAGS,
AM_SH_LOG_FLAGS, SH_LOG_DRIVER, SH_LOG_DRIVER_FLAGS,
AM_SH_LOG_DRIVER_FLAGS): Unset these variable to avoid
potential interferences from the environment.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
13 years agotest defs: unset 'AM_UPDATE_INFO_DIR' environment variable
Stefano Lattarini [Fri, 13 Apr 2012 08:07:54 +0000 (10:07 +0200)] 
test defs: unset 'AM_UPDATE_INFO_DIR' environment variable

* defs (AM_UPDATE_INFO_DIR): Unset, to be sure to avoid unduly
interferences from the environment.  See also automake bug#11204.
* THANKS: Add entry for David Fang.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
13 years agoMerge branch 'master' into ng/master
Stefano Lattarini [Thu, 12 Apr 2012 18:08:56 +0000 (20:08 +0200)] 
Merge branch 'master' into ng/master

* master:
  news: remove older entry for "future backward incompatibilities"
  news: document fixes for bug#11222 and bug#11229
  vala: fix distcheck with c/vala mixed projects
  news: fix typo
  vala: fix vapi files handling
  vala: test vapi files handling (still failing)

13 years agobuild: generate doc/*.1 files; include help2man
Jim Meyering [Thu, 12 Apr 2012 13:07:19 +0000 (15:07 +0200)] 
build: generate doc/*.1 files; include help2man

This change is required to avoid making a distributed file depend
on a generated (non-distributed) one.  The preceding change
introduced one such dependency, with the distributed doc/*.1
depending on the generated aclocal and automake files.  Here,
we avoid the problem by generating the doc/*.1 files rather than
distributing them.

* doc/help2man: New file, version 1.37.1.
* Makefile.am (EXTRA_DIST): Add doc/help2man.
(man1_MANS): Rename from $(dist_man1_MANS).  Remove $(srcdir) prefix.
(CLEANFILES): Add these files here, rather than to
$(MAINTAINERCLEANFILES), since we are no longer distributing them.
(update_mans): Use doc/help2man, not $(HELP2MAN).
* configure.ac: Don't test for help2man, now that we bundle it.

13 years agobuild: avoid parallel build failures
Jim Meyering [Wed, 11 Apr 2012 19:25:48 +0000 (21:25 +0200)] 
build: avoid parallel build failures

A parallel build would fail when two concurrent sub-make processes
tried to build lib/Automake/Config.pm.  The loser would complain that
  grep: lib/Automake/Config.pm-t: No such file or directory
  chmod: cannot access `lib/Automake/Config.pm-t': No such file or\
    directory
  make[1]: *** [lib/Automake/Config.pm] Error 1
* Makefile.am (update_mans): Don't build lib/Automake/Config.pm here.
Instead, depend on it from the two rules that use it:
($(srcdir)/doc/aclocal-$(APIVERSION).1): Depend on it.
($(srcdir)/doc/automake-$(APIVERSION).1): Likewise.

[ Note that technically, the above is incorrect, since it makes those
  distributed doc/*.1 files depend on generated aclocal and automake.
  That problem is addressed by the following commit. ]

However, that was not enough, since even then, a parallel build
would still fail, now with this:

  help2man: can't get `--help' info from automake-1.11a
  Try `--no-discard-stderr' if option outputs to stderr
  make: *** [doc/automake-1.11a.1] Error 1

a subsequent "make -j3" would create the missing file.
That was because help2man would invoke t/wrap/aclocal.in and
t/wrap/automake.in, each of which would require aclocal and
automake, yet those two files weren't guaranteed to be created.
Add explicit dependencies:
($(srcdir)/doc/aclocal-$(APIVERSION).1): Depend on aclocal.
($(srcdir)/doc/automake-$(APIVERSION).1): Depend on automake.

13 years agonews: remove older entry for "future backward incompatibilities"
Stefano Lattarini [Thu, 12 Apr 2012 16:13:58 +0000 (18:13 +0200)] 
news: remove older entry for "future backward incompatibilities"

* NEWS (New in 1.11.4): Remove subsection about "Future backward
incompatibilities"; they are now either documented changes for the
upcoming 1.12 release, or re-casted as planned future backward
incompatibilities for the next 1.13 release.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
13 years agonews: document fixes for bug#11222 and bug#11229
Stefano Lattarini [Thu, 12 Apr 2012 16:09:13 +0000 (18:09 +0200)] 
news: document fixes for bug#11222 and bug#11229

* NEWS (Bugs fixed in 1.11.5): New, documenting the fixes.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
13 years agoMerge branch 'maint'
Stefano Lattarini [Thu, 12 Apr 2012 16:04:19 +0000 (18:04 +0200)] 
Merge branch 'maint'

* maint:
  vala: fix distcheck with c/vala mixed projects
  vala: fix vapi files handling
  vala: test vapi files handling (still failing)

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
13 years agoMerge branches 'vala-fix-pr11222' and 'vala-fix-pr11229' into maint
Stefano Lattarini [Thu, 12 Apr 2012 12:14:04 +0000 (14:14 +0200)] 
Merge branches 'vala-fix-pr11222' and 'vala-fix-pr11229' into maint

* vala-fix-pr11222:
  vala: fix vapi files handling
  vala: test vapi files handling (still failing)

* vala-fix-pr11229:
  vala: fix distcheck with c/vala mixed projects

13 years agovala: fix distcheck with c/vala mixed projects
Marc-Antoine Perennou [Thu, 12 Apr 2012 11:32:58 +0000 (13:32 +0200)] 
vala: fix distcheck with c/vala mixed projects

Fixes automake bug#11229.

* automake.in (lang_vala_finish_target): Return early if the
current '_SOURCES' variable does not contain any '.vala' nor
'.vapi' source.  Otherwise, the vala compiler will be called
without arguments, causing an error.
* tests/vala-mix.test: Enhance to catch the fixed bug.

Copyright-paperwork-exempt: yes
Signed-off-by: Marc-Antoine Perennou <Marc-Antoine@Perennou.com>
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
13 years agonews: fix typo
Stefano Lattarini [Thu, 12 Apr 2012 11:19:22 +0000 (13:19 +0200)] 
news: fix typo

* NEWS (Changes to Automake-generated testsuite harnesses): It's
'perl', not 'per'.  Reported by Akim Demaille in a private mail.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
13 years agovala: fix vapi files handling
Marc-Antoine Perennou [Wed, 11 Apr 2012 09:18:31 +0000 (11:18 +0200)] 
vala: fix vapi files handling

Fixes automake bug#11222.

Issue introduced in commit 'v1.11-696-g51f61df' of 27-02-2012,
"vala: fix 'valac' calls for projects with mixed Vala/C", which
fixed automake bug#10894.

* automake.in (lang_vala_finish_target): Also recognize '.vapi'
as an extension for vala input files.
* tests/list-of-tests.mk (XFAIL_TESTS): Remove 'vala-vapi.test'.

Copyright-paperwork-exempt: yes
Signed-off-by: Marc-Antoine Perennou <Marc-Antoine@Perennou.com>
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
13 years agovala: test vapi files handling (still failing)
Stefano Lattarini [Wed, 11 Apr 2012 22:40:34 +0000 (00:40 +0200)] 
vala: test vapi files handling (still failing)

Exposes automake bug#11222.

* tests/vala-vapi.test: New test, still failing.
* tests/list-of-tests.mk (handwritten_TESTS): Add it.
(XFAIL_TESTS): Likewise.
* THANKS: Update.

Copyright-paperwork-exempt: yes
Co-authored-by: Marc-Antoine Perennou <Marc-Antoine@Perennou.com>
Signed-off-by: Marc-Antoine Perennou <Marc-Antoine@Perennou.com>
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
13 years agoMerge branch 'master' into ng/master
Stefano Lattarini [Wed, 11 Apr 2012 20:19:22 +0000 (22:19 +0200)] 
Merge branch 'master' into ng/master

* master:
  self checks: avoid spurious failures when keep_testdirs=yes
  fixup: some weaknesses in a self-check test case
  maintcheck: avoid yet more spurious failures (2)
  maintcheck: avoid yet more spurious failures (1)
  hacking: fixlets w.r.t. the release procedure
  maintcheck: fix spurious failures
  maint: version bump after beta release
  Beta release 1.11b (will become 1.12)
  sync: some auxiliary files synced from upstream
  hacking: described new branching policy for 1.12 an later
  vala tests: avoid spurious failure with older GObject

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
13 years agoself checks: avoid spurious failures when keep_testdirs=yes
Stefano Lattarini [Wed, 11 Apr 2012 20:02:37 +0000 (22:02 +0200)] 
self checks: avoid spurious failures when keep_testdirs=yes

* t/self-check-cleanup.tap, t/self-check-dir.tap: Unset the
'keep_testdirs' environment variable, to avoid spurious errors
when the testsuite is run with "keep_testdirs=yes make check".

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
13 years agofixup: some weaknesses in a self-check test case
Stefano Lattarini [Wed, 11 Apr 2012 19:21:39 +0000 (21:21 +0200)] 
fixup: some weaknesses in a self-check test case

* t/self-check-cleanup.tap: This test contained several buglets
introduced in the recent row of commits that converted the Automake
build system to a non-recursive setup.  Fix them.  Since we are at
it, enhance the test to cover also the use of the 'keep_testdirs'
environment variable in order to keep the temporary test directories
around.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
13 years agomaintcheck: avoid yet more spurious failures (2)
Stefano Lattarini [Wed, 11 Apr 2012 19:01:39 +0000 (21:01 +0200)] 
maintcheck: avoid yet more spurious failures (2)

Some maintainer checks were too greedy in processing 'Makefile.am'
files, looking for them even in temporary directories left behind
by the test cases, thus causing occasional spurious failures.

* syntax-checks.mk (ams): Ignore 'Makefile.am' files in the
temporary test directories.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
13 years agomaintcheck: avoid yet more spurious failures (1)
Stefano Lattarini [Wed, 11 Apr 2012 18:38:39 +0000 (20:38 +0200)] 
maintcheck: avoid yet more spurious failures (1)

The 'sc_tests_makefile_variable_order' maintainer check is too
strict sometimes, blaming automake for outputting out-of-order
variables when this is in fact due to the result of post-processing
of third-party tools or custom test code.

* t/tap-doc2.sh: Ensure the final Makefile.in (that we hack by
hand) is removed, to avoid a spurious maintainer-check failure.
* t/gettext-macros.sh: Ensure that any leftover Makefile.in (that
is generated by gettext/autopoint) is removed, to avoid a spurious
maintainer-check failure.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
13 years agohacking: fixlets w.r.t. the release procedure
Stefano Lattarini [Wed, 11 Apr 2012 18:21:35 +0000 (20:21 +0200)] 
hacking: fixlets w.r.t. the release procedure

* HACKING  (Release procedure): Do not state that the result of
"make fetch" is woefully incomplete: this is not true anymore today.
Suggest to re-run the testsuite after a "make fetch", in case any
file has been updated.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
13 years agomaintcheck: fix spurious failures
Stefano Lattarini [Wed, 11 Apr 2012 17:18:21 +0000 (19:18 +0200)] 
maintcheck: fix spurious failures

* syntax-check.mk (sc_mkinstalldirs): Now the 'mkinstalldirs' is
listed in the top-level 'Makefile.am', not in 'lib/Makefile.am';
adjust the "whitelist" accordingly.
(sc_ensure_testsuite_has_run): The 'test-suite.log' file created by
"make check" is now placed in the top-level directory, not in the
't/' subdirectory.  Adjust by using '$(TEST_SUITE_LOG)' instead of
an hand-crafted path for the 'test-suite.log' file.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
13 years agomaint: version bump after beta release
Stefano Lattarini [Wed, 11 Apr 2012 17:06:18 +0000 (19:06 +0200)] 
maint: version bump after beta release

* configure.ac (AC_INIT): Bump version number to 1.11c, as per
HACKING suggestion.
* NEWS: Likewise.
* m4/amversion.m4: Likewise (autoupdated by ./bootstrap).

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
13 years agoBeta release 1.11b (will become 1.12) v1.11b
Stefano Lattarini [Wed, 11 Apr 2012 16:00:00 +0000 (18:00 +0200)] 
Beta release 1.11b (will become 1.12)

* configure.ac (AC_INIT): Bump version number to 1.11b.
* NEWS: Likewise.
* m4/amversion.m4: Likewise (autoupdated by ./bootstrap).

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
13 years agosync: some auxiliary files synced from upstream
Stefano Lattarini [Wed, 11 Apr 2012 15:51:59 +0000 (17:51 +0200)] 
sync: some auxiliary files synced from upstream

* lib/texinfo.tex: Synced from upstream, by "make fetch".
* lib/INSTALL: Likewise.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
13 years agohacking: described new branching policy for 1.12 an later
Stefano Lattarini [Mon, 2 Apr 2012 16:16:38 +0000 (18:16 +0200)] 
hacking: described new branching policy for 1.12 an later

This change closes automake bug#11153.

* HACKING (Working with git): Document the new policy for automake
branching and merging, which will start being applied after 1.12 is
released:

  - the maintenance branch will be 'maint', and we will cut the
    maintenance releases directly from there;

  - the development branch will be 'master', and we will cut the
    new releases directly from there;

  - 'maint' will be kept regularly merged into 'master'.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
13 years agoMerge branch 'master' into ng/master
Stefano Lattarini [Wed, 11 Apr 2012 14:35:09 +0000 (16:35 +0200)] 
Merge branch 'master' into ng/master

* master:
  vala tests: force the use of automatic dependency tracking
  tests: avoid spurious failures in tests on C++ and lex
  tests: avoid spurious failures with non-flex 'lex' programs and C++
  tests: avoid a spurious failures for shells with busted 'set -e'
  maint: simplify generation of files with @substed@ stuff
  tests: remove redundant requirement
  tests: make two test scripts executable
  t/README: update w.r.t. recent overhaul (non-recursive build system)
  docs: fix names of relevant test cases in comments
  NEWS: automake build systems avoids make recursion
  maint: no more make recursion in Automake's build system
  tests: rename 'tests/' => 't/', '*.test' => '*.sh'
  tests: remove recipes that run tests with 'prove'
  tests: move most helper scripts and files into the 'ax' subdirectory
  maint: remove most recursion in automake's own build system
  tests: fix a spurious failures with non-GNU make

+ Extra non-trivial edits:

* Makefile.am: Remove new uses of 'AM_MAKEFLAGS' throughout.
(dist_automake_ac_DATA): Do not list 'm4/depout.m4' nor
'm4/make.m4'.
* syntax-checks.m4: Use '$(xdefs)' instead of hard-coding the
older paths of 'defs' and 'defs-static.in'.  Use 't/README'
instead of 'tests/README'.
* t/instdir-no-empty.sh: Remove uses of 'AM_MAKEFLAGS'.
* tests/depcomp-recover.test: Renamed ...
* t/depcomp-recover.sh: ... to this.
* tests/gmake-vars.test: Renamed ...
* t/gmake-vars.sh: ... to this.
* tests/interp3.test: Renamed ...
* t/interp3.sh: ... to this.
* tests/objdir.test: Renamed ...
* t/objdir.sh: ... to this.
* tests/spy-vpath-rewrite.test: Renamed ...
* t/spy-vpath-rewrite.sh: ... to this.
* tests/vpath-rewrite.test: Renamed ...
* t/vpath-rewrite.sh: ... to this.
* tests/yacc-subobj-nodep.test: Renamed ...
* t/yacc-subobj-nodep.sh: ... to this.
* tests/depcomp-shuffle.sh: Renamed ...
* t/ax/depcomp-shuffle.sh: ... to this, and removed executable bit.
* t/depcomp-shuffle-sub-vpath.sh: Adjust.
* t/depcomp-shuffle-sub.sh: Likewise.
* t/depcomp-shuffle-vpath.sh: Likewise.
* t/depcomp-shuffle.sh: Likewise.
* gen-testsuite-part: Likewise.
* t/list-of-tests.mk: Do not list tests that had been already
removed from the Automake-NG testsuite.  Take into account the
renames above.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
13 years agovala tests: avoid spurious failure with older GObject
Stefano Lattarini [Wed, 11 Apr 2012 15:31:04 +0000 (17:31 +0200)] 
vala tests: avoid spurious failure with older GObject

* t/vala2.sh: In the 'PKG_CHECK_MODULES' call in 'configure.ac',
don't require gobject >= 2.10, but just >= 2.4: that is enough in
order for the test to pass.
* t/vala3.sh: Likewise.
* t/vala5.sh: Likewise.  Also, skip the test instead of failing
if the ./configure invocation fails: that is likely due to the
fact that the GObject library is too old or missing, and that is
not automake's fault.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
13 years agovala tests: force the use of automatic dependency tracking
Stefano Lattarini [Wed, 11 Apr 2012 13:37:04 +0000 (15:37 +0200)] 
vala tests: force the use of automatic dependency tracking

* t/vala-mix2.sh: Invoke ./configure with the option
'--enable-dependency-tracking', so that slower dependency
extractors are not rejected.  This avoids a spurious failure
at least on Solaris when the Sun C compiler is used.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
13 years agotests: avoid spurious failures in tests on C++ and lex
Stefano Lattarini [Wed, 11 Apr 2012 13:25:37 +0000 (15:25 +0200)] 
tests: avoid spurious failures in tests on C++ and lex

This is a follow-up to commit v1.11-2128-g7f2bc63 of 09-04-2012,
"tests: avoid spurious failures with non-flex 'lex' programs and
C++".  It is required to avoid a couple of spurious failures on
Solaris and NetBSD systems (at least).  See also automake bug#11185.

* t/lex-clean-cxx.sh (parsefoo.lxx): Do not declared the provided
dummy 'isatty' function as 'static', since that might conflict with
a declaration of it as 'extern' pulled in through other system
* t/lex-depend-cxx.sh (joe.ll): Likewise.
* t/README: Update advice, to avoid similar issues in the future.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
13 years agoMerge branch 'rmch'
Stefano Lattarini [Wed, 11 Apr 2012 09:04:56 +0000 (11:04 +0200)] 
Merge branch 'rmch'

* rmch:
  maint: simplify generation of files with @substed@ stuff
  t/README: update w.r.t. recent overhaul (non-recursive build system)
  docs: fix names of relevant test cases in comments
  NEWS: automake build systems avoids make recursion
  maint: no more make recursion in Automake's build system
  tests: rename 'tests/' => 't/', '*.test' => '*.sh'
  tests: remove recipes that run tests with 'prove'
  tests: move most helper scripts and files into the 'ax' subdirectory

13 years agotests: avoid spurious failures with non-flex 'lex' programs and C++
Stefano Lattarini [Sun, 8 Apr 2012 22:17:48 +0000 (00:17 +0200)] 
tests: avoid spurious failures with non-flex 'lex' programs and C++

This change fixes automake bug#11185.

The commit v1.11-2058-g6f4b08d of 06-03-2012, "tests: explicitly
state that our lexers do not require unistd.h" has broken the tests
'lex-clean-cxx.test' and 'lex-depend-cxx.test' on Solaris, where lex
is not flex and does not understand the "%option never-interactive"
directive.  Remove the use of this directive, resorting to defining
a dummy 'isatty()' function instead to keep the flex-generated tests
able to compile also on MinGW/MSYS.

* tests/lex-clean-cxx.test (parsefoo.lxx): Define a dummy 'isatty()'
function.
* tests/lex-depend-cxx.test (joe.ll): Likewise.
* tests/README: Adjust.  Fix an unrelated typo since we are at it.

Co-authored-by: Peter Rosin <peda@lysator.liu.se>
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
13 years agotests: avoid a spurious failures for shells with busted 'set -e'
Stefano Lattarini [Sun, 8 Apr 2012 21:55:48 +0000 (23:55 +0200)] 
tests: avoid a spurious failures for shells with busted 'set -e'

Some versions of the BSD Korn shell wrongly bail out when the
'errexit' shell flag is active and the left-hand command in a
"&&" list fails and that list is the *last* command of the body
of a "while" or "for" loop.

* tests/install-info-dir.test: Work around that behaviour.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
13 years agomaint: simplify generation of files with @substed@ stuff
Stefano Lattarini [Fri, 6 Apr 2012 16:08:39 +0000 (18:08 +0200)] 
maint: simplify generation of files with @substed@ stuff

Use a proper "config.status --file=-" idiom to do most substitutions
in our generated files, to avoid too much duplications between the
various $(do_subst) commands in Makefile.am and the (explicit or
implicit AC_SUBST) invocation in configure.ac.

From a suggestion by Eric Blake and Federico Simoncelli:
<http://lists.gnu.org/archive/html/automake/2012-01/msg00011.html>

* Makefile.am (do_subst): Rewrite to take advantage of the
"config.status --file=-" idiom.
(generated_file_finalize): New, to help checking that generated
files don't contain unexpanded '@substitutions@', and are made
read-only.
(automake, aclocal): Take advantage of the improved $(do_subst).
Improve comments.
(lib/Automake/Config.pm): Likewise, and of the new variable
$(generated_file_finalize) as well.
($(top_srcdir)/m4/amversion.m4): Likewise.
(defs-static): Likewise, and depend explicitly on 'Makefile'.
(do_subst_t): Remove as obsolete.
* THANKS: Update.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
13 years agotests: remove redundant requirement
Stefano Lattarini [Sat, 7 Apr 2012 11:35:45 +0000 (13:35 +0200)] 
tests: remove redundant requirement

* tests/txinfo19.test ($required): Drop required "tex", it is not
really needed.
Add trailing ':' command since we are at it.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
13 years agotests: make two test scripts executable
Stefano Lattarini [Sat, 7 Apr 2012 11:04:14 +0000 (13:04 +0200)] 
tests: make two test scripts executable

* tests/instdir-cond.test: Add executable bit.
* tests/instdir-cond2.test: Likewise.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
13 years agot/README: update w.r.t. recent overhaul (non-recursive build system)
Stefano Lattarini [Fri, 6 Apr 2012 15:40:52 +0000 (17:40 +0200)] 
t/README: update w.r.t. recent overhaul (non-recursive build system)

And other miscellaneous improvements since we are at it.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
13 years agodocs: fix names of relevant test cases in comments
Stefano Lattarini [Fri, 6 Apr 2012 15:34:50 +0000 (17:34 +0200)] 
docs: fix names of relevant test cases in comments

* doc/automake.texi: In comments reporting which test(s) check a
given feature/idiom, fix the names of the referenced tests, to
reflect the recent 'tests/foo.test' => 't/foo.sh' "Great Rename".

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
13 years agoNEWS: automake build systems avoids make recursion
Stefano Lattarini [Fri, 6 Apr 2012 14:29:29 +0000 (16:29 +0200)] 
NEWS: automake build systems avoids make recursion

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
13 years agomaint: no more make recursion in Automake's build system
Stefano Lattarini [Fri, 6 Apr 2012 13:20:54 +0000 (15:20 +0200)] 
maint: no more make recursion in Automake's build system

We finally merge testsuite-related part of the Automake build
system with the top-level one.  See also yesterday's commit
'v1.11-2124-ga4b0f4b', "maint: remove most recursion in automake's
own build system".

* t/gen-testsuite-part: Move ...
* gen-testsuite-part: ... here, with required adjustments.
* t/defs-static.in: Move ...
* defs-static.in: ... here, with required adjustments.  In
particular ...
($testsrcdir, $testbuilddir): Removed.
($top_testsrcdir): Renamed ...
($am_top_srcdir): ... to this.
($top_testbuilddir): Renamed ...
($am_top_builddir): ... to this.
* t/defs: Move ...
* defs: ... here, and adjust as required.
* t/Makefile.am: Merge ...
* Makefile.am: ... in here, with related adjustments and
simplifications.
* bootstrap: Adjust as required.
* syntax-checks.mk: Likewise.
* .gitignore: Likewise.
* t/ax/tap-setup.sh: Likewise.
* t/get-sysconf.sh: Likewise.
* t/help-multilib.sh: Likewise.
* t/multlib.sh: Likewise.
* t/parallel-tests2.sh: Likewise.
* t/self-check-cleanup.tap: Likewise.
* t/self-check-exit.tap: Likewise.
* t/self-check-dir.tap: Likewise.
* t/self-check-explicit-skips.sh: Likewise.
* t/self-check-reexec.tap: Likewise.
* t/self-check-sanity.sh: Likewise.
* t/yacc-d-cxx.sh: Likewise.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
13 years agotests: rename 'tests/' => 't/', '*.test' => '*.sh'
Stefano Lattarini [Fri, 6 Apr 2012 11:12:25 +0000 (13:12 +0200)] 
tests: rename 'tests/' => 't/', '*.test' => '*.sh'

When we (soon) convert the Automake testsuite to a non-recursive
make setup, we'll have to fix the entries of $(TESTS) to be
prepended with the subdirectory they are in; this will increase
the length of $(TESTS), and thus increase the possibility of
exceeding the command-line length limits on some systems (most
notably, MinGW/MSYS).  See automake bug#7868 for more information.

Thus we rename the 'tests/' subdirectory to 't/', and each 'x.test'
script in there to 'x.sh'; this way, the $(TESTS) entry 'foo.test'
will become 't/foo.sh', which have the same number of characters.

* tests/: Rename ...
* t/: ... to this.
* t/*.test: Rename ...
* t/*.sh: ... to this.
* t/.gitignore: Removed as obsolete.
* t/defs: Adjust.
* t/gen-testsuite-part: Likewise.
* t/list-of-tests.mk: Likewise.
* t/ccnoco.sh: Likewise.
* t/ccnoco3.sh: Likewise.
* t/self-check-cleanup.tap: Likewise.
* t/self-check-dir.tap: Likewise.
* t/self-check-me.tap: Likewise.
* t/self-check-reexec.tap: Likewise.
* README: Likewise.
* bootstrap: Likewise
* configure.ac: Likewise.
* Makefile.am: Likewise.
* .gitignore: Likewise.
* syntax-check.mk: Likewise.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
13 years agotests: remove recipes that run tests with 'prove'
Stefano Lattarini [Fri, 6 Apr 2012 10:34:49 +0000 (12:34 +0200)] 
tests: remove recipes that run tests with 'prove'

Those recipes has served its purpose by helping us during the
development of TAP support in Automake, to ensure our TAP driver
didn't have gratuitous incompatibilities with the 'prove' test
runner.  But they are now unused, out-of-date and bitrotting.  So
it's better to just remove them.  We can resurrect them at a later
time if the need arises.

* tests/Makefile.am (PROVE, AM_PROVEFLAGS, AM_PROVECMD): Remove
these variables.
(prove, installprove): Remove these targets and their recipe.
(EXTRA_DIST): Don't distribute 'ax/prove-runner' anymore.
* ax/prove-runner: Delete.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
13 years agotests: move most helper scripts and files into the 'ax' subdirectory
Stefano Lattarini [Thu, 5 Apr 2012 19:20:29 +0000 (21:20 +0200)] 
tests: move most helper scripts and files into the 'ax' subdirectory

* tests/defs-static.in ($am_testauxdir): New variable.
* tests/testsuite-summary-checks.sh: Moved ...
* tests/ax/testsuite-summary-checks.sh: ... here.
* tests/trivial-test-driver: Moved ...
* tests/ax/trivial-test-driver: ... here.
* tests/tap-summary-aux.sh: Moved ...
* tests/ax/tap-summary-aux.sh: ... here.
* tests/distcheck-hook-m4.am: Moved ...
* tests/ax/distcheck-hook-m4.am: ... here.
* tests/prove-runner: Moved ...
* tests/ax/prove-runner: ... here.
* tests/depcomp.sh: Moved ...
* tests/ax/depcomp.sh: ... here.
* tests/tap-setup.sh: Moved ...
* tests/ax/tap-setup.sh: ... here.
* tests/tap-functions.sh: Moved ...
* tests/ax/tap-functions.sh: ... here.
* tests/plain-functions.sh: Moved ...
* tests/ax/plain-functions.sh: ... here.
* tests/extract-testsuite-summary: Moved ...
* tests/ax/extract-testsuite-summary.pl: .. . here.
* tests/gen-testsuite-part: Adjusted accordingly.
* tests/Makefile.am: Likewise.
* tests/defs: Likewise.
* syntax-check.mk: Likewise.
* Several tests: Likewise.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
13 years agomaint: remove most recursion in automake's own build system
Stefano Lattarini [Sun, 1 Apr 2012 09:48:47 +0000 (11:48 +0200)] 
maint: remove most recursion in automake's own build system

Recursive make-based build systems tend to be slower, more fragile
and less faithful than "flat" ones.  See Peter Miller's article
"Recursive Make Considered Harmful" for more a more in-depth
discussion:

    <http://miller.emu.id.au/pmiller/books/rmch/>

While in the case of automake this isn't a big problem (given the
small size of its build systems), it still creates occasional
glitches and annoyances.

With this change, the use of recursion in Automake's own build
system is eliminated *but for the testsuite*.  Converting that
is a little more tricky, and better left for a later change (or
series of changes).

See also commit v1.11-769-gfeeb7f6 of 28-03-2012.

* contrib/Makefile.am, lib/Makefile.am, m4/Makefile.am,
doc/Makefile.am:  Removed, their content merged ...
* Makefile.am: ... here, with required adjustments and few
other "opportunistic" changes.
(SUBDIRS): Update.
* configure.ac (AC_CONFIG_FILES): Likewise.
* .gitignore: Likewise.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
13 years agotests: fix a spurious failures with non-GNU make
Stefano Lattarini [Thu, 5 Apr 2012 13:44:47 +0000 (15:44 +0200)] 
tests: fix a spurious failures with non-GNU make

* tests/instdir-no-empty.test: Also pass proper AM_MAKEFLAGS to
make invocations that might recurse, to ensure the macro definitions
passed from the command line are properly propagated.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
13 years ago[ng] maintcheck: avoid failures due to recent merge
Stefano Lattarini [Wed, 4 Apr 2012 10:03:33 +0000 (12:03 +0200)] 
[ng] maintcheck: avoid failures due to recent merge

* tests/link_cond.test: Avoid using "make -e".
* tests/vala-mix2.test: Do not require GNU make explicitly.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
13 years agoMerge branch 'master' into ng/master
Stefano Lattarini [Wed, 4 Apr 2012 09:56:19 +0000 (11:56 +0200)] 
Merge branch 'master' into ng/master

* master:
  texinfo: warn about future use of '--tidy'
  texinfo: don't clutter the builddir when using modern texi2dvi
  hacking: autotools-generated files are not committed anymore
  hacking: simplify documentation of bootstrapping process
  cosmetics: remove repeated line in comment, fix quoting
  cosmetics: remove useless import in automake script
  docs: deprecate 'cygnus' mode, help the transition
  perl refactor: use modern semantics of 'open'
  cosmetics: don't make the generated Config.pm executable
  maint: reduce use of recursion in automake build system
  news: sync with branch-1.11, fix mis-merges
  acinstall: remove, it has never been really used
  maint: reorganize the source tree and make it less cluttered
  news: we are going to drop 'cygnus' soonish

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
13 years agotexinfo: warn about future use of '--tidy'
Stefano Lattarini [Sun, 1 Apr 2012 20:48:46 +0000 (22:48 +0200)] 
texinfo: warn about future use of '--tidy'

Starting from the next major release of Automake (likely 1.13) we
want to start passing the '--tidy' option to texi2dvi and texi2pdf
invocations, so that auxiliary TeX-generated files can be kept
around (thus speeding up rebuilding of DVI and PDF output) without
cluttering the build directory too much.

Since the '--tidy' option was introduced in Texinfo 4.9 (as
documented in the Texinfo distribution's NEWS file), this also
means that Makefiles generated by future Automake versions will
require at least that version of Texinfo (at the time of writing
four years and nine months old).

The users should be warned about the planned behavioral change
and the new version requirement it will entail.

See also automake bug#11146.

* NEWS (Planned Backward Incompatibilities): Add entry about use
of the '--tidy' option and requirement of Texinfo 4.9.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>