[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[SCM] GNU Autoconf source repository branch, master, updated. v2.69-9-g7
From: |
Eric Blake |
Subject: |
[SCM] GNU Autoconf source repository branch, master, updated. v2.69-9-g7f1e05a |
Date: |
Fri, 13 Jul 2012 15:59:22 +0000 |
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU Autoconf source repository".
http://git.sv.gnu.org/gitweb/?p=autoconf.git;a=commitdiff;h=7f1e05a5fc721a3bf2a51e0cd09ec5833e877bd1
The branch, master has been updated
via 7f1e05a5fc721a3bf2a51e0cd09ec5833e877bd1 (commit)
via 4d78ca217d775efe9e6e78fa16761cc8a530fa49 (commit)
from e8d3d8bed15262a1da57eea661848cf4e0c462a1 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 7f1e05a5fc721a3bf2a51e0cd09ec5833e877bd1
Author: Eric Blake <address@hidden>
Date: Fri Jun 29 08:54:43 2012 -0600
doc: avoid hard-coding usage of automake's missing
Now that automake documents AM_MISSING_PROG, and given that automake
has reserved the right to change the calling conventions of 'missing',
we should not recommend a hard-coded use of 'missing --run'.
* doc/autoconf.texi (Making testsuite Scripts): Recommend
AM_MISSING_PROG when using automake, and avoid hard-coding use of
'missing' otherwise.
commit 4d78ca217d775efe9e6e78fa16761cc8a530fa49
Author: Eric Blake <address@hidden>
Date: Wed Jun 27 16:59:21 2012 -0600
maint: don't sync elisp-comp or missing from gnulib
Automake 1.13 will be changing the semantics of 'missing'; maintaining
our own copy in version control risks problems if our version does
not match automake's expectations. As a result, gnulib no longer
mirrors 'missing'. Furthermore, gnulib originally added the
'elisp-comp' module with the explanation that autoconf uses it, but
we don't use it anywhere other than the manner in which automake
will byte-compile our .el files; since we don't document the script,
we should be just fine using the version that was installed by automake.
See more discussion in the thread starting here:
https://lists.gnu.org/archive/html/automake-patches/2012-06/msg00154.html
* cfg.mk (gnulib-update): Drop files installed by automake and no
longer present in gnulib.
* .gitattributes: Delete references to files not in git.
-----------------------------------------------------------------------
Summary of changes:
.gitattributes | 4 ---
cfg.mk | 2 -
doc/autoconf.texi | 65 +++++++++++++++++++++++++++++++++++------------------
3 files changed, 43 insertions(+), 28 deletions(-)
diff --git a/.gitattributes b/.gitattributes
index 80c4fdf..c42b75d 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -5,10 +5,6 @@ ChangeLog merge=merge-changelog
# Exempt upstream files from whitespace rules.
config.guess -whitespace
config.sub -whitespace
-elisp-comp -whitespace
-install-sh -whitespace
-mdate-sh -whitespace
-missing -whitespace
move-if-change -whitespace
texinfo.tex -whitespace
fdl.texi -whitespace
diff --git a/cfg.mk b/cfg.mk
index 23ebe4e..a992abb 100644
--- a/cfg.mk
+++ b/cfg.mk
@@ -54,14 +54,12 @@ gnulib-update:
cp $(gnulib_dir)/build-aux/announce-gen $(srcdir)/build-aux
cp $(gnulib_dir)/build-aux/config.guess $(srcdir)/build-aux
cp $(gnulib_dir)/build-aux/config.sub $(srcdir)/build-aux
- cp $(gnulib_dir)/build-aux/elisp-comp $(srcdir)/build-aux
cp $(gnulib_dir)/build-aux/gendocs.sh $(srcdir)/build-aux
cp $(gnulib_dir)/build-aux/git-version-gen $(srcdir)/build-aux
cp $(gnulib_dir)/build-aux/gitlog-to-changelog $(srcdir)/build-aux
cp $(gnulib_dir)/build-aux/gnupload $(srcdir)/build-aux
cp $(gnulib_dir)/build-aux/install-sh $(srcdir)/build-aux
cp $(gnulib_dir)/build-aux/mdate-sh $(srcdir)/build-aux
- cp $(gnulib_dir)/build-aux/missing $(srcdir)/build-aux
cp $(gnulib_dir)/build-aux/move-if-change $(srcdir)/build-aux
cp $(gnulib_dir)/build-aux/texinfo.tex $(srcdir)/build-aux
cp $(gnulib_dir)/build-aux/update-copyright $(srcdir)/build-aux
diff --git a/doc/autoconf.texi b/doc/autoconf.texi
index 3457f12..75a204f 100644
--- a/doc/autoconf.texi
+++ b/doc/autoconf.texi
@@ -25434,7 +25434,8 @@ For putting Autotest into movement, you need some
configuration and
makefile machinery. We recommend, at least if your package uses deep or
shallow hierarchies, that you use @file{tests/} as the name of the
directory holding all your tests and their makefile. Here is a
-check list of things to do.
+check list of things to do, followed by an example, taking into
+consideration whether you are also using Automake.
@itemize @minus
@@ -25455,11 +25456,10 @@ we suggest that you also define
@code{AT_PACKAGE_NAME},
@code{AT_PACKAGE_URL}.
@xref{Initializing configure}, for a description of these variables.
Be sure to distribute @file{package.m4} and to put it into the source
-hierarchy: the test suite ought to be shipped! See below for an example
address@hidden excerpt.
+hierarchy: the test suite ought to be shipped! See below for an example.
@item
-Invoke @code{AC_CONFIG_TESTDIR}.
+Invoke @code{AC_CONFIG_TESTDIR} in your @file{configure.ac}.
@defmac AC_CONFIG_TESTDIR (@var{directory}, @dvar{test-path, directory})
@acindex{CONFIG_TESTDIR}
@@ -25475,14 +25475,28 @@ Still within @file{configure.ac}, as appropriate,
ensure that some
@file{tests/atlocal}.
@item
+Also within your @file{configure.ac}, arrange for the @code{AUTOM4TE}
+variable to be set.
+
address@hidden
The appropriate @file{Makefile} should be modified so the validation in
-your package is triggered by @samp{make check}. An example is provided
-below.
+your package is triggered by @samp{make check}.
@end itemize
-With Automake, here is a minimal example for inclusion in
address@hidden/Makefile.am}, in order to link @samp{make check} with a
-validation suite.
+The following example demonstrates the above checklist, first by
+assuming that you are using Automake (see below for tweaks to make to
+get the same results without Automake). Begin by adding the following
+lines to your @file{configure.ac}:
+
address@hidden
+# Initialize the test suite.
+AC_CONFIG_TESTDIR([tests])
+AC_CONFIG_FILES([tests/Makefile tests/atlocal])
+AM_MISSING_PROG([AUTOM4TE], [autom4te])
address@hidden example
+
+Next, add the following lines to your @file{tests/Makefile.am}, in order
+to link @samp{make check} with a validation suite.
@example
# The `:;' works around a Bash 3.2 bug when the output is not writable.
@@ -25517,7 +25531,6 @@ clean-local:
test ! -f '$(TESTSUITE)' || \
$(SHELL) '$(TESTSUITE)' --clean
-AUTOM4TE = $(SHELL) $(srcdir)/build-aux/missing --run autom4te
AUTOTEST = $(AUTOM4TE) --language=autotest
$(TESTSUITE): $(srcdir)/testsuite.at $(srcdir)/package.m4
$(AUTOTEST) -I '$(srcdir)' -o $@@.tmp $@@.at
@@ -25526,16 +25539,27 @@ $(TESTSUITE): $(srcdir)/testsuite.at
$(srcdir)/package.m4
Note that the built testsuite is distributed; this is necessary because
users might not have Autoconf installed, and thus would not be able to
-rebuild it. Likewise, the use of @file{missing} provides the user with
+rebuild it. Likewise, the use of Automake's @code{AM_MISSING_PROG} will
+arrange for the definition of @code{$AUTOM4TE} within the Makefile to
+provide the user with
a nicer error message if they modify a source file to the testsuite, and
accidentally trigger the rebuild rules.
You might want to list explicitly the dependencies, i.e., the list of
the files @file{testsuite.at} includes.
-If you don't use Automake, you should include the above example in
address@hidden/@/Makefile.in}, along with additional lines inspired from
-the following:
+If you don't use Automake, you should make the following tweaks. In
+your @file{configure.ac}, replace the @code{AM_MISSING_PROG} line above
+with @code{AC_PATH_PROG([AUTOM4TE], [autom4te], [false])}. You are
+welcome to also try using the @command{missing} script from the Automake
+project instead of @command{false}, to try to get a nicer error message
+when the user modifies prerequisites but did not have Autoconf
+installed, but at that point you may be better off using Automake.
+Then, take the code suggested above for @file{tests/@/Makefile.am} and
+place it in your @file{tests/@/Makefile.in} instead. Add code to your
address@hidden/@/Makefile.in} to ensure that @code{$(EXTRA_DIST)} files are
+distributed, as well as adding the following additional lines to prepare
+the set of needed Makefile variables:
@example
subdir = tests
@@ -25545,6 +25569,7 @@ PACKAGE_VERSION = @@PACKAGE_VERSION@@
PACKAGE_STRING = @@PACKAGE_STRING@@
PACKAGE_BUGREPORT = @@PACKAGE_BUGREPORT@@
PACKAGE_URL = @@PACKAGE_URL@@
+AUTOM4TE = @@AUTOM4TE@@
atconfig: $(top_builddir)/config.status
cd $(top_builddir) && \
@@ -25555,14 +25580,10 @@ atlocal: $(srcdir)/atlocal.in
$(top_builddir)/config.status
$(SHELL) ./config.status $(subdir)/$@@
@end example
address@hidden
-and manage to have @code{$(EXTRA_DIST)} distributed. You will also want
-to distribute the file @file{build-aux/@/missing} from the Automake
-project; a copy of this file resides in the Autoconf source tree.
-
-With all this in place, and if you have not initialized @samp{TESTSUITEFLAGS}
-within your makefile, you can fine-tune test suite execution with this
-variable, for example:
+Using the above example (with or without Automake), and assuming you
+were careful to not initialize @samp{TESTSUITEFLAGS} within your
+makefile, you can now fine-tune test suite execution at runtime by
+altering this variable, for example:
@example
make check TESTSUITEFLAGS='-v -d -x 75 -k AC_PROG_CC CFLAGS=-g'
hooks/post-receive
--
GNU Autoconf source repository
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [SCM] GNU Autoconf source repository branch, master, updated. v2.69-9-g7f1e05a,
Eric Blake <=