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.11-410-g


From: Stefano Lattarini
Subject: [Automake-commit] [SCM] GNU Automake branch, maint, updated. v1.11-410-g8c7c3b5
Date: Mon, 04 Jul 2011 09:47:03 +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=8c7c3b592e8fe01e263ade96eddbc85f2619943c

The branch, maint has been updated
       via  8c7c3b592e8fe01e263ade96eddbc85f2619943c (commit)
       via  044035ce85d089a9bbdfd6fa99c31dd22b74e7db (commit)
       via  f8cb365330f9b00aa821b5d64239c94d7b4284c1 (commit)
      from  a44667dce47afd200d990910f8e8a966276be756 (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 8c7c3b592e8fe01e263ade96eddbc85f2619943c
Merge: a44667d 044035c
Author: Stefano Lattarini <address@hidden>
Date:   Mon Jul 4 11:44:39 2011 +0200

    Merge branch 'remake-rules-non-GNU-make' into maint
    
    * remake-rules-non-GNU-make:
      remake: add test ensuring that slower remakes don't hang
      remake: fix outdated comment in configure.am

commit 044035ce85d089a9bbdfd6fa99c31dd22b74e7db
Author: Stefano Lattarini <address@hidden>
Date:   Mon Jul 4 11:41:34 2011 +0200

    remake: add test ensuring that slower remakes don't hang
    
    * tests/remake-subdir-long-time.test: New test.
    * tests/Makefile.am (TESTS): Update.
    
    Suggestion by Ralf Wildenhues.

commit f8cb365330f9b00aa821b5d64239c94d7b4284c1
Author: Stefano Lattarini <address@hidden>
Date:   Mon Jul 4 10:54:02 2011 +0200

    remake: fix outdated comment in configure.am
    
    * lib/am/configure.am: Fix comment falsified by changes in
    commit `v1.11-366-gbee9871'.
    
    Suggestion by Ralf Wildenhues.

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

Summary of changes:
 ChangeLog                          |   14 ++++
 lib/am/configure.am                |    7 +-
 tests/Makefile.am                  |    1 +
 tests/Makefile.in                  |    1 +
 tests/remake-subdir-long-time.test |  116 ++++++++++++++++++++++++++++++++++++
 5 files changed, 136 insertions(+), 3 deletions(-)
 create mode 100755 tests/remake-subdir-long-time.test

diff --git a/ChangeLog b/ChangeLog
index c77326d..60a4715 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,17 @@
+2011-07-04  Stefano Lattarini  <address@hidden>
+
+       remake: add test ensuring that slower remakes don't hang
+       * tests/remake-subdir-long-time.test: New test.
+       * tests/Makefile.am (TESTS): Update.
+       Suggestion by Ralf Wildenhues.
+
+2011-07-04  Stefano Lattarini  <address@hidden>
+
+       remake: fix outdated comment in configure.am
+       * lib/am/configure.am: Fix comment falsified by changes in
+       commit `v1.11-366-gbee9871'.
+       Suggestion by Ralf Wildenhues.
+
 2011-07-01  Stefano Lattarini  <address@hidden>
 
        docs, tests: synchronize examples from docs to tests
diff --git a/lib/am/configure.am b/lib/am/configure.am
index d00846a..594ec67 100644
--- a/lib/am/configure.am
+++ b/lib/am/configure.am
@@ -17,9 +17,10 @@
 
 
 ## This dummy rule is called from subdirectories whenever one of the
-## top-level Makefile's dependencies must be updated.  It does not
-## need to depend on %MAKEFILE% because GNU make will always make sure
-## %MAKEFILE% is updated before considering the am--refresh target.
+## top-level Makefile's dependencies must be updated.  It does depend
+## on %MAKEFILE% for the benefit of non-GNU make implementations (GNU
+## make will always make sure %MAKEFILE% is updated before considering
+## the am--refresh target anyway).
 if %?TOPDIR_P%
 .PHONY: am--refresh
 am--refresh: %MAKEFILE%
diff --git a/tests/Makefile.am b/tests/Makefile.am
index 8da5a21..b545dda 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -677,6 +677,7 @@ remake-subdir-from-subdir.test \
 remake-subdir-gnu.test \
 remake-subdir.test \
 remake-subdir2.test \
+remake-subdir-long-time.test \
 pr8365-remake-timing.test \
 regex.test \
 req.test \
diff --git a/tests/Makefile.in b/tests/Makefile.in
index 1504233..fe44a40 100644
--- a/tests/Makefile.in
+++ b/tests/Makefile.in
@@ -954,6 +954,7 @@ remake-subdir-from-subdir.test \
 remake-subdir-gnu.test \
 remake-subdir.test \
 remake-subdir2.test \
+remake-subdir-long-time.test \
 pr8365-remake-timing.test \
 regex.test \
 req.test \
diff --git a/tests/remake-subdir-long-time.test 
b/tests/remake-subdir-long-time.test
new file mode 100755
index 0000000..18ba732
--- /dev/null
+++ b/tests/remake-subdir-long-time.test
@@ -0,0 +1,116 @@
+#! /bin/sh
+# Copyright (C) 2011 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
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+# Check that remake rules from subdirectories do not hang or cycle
+# endlessly, even with build systems that takes several seconds to
+# rebuild the Makefiles.
+# This test tries to ensure a long-enough rebuild time by introducing
+# an explicit delay in the build process.
+# Suggestion by Ralf Wildenhues.
+
+. ./defs || Exit 1
+
+set -e
+
+cat > configure.in <<END
+AC_INIT([$me], [1.0])
+AM_INIT_AUTOMAKE([foreign -Wall -Werror])
+AC_CONFIG_FILES([Makefile sub/Makefile])
+AC_SUBST([MAGIC], [magic])
+AC_OUTPUT
+END
+
+echo SUBDIRS = sub > Makefile.am
+mkdir sub
+: > sub/Makefile.am
+
+# Both aclocal and automake are expected to run one and just one time.
+# Create and use wrappers that will verify that.
+
+ocwd=`pwd` || fatal_ "cannot get current working directory"
+
+mkdir bin
+
+cat > bin/automake <<END
+#!/bin/sh
+set -e
+PATH='$PATH'; export PATH
+sentinel='$ocwd/automake-has-run'
+if test -f "\$sentinel"; then
+  echo "Automake has been run more than one time" >&2
+  exit 1
+else
+  echo automake has run > "\$sentinel"
+fi
+$sleep; $sleep;
+exec $AUTOMAKE \${1+"\$@"}
+END
+chmod a+x bin/automake
+
+cat > bin/aclocal <<END
+#!/bin/sh
+set -e
+PATH='$PATH'; export PATH
+sentinel='$ocwd/aclocal-has-run'
+if test -f "\$sentinel"; then
+  echo "Aclocal has been run more than one time" >&2
+  exit 1
+else
+  echo aclocal has run > "\$sentinel"
+fi
+$sleep; $sleep;
+exec $ACLOCAL \${1+"\$@"}
+END
+chmod a+x bin/aclocal
+
+# Just to be sure.
+cp bin/automake bin/automake-$APIVERSION
+cp bin/aclocal bin/aclocal-$APIVERSION
+
+PATH=$ocwd/bin$PATH_SEPARATOR$PATH; export PATH
+
+AUTOMAKE=automake ACLOCAL=aclocal; export AUTOMAKE ACLOCAL
+
+$ACLOCAL  # Should use or just-defined wrapper.
+$AUTOMAKE # Likewise.
+$AUTOCONF
+
+# Sanity check: the wrappers have been used.
+test -f automake-has-run
+test -f aclocal-has-run
+rm -f automake-has-run aclocal-has-run
+
+./configure
+# Sanity check: Makefile doesn't get updated uselessly.
+ACLOCAL=false AUTOMAKE=false AUTOCONF=false $MAKE -e
+
+$sleep
+sed "s|magic|magic2|" configure.in > t
+mv -f t configure.in
+
+cd sub
+AUTOMAKE="$AUTOMAKE" ACLOCAL="$ACLOCAL" $MAKE -e Makefile
+cd ..
+
+# For debugging.
+ls -l . sub
+grep -i magic configure Makefile.in Makefile sub/Makefile.in sub/Makefile
+# Sanity checks.
+$FGREP magic2 configure
+$FGREP magic2 Makefile
+$FGREP magic2 sub/Makefile
+
+:


hooks/post-receive
-- 
GNU Automake



reply via email to

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