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-13-g5


From: Stefano Lattarini
Subject: [Automake-commit] [SCM] GNU Automake branch, maint, updated. v1.12-13-g56badcd
Date: Fri, 27 Apr 2012 21:55:56 +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=56badcd480c91e73e3a7f56beed80e0ebe566eab

The branch, maint has been updated
       via  56badcd480c91e73e3a7f56beed80e0ebe566eab (commit)
      from  b99b5be0d88d69698f71a5cc85d841c9816f3031 (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 56badcd480c91e73e3a7f56beed80e0ebe566eab
Author: Stefano Lattarini <address@hidden>
Date:   Fri Apr 27 18:48:27 2012 +0200

    bootstrap: add convenience make target
    
    Dependencies in the Automake build system are not completely specified
    (see for example the commit log of recent commit 'v1.12-10-gab14841',
    "build: avoid too greedy rebuilds in the testsuite").  In fact, some of
    them cannot even be; for example, Makefile is generated at configure
    time from Makefile.in, which should be regenerated by our bleeding-edge
    automake script, which is generated by out Makefile -- specifying the
    complete chain of dependencies here would bring to a circular dependency
    issue.
    
    For this reason, before testing or deploying a change, we are often
    forced to perform a full re-bootstrap of the Automake package, to ensure
    all our files are actually up-to-date.  Until now, this has to be done
    manually, thus causing wasted keystrokes and more possibilities of error.
    
    With this change, we introduce a new 'bootstrap' make target to
    automatize all the (easy) steps of this re-bootstrapping (plus some
    minor bells & whistles since we are at it).
    
    * GNUmakefile: Rewrite to allow an easy bootstrapping and clean rebuild
    of the whole package, in particular with the help of ...
    (bootstrap): ...  this new target.
    
    Signed-off-by: Stefano Lattarini <address@hidden>

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

Summary of changes:
 GNUmakefile |   54 +++++++++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 47 insertions(+), 7 deletions(-)

diff --git a/GNUmakefile b/GNUmakefile
index 9d83dba..dcaaf01 100644
--- a/GNUmakefile
+++ b/GNUmakefile
@@ -15,14 +15,54 @@
 # You should have received a copy of the GNU General Public License
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
-# If the user runs GNU make but has not yet run ./configure,
-# give them an helpful diagnostic instead of a cryptic error.
-am--Makefile := $(wildcard Makefile)
-ifeq ($(am--Makefile),)
-  $(warning There seems to be no Makefile in this directory.)
-  $(warning You must run ./configure before running 'make'.)
-  $(error Fatal Error)
+ifeq ($(wildcard Makefile),)
+  ifeq ($(filter bootstrap,$(MAKECMDGOALS)),bootstrap)
+    # Allow the user (or more likely the developer) to ask for a bootstrap
+    # of the package; of course, this can happen before configure is run,
+    # and in fact even before it is created.
+  else
+    # Else, If the user runs GNU make but has not yet run ./configure,
+    # give them an helpful diagnostic instead of a cryptic error.
+    $(warning There seems to be no Makefile in this directory.)
+    $(warning You must run ./configure before running 'make'.)
+    $(error Fatal Error)
+  endif
 else
   include ./Makefile
   include $(srcdir)/syntax-checks.mk
 endif
+
+# To allow bootstrapping also in an unconfigured tree.
+srcdir ?= .
+am__cd ?= CDPATH=. && unset CDPATH && cd
+AM_DEFAULT_VERBOSITY ?= 0
+V ?= $(AM_DEFAULT_VERBOSITY)
+
+ifeq ($(V),0)
+  AM_V_BOOTSTRAP = @echo "  BOOTSTRAP";
+  AM_V_CONFIGURE = @echo "  CONFIGURE";
+  AM_V_REMAKE    = @echo "  REMAKE";
+else
+  AM_V_BOOTSTRAP =
+  AM_V_CONFIGURE =
+  AM_V_REMAKE    =
+endif
+
+# Must be phony, not to be confused with the 'bootstrap' script.
+.PHONY: bootstrap
+bootstrap:
+       $(AM_V_BOOTSTRAP)$(am__cd) $(srcdir) && ./bootstrap
+       $(AM_V_CONFIGURE)set -e; \
+       am__bootstrap_configure () { \
+         $(srcdir)/configure $${1+"$$@"} $(BOOTSTRAP_CONFIGURE_FLAGS); \
+       }; \
+       if test -f $(srcdir)/config.status; then \
+         : config.status should return a string properly quoted for eval; \
+         old_configure_flags=`$(srcdir)/config.status --config`; \
+       else \
+         old_configure_flags=""; \
+       fi; \
+       eval am__bootstrap_configure "$$old_configure_flags"
+       # The "make check" below is to ensure all the testsuite-required
+       # files are rebuilt.
+       $(AM_V_REMAKE)$(MAKE) clean && $(MAKE) check TESTS=t/get-sysconf


hooks/post-receive
-- 
GNU Automake



reply via email to

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