platform/upstream/automake.git
11 years agorename-tests: rework some code for clarity and safety
Stefano Lattarini [Wed, 19 Jun 2013 09:59:00 +0000 (11:59 +0200)]
rename-tests: rework some code for clarity and safety

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agotests: cosmetic changes in t/extra-sources.sh
Stefano Lattarini [Wed, 19 Jun 2013 09:40:48 +0000 (11:40 +0200)]
tests: cosmetic changes in t/extra-sources.sh

* t/extra-sources.sh: Do not create unneeded C sources.  Add
trailing ':' command.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agorename-tests: inform the user about the pre-filled commit msg
Stefano Lattarini [Wed, 19 Jun 2013 09:37:35 +0000 (11:37 +0200)]
rename-tests: inform the user about the pre-filled commit msg

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agotypofix: in comments in 'maintainer/rename-tests'
Stefano Lattarini [Wed, 19 Jun 2013 09:35:11 +0000 (11:35 +0200)]
typofix: in comments in 'maintainer/rename-tests'

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agorename-tests: also "git add" list-of-tests.mk
Stefano Lattarini [Wed, 19 Jun 2013 09:34:39 +0000 (11:34 +0200)]
rename-tests: also "git add" list-of-tests.mk

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agotests: rename t/exsource.sh -> t/extra-sources.sh
Stefano Lattarini [Wed, 19 Jun 2013 09:31:17 +0000 (11:31 +0200)]
tests: rename t/exsource.sh -> t/extra-sources.sh

* t/exsource.sh: Rename ...
* t/extra-sources.sh: ... like this.
* t/list-of-tests.mk: Adjust.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agoMerge branch 'gettext-tests' into maint
Stefano Lattarini [Sun, 16 Jun 2013 13:55:42 +0000 (15:55 +0200)]
Merge branch 'gettext-tests' into maint

* gettext-tests:
  tests: some improvements to Gettext tests

11 years agotests: some improvements to Gettext tests
Stefano Lattarini [Sun, 16 Jun 2013 09:36:55 +0000 (11:36 +0200)]
tests: some improvements to Gettext tests

Mostly to bring them more in sync with the ones in Automake-NG.
See also commit v1.12.2-824-g5468d52 of 2012-08-10([ng] tests:
reorganize gettext tests a bit) in Automake-NG.

* t/gettext.sh: Rename ...
* t/gettext-basics.sh: ... like this, enhance a little, and
move checks on requirement of 'config.rpath' out into ...
* t/gettext-config-rpath.sh: ... into this new test, and move
checks about PR/381...
* t/gettext-pr381.sh: ... into this new test.
* t/gettext2.sh: Rename ...
* t/gettext-external-pr338.sh: ... like this, and enhance a
little.
* t/gettext3.sh: Rename ...
* t/gettext-intl-subdir.sh: ... like this, and add trailing
':' command.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agoMerge branch 'micro' into maint
Stefano Lattarini [Fri, 14 Jun 2013 17:59:39 +0000 (19:59 +0200)]
Merge branch 'micro' into maint

* micro:
  post-release: micro version bump (1.13.4a)
  release: stable micro release 1.13.4
  sync: update config.guess

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agopost-release: micro version bump (1.13.4a)
Stefano Lattarini [Fri, 14 Jun 2013 16:38:27 +0000 (18:38 +0200)]
post-release: micro version bump (1.13.4a)

* configure.ac: Bump version: 1.13.4 -> 1.13.4a
* m4/amversion.m4: Likewise (auto-updated by "make bootstrap").

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agorelease: stable micro release 1.13.4 v1.13.4
Stefano Lattarini [Fri, 14 Jun 2013 15:42:46 +0000 (17:42 +0200)]
release: stable micro release 1.13.4

* configure.ac (AC_INIT): Bump version number to 1.13.4.
* m4/amversion.m4: Likewise (auto-updated by "make bootstrap").

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agosync: update config.guess
Stefano Lattarini [Fri, 14 Jun 2013 12:40:49 +0000 (14:40 +0200)]
sync: update config.guess

* lib/config.guess: This.  Actually, only the timestamp has been
updated (apparently, it was mistakenly not updated in the previous
real change to the script).

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agoMerge branch 'micro' into maint
Stefano Lattarini [Wed, 12 Jun 2013 19:22:58 +0000 (21:22 +0200)]
Merge branch 'micro' into maint

* micro:
  THANKS: update e-mall address for Ralf Corsepius
  lang, suffix rules: don't require C stuff needlessly
  tests: expose automake bug#14560

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agoMerge branch 'fix-pr14560' into micro
Stefano Lattarini [Wed, 12 Jun 2013 19:21:38 +0000 (21:21 +0200)]
Merge branch 'fix-pr14560' into micro

* fix-pr14560:
  lang, suffix rules: don't require C stuff needlessly
  tests: expose automake bug#14560

11 years agoTHANKS: update e-mall address for Ralf Corsepius
Stefano Lattarini [Wed, 12 Jun 2013 17:41:40 +0000 (19:41 +0200)]
THANKS: update e-mall address for Ralf Corsepius

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agolang, suffix rules: don't require C stuff needlessly
Stefano Lattarini [Tue, 11 Jun 2013 19:20:18 +0000 (21:20 +0200)]
lang, suffix rules: don't require C stuff needlessly

This change fixes automake bug#14560: when two or more user-defined suffix
rules were present in a single Makefile.am, automake would needlessly
include definition of some make variables related to C compilation in the
generated Makefile.in.

* automake.in (handle_languages): Fix logic to decide whether or not to
include definitions of C compilation related variables in the generated
Makefile.in: instead of doing so when two or more user-defined suffix
rules are seen (which is a completely bogus criterion), do so when two
or more compiled languages are used.
* lib/Automake/Rule.pm (suffix_rules_count): Remove as no longer used.
(@EXPORT): Adjust.
* t/list-of-tests.mk (XFAIL_TESTS): No longer list the test script
'suffix-extra-c-stuff-pr14560.sh', which now passes.
* NEWS: Update.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agotests: expose automake bug#14560
Stefano Lattarini [Sat, 8 Jun 2013 15:36:07 +0000 (17:36 +0200)]
tests: expose automake bug#14560

