automake-commit
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Automake-commit] [SCM] GNU Automake branch, maint, updated. v1.12-11-g0


From: Stefano Lattarini
Subject: [Automake-commit] [SCM] GNU Automake branch, maint, updated. v1.12-11-g018a186
Date: Thu, 26 Apr 2012 18:16:31 +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 Automake".

http://git.sv.gnu.org/gitweb/?p=automake.git;a=commitdiff;h=018a186636ba4078496f56a945d25087bca127a3

The branch, maint has been updated
       via  018a186636ba4078496f56a945d25087bca127a3 (commit)
       via  ab14841acb906346345c9298ef50621d298f4a28 (commit)
      from  ae3d5dfc50f05470b791ec7f67ca8b401915c3ee (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 018a186636ba4078496f56a945d25087bca127a3
Author: Stefano Lattarini <address@hidden>
Date:   Thu Apr 26 17:47:14 2012 +0200

    maint: don't use "union" merge driver for NEWS anymore
    
    The use of the "union" merge driver to avoid conflicts in NEWS has
    proven to be problematic, as it often silently produced mis-merges
    (instead of spurious conflicts, but a spurious conflict is better
    than a mis-merge).  Also, our new branching policy (see automake
    bug#11153 for a description) should greatly mitigate the problem of
    merge conflicts in NEWS.  For further discussion, see:
    <http://lists.gnu.org/archive/html/automake-patches/2012-04/msg00148.html>
    
    Signed-off-by: Stefano Lattarini <address@hidden>

commit ab14841acb906346345c9298ef50621d298f4a28
Author: Stefano Lattarini <address@hidden>
Date:   Thu Apr 26 15:05:05 2012 +0200

    build: avoid too greedy rebuilds in the testsuite
    
    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 <address@hidden>

-----------------------------------------------------------------------

Summary of changes:
 .gitattributes |    1 -
 Makefile.am    |   10 +++++-----
 2 files changed, 5 insertions(+), 6 deletions(-)

diff --git a/.gitattributes b/.gitattributes
index 5126add..0d86adb 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -1,2 +1 @@
-NEWS merge=union
 *.texi* diff=texinfo
diff --git a/Makefile.am b/Makefile.am
index dc8932d..0d02de7 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -379,11 +379,11 @@ $(srcdir)/t/testsuite-part.am:
        $(AM_V_at)mv -f t/testsuite-part.tmp $@
 EXTRA_DIST += gen-testsuite-part
 
-$(generated_TESTS) $(srcdir)/t/testsuite-part.am: \
-  $(srcdir)/gen-testsuite-part \
-  t/list-of-tests.mk \
-  Makefile.am \
-  $(handwritten_TESTS)
+## The dependecies declared here are not truly complete, but such
+## completeness would cause more issues than it would solve.  See
+## automake bug#11347.
+$(generated_TESTS): $(srcdir)/gen-testsuite-part
+$(srcdir)/t/testsuite-part.am: $(srcdir)/gen-testsuite-part Makefile.am
 
 # Static dependencies valid for each test case.
 check_SCRIPTS = t/wrap/aclocal-$(APIVERSION) t/wrap/automake-$(APIVERSION)


hooks/post-receive
-- 
GNU Automake



reply via email to

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