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.
* 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).
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.
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.
* maint:
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
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
maint: version bump after beta release 1.13b
release: beta release 1.13b (will become 1.14)
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
automake: assume we can always pass '-o' to the C compiler
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
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
* 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
* 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
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.
* 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!
* 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
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.
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".
* 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
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'.
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.
tests: avoid a spurious failure when TeX is not installed.
Fixes automake bug#14499.
* t/txinfo-no-split.sh: If TeX is not available, redefine 'dvi' to be a
dummy target, so that "make distcheck" doesn't fail while trying to build
the DVI version of the Texinfo manual.
* maint:
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
* 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
* 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
* maint:
NEWS: report recent documentation fix about AM_PROG_MKDIR_P
NEWS: Automake 2.0 will assume "rm -f" without args work
NEWS: on assuming "rm -f" without arguments work
NEWS: fix a couple of typos in older entries
docs: AM_PROG_MKDIR_P: will not be removed in 2.0 release of Automake
docs: AM_PROG_CC_C_O: correct imprecise statements about it
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
* 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
* 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
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.
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.
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'.
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.
* maint:
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
* 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
* maint:
NEWS: document deprecation of 'shar' and 'compress' dist formats
m4: rename minuso.m4 -> prog-cc-c-o.m4
tests: adjust or remove some obsolete comments
tests: remove some useless 'unset' of variables
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: 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
tests: ensure $required is not set too late
* 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
* 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