Automake needlessly generates definition of make variables related
to C compilation when two or more user-defined suffix rules are
present in a single Makefile.am.

* t/suffix-extra-c-stuff-pr14560.sh: New test, exposing the bug.
This test is still xfailing.
* t/no-extra-c-stuff.sh: New test, check for a potential related
regression.  This regression is not actually present here (so this
test passes), but it still took place in our first attempt at
fixing bug#14560 -- so this test has proven to be actually useful.
* t/no-extra-makefile-code.sh: Improve comments, and tighten the
grepping checks a little.
* t/list-of-tests.mk (handwritten_TESTS): Add the new tests.
(XFAIL_TESTS): Add the new xfailing test.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agoMerge branch 'micro' into maint
Stefano Lattarini [Sun, 9 Jun 2013 09:37:01 +0000 (11:37 +0200)]
Merge branch 'micro' into maint

* micro:
  maint: add a missing copyright notice
  sync: update config.guess from upstream
  tests: expose automake bug#13928
  comments: fix some out-of-sync refs to test scripts
  tests: expose automake bug#13940

11 years agomaint: add a missing copyright notice
Stefano Lattarini [Sun, 9 Jun 2013 09:31:58 +0000 (11:31 +0200)]
maint: add a missing copyright notice

* t/ax/deltree.pl: Here.  Issue revealed by "make update-copyright".

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agosync: update config.guess from upstream
Stefano Lattarini [Sun, 9 Jun 2013 08:35:25 +0000 (10:35 +0200)]
sync: update config.guess from upstream

* lib/config.guess: Here.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agotests: expose automake bug#13928
Stefano Lattarini [Sat, 8 Jun 2013 20:00:32 +0000 (22:00 +0200)]
tests: expose automake bug#13928

* t/subobj-indir-pr13928.sh: New test, still xfailing.
* t/subobj-vpath-pr13928.sh: Likewise.
* t/list-of-tests.mk (XFAIL_TESTS, handwritten_TESTS): Update.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agocomments: fix some out-of-sync refs to test scripts
Stefano Lattarini [Sat, 8 Jun 2013 15:56:34 +0000 (17:56 +0200)]
comments: fix some out-of-sync refs to test scripts

Those script has been renamed since those comments where written.

* lib/Automake/Rule.pm: Adjust.
* lib/am/distdir.am: Likewise.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agotests: expose automake bug#13940
Stefano Lattarini [Sat, 8 Jun 2013 15:47:30 +0000 (17:47 +0200)]
tests: expose automake bug#13940

* t/override-conditional-pr13940.sh: New test, still xfailing.
* t/list-of-tests.mk (XFAIL_TESTS, handwritten_TESTS): Add it.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agoMerge branch 'micro' into maint
Stefano Lattarini [Mon, 3 Jun 2013 19:18:25 +0000 (21:18 +0200)]
Merge branch 'micro' into maint

* micro:
  configure: remove an obsolete TODO comment
  post-release: micro version bump (1.13.3a)
  release: stable micro release 1.13.3
  typofix: fix grammaro in comments in t/tags-pr12372.sh

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agoconfigure: remove an obsolete TODO comment
Stefano Lattarini [Mon, 3 Jun 2013 19:15:50 +0000 (21:15 +0200)]
configure: remove an obsolete TODO comment

* configure.ac: Here.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agopost-release: micro version bump (1.13.3a)
Stefano Lattarini [Mon, 3 Jun 2013 19:13:34 +0000 (21:13 +0200)]
post-release: micro version bump (1.13.3a)

* configure.ac: Bump version: 1.13.3 -> 1.13.3a
* m4/amversion.m4: Likewise (auto-updated by "make bootstrap").

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agorelease: stable micro release 1.13.3 v1.13.3
Stefano Lattarini [Mon, 3 Jun 2013 16:03:24 +0000 (18:03 +0200)]
release: stable micro release 1.13.3

* configure.ac (AC_INIT): Bump version number to 1.13.3.
* m4/amversion.m4: Likewise (auto-updated by "make bootstrap").

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agotypofix: fix grammaro in comments in t/tags-pr12372.sh
Peter Rosin [Mon, 3 Jun 2013 14:19:52 +0000 (16:19 +0200)]
typofix: fix grammaro in comments in t/tags-pr12372.sh

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agoMerge branch 'micro' into maint
Stefano Lattarini [Mon, 3 Jun 2013 13:25:50 +0000 (15:25 +0200)]
Merge branch 'micro' into maint

* micro:
  NEWS: minor fixlets, re-wording, and better text wrapping
  tests: slightly stricter checks in t/cxx-demo.sh
  tests: fix spurious failure when 'etags' program is Exuberant Ctags
  tests: fix spurious failure due to missing sleeps

11 years agoNEWS: minor fixlets, re-wording, and better text wrapping
Stefano Lattarini [Mon, 3 Jun 2013 13:12:18 +0000 (15:12 +0200)]
NEWS: minor fixlets, re-wording, and better text wrapping

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agotests: slightly stricter checks in t/cxx-demo.sh
Stefano Lattarini [Mon, 3 Jun 2013 10:01:02 +0000 (12:01 +0200)]
tests: slightly stricter checks in t/cxx-demo.sh

This is a follow-up to the commit fixing automake bug#14493.

* t/cxx-demo.sh: Also check that the built program returns the
correct (i.e., zero) exit status when run.  And improve comments
a little while at it.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agotests: fix spurious failure when 'etags' program is Exuberant Ctags
Stefano Lattarini [Mon, 3 Jun 2013 09:45:29 +0000 (11:45 +0200)]
tests: fix spurious failure when 'etags' program is Exuberant Ctags

Fixes automake bug#14517.

