summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefano Lattarini <stefano.lattarini@gmail.com>2012-01-18 13:44:56 +0100
committerStefano Lattarini <stefano.lattarini@gmail.com>2012-01-18 13:44:56 +0100
commit23a9b4365b641e02a61b95b1d84a5c5068c44830 (patch)
treeb39ad2180fcba22d592881c509db0b200155faed
parent693557ce7fcd728fa9e7b5d60713b4caefc39e78 (diff)
parenta1e77caf20a62b14d549307a73131fedb9c0f696 (diff)
downloadautomake-23a9b4365b641e02a61b95b1d84a5c5068c44830.tar.gz
Merge branch 'maint' into branch-1.11
* 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" fixup: contrib: really integrate in automake build system contrib: new, a directory for non-mainstream functionalities
-rw-r--r--.gitignore4
-rw-r--r--Makefile.am20
-rw-r--r--configure.ac2
-rw-r--r--contrib/Makefile.am (renamed from lib/Automake/tests/Makefile.am)21
-rw-r--r--contrib/README27
-rw-r--r--lib/Automake/Makefile.am7
-rwxr-xr-xlib/gitlog-to-changelog24
-rw-r--r--tests/CheckListOfTests.am (renamed from CheckListOfTests.am)15
-rw-r--r--tests/Makefile.am8
-rw-r--r--tests/list-of-tests.mk9
-rw-r--r--tests/pm/Condition-t.pl (renamed from lib/Automake/tests/Condition-t.pl)0
-rw-r--r--tests/pm/Condition.pl (renamed from lib/Automake/tests/Condition.pl)0
-rw-r--r--tests/pm/DisjConditions-t.pl (renamed from lib/Automake/tests/DisjConditions-t.pl)0
-rw-r--r--tests/pm/DisjConditions.pl (renamed from lib/Automake/tests/DisjConditions.pl)0
-rw-r--r--tests/pm/Version.pl (renamed from lib/Automake/tests/Version.pl)0
-rw-r--r--tests/pm/Wrap.pl (renamed from lib/Automake/tests/Wrap.pl)0
16 files changed, 82 insertions, 55 deletions
diff --git a/.gitignore b/.gitignore
index 33e3827fc..f21915354 100644
--- a/.gitignore
+++ b/.gitignore
@@ -47,10 +47,10 @@ Makefile
/doc/amhello/install-sh
/doc/amhello/missing
/lib/Automake/Config.pm
-/lib/Automake/tests/*.log
-/lib/Automake/tests/*.log-t
/tests/*.log
/tests/*.log-t
+/tests/pm/*.log
+/tests/pm/*.log-t
/tests/*.dir
/tests/*-p.test
/tests/aclocal-1.*
diff --git a/Makefile.am b/Makefile.am
index 735cb009e..b9166dbaa 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -23,9 +23,7 @@
## automake (run in doc, tests, and in the rebuild rules.)
## `.' goes before doc and tests, because the latter two directories
## run aclocal and automake.
-SUBDIRS = lib . doc m4 tests
-
-TEST_SUBDIRS = tests lib/Automake/tests
+SUBDIRS = lib . contrib doc m4 tests
bin_SCRIPTS = automake aclocal
@@ -110,7 +108,8 @@ INSTALL: lib/INSTALL
##
gitlog_to_changelog_command = $(PERL) $(srcdir)/lib/gitlog-to-changelog
-gitlog_to_changelog_options = --since='2011-12-28 00:00:00'
+gitlog_to_changelog_options = --since='2011-12-28 00:00:00' \
+ --no-cluster --format '%s%n%n%b'
# Automatic generation of the ChangeLog from git history.
#
@@ -202,18 +201,7 @@ maintainer-check: $(syntax_check_rules)
## list of all test scripts in the Automake testsuite.
.PHONY: maintainer-check-list-of-tests
maintainer-check-list-of-tests:
- @fail= failcom='exit 1'; \
- for f in x $$MAKEFLAGS; do \
- case $$f in \
- *=* | --[!k]*);; \
- *k*) failcom='fail=yes';; \
- esac; \
- done; \
- for subdir in $(TEST_SUBDIRS); do \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $@) || eval $$failcom; \
- done; \
- test -z "$$fail"
-
+ $(am__cd) tests && $(MAKE) $(AM_MAKEFLAGS) $@
maintainer-check: maintainer-check-list-of-tests
## Look for test whose names can cause spurious failures when used as
diff --git a/configure.ac b/configure.ac
index 0ae1a44cb..d6724e682 100644
--- a/configure.ac
+++ b/configure.ac
@@ -206,9 +206,9 @@ AC_SUBST([sh_errexit_works], [$am_cv_sh_errexit_works])
AC_CONFIG_FILES([
Makefile
+ contrib/Makefile
doc/Makefile
lib/Automake/Makefile
- lib/Automake/tests/Makefile
lib/Makefile
lib/am/Makefile
m4/Makefile
diff --git a/lib/Automake/tests/Makefile.am b/contrib/Makefile.am
index a537fd1d7..b49192317 100644
--- a/lib/Automake/tests/Makefile.am
+++ b/contrib/Makefile.am
@@ -1,7 +1,8 @@
## Process this file with automake to create Makefile.in
-# Copyright (C) 2002, 2003, 2008, 2009, 2012 Free Software Foundation,
-# Inc.
+## Makefile for Automake contrib.
+
+# Copyright (C) 2012 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -16,18 +17,4 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
-PL_LOG_COMPILER = $(PERL)
-AM_PL_LOG_FLAGS = -Mstrict -I ../.. -I $(top_srcdir)/lib -w
-TEST_EXTENSIONS = .pl
-
-TESTS = \
-Condition.pl \
-Condition-t.pl \
-DisjConditions.pl \
-DisjConditions-t.pl \
-Version.pl \
-Wrap.pl
-
-EXTRA_DIST = $(TESTS)
-
-include $(top_srcdir)/CheckListOfTests.am
+EXTRA_DIST = README
diff --git a/contrib/README b/contrib/README
new file mode 100644
index 000000000..bbef72fbc
--- /dev/null
+++ b/contrib/README
@@ -0,0 +1,27 @@
+This is the 'contrib' directory of the GNU Automake distribution.
+
+Here you'll find additions to the Automake base distribution, in form of
+makefile fragments, m4 macros, scripts, documentation, et cetera. Such
+addition that might be useful for a significant percentage of its general
+audience, but (for one reason or another) are not deemed appropriate for
+inclusion into the Automake core.
+
+There are several reasons for which a feature can be kept in contrib:
+
+ 1. The long-term usefulness of the feature is debatable and uncertain;
+ on-field and real-word testing are necessary to prove or disprove
+ its usefulness, before the feature can be committed into the Automake
+ core (as doing so too early would later force us to continue the
+ support for backward-compatibility, even if the features proves
+ flawed or fails to attract widespread use).
+
+ 2. The APIs or overall design of the feature are still unstable, and
+ need on-field testing to iron warts and usability bugs, or uncover
+ potential flaws.
+
+ 3. The feature was an historical one, mostly obsoleted but still used
+ "here and there" in the wild; so we want to to deprecate it and
+ remove it from the Automake core, but cannot remove it altogether,
+ for the sake of those still-existing usage. So it gets moved in
+ contrib.
+
diff --git a/lib/Automake/Makefile.am b/lib/Automake/Makefile.am
index cfc7272b8..980502462 100644
--- a/lib/Automake/Makefile.am
+++ b/lib/Automake/Makefile.am
@@ -1,7 +1,7 @@
## Process this file with automake to create Makefile.in
-# Copyright (C) 2001, 2002, 2003, 2004, 2008, 2009, 2010 Free Software
-# Foundation, Inc.
+# Copyright (C) 2001, 2002, 2003, 2004, 2008, 2009, 2010, 2012 Free
+# Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -16,9 +16,6 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
-# `make clean check' should build Config.pm first.
-SUBDIRS = . tests
-
perllibdir = $(pkgvdatadir)/Automake
dist_perllib_DATA = \
ChannelDefs.pm \
diff --git a/lib/gitlog-to-changelog b/lib/gitlog-to-changelog
index 0efedb046..38c6f3aaa 100755
--- a/lib/gitlog-to-changelog
+++ b/lib/gitlog-to-changelog
@@ -3,7 +3,7 @@ eval '(exit $?0)' && eval 'exec perl -wS "$0" ${1+"$@"}'
if 0;
# Convert git log output to ChangeLog format.
-my $VERSION = '2012-01-06 07:14'; # UTC
+my $VERSION = '2012-01-18 07:50'; # UTC
# The definition above must lie within the first 8 lines in order
# for the Emacs time-stamp write hook (at end) to update it.
# If you change this file with Emacs, please let the write hook
@@ -64,6 +64,10 @@ OPTIONS:
makes a change to SHA1's commit log text or metadata.
--append-dot append a dot to the first line of each commit message if
there is no other punctuation or blank at the end.
+ --no-cluster never cluster commit messages under the same date/author
+ header; the default is to cluster adjacent commit messages
+ if their headers are the same and neither commit message
+ contains multiple paragraphs.
--since=DATE convert only the logs since DATE;
the default is to convert all log entries.
--format=FMT set format string for commit subject and body;
@@ -190,6 +194,7 @@ sub parse_amend_file($)
my $format_string = '%s%n%b%n';
my $amend_file;
my $append_dot = 0;
+ my $cluster = 1;
GetOptions
(
help => sub { usage 0 },
@@ -198,6 +203,7 @@ sub parse_amend_file($)
'format=s' => \$format_string,
'amend=s' => \$amend_file,
'append-dot' => \$append_dot,
+ 'cluster!' => \$cluster,
) or usage 1;
@@ -302,13 +308,15 @@ sub parse_amend_file($)
. substr ($_, 5) . "\n";
}
- # If this header would be different from the previous date/name/email/
- # coauthors header, or if this or the previous entry consists of two
- # or more paragraphs, then print the header.
- if ($date_line ne $prev_date_line
- or "@coauthors" ne "@prev_coauthors"
- or $multi_paragraph
- or $prev_multi_paragraph)
+ # If clustering of commit messages has been disabled, if this header
+ # would be different from the previous date/name/email/coauthors header,
+ # or if this or the previous entry consists of two or more paragraphs,
+ # then print the header.
+ if ( ! $cluster
+ || $date_line ne $prev_date_line
+ || "@coauthors" ne "@prev_coauthors"
+ || $multi_paragraph
+ || $prev_multi_paragraph)
{
$prev_date_line eq ''
or print "\n";
diff --git a/CheckListOfTests.am b/tests/CheckListOfTests.am
index 0a484470e..c71c7fc0d 100644
--- a/CheckListOfTests.am
+++ b/tests/CheckListOfTests.am
@@ -37,13 +37,18 @@ maintainer-check-list-of-tests:
for t in $$lst; do \
echo "$$t"; \
done | sort >$(am__tmk); \
+## List of subdirs where to look for tests.
+ dirs='$(test_subdirs)'; \
+ test -n "$$dirs" || dirs=.; \
## List of tests on filesystem. Be careful to cater for VPATH builds too.
for ext in $(TEST_EXTENSIONS); do \
- ls *$$ext 2>/dev/null; \
- if test $(srcdir) != $(builddir); then \
- (cd $(srcdir) && ls *$$ext 2>/dev/null); \
- fi; \
- done | sort | uniq >$(am__tfs); \
+ for dir in $$dirs; do \
+ ls $$dir/*$$ext 2>/dev/null; \
+ if test $(srcdir) != $(builddir); then \
+ (cd $(srcdir) && ls $$dir/*$$ext 2>/dev/null); \
+ fi; \
+ done; \
+ done | sed 's,^\./,,' | sort | uniq >$(am__tfs); \
## Compare the two lists, complain if they differ.
if $$diff $(am__tmk) $(am__tfs) >$(am__tdf); then \
result=0; \
diff --git a/tests/Makefile.am b/tests/Makefile.am
index 90b4085c9..d909942db 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -52,6 +52,11 @@ TESTS_ENVIRONMENT = \
test x"$$required" = x || unset required; \
test x"$$parallel_tests" = x || unset parallel_tests;
+TEST_EXTENSIONS = .pl .test
+
+PL_LOG_COMPILER = $(PERL)
+AM_PL_LOG_FLAGS = -Mstrict -I $(top_builddir)/lib -I $(top_srcdir)/lib -w
+
include $(srcdir)/list-of-tests.mk
TESTS = $(handwritten_TESTS) $(parallel_tests)
@@ -131,7 +136,8 @@ EXTRA_DIST += distcheck-hook-m4.am
check_SCRIPTS = defs aclocal-$(APIVERSION) automake-$(APIVERSION)
## Checking the list of tests.
-include $(top_srcdir)/CheckListOfTests.am
+test_subdirs = . pm
+include $(srcdir)/CheckListOfTests.am
maintainer-check-list-of-tests: $(parallel_tests)
clean-local: clean-local-check
diff --git a/tests/list-of-tests.mk b/tests/list-of-tests.mk
index ebaa46e9d..7ca3144da 100644
--- a/tests/list-of-tests.mk
+++ b/tests/list-of-tests.mk
@@ -17,12 +17,21 @@
## You should have received a copy of the GNU General Public License
## along with this program. If not, see <http://www.gnu.org/licenses/>.
+perl_TESTS = \
+pm/Condition.pl \
+pm/Condition-t.pl \
+pm/DisjConditions.pl \
+pm/DisjConditions-t.pl \
+pm/Version.pl \
+pm/Wrap.pl
+
# The order here is mostly alphabetical, with the deliberate exception
# that tests having a high runtime (especially TAP tests that run various
# checks sequentially) are listed early; this improves performance on
# concurrent testsuite runs.
handwritten_TESTS = \
get-sysconf.test \
+$(perl_TESTS) \
self-check-env-sanitize.test \
self-check-report.test \
aclibobj.test \
diff --git a/lib/Automake/tests/Condition-t.pl b/tests/pm/Condition-t.pl
index 06eb34e92..06eb34e92 100644
--- a/lib/Automake/tests/Condition-t.pl
+++ b/tests/pm/Condition-t.pl
diff --git a/lib/Automake/tests/Condition.pl b/tests/pm/Condition.pl
index 86f174564..86f174564 100644
--- a/lib/Automake/tests/Condition.pl
+++ b/tests/pm/Condition.pl
diff --git a/lib/Automake/tests/DisjConditions-t.pl b/tests/pm/DisjConditions-t.pl
index 2fe275beb..2fe275beb 100644
--- a/lib/Automake/tests/DisjConditions-t.pl
+++ b/tests/pm/DisjConditions-t.pl
diff --git a/lib/Automake/tests/DisjConditions.pl b/tests/pm/DisjConditions.pl
index 47dea8399..47dea8399 100644
--- a/lib/Automake/tests/DisjConditions.pl
+++ b/tests/pm/DisjConditions.pl
diff --git a/lib/Automake/tests/Version.pl b/tests/pm/Version.pl
index e49643519..e49643519 100644
--- a/lib/Automake/tests/Version.pl
+++ b/tests/pm/Version.pl
diff --git a/lib/Automake/tests/Wrap.pl b/tests/pm/Wrap.pl
index 8d840fc30..8d840fc30 100644
--- a/lib/Automake/tests/Wrap.pl
+++ b/tests/pm/Wrap.pl