autoconf-commit
[Top][All Lists]
Advanced

[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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]