* t/tags-pr12372.sh: If the 'etags' program in use supports the
'--langmap' option, use it.  That is required to avoid spurious
failures with Exuberant Ctags (at least version 5.8), which by
default do not generate any tags for file extensions it doesn't
recognize.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agotests: fix spurious failure due to missing sleeps
Stefano Lattarini [Mon, 3 Jun 2013 09:27:49 +0000 (11:27 +0200)]
tests: fix spurious failure due to missing sleeps

Fixes automake bug#14528.

* THANKS: Give credit to that bug's original reporter.

* t/remake-configure-dependencies.sh: Add few missing '$sleep'
invocations.  I thought that the sleeps implicit in the configure
invocation were enough, but they were not, actually.  Here is what
can happen:

  1. The config.status script is generated by a configure run.
  2. ./config.status and make are run.
  3. The 'print-version' script is modified.
  4. Since that script is listed in $(CONFIGURE_DEPENDENCIES),
     autoconf is re-run.
  5. On a fast-enough machine, the three steps 2-4 above, even
     combined, might have taken less than a second to run;
  6. If the filesystem doesn't have a sub-second timestamp
     resolution, that means the newly-generated configure has
     the same timestamp of the old config.status;
  7. So, config.status is not re-run, and the Makefiles are
     not updated.
  8. Spurious failure!

So we really need more explicit sleeps.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agomaint: version bump after beta release 1.13b
Stefano Lattarini [Fri, 31 May 2013 09:42:38 +0000 (11:42 +0200)]
maint: version bump after beta release 1.13b

* configure.ac (AC_INIT): Bump version number to 1.13c.
* m4/amversion.m4: Likewise (auto-updated by "make bootstrap").

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agorelease: beta release 1.13b (will become 1.14) v1.13b
Stefano Lattarini [Fri, 31 May 2013 08:51:38 +0000 (10:51 +0200)]
release: beta release 1.13b (will become 1.14)

* configure.ac (AC_INIT): Bump version number to 1.13b.
* m4/amversion.m4: Likewise (auto-updated by "make bootstrap").

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agoMerge branch 'micro' into maint
Stefano Lattarini [Thu, 30 May 2013 13:41:34 +0000 (15:41 +0200)]
Merge branch 'micro' into maint

* micro:
  maint: support new Automake versioning scheme in tagging/uploading rules
  announcement: can be generated from development snapshots as well
  announcement: can be generated from development snapshots as well
  announcement: be less strict in the paring of NEWS
  maint: version bump after beta release 1.13.2b
  release: beta release 1.13.2b (will become 1.13.3)
  sync: update config.guess from upstream

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agomaint: support new Automake versioning scheme in tagging/uploading rules
Stefano Lattarini [Thu, 30 May 2013 13:30:02 +0000 (15:30 +0200)]
maint: support new Automake versioning scheme in tagging/uploading rules

