| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
| |
This will allow to also use it in the makefile recipes used in our
test cases.
* t/ax/test-init.sh (is_newest): Remove.
* t/ax/is_newest: New script.
* Makefile.am (EXTRA_DIST): Add it.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Some inferior shells are too greedy in parsing their input. If a
non-POSIX Bourne shell (like Solaris 10 /bin/sh) was used to launch
one of our test scripts, it would fail unconditionally, because it
unexpectedly saw some (by it) unsupported constructs, notwithstanding
such constructs being placed *after* the code implementing automatic
test re-execution with a better shell. In conclusion, the shell
bailed out like this:
$ /bin/sh t/ar.sh
$ t/ar.sh: syntax error at line 257: `is_newest_files=$' unexpected
By moving all the potentially problematic code in a separate file, to
be sourced only after the code for automatic re-execution with a better
shell, we ensure that inferior shell cannot see such code by mistake.
* defs: All code after automatic shell re-execution moved out ...
* t/ax/test-init.sh: ... to this new file.
* syntax-checks.mk (xdefs): Add it.
* Makefile.am (dist_check_DATA): Add it. Also move in 'defs' from
a less explicit 'check_DATA' declaration.
(nodist_check_DATA): Move in 'defs-static' from a less explicit
'check_DATA' declaration.
(check_DATA): Remove.
* t/self-check-sanity.sh: Remove, it was actually too hacky and brittle,
sanity-checking situations we don0t actually care about.
* t/list-of-tests.mk: Adjust.
* t/self-check-explicit-skips.sh: Adjust, and fix a botched heading
comments while we are at it.
* t/self-check-reexec.tap: Adjust.
* t/self-check-cleanup.tap: Likewise.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
|
|
|
|
|
| |
* Makefile.am (test_subdirs): Add 't/perf'. Fix spurious failure
of the 'maintainer-check-list-of-tests' target.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
|
|
|
|
|
|
|
| |
* Makefile.am (git-tag-release): Do not check that the version number
NEWS is updated w.r.t. $(VERSION); given the new way we manage NEWS,
that would cause gratuitous spurious failures.
* HACKING: Update.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This will help our transition from 'serial-tests' to 'parallel-tests'
as the default test suite driver enabled by a TESTS assignment in the
input Makefile.am. Note that that change of default will only take
place in master, though.
* defs: Pass the 'parallel-tests' option to the AM_INIT_AUTOMAKE
invocation in the created 'configure.ac' stub, unless the variable
'am_serial_tests' is set to "yes". Don't pay attention anymore to
the 'am_parallel_tests' variable, that's obsolete now.
* defs-static.in: Warn if the 'am_serial_tests' variable is set in the
environment; conversely, don't warn anymore about 'am_parallel_tests'
being set in the environment.
* Makefile.am (AM_TESTS_ENVIRONMENT): Nullify the 'am_serial_tests'
variable instead of the now-obsolete 'am_parallel_tests' one.
* syntax-checks.mk (sc_tests_obsolete_variables): Also warn against
uses of 'am_parallel_tests', which is now deprecated in favor of
'am_serial_tests'. Similarly, if a use of 'parallel_tests' is seen,
suggest using 'am_serial_tests' instead, not 'am_parallel_tests'.
* gen-testsuite-part: Now that we use the 'parallel-tests' by default
in our tests, we need to completely change the logic and semantics of
generation of sibling tests for those tests that check the Automake
generated testsuite harness itself. Do that, and give a complete
explanation of the new logic and semantics in the relevant comments.
* t/README: Update.
* Lots of test cases: Adjust.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|\
| |
| |
| |
| |
| |
| |
| |
| | |
* testsuite-saner-shell:
tests: fix a spurious failure with dash
test defs: fix indentation (cosmetic change)
tests: remove obsolete uses of $sh_errexit_works
configure: search a sturdy POSIX shell to be used in the testsuite
tests: shell running test scripts is now named AM_TEST_RUNNER_SHELL
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This is just a preparatory refactoring for future changes.
* configure.ac (AM_TEST_RUNNER_SHELL): New variable, defined
to $SHELL', and AC_SUBST'd.
* Makefile.am (LOG_COMPILER): Redefine from $(SHELL) to
$(AM_TEST_RUNNER_SHELL).
* defs: Adjust to use $AM_TEST_RUNNER_SHELL instead
of $CONFIG_SHELL and/or $SHELL, where appropriate. Minor
opportunistic changes.
* t/self-check-explicit-skips.sh: Likewise.
* t/self-check-sanity.sh: Likewise.
* t/self-check-tap.sh: Likewise.
* t/self-check-cleanup.tap: Likewise.
* t/self-check-dir.tap: Likewise.
* t/self-check-env-sanitize.tap: Likewise.
* t/self-check-exit.tap: Likewise.
* t/self-check-me.tap: Likewise.
* t/self-check-reexec.tap: Likewise.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|/
|
|
|
|
|
|
|
|
| |
Since commit v1.11-2128-g8e02441 of 2012-04-06, "maint: no more make
recursion in Automake's build system" we haven't been distributing the
testsuite README file in our release tarballs. Oops.
* Makefile.am (EXTRA_DIST): Add 't/README'.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Suggested by Peter Johansson in the discussion about automake bug#11356:
<http://debbugs.gnu.org/cgi/bugreport.cgi?bug=11356#41>
* boostrap.sh (dosubst): Don't initialize the substituted value for the
release year from the current year (using `date +%Y`); instead, do it
through ...
($RELEASE_YEAR): ... this new statically-defined variable. To ensure it
won't get out-of-sync, it will be automatically updated ...
* Makefile.am (update-copyright): ... by this target's recipe.
Since are at it, fix a botched output redirection for an error message,
i.e., use ">&2" instead of ">&1".
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Since our 'bootstrap' script is distributed, the 'distdir' target depends
on it. But in our GNUmakefile, we also have a 'bootstrap' target declared
.PHONY, which when called re-bootstrap the Automake distribution. Thus,
whenever we run "make dist", GNU make sees it must remake the 'bootstrap'
target (as it is a dependency of the 'distdir' target), and thus ends up
re-bootstrapping all the package (because of the .PHONY 'bootstrap' target
in GNUmakefile).
We fix this issue by renaming our bootstrap script to 'bootstrap.sh'.
* bootstrap: Renamed ...
* bootstrap.sh: ... to this.
* GNUmakefile (bootstrap): Adjust.
* Makefile.am (EXTRA_DIST): Likewise.
(autodiffs): Likewise.
* HACKING: Likewise.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
From a suggestion by Eric Blake. See automake bug#11356.
This is a follow-up to previous patch 'v1.12-12-gb99b5be'.
* configure.ac (RELEASE_YEAR): New AC_SUBST'd variable, should hold
the value of the current year.
* Makefile.am (update-copyright): Be sure to also update the
definition of 'RELEASE_YEAR' in configure.ac.
* lib/Automake/Config.in ($RELEASE_YEAR): New exported variable,
initialized from the value substituted for '@RELEASE_YEAR@'.
(@EXPORT): Add it.
* automake.in, aclocal.in: Use '$RELEASE_YEAR' (which will be
substituted at make time) instead of hard-coding the release
year. This should ensure the copyright range in the version
message and in the generated files (Makefile.in and aclocal.m4)
are automatically kept up-to-date.
* bootstrap (dosubst): Update, also substitute '@RELEASE_YEAR@'.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The autogenerated makefile fragment 't/testsuite-part.am' used to depend
on the list of *all* the hand-written files. This was technically correct,
since that makefile fragment was (and still is) generated by the script
'gen-testsuite-part', which scans all the hand-written files to detect
implicit dependencies and to decide for which tests a further wrapper test
should be generated.
However, the presence of such a dependency implied that, whenever *any*
test case was modified (no matter how slightly), the 't/testsuite-part.am'
file was rebuilt, and since that is included by our 'Makefile.am', the
'Makefile.in' file was rebuilt as well by automake. In order to do so,
automake scanned our 'configure.ac' file, which requires the latest
Autoconf version (2.69 at the time of writing), and the casual user can
easily lack that on his machine (and that should be allowed, as automake
currently supports any autoconf version >= 2.62).
The described situation could hinder in-field testing or debugging by
users (even experienced ones) that are not automake developers; see for
example automake bug#11347.
So we drop the explicit dependency of 't/testsuite-part.am' on the
hand-written test cases. (As an aside, note that this has already
been done in Automake-NG, albeit for other reasons; see the commit
'v1.11b-129-g1690aca' of 2012-04-23, "[ng] build: define $(TESTS)
through a wildcard").
This is not a serious regression in the faithfulness of the Automake
build systems, since it unfortunately already had several undeclared
dependencies; e.g., 'Makefile.in' should depend on the automake script,
and 'aclocal.m4' should depend on the aclocal script (but this isn't
possible, as it would mean that distributed files depend on ones generated
at make time). Similarly, 'Makefile.in' should depend on some of the
'lib/am/*.am' files, but does not.
Currently, the workaround to get a faithful and correct rebuild is to run
./bootstrap && ./config.status --recheck && make clean all
and the present commit does not change that.
* Makefile.am ($(srcdir)/t/testsuite-part.am): Don't depend on
't/list-of-tests.mk' nor on '$(handwritten_TESTS)' anymore.
($(generated_TESTS)): Likewise, and don't depend on 'Makefile.am'
either.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* TODO: Move ...
* old/TODO: ... here. This is done because this file is quite
outdated, and today TODO and wishlist items are better handled
though the debbugs tracker.
* ChangeLog.00: Move ...
* old/ChangeLog.00: ... here.
* ChangeLog.01: Move ...
* old/ChangeLog.01: ... here.
* ChangeLog.02: Move ...
* old/ChangeLog.02: ... here.
* ChangeLog.03: Move ...
* old/ChangeLog.03: ... here.
* ChangeLog.04: Move ...
* old/ChangeLog.04: ... here.
* ChangeLog.09: Move ...
* old/ChangeLog.09: ... here.
* ChangeLog.11: Move ...
* old/ChangeLog.11: ... here.
* ChangeLog.96: Move ...
* old/ChangeLog.96: ... here.
* ChangeLog.98: Move ...
* old/ChangeLog.98: ... here.
* tests/ChangeLog-old: Move ...
* old/ChangeLog-tests: .. here.
* tests/Makefile.am (EXTRA_DIST): Adjust.
* Makefile.am (EXTRA_DIST): Likewise.
* .autom4te.cfg: New file, instructing the autotools to place the
autom4te cache directory in '.autom4te.cache' rather than in
'autom4te.cache'.
* .gitignore: Adjust.
* Makefile.am (maintainer-clean-local): Remove the '.autom4te.cache'
directory.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
| |
This patch converts the files implementing the automake's own build
system to the use of new quoting format 'like this' or "like this"
rather than `like this'.
* bootstrap, configure.ac, syntax-checks.mk, Makefile.am,
lib/Makefile.am, m4/Makefile.am, syntax-checks.mk: Update quoting
format throughout, in comments and diagnostic. Some minor related
rewordings and reformatting since we are at it.
|
|
|
|
|
|
|
|
| |
* Makefile.am (installcheck-local): Remove. The "installcheck"
target provided by automake is already a recursive target, so
there's no need to have an 'installcheck-local' recipe that
manually recurse into 'tests/'. In fact, such a manual recursion
was causing the testsuite to be run twice by "make installcheck".
|
|
|
|
|
|
|
|
|
|
| |
* Makefile.am (gitlog_to_changelog_options): Add support for
amending the generated ChangeLog.
(EXTRA_DIST): Update.
* .git-log-fix: New file with things to amend to the generated
ChangeLog, starting with a fix for a typo in v1.11-1963-g3b369e6
"maint: use AC_PACKAGE_BUGREPORT to avoid duplication" from
yesterday.
|
|
|
|
|
|
|
|
|
| |
Reported by Peter Rosin.
* update-copyright: Also exclude the COPYING and INSTALL files
found in the top-level directory.
* COPYING, INSTALL: Revert update of copyright years done in
today's commit 'v1.11-1948-g641a5a4'.
|
| |
|
|\
| |
| |
| |
| | |
* maint:
update-copyright: don't touch files synced from external packages
|
| |
| |
| |
| |
| |
| | |
* Makefile.am (update-copyright): Do not update copyright years of
files synced from external packages, as given by the '$(FETCHFILES)'
variable. Silence the recipe since we are at it.
|
| |
| |
| |
| |
| | |
* Makefile.am (update-copyright, autodiffs): Use '$(GIT)' instead
of hard-coding 'git'.
|
|\ \
| |/
| |
| |
| | |
* maint:
maint: add a rule to use gnulib's update-copyright
|
| |
| |
| |
| |
| |
| |
| | |
* lib/update-copyright: New file, from gnulib.
* Makefile.am (FETCHFILES): Add update-copyright to the list.
(fetch): Fetch it.
(update-copyright): New rule.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The chapter on Automake history, while certainly interesting and
even fascinating, does not truly pertain to a reference manual,
so move it out from there and into its own dedicated file. This
change is made more advisable and pressing by the fact that such
and "Automake history" chapter hasn't been updated since the 1.9.6
release, so it has been becoming less faithful and useful since
then.
* doc/history.texi: New, manual on the history of the automake
package; extracted from ...
* doc/automake.texi: ... this file, with related adjustments.
* doc/Makefile.am (info_TEXINFOS): Add 'history.texi'.
(history_TEXINFOS): New, list included file 'fdl.texi'.
* Makefile.am (release-stats): Remove as obsolete.
* HACKING (Release Procedure): Don't advise anymore to run the
"release-stats" target and to update the manual with its output.
* NEWS: Update.
* .gitignore: Likewise.
|
|\ \
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* maint:
tests: do not assume the object file extension is .o
tests: avoid spurious failure of 'transform2.test' on Cygwin
tests: avoid spurious failure of deleted-am.test with FreeBSD make
tests: avoid possibly undeserved PASS from check8.test
warnings: more precise category and message for one warning
release: revamp rules to tag and upload the releases
amversion: add missing dependency
hacking: update advice w.r.t. synced files
hacking: don't reference ChangeLog anymore
+ Extra non-trivial edits:
* tests/suffix8.tap: Copy in (by hand) the modifications done
to 'suffix8.test' on maint, i.e., the addition of an explicit
'.y_.obj:' suffix rule to Makefile.am.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The older Makefile rules used to create and tag the releases were
based on an approach we now consider flawed: they over-mechanized
some delicate operations that are better performed manually *and*
double-checked by a developer, and at the same time they did not
run enough safety checks.
* Makefile.am (GIT, version_rx, stable_version_rx, beta_version_rx,
match_version, git_must_have_clean_workdir, determine_release_type):
New variables.
(git-release, git-dist): Remove, they are superseded by ...
(git-tag-release, git-upload-release): ... these new targets.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* HACKING: Update and improve advices and explanations about files
in the automake repository that are now owned by automake, but
mirrored from other upstreams. Also, don't list these files
explicitly, rather point the reader to the $(FETCHFILES) variable
in Makefile.am.
* Makefile.am (FETCHFILES): Don't state that "there should be a
lot more here", as this is not true anymore today. Only 'COPYING'
must be synced by hand.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* lib/Makefile.am (install-data-hook): Correctly quote $(DESTDIR)
occurrences.
* Makefile.am (install-exec-hook, uninstall-hook): Likewise.
(autodiffs): Prefer '$(am__cd)' to plain 'cd', where warranted.
* doc/Makefile.am ($(srcdir)/amhello-1.0.tar.gz): Likewise. Also,
prefer using AC_SUBST'd $(abs_top_builddir) over obtaining it at
runtime from $(top_builddir).
* syntax-check.mk (sc_mkinstalldirs): Tweak to whitelist known
harmless occurrences of the checked-against usages.
(sc_no_for_variable_in_macro): Likewise.
* tests/CheckListOfTests.am (maintainer-check-list-of-tests): Tweak
to avoid spuriously triggering the 'sc_no_for_variable_in_macro'
maintainer check. Prefer '$(am__cd)' to plain 'cd' when warranted.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This is not a real regression in portability, since most maintainer
check rules already assumed GNU grep, and were anyway only meant to
run on the developers' systems (where we can safely assume the
presence of GNU make).
This change will allow us to take advantage, in future changes, of
more GNU make features, thus simplifying or optimizing some of our
maintainer rules.
* GNUmakefile: New, including 'Makefile' and 'syntax-checks.mk'.
* configure.ac (AC_CONFIG_LINKS): Link it in the builddir.
* Makefile.am (EXTRA_DIST): Distribute 'GNUmakefile' and
'syntax-checks.mk'.
Move all syntax-check rules and auxiliary variables into ...
* syntax-checks.mk: ... this new file, with some adjustments.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
A small refactoring in our syntax-check to avoid code duplication
and to ensure more uniform checking. This change introduces some
new failures in syntax-check rules (both real and spurious), that
will be fixed in follow-up changes and code reorganizations.
* Makefile.am (ams): New variable, holding the list of all the
'*.am' fragments in he automake source tree.
(sc_no_brace_variable_expansions): Use it.
(sc_rm_minus_f): Likewise.
(sc_no_for_variable_in_macro): Likewise.
(sc_mkinstalldirs): Likewise.
(sc_pre_normal_post_install_uninstall): Likewise.
(sc_cd_in_backquotes): Likewise.
(sc_cd_relative_dir): Likewise.
(sc_tests_make_without_am_makeflags): Likewise.
(sc_tests_plain_egrep_fgrep): Likewise.
(sc_mkdir_p): Likewise.
|
|\ \
| |/
| |
| |
| |
| |
| |
| | |
* maint:
fixup: distribute 'contrib/multilib/multi.m4'
multilib: deprecate, will be moved to contrib
fixlet: flags for Fortran77 compiler are in FFLAGS, not F77FLAGS
cosmetics: fix a botched comment in a maintainer check
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
As of 2012-01-17, according to Google codesarch, almost no active
package is using the 'multilib' feature offered by automake.
The only major exception seems to be GCC... But on a closer look,
it become clear that GCC basically carries its own version of
multilib support. In fact, Automake syncs its 'config-ml.in' and
'symlink-tree' scripts from GCC; and the GCC repository contains a
version of the 'multi.m4' file that is *more* updated than the one
in the automake repository (the former having being modified the
last time in 2008, the latter only in 2006).
The 'multilib' feature was anyway hardly documented at all, only
being briefly cited in the manual as an "obscure feature", "still
experimental", that was only for users "familiar with multilibs"
and which "can debug problems they might encounter". We expect
such users to be motivated and knowledgeable enough to make the
minor adjustments required to start using the contrib version of
multilib, if they really need to.
* NEWS (Future backward incompatibility): Update.
* doc/automake.texi: Deprecate multilib support. State that it
will be removed from automake core in the next major release.
* m4/multi.m4 (AM_ENABLE_MULTILIB): Deprecate. If called, now
gives a proper warning in the 'obsolete' category (while still
retaining its former behaviour for the rest).
* tests/multilib.test: Update.
* contrib/multilib/multi.m4: New, verbatim copy of the earlier
version of multi.m4, without the new deprecation warning.
* Makefile.am (fetch): Don't sync the 'config-ml.in' file nor
the 'symlink-tree' script from GCC SVN repository anymore.
(FETCHFILES): Adjust.
(WGET_GCC): Remove, it's not needed anymore.
|
| |
| |
| |
| |
| | |
* Makefile.am (sc_tests_make_without_am_makeflags): Adjust
botched description of this check.
|
| |
| |
| |
| |
| |
| |
| | |
* Makefile.am (recheck): Now that all the test scripts are in
the 'tests/' directory, its recipe can be greatly simplified,
as we don't need to deal with recursion in multiple subdirectories
anymore.
|
|\ \
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* maint:
cosmetics: move CheckListOfTests.am into tests/
tests: move all under the same hierarchy ('tests/' directory)
gitlog-to-changelog: update from upstream
changelog: don't cluster multiple entries under the same "date line"
+ Extra non-trivial edits:
* tests/Makefile.am (XFAIL_TESTS): Update with the xfailing tests
that were in 'lib/Automake/tests'. Add proper "FIXME" comment.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This simplifies the organization of the Automake source tree and
reduces the (lamentably high) number of Makefiles in the Automake
build system by one. It also makes the maintainer check that
verifies the consistency of list of tests more self-contained and
simpler. Finally, it might be a first step forward the transition
to a non-recursive build system for automake (if we ever decide to
go down that road fully some day).
* lib/Automake/tests: All the '*.pl' tests in here moved ...
* tests/pm: ... into this new directory.
* lib/Automake/tests/Makefile.am: Remove, its meaningful
contents moved ...
* tests/Makefile.am: ... here, with obvious adjustments.
(test_subdirs): New variable, for the sake of the recipe
of 'maintainer-check-list-of-tests'.
* CheckListOfTests (maintainer-check-list-of-tests): Enhance
its recipe to make it able to deal with test script residing
in subdirectories.
* Makefile.am (maintainer-check-list-of-tests): Simplified.
(TEST_SUBDIRS): Remove, no more needed.
* tests/list-of-tests.mk (perl_TESTS): New variable, lists
the '.pl' tests just moved into 'tests/pm'.
(handwritten_TESTS): Add the contents of '$(perl_TESTS)'.
* lib/Automake/Makefile.am (SUBDIRS): Remove.
* configure.ac (AC_CONFIG_FILES): Update.
* .gitignore: Adjust.
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* lib/gitlog-to-changelog: Synced from gnulib. The new version
has a new option '--no-cluster', that disables clustering of
adjacent commit messages under the same "date line".
* Makefile.am (gitlog_to_changelog_options): Add '--no-cluster'.
Also add a proper '--format' specification to ensure we have a
blank line between the summary line and the commit message body.
|
|\ \
| |/
| |
| |
| | |
* maint:
fixup: contrib: really integrate in automake build system
|
| |
| |
| |
| |
| | |
* configure.ac (AC_CONFIG_FILES): Add 'contrib/Makefile'.
* Makefile.am (SUBDIRS): Add 'contrib'.
|
|\ \
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* maint:
recheck: fix interaction with "make -n"
vala: avoid potential useless remakes (minor bugfix)
vala: enhance tests
recheck: behave better with non-GNU make
check: separate .log -> .html conversion from core testsuite harness
docs: deprecate .log -> .html conversion by parallel-tests
tests: list some forgotten test cases in $(TESTS)
maintcheck: consistency of list of test scripts
build: explicitly declare some targets as .PHONY
maint: remove obsolete/broken maintainer targets
build: improve silencing of automake build system
tests: move list of tests in its own Makefile fragment
+ Extra non-trivial edits:
* tests/parallel-tests2.test: Obvious edits to merge the slightly
inconsistent enhancements to coverage done in master with those
done in maint.
* lib/am/check.am (check-TESTS, recheck): Sweeping and rather
complex changes to merge the considerable divergences between
maint and master in a way that is meaningful and, where possible,
retains the semantic changes from both maint and master.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This is basically a backport of commit 'v1.11-358-g7b6ab07'
and its follow-ups. The possibility of easily checking that
the list of test scripts listed in a Makefile equals that of
the tests on the filesystem has proved itself so useful that
it's worth taking the annoyance of backporting it to maint.
* CheckListOfTests.am: New file, backported from master (commit
'v1.11-1736-g083a75b') with minor adjustments.
(maintainer-check-list-of-tests): New target, check for consistency
between the list of tests defined in the including Makefile and the
list of tests on the filesystem.
(clean-maintcheck-testslist-tmp): New rule, to clean up temporary
files that might be left around by the rules associated with the
previous target.
(clean-local): Depend on it.
* lib/Automake/tests/Makefile.am: Include `CheckListOfTests.am'.
* tests/Makefile.am: Likewise.
* Makefile.am (maintainer-check-list-of-test): New target,
calling recursively into `tests/' and `lib/Automake/tests/',
using ...
(TEST_SUBDIRS): ... this new variable.
(maintainer-check): Added dependency from the new target
`maintainer-check-list-of-tests'.
|
| |
| |
| |
| |
| | |
* Makefile.am (fetch, git-dist, git-release, maintainer-check):
Declare as ".PHONY".
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* Makefile.am (git-diff): Remove. First, we don't distribute diffs
between an automake version and the next one anyway, so this target
is pointless. Moreover, its recipe has been broken for quite a
long time now, always generating an empty diff due to the spurious
'$(PACKAGE)' argument that was passed to the "git diff" invocation.
(path-check): Remove. The 'pathchk' program running in this check
complains about any file with name longer than 14 characters, which
is a ridiculously low limit for today standards. Also, we already
had several test scripts (no less than 195!) that were exceeding
that limit, and nobody ever complained (not even on MinGW/MSYS nor
Cygwin).
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
In this change, we continue the silencing of the automake build
system that has been started in commit v1.11-642-g17542c3, but
which has been left incomplete there for an (absent-mindness)
mistake.
* Makefile.am (INSTALL): Silence the recipe.
(automake, aclocal): Likewise, and improve them a little since
we are at it.
* lib/Automake/Makefile.am (Config.pm): Likewise.
|