* maint.mk (base_version_rx: Drop.
(rx-0, rx-1): New.
(stable_major_version_rx, stable_minor_version_rx, beta_version_rx):
Update.
(stable_micro_version_rx, alpha_version_rx: New.
(determine_release_type): Adjust.
(web-manual-update): Likewise.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agoannouncement: can be generated from development snapshots as well
Stefano Lattarini [Thu, 30 May 2013 13:18:11 +0000 (15:18 +0200)]
announcement: can be generated from development snapshots as well

And not only from checkouts corresponding exactly from a beta
or stable release.  That was only getting in the way of proper
testing for the 'announcement' recipe.

* maint.mk (determine_release_type): If the make variable
DEVEL_SNAPSHOT is set, do not error out if the current version
denotes a development snapshot (e.g., "1.13.2c" or "1.99a").
(announcement): Relax, by also accepting to run from development
snapshots, not only stable or beta releases.  Do so by defining
the target-specific variable DEVEL_SNAPSHOT to "yes".
(print-release-type): Micro enhancement while at it.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agoannouncement: can be generated from development snapshots as well
Stefano Lattarini [Thu, 30 May 2013 13:16:44 +0000 (15:16 +0200)]
announcement: can be generated from development snapshots as well

And not only from checkouts corresponding exactly from a beta
or stable release.  That was only getting in the way of proper
testing for the 'announcement' recipe.

* maint.mk (determine_release_type): If the make variable
DEVEL_SNAPSHOT is set, do not error out if the current version
denotes a development snapshot (e.g., "1.13.2c" or "1.99a").
(announcement): Relax, by also accepting to run from development
snapshots, not only stable or beta releases.  Do so by defining
the target-specific variable DEVEL_SNAPSHOT to "yes".

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agoannouncement: be less strict in the paring of NEWS
Stefano Lattarini [Thu, 30 May 2013 13:00:52 +0000 (15:00 +0200)]
announcement: be less strict in the paring of NEWS

So that the file generated by "make announcement" is correct also
for beta releases.

* maint.mk (announcement): Relax the awk program processing NEWS a
little.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agomaint: version bump after beta release 1.13.2b
Stefano Lattarini [Thu, 30 May 2013 12:58:01 +0000 (14:58 +0200)]
maint: version bump after beta release 1.13.2b

* configure.ac (AC_INIT): Bump version number to 1.13.2c.
* m4/amversion.m4: Likewise (autoupdated by "make bootstrap").

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agorelease: beta release 1.13.2b (will become 1.13.3) v1.13.2b
Stefano Lattarini [Thu, 30 May 2013 12:01:49 +0000 (14:01 +0200)]
release: beta release 1.13.2b (will become 1.13.3)

* configure.ac (AC_INIT): Bump version number to 1.13.2b.
* m4/amversion.m4: Likewise (auto-updated by "make bootstrap").

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agosync: update config.guess from upstream
Stefano Lattarini [Thu, 30 May 2013 11:19:43 +0000 (13:19 +0200)]
sync: update config.guess from upstream

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agoMerge branch 'micro' into maint
Stefano Lattarini [Thu, 30 May 2013 09:55:48 +0000 (11:55 +0200)]
Merge branch 'micro' into maint

* micro:
  NEWS: document recent testsuite fixes (MinGW/MSYS related)
  depcomp: avoid trailing backslash in depfile for depmode=msvc7
  tests: prune some weed in a non-POSIX test
  tests: avoid a spurious failure on MSYS

11 years agoautomake: assume we can always pass '-o' to the C compiler
Peter Rosin [Thu, 30 May 2013 09:31:02 +0000 (11:31 +0200)]
automake: assume we can always pass '-o' to the C compiler

It is assumed that we can pass -c -o to the C compiler, so remove
some special casing and always do that.

This change is similar in spirit to v1.13.1d-217-g7299c4d "depend: assume
we can always pass '-o' to the C compiler"

This change also happen to fix a testsuite failure
(t/silent-many-languages.sh) when mixing MSVC and GNU fortran, which
have different default object file extensions (.obj vs. .o). This
difference in object file extension is not handled well and caused
Automake to look for MSVC objects with .o extension. Always using -o
makes MSVC create .o object files and linking succeeds. Not that
anybody recommends mixing toolchains or anything.

* bin/automake.in (handle_languages): Remove conditional modification
of 'output_flag' entry for 'c'.
(register_language ('name' => 'c')): Add 'output_flag' entry set to '-o'.

Signed-off-by: Peter Rosin <peda@lysator.liu.se>
11 years agoNEWS: document recent testsuite fixes (MinGW/MSYS related)
Stefano Lattarini [Thu, 30 May 2013 09:28:02 +0000 (11:28 +0200)]
NEWS: document recent testsuite fixes (MinGW/MSYS related)

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agodepcomp: avoid trailing backslash in depfile for depmode=msvc7
Peter Rosin [Thu, 30 May 2013 08:49:42 +0000 (10:49 +0200)]
depcomp: avoid trailing backslash in depfile for depmode=msvc7

When compiling a file without any dependencies (no #includes), the
msvc7 depmode (and consequently msvc7msys) generates a depfile
Makefile fragment with the last line ending with a backslash. This
is less robust than needed.

Fixes automake bug#14501.

* lib/depcomp (msvc7): Finish off the depfile Makefile fragment with
an empty line.
(scriptversion): Update.

Signed-off-by: Peter Rosin <peda@lysator.liu.se>
11 years agotests: prune some weed in a non-POSIX test
Peter Rosin [Wed, 29 May 2013 15:10:40 +0000 (17:10 +0200)]
tests: prune some weed in a non-POSIX test

Fixes automake bug#14494.

* t/distcheck-pr10470.sh: Make sure the test-driver is installed. Adjust
to run_make changes. Adjust grep pattern to match new output.

Signed-off-by: Peter Rosin <peda@lysator.liu.se>
Co-authored-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agotests: avoid a spurious failure on MSYS
Peter Rosin [Wed, 29 May 2013 14:53:55 +0000 (16:53 +0200)]
tests: avoid a spurious failure on MSYS

Fixes automake bug#14493.

* t/cxx-demo.sh: Strip CR characters from the program output.

Signed-off-by: Peter Rosin <peda@lysator.liu.se>
11 years agoMerge branch 'micro' into maint
Stefano Lattarini [Wed, 29 May 2013 12:54:47 +0000 (14:54 +0200)]
Merge branch 'micro' into maint

* micro:
  t/README: document "run_make", discourage "make -e"
  cosmetics: tiny whitespace fixlets
  tests: avoid a spurious failure with MSVC
  tests: avoid a spurious failure on non-POSIX systems

11 years agot/README: document "run_make", discourage "make -e"
Stefano Lattarini [Wed, 29 May 2013 12:16:19 +0000 (14:16 +0200)]
t/README: document "run_make", discourage "make -e"

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agocosmetics: tiny whitespace fixlets
Stefano Lattarini [Wed, 29 May 2013 11:55:48 +0000 (13:55 +0200)]
cosmetics: tiny whitespace fixlets

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agotests: avoid a spurious failure with MSVC
Peter Rosin [Wed, 29 May 2013 10:06:17 +0000 (12:06 +0200)]
tests: avoid a spurious failure with MSVC

Fixes automake bug#14498.

* t/yacc-bison-skeleton.sh: inline was not standardized prior to C99.

Signed-off-by: Peter Rosin <peda@lysator.liu.se>
11 years agotests: avoid a spurious failure on non-POSIX systems
Peter Rosin [Wed, 29 May 2013 10:01:07 +0000 (12:01 +0200)]
tests: avoid a spurious failure on non-POSIX systems

Fixes automake bug#14495.

* t/lex-header.sh: Make sure unistd.h isn't included.

Signed-off-by: Peter Rosin <peda@lysator.liu.se>
11 years agoMerge branch 'micro' into maint
Stefano Lattarini [Wed, 29 May 2013 08:39:58 +0000 (10:39 +0200)]
Merge branch 'micro' into maint

* micro:
  NEWS: fix typos and grammaros
  NEWS: document fix for bug#14441
  Automake::Rule: consistently prepend underscore to private variables
  Automake::Rule: rename: suffix_rule() -> next_in_suffix_chain()
  Automake::Rule: adjust comments and POD according to previous changes
  Automake::Rule: make private variables lexically scoped
  suffix rules: better distinction between builtin and user-derived
  Automake::Rule: expose suffix rules as a function, not a scalar
  tests: expose automake bug#14441

11 years agoNEWS: fix typos and grammaros
Stefano Lattarini [Wed, 29 May 2013 08:20:48 +0000 (10:20 +0200)]
NEWS: fix typos and grammaros

Reported-by: Peter Rosin <peda@lysator.liu.se>
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agoMerge branch 'suffix-rules-work' into micro
Stefano Lattarini [Tue, 28 May 2013 20:04:25 +0000 (22:04 +0200)]
Merge branch 'suffix-rules-work' into micro

* suffix-rules-work:
  NEWS: document fix for bug#14441
  Automake::Rule: consistently prepend underscore to private variables
  Automake::Rule: rename: suffix_rule() -> next_in_suffix_chain()
  Automake::Rule: adjust comments and POD according to previous changes
  Automake::Rule: make private variables lexically scoped
  suffix rules: better distinction between builtin and user-derived
  Automake::Rule: expose suffix rules as a function, not a scalar
  tests: expose automake bug#14441

11 years agoNEWS: fix typo
Stefano Lattarini [Tue, 28 May 2013 19:26:28 +0000 (21:26 +0200)]
NEWS: fix typo

Reported-by: Peter Rosin <peda@lysator.liu.se>
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agoMerge branch 'micro' into maint
Stefano Lattarini [Tue, 28 May 2013 19:04:39 +0000 (21:04 +0200)]
Merge branch 'micro' into maint

* micro:
  NEWS: report recent documentation fix about AM_PROG_MKDIR_P
  NEWS: Automake 2.0 will assume "rm -f" without args work
  NEWS: fix a couple of typos in older entries

11 years agoNEWS: report recent documentation fix about AM_PROG_MKDIR_P
Stefano Lattarini [Tue, 28 May 2013 18:51:42 +0000 (20:51 +0200)]
NEWS: report recent documentation fix about AM_PROG_MKDIR_P

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agoNEWS: Automake 2.0 will assume "rm -f" without args work
Stefano Lattarini [Tue, 28 May 2013 18:48:11 +0000 (20:48 +0200)]
NEWS: Automake 2.0 will assume "rm -f" without args work

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agoNEWS: on assuming "rm -f" without arguments work
Stefano Lattarini [Tue, 28 May 2013 18:09:54 +0000 (20:09 +0200)]
NEWS: on assuming "rm -f" without arguments work

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agoNEWS: fix a couple of typos in older entries
Stefano Lattarini [Tue, 28 May 2013 17:29:11 +0000 (19:29 +0200)]
NEWS: fix a couple of typos in older entries

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agoMerge branch 'micro' into maint
Stefano Lattarini [Tue, 28 May 2013 15:53:03 +0000 (17:53 +0200)]
Merge branch 'micro' into maint

* micro:
  docs: AM_PROG_MKDIR_P: will not be removed in 2.0 release of Automake
  maint: sanity checks in 'check-minimal-autoconf' convenience target
  maint: test minimal supported autoconf through convenience target
  maint: install minimal supported autoconf through convenience targets
  test-lib: typofix in comments

11 years agodocs: AM_PROG_MKDIR_P: will not be removed in 2.0 release of Automake
Stefano Lattarini [Tue, 28 May 2013 15:52:15 +0000 (17:52 +0200)]
docs: AM_PROG_MKDIR_P: will not be removed in 2.0 release of Automake

See the 'PLANS/obsolete-removed/am-prog-mkdir-p.txt' file in the 'maint'
branch (as of commit v1.13.2-201-gd99e3f3) for details.

* doc/automake.texi: Adjust.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agodocs: AM_PROG_CC_C_O: correct imprecise statements about it
Stefano Lattarini [Tue, 28 May 2013 15:45:25 +0000 (17:45 +0200)]
docs: AM_PROG_CC_C_O: correct imprecise statements about it

* doc/automake.texi: Here.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agomaint: sanity checks in 'check-minimal-autoconf' convenience target
Stefano Lattarini [Tue, 28 May 2013 14:24:41 +0000 (16:24 +0200)]
maint: sanity checks in 'check-minimal-autoconf' convenience target

* maint.mk (check-minimal-autoconf): Here, check that autoconf seems
to be locally installed, and that such local install refers to the
correct expected minimal version.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agomaint: test minimal supported autoconf through convenience target
Stefano Lattarini [Tue, 28 May 2013 13:58:06 +0000 (15:58 +0200)]
maint: test minimal supported autoconf through convenience target

* maint.mk (check-minimal-autoconf): New convenience target.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agomaint: install minimal supported autoconf through convenience targets
Stefano Lattarini [Tue, 28 May 2013 13:13:46 +0000 (15:13 +0200)]
maint: install minimal supported autoconf through convenience targets

To make testing of Automake in conjunction with it easier and more
reproducible.  It might be nice to also have convenience targets to
actually automatically run the Automake testsuite with such autoconf
version, but that is left to later patches.

* configure.ac: AC_SUBST the definition of $required_autoconf_version.
* maint.mk (WGET): Move definition earlier.
(gnu-ftp, ac-v, ac-n, ac-p, ac-t, ac-l, ac-d): New auxiliary variables.
(fetch-minimal-autoconf, build-minimal-autoconf): New convenience
targets.
* .gitignore: Update.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agoNEWS: document fix for bug#14441
Stefano Lattarini [Tue, 28 May 2013 08:54:25 +0000 (10:54 +0200)]
NEWS: document fix for bug#14441

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agoAutomake::Rule: consistently prepend underscore to private variables
Stefano Lattarini [Tue, 28 May 2013 08:56:30 +0000 (10:56 +0200)]
Automake::Rule: consistently prepend underscore to private variables

* lib/Automake/Rule.pm (%suffix_rules): Rename ...
(%_suffix_rules): ... like this.
(%suffix_rules_builtin): Rename ...
(%_suffix_rules_builtin): ... like this.
(reset, next_in_suffix_chain, register_suffix_rule, suffix_rules_count):
Adjust.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agoAutomake::Rule: rename: suffix_rule() -> next_in_suffix_chain()
Stefano Lattarini [Mon, 27 May 2013 10:55:27 +0000 (12:55 +0200)]
Automake::Rule: rename: suffix_rule() -> next_in_suffix_chain()

* lib/Automake/Rule.pm (suffix_rule): Rename ...
(next_in_suffix_chain): ... like this.
(%suffix_rules): Adjust comments.
(@EXPORT): Adjust.
* automake.in (derive_suffix): Likewise.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agoAutomake::Rule: adjust comments and POD according to previous changes
Stefano Lattarini [Mon, 27 May 2013 10:30:14 +0000 (12:30 +0200)]
Automake::Rule: adjust comments and POD according to previous changes

* lib/Automake/Rule.pm: Here, in several places.
* automake.in (register_language): And a tiny adjustment here as well.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agoAutomake::Rule: make private variables lexically scoped
Stefano Lattarini [Mon, 27 May 2013 10:24:02 +0000 (12:24 +0200)]
Automake::Rule: make private variables lexically scoped

* lib/Automake/Rule.pm (@_known_extensions_list): This one.
(@_suffixes): And this one.
(%_rule_dict): And this one.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agosuffix rules: better distinction between builtin and user-derived
Stefano Lattarini [Mon, 27 May 2013 09:14:22 +0000 (11:14 +0200)]
suffix rules: better distinction between builtin and user-derived

Fixes automake bug#14441.

* lib/Automake/Rule.pm ($_suffix_rules_default): Remove, superseded by ...
(%suffix_rules_builtin): ... this lexical variable.
($suffix_rules): Remove, superseded by ...
(%suffix_rules): ... this lexical variable.
(suffix_rules, suffix_rules_count): Adjust.
(register_suffix_rule): Update '%suffix_rules_builtin' rather than
'%suffix_rules' if the location (as passed by the '$where' argument)
is an "internal" one (doesn't come from user-provided Makefile.am).
(reset): Simplify resetting of '%suffix_rules' to the default ones
accordingly.
* t/list-of-tests.mk (XFAIL_TESTS): Drop test 'suffix-custom-pr14441.sh'.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agoAutomake::Rule: expose suffix rules as a function, not a scalar
Stefano Lattarini [Mon, 27 May 2013 08:44:06 +0000 (10:44 +0200)]
Automake::Rule: expose suffix rules as a function, not a scalar

This is just a preparatory refactoring in view of future patches.
No semantic change is intended.

* lib/Automake/Rule.pm ($suffix_rules): Turn from a package-level
variable to a lexical variable.
(suffix_rule): New function, expose the details of $suffix_rules
that are actually required by code outside thus modules --- and
only those details, no more.
(@EXPORT): Adjust.
* automake.in (derive_suffix): Likewise.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agotests: expose automake bug#14441
Stefano Lattarini [Sun, 26 May 2013 23:02:05 +0000 (01:02 +0200)]
tests: expose automake bug#14441

* t/suffix-custom-pr14441.sh: New test, still failing.
* t/list-of-tests.mk (handwritten_TESTS, XFAIL_TESTS): Add it.

Helped-by: Felix Salfelder <felix@salfelder.org>
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agotest-lib: typofix in comments
Stefano Lattarini [Sun, 26 May 2013 18:51:57 +0000 (20:51 +0200)]
test-lib: typofix in comments

* t/ax/am-test-lib.sh: In here.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agoMerge branch 'micro' into maint
Stefano Lattarini [Sun, 26 May 2013 18:40:12 +0000 (20:40 +0200)]
Merge branch 'micro' into maint

* micro:
  tests: remove an "unworthy" FIXME comment
  tests: remove one obsolete workaround for long-lifted limitations
  tests: couple of minor tweaks in demo tests in C++ and Libtool

11 years agotests: remove an "unworthy" FIXME comment
Stefano Lattarini [Sun, 26 May 2013 18:37:23 +0000 (20:37 +0200)]
tests: remove an "unworthy" FIXME comment

* t/location.sh: Here.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agotests: remove one obsolete workaround for long-lifted limitations
Stefano Lattarini [Sun, 26 May 2013 18:34:14 +0000 (20:34 +0200)]
tests: remove one obsolete workaround for long-lifted limitations

* t/silent-many-languages.sh: Here.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agotests: couple of minor tweaks in demo tests in C++ and Libtool
Stefano Lattarini [Sun, 26 May 2013 17:18:55 +0000 (19:18 +0200)]
tests: couple of minor tweaks in demo tests in C++ and Libtool

* t/cxx-lt-demo.sh: Here.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agoMerge branch 'micro' into maint
Stefano Lattarini [Sun, 26 May 2013 12:09:20 +0000 (14:09 +0200)]
Merge branch 'micro' into maint

* micro:
  tests: adjust or remove some obsolete comments
  tests: remove some useless 'unset' of variables

11 years agoNEWS: document deprecation of 'shar' and 'compress' dist formats
Stefano Lattarini [Sun, 26 May 2013 11:54:29 +0000 (13:54 +0200)]
NEWS: document deprecation of 'shar' and 'compress' dist formats

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agoMerge branch 'prog-cc-c-o-work' into maint
Stefano Lattarini [Sun, 26 May 2013 11:30:52 +0000 (13:30 +0200)]
Merge branch 'prog-cc-c-o-work' into maint

* prog-cc-c-o-work:
  tests: some tests make no sense if "$CC -c -o" doesn't work
  AM_PROG_CC_C_O: don't rely on AC_PROG_CC_C_O, re-implement similar logic
  compile: rewrite AC_PROG_CC with AM_PROG_CC_C_O contents

11 years agom4: rename minuso.m4 -> prog-cc-c-o.m4
Stefano Lattarini [Sun, 26 May 2013 10:52:07 +0000 (12:52 +0200)]
m4: rename minuso.m4 -> prog-cc-c-o.m4

The new name is much clearer.

* m4/minuso.m4: Rename ...
* m4/prog-cc-c-o.m4: ... like this.
* m4/Makefile.in (dist_automake_DATA): Adjust.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agotests: adjust or remove some obsolete comments
Stefano Lattarini [Sun, 26 May 2013 10:42:04 +0000 (12:42 +0200)]
tests: adjust or remove some obsolete comments

* t/ax/am-test-lib.sh: Here.
* t/distcheck-configure-flags.sh: And here.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agotests: remove some useless 'unset' of variables
Stefano Lattarini [Sun, 26 May 2013 10:13:33 +0000 (12:13 +0200)]
tests: remove some useless 'unset' of variables

They are redundant, now that we no longer call "make -e".

* t/javaflags.sh: Don't unset JAVAC.
* t/lflags.sh: Don't unset LEX.
* t/lflags2.sh: Likewise.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agoMerge branch 'micro' into maint
Stefano Lattarini [Sun, 26 May 2013 10:04:48 +0000 (12:04 +0200)]
Merge branch 'micro' into maint

* micro:
  tests: avoid a couple of extra sleep with GNU make
  NEWS: document testsuite work for 1.13.3
  lint: remove a couple of obsolete syntax checks
  lint: cosmetics: use #-comments, not ##-comments
  lint: cosmetics: some reordering
  lint: recipes of syntax check require GNU grep; ensure it is used
  lint: better name for a syntax check
  tests: rename $am_make_rc_got -> $am_make_rc
  tests: ensure $required is not set too late

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agotests: avoid a couple of extra sleep with GNU make
Stefano Lattarini [Sun, 26 May 2013 09:35:15 +0000 (11:35 +0200)]
tests: avoid a couple of extra sleep with GNU make

They are only required by BSD make in order to avoid spurious failures.

* t/deleted-am.sh: Here.
* t/parallel-tests-recheck-pr11791.sh: And here.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agoNEWS: document testsuite work for 1.13.3
Stefano Lattarini [Sun, 26 May 2013 09:23:29 +0000 (11:23 +0200)]
NEWS: document testsuite work for 1.13.3

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agolint: remove a couple of obsolete syntax checks
Stefano Lattarini [Sat, 25 May 2013 20:50:20 +0000 (22:50 +0200)]
lint: remove a couple of obsolete syntax checks

* syntax-checks.mk (sc_obsolete_requirements_rules): Remove
definition of this variable.
(modern-requirement.texi2dvi-o): Likewise.
(modern-requirement.makeinfo-html): Likewise.
($(sc_obsolete_requirements_rules)): Remove these obsolete
syntax checks.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agolint: cosmetics: use #-comments, not ##-comments
Stefano Lattarini [Sat, 25 May 2013 20:22:55 +0000 (22:22 +0200)]
lint: cosmetics: use #-comments, not ##-comments

* syntax-checks.mk: Here.  This makes sense because this file is
not meant to be processed by Automake, so the ##-comments are not
treated specially.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agolint: cosmetics: some reordering
Stefano Lattarini [Sat, 25 May 2013 20:20:44 +0000 (22:20 +0200)]
lint: cosmetics: some reordering

* syntax-checks.mk: Here.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agolint: recipes of syntax check require GNU grep; ensure it is used
Stefano Lattarini [Sat, 25 May 2013 20:18:45 +0000 (22:18 +0200)]
lint: recipes of syntax check require GNU grep; ensure it is used

* syntax-checks.mk (sc_sanity_gnu_grep): New.
($(syntax_check_rules)): Depend on it.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agolint: better name for a syntax check
Stefano Lattarini [Sat, 25 May 2013 19:36:35 +0000 (21:36 +0200)]
lint: better name for a syntax check

* syntax-checks.mk (sc_tests_make_without_am_makeflags): Rename ...
(sc_make_without_am_makeflags): ... like this.
(syntax_check_rules): Adjust.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agotests: rename $am_make_rc_got -> $am_make_rc
Stefano Lattarini [Fri, 24 May 2013 18:54:41 +0000 (20:54 +0200)]
tests: rename $am_make_rc_got -> $am_make_rc

The latter is more natural  More importantly, I keep misspelling
the former over and over.

* t/ax/am-test-lib.sh (run_make): Update.
* t/ax/tap-summary-aux.sh: Adjust.
* t/ax/testsuite-summary-checks.sh: Likewise.
* t/parallel-tests-exit-statuses.sh: Likewise.
* t/parallel-tests-extra-programs.sh: Likewise.
* t/parallel-tests-fd-redirect-exeext.sh: Likewise.
* t/parallel-tests-fd-redirect.sh: Likewise.
* t/parallel-tests-fork-bomb.sh: Likewise.
* t/parallel-tests-no-spurious-summary.sh: Likewise.
* t/parallel-tests-recheck-pr11791.sh: Likewise.
* t/parallel-tests-reset-term.sh: Likewise.
* t/tap-signal.tap: Likewise.
* t/test-driver-acsubst.sh: Likewise.
* t/test-driver-cond.sh: Likewise.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agotests: some tests make no sense if "$CC -c -o" doesn't work
Stefano Lattarini [Wed, 15 May 2013 13:48:08 +0000 (15:48 +0200)]
tests: some tests make no sense if "$CC -c -o" doesn't work

So just skip them, to avoid spurious failures when running
"make check-no-cc-c-o".

* t/ax/am-test-lib.sh (require_tool): New requirement '-c-o'.
* t/subobj10.sh ($required): Add it.
* gen-testsuite-part (%depmodes): Adjust so that tests that
use 'makedepend' will be skipped if the compiler is being
forced not to grasp "-c -o".

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agoAM_PROG_CC_C_O: don't rely on AC_PROG_CC_C_O, re-implement similar logic
Stefano Lattarini [Wed, 15 May 2013 08:14:46 +0000 (10:14 +0200)]
AM_PROG_CC_C_O: don't rely on AC_PROG_CC_C_O, re-implement similar logic

** Theoretical problems of AC_PROG_CC_C_O:

  Both cc and $CC are checked to see if they support the '-c' and '-o'
  options together.
  This behaviour is highly inconsistent with that of the other macros
  related to C compiler checks -- which test only $CC.
  It can also cause unwarranted uses of the 'compile' script on systems
  where the default 'cc' is inferior, but the user is compiling with a
  proper, different compiler (e.g., gcc).

** Practical problems with our previous implementation of C support m4
   macros in Automake:

  - AM_PROG_AR must now be called *before* AC_PROG_CC; this wasn't the
    case before, and it turns out there are packages in the wild that
    relied on the old behaviour.

  - The cross-referenced requirements and macro rewrites juggled among
    AC_PROG_CC, AC_PROG_CC_C_O and AM_PROG_CC_C_O caused warnings in
    autoconf; for example, in our test 't/libobj3.sh', we could see
    warnings like these (here slightly tweaked for legibility):

        configure.ac:5: AC_REQUIRE: `AC_PROG_CC' expanded before required
        autoconf/c.m4:567: AC_PROG_CC_C_O is expanded from...
        autoconf/c.m4:429: AC_LANG_COMPILER(C) is expanded from...
        autoconf/lang.m4:329: AC_LANG_COMPILER_REQUIRE is expanded from...
        autoconf/general.m4:2606: AC_COMPILE_IFELSE is expanded from...
        m4sugar/m4sh.m4:639: AS_IF is expanded from...
        autoconf/general.m4:2031: AC_CACHE_VAL is expanded from...
        autoconf/general.m4:2052: AC_CACHE_CHECK is expanded from...
        aclocal.m4:70: AM_PROG_AR is expanded from...
        configure.ac:5: the top level

** Fix all of that:

We fix all of the described issues with a new internal m4 macro
_AM_PROG_CC_C_O (inspired to, but not based on, AC_PROG_CC_C_O) that
gets tacked on to AC_PROG_CC automatically (this is done in the
Automake-generated aclocal.m4) and that takes care of checking and
adjusting '$CC' for "-c -o" support.

The macro AM_PROG_CC_C_O is still present, but is now just a thin
wrapper around such Automake-enhanced AC_PROG_CC.

It is worth noting that the present patch causes three slight
*backward-incompatibilities*:

  1. The name cache variable used by AM_PROG_CC_C_O is no longer
     computed (at configure runtime!) from the content of '$CC',
     but is statically defined as 'am_cv_prog_cc_c_o'.

  2. 'cc' is no longer checked by AM_PROG_CC_C_O, only '$CC' is.

  3. AM_PROG_CC_C_O no longer AC_DEFINE the C preprocessor symbol
     'NO_MINUS_C_MINUS_O'.

Given however that the third change can easily be worked around, that
the first two changes can be legitimately seen as bug fixes, and that
the new semantics introduced by such changes will simplify the transition
to Automake 2.0 (when the 'subdir-objects' will always be enabled
unconditionally), we believe they are acceptable to be shipped with
Automake 1.14.

With this patch, we also revert some of the testsuite adjustments done
in previous commit v1.13.2-178-g9877109 of 2013-05-24 (compile: rewrite
AC_PROG_CC with AM_PROG_CC_C_O contents).  Such adjustments are no longer
needed.

* m4/minuso.m4 (_AM_PROG_CC_C_O): New internal macro, basically and
adjusted version of a merge between Autoconf-provided AC_PROG_CC_C_O
and our old implementation of AM_PROG_CC_C_O.
(AM_PROG_CC_C_O): Redefine as a simple wrapper around AC_PROG_CC.
* m4/init.m4 (AC_PROG_CC): Append _AM_PROG_CC_C_O, not AM_PROG_CC_C_O,
to the pre-existing expansion of this macro.
* m4/ar-lib.m4 (AM_PROG_AR): No longer require it to be expanded after
AC_PROG_CC.
* t/aclocal-deps.sh: Move AC_PROG_CC invocation after AC_PROG_RANLIB
and AM_PROG_AR invocations.  Things should work this way too (as they
used to).
* t/subobj-clean-lt-pr10697.sh: Likewise.
* t/alloca.sh: Move AC_PROG_CC invocation after AM_PROG_AR invocation.
* t/condlib.sh: Likewise.
* t/aclocal-deps.sh: Move AC_PROG_CC invocation after LT_INIT and
AM_PROG_AR invocations.  Make autoconf and autoheader warnings fatal.
* t/am-prog-cc-c-o.sh: Adjust to the new semantics, enhance a  little,
and reduce code duplication.
* t/ccnoco.sh: Make autoconf warnings fatal.
* t/subpkg.sh: Likewise.
* t/ccnoco-lib.sh: Likewise, and fix a comment.
* t/link_cond.sh: Enhance a couple of error messages.
* configure.ac: Drop "nullification" of AM_PROG_CC_C_O.
* NEWS: Adjust.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11 years agocompile: rewrite AC_PROG_CC with AM_PROG_CC_C_O contents
Stefano Lattarini [Tue, 14 May 2013 14:08:32 +0000 (16:08 +0200)]
compile: rewrite AC_PROG_CC with AM_PROG_CC_C_O contents

This is a much simpler rewrite than the one we attempted in the past,
and that was later removed by commit 'v1.13.1d-137-g32eb770' of
2013-05-11 (compile: avoid AC_PROG_CC messy rewrite).

Not only this change simplifies the code a little, but has the welcome
collateral effect of making automatic dependency tracking work better
with compilers that doesn't grasp the '-c' and '-o' options together.
Issues in that setup have been caught by several failures in the target
'check-no-cc-c-o'.

Unfortunately, this change has less welcome collateral effects:

  1. AM_PROG_AR must now be called *after* AC_PROG_CC;

  2. Autoconf emits extra warnings when used with Automake-generated
     aclocal.m4.

These are unacceptable regressions for a release, but since we are
going to fix them soon enough in a follow-up patch (surely to be
applied before Automake 1.14 is released) we don't worry too much.

* m4/init.m4: Redefine AC_PROG_CC early, to automatically invoke
AM_PROG_CC_C_O as well.  Accordingly, drop now-unneeded "automagical"
AM_PROG_CC_C_O expansion at later time (which took place thanks to
a AC_CONFIG_COMMANDS_PRE call).
* m4/minuso.m4 (AM_PROG_CC_C_O): Ensure the expansion of the body
of this macro takes place with C as "current Autoconf language" (use
AC_LANG_PUSH/AC_LANG_POP).
* m4/ar-lib.m4 (AM_PROG_AR): Likewise.  Also, require this macro to
be expanded *after* AC_PROG_CC (so that any rewrite of $CC, if required,
has already taken place).
* t/add-missing.tap: Adjust to avoid spurious failures.
* t/aclocal-deps.sh: Likewise, by having AM_PROG_AR called *after*
AC_PROG_CC.
* t/subobj-clean-lt-pr10697.sh: Likewise.
* t/alloca.sh: Likewise.
* t/condlib.sh: Likewise.
* t/discover.sh: Likewise.
* t/objc-megademo.sh: Likewise.
* t/ccnoco.sh: Extend a little.
* t/ccnoco-deps.sh: New test.
* t/ccnoco-lib.sh: Likewise.
* t/ccnoco-lt.sh: Likewise.
* t/list-of-tests.mk: Add them.

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