automake-commit
[Top][All Lists]
Advanced

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

[Automake-commit] [SCM] GNU Automake branch, ng/master, updated. v1.13.2


From: Stefano Lattarini
Subject: [Automake-commit] [SCM] GNU Automake branch, ng/master, updated. v1.13.2-1105-geaed46c
Date: Wed, 29 May 2013 10:21:29 +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=eaed46c8d9fd18a517eee6ccd1dd56228fb5de7e

The branch, ng/master has been updated
       via  eaed46c8d9fd18a517eee6ccd1dd56228fb5de7e (commit)
       via  ef81e90bcf3f3c2c1899299a2fc8aa07fabbd904 (commit)
       via  b1b1b2995f3ef29bc0bc60055668b3d17a2d4c88 (commit)
       via  fefd26d9cfcd855b39ec3f4d39a095fffbf9680f (commit)
       via  7c53e4c3d5120abd49e6ffd735b640af5353dd41 (commit)
       via  87e49f4f040c8ab93233a31b377fe5a541e3b6ff (commit)
       via  15f610e7fd67b0b31c5048fd14dcf72b5e456865 (commit)
       via  d987aa36c10af2c7cdce2e7bb84e64b5b84d018f (commit)
       via  e6df383b13504db26caa61e871a6d76764840e41 (commit)
       via  94d57f3d093af4479f95c0bc48cd66a739150a7b (commit)
       via  e833dfe6db3b884f90c8338c8633d50906f4e06c (commit)
       via  d99e3f3233f1e933b2f523e4d49189ad432e5578 (commit)
       via  8a2c43b6e7764eaee17f26c47091062d42b40909 (commit)
       via  cc9d8f26dbeadc908248b6992770f531c69b655b (commit)
       via  dd78a5e81de220e7030c5c6be4162bab2f0cf4c7 (commit)
       via  3fd6f1648b4bb773a3d7036e9409e4920349e213 (commit)
      from  324e4fb8ec7e08c521483f8716f45996fc2db14b (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 eaed46c8d9fd18a517eee6ccd1dd56228fb5de7e
Merge: 324e4fb ef81e90
Author: Stefano Lattarini <address@hidden>
Date:   Tue May 28 21:55:33 2013 +0200

    Merge branch 'master' into ng/master
    
    * master:
      NEWS: fix typo
      NEWS: report recent documentation fix about AM_PROG_MKDIR_P
      NEWS: Automake 2.0 will assume "rm -f" without args work
      NEWS: on assuming "rm -f" without arguments work
      NEWS: fix a couple of typos in older entries
      docs: AM_PROG_MKDIR_P: will not be removed in 2.0 release of Automake
      docs: AM_PROG_CC_C_O: correct imprecise statements about it
      maint: sanity checks in 'check-minimal-autoconf' convenience target
      maint: test minimal supported autoconf through convenience target
      maint: install minimal supported autoconf through convenience targets
      test-lib: typofix in comments

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

Summary of changes:
 .gitignore           |    2 +
 NEWS                 |   46 ++++++++++++++++++++++++++++--
 configure.ac         |    2 +-
 doc/automake-ng.texi |   19 ++++--------
 maintainer/maint.mk  |   77 ++++++++++++++++++++++++++++++++++++++++++++++++--
 t/ax/am-test-lib.sh  |    2 +-
 6 files changed, 128 insertions(+), 20 deletions(-)

diff --git a/.gitignore b/.gitignore
index 21ec99f..8f4bb19 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,5 +1,7 @@
 /lib/am-ng
 /announcement
+/maintainer/autoconf-*/
+/maintainer/autoconf-*.tar.gz
 /ChangeLog
 /aclocal.m4
 /configure
diff --git a/NEWS b/NEWS
index 6f88845..5172150 100644
--- a/NEWS
+++ b/NEWS
@@ -97,6 +97,17 @@ New in 2.0:
 
 * WARNING: Future backward-incompatibilities!
 
+  - Makefile recipes generated by Automake 2.0 will expect to use an
+    'rm' program that doesn't complain when called without any non-option
+    argument if the '-f' option is given (so that commands like "rm -f"
+    and "rm -rf" will act as a no-op, instead of raising usage errors).
+    Accordingly, AM_INIT_AUTOMAKE will expand new shell code checking
+    that the default 'rm' program in PATH satisfies this requirement, and
+    aborting the configure process if this is not the case.  This behavior
+    of 'rm' is very widespread in the wild, and it will be required in the
+    next POSIX version:
+    <http://austingroupbugs.net/view.php?id=542>
+
   - Automake 2.0 will require Autoconf 2.70 or later (which is still
     unreleased at the moment of writing, but is planned to be released
     before Automake 2.0 is).
@@ -234,11 +245,40 @@ New in 1.14:
     (in the 'obsolete' category), and the recipes for the Automake-generated
     targets 'dist-shar' and 'dist-tarZ' will unconditionally display
     (non-fatal) warnings at make runtime.
-    
+
+* New configure runtime warnings about "rm -f" support:
+
+  - To simplify transition to Automake 2.0, the shell code expanded by
+    AM_INIT_AUTOMAKE now checks (at configure runtime) that the default
+    'rm' program in PATH doesn't complain when called without any
+    non-option argument if the '-f' option is given (so that commands
+    like "rm -f" and "rm -rf" act as a no-op, instead of raising usage
+    error).  If this is not the case,
+    the configure script is aborted, to call the attention of the user
+    on the issue, and invite him to fix his PATH.  The checked 'rm'
+    behavior is very widespread in the wild, and will be required by
+    future POSIX version:
+
+        <http://austingroupbugs.net/view.php?id=542>
+
+    The user can still force the configure process to complete even in the
+    presence of a broken 'rm' by defining the ACCEPT_INFERIOR_RM_PROGRAM
+    environment variable to "yes".  And the generated Makefiles should
+    still work correctly even when such broken 'rm' is used.  But note
+    that this will no longer be the case with Automake 2.0 though, so, if
+    you encounter the warning, please report it to us ASAP (and try to fix
+    your environment as well).
+
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
 New in 1.13.3:
 
+* Documentation fixes:
+
+  - The documentation no longer mistakenly report that the obsolete
+    'AM_MKDIR_PROG_P' macro and '$(mkdir_p)' make variable are going
+    to be removed in Automake 2.0.
+
 * Bugs fixed:
 
   - Byte-compilation of Emacs lisp files could fail spuriously on Solaris,
@@ -1777,8 +1817,8 @@ New in 1.9:
     tar-pax.  The new option filename-length-max=99 helps diagnosing
     filenames that are too long for tar-v7.  (PR/414)
 
-  - Variables aumented with `+=' are now automatically flattened (i.e.,
-    trailing backslashes removed) and then wrapped around 80 colummns
+  - Variables augmented with `+=' are now automatically flattened (i.e.,
+    trailing backslashes removed) and then wrapped around 80 columns
     (adding trailing backslashes).  In previous versions, a long series
     of
       VAR += value1
diff --git a/configure.ac b/configure.ac
index dc89ce1..097a19a 100644
--- a/configure.ac
+++ b/configure.ac
@@ -113,7 +113,7 @@ AC_CHECK_PROGS([LEX], [lex flex], [false])
 # following tests, but some users were unable to figure out that their
 # installation was broken since --version appeared to work.
 
-required_autoconf_version=2.65
+AC_SUBST([required_autoconf_version], [2.65])
 AC_CACHE_CHECK([whether autoconf is installed], [am_cv_autoconf_installed],
 [if AM_RUN_LOG([$am_AUTOCONF --version]);
 then
diff --git a/doc/automake-ng.texi b/doc/automake-ng.texi
index 7b31803..079bdc5 100644
--- a/doc/automake-ng.texi
+++ b/doc/automake-ng.texi
@@ -3971,10 +3971,11 @@ choose the assembler for you (by default the C 
compiler) and set
 
 @item AM_PROG_CC_C_O
 @acindex AM_PROG_CC_C_O
address@hidden AC_PROG_CC_C_O
-This is an @emph{obsolete wrapper} around @code{AC_PROG_CC_C_O}.
-New code needs not use this macro.  It might be deprecated and
address@hidden in future Automake versions}.
+This is an obsolescent macro that checks that the C compiler supports
+the @option{-c} and @option{-o} options together.  Note that, since
+Automake 1.14, the @code{AC_PROG_CC} is rewritten to implement such
+checks itself, and thus the explicit use of @code{AM_PROG_CC_C_O}
+should no longer be required.
 
 @item AM_PROG_LEX
 @acindex AM_PROG_LEX
@@ -4041,13 +4042,6 @@ to avoid problems in the future.
 
 @table @code
 
address@hidden AM_PROG_CC_C_O
address@hidden AM_PROG_CC_C_O
address@hidden AC_PROG_CC_C_O
-This is an @emph{obsolete wrapper} around @code{AC_PROG_CC_C_O}.  New
-code needs not to use this macro.  It will be deprecated, and then
-removed, in future Automake versions.
-
 @item AM_PROG_MKDIR_P
 @acindex AM_PROG_MKDIR_P
 @cindex @code{mkdir -p}, macro check
@@ -4065,7 +4059,8 @@ the output variable @code{MKDIR_P} instead.  In case you 
are still
 using the @code{AM_PROG_MKDIR_P} macro in your @file{configure.ac},
 or its provided variable @code{$(mkdir_p)} in your @file{Makefile.am},
 you are advised to switch ASAP to the more modern Autoconf-provided
-interface instead.
+interface instead; both the macro and the variable might be removed
+in a future major Automake release.
 
 @end table
 
diff --git a/maintainer/maint.mk b/maintainer/maint.mk
index 5bd9d1b..da821b2 100644
--- a/maintainer/maint.mk
+++ b/maintainer/maint.mk
@@ -18,6 +18,9 @@
 # Avoid CDPATH issues.
 unexport CDPATH
 
+# Program to use to fetch files from the Net.
+WGET = wget
+
 # --------------------------------------------------------- #
 #  Automatic generation of the ChangeLog from git history.  #
 # --------------------------------------------------------- #
@@ -303,9 +306,6 @@ CLEANFILES += announcement
 #  Synchronize third-party files that are committed in our repository.  #
 # --------------------------------------------------------------------- #
 
-# Program to use to fetch files.
-WGET = wget
-
 # Git repositories on Savannah.
 git-sv-host = git.savannah.gnu.org
 
@@ -477,6 +477,77 @@ update-copyright:
          | grep -Ev "^($$excluded_re)$$" \
          | $(update_copyright_env) xargs $(srcdir)/lib/$@
 
+# -------------------------------------------------------------- #
+#  Run the testsuite with the least supported autoconf version.  #
+# -------------------------------------------------------------- #
+
+gnu-ftp = http://ftp.gnu.org/gnu
+
+# Various shorthands: version, name, package name, tarball name,
+# tarball location, installation directory.
+ac-v = $(required_autoconf_version)
+ac-n = autoconf
+ac-p = $(ac-n)-$(ac-v)
+ac-t = $(ac-p).tar.gz
+ac-l = maintainer/$(ac-t)
+ac-d = maintainer/$(ac-p)
+
+fetch-minimal-autoconf: o = $(ac-l)
+fetch-minimal-autoconf:
+       $(AM_V_at)$(MKDIR_P) $(dir $o)
+       $(AM_V_at)rm -f $o $o-t
+       $(AM_V_GEN)$(WGET) -O $o-t $(gnu-ftp)/$(ac-n)/$(ac-t)
+       $(AM_V_at)chmod a-w $o-t && mv -f $o-t $o && ls -l $o
+.PHONY: fetch-minimal-autoconf
+
+build-minimal-autoconf:
+       $(AM_V_GEN):; \
+       test -f $(ac-l) || { \
+         echo "$@: tarball $(ac-l) seems missing." >&2; \
+         echo "$@: have you run '$(MAKE) fetch-minimal-autoconf'?" >&2; \
+         exit 1; \
+       }; \
+         set -x \
+         && $(PERL) $(srcdir)/t/ax/deltree.pl $(ac-d) \
+         && $(MKDIR_P) $(ac-d) \
+         && cd $(ac-d) \
+         && tar xzf '$(CURDIR)/$(ac-l)' \
+         && mv $(ac-p) src \
+         && mkdir build \
+         && cd build \
+         && env CONFIG_SHELL='$(SHELL)' $(SHELL) ../src/configure \
+              --prefix='$(CURDIR)/$(ac-d)' CONFIG_SHELL='$(SHELL)' \
+         && $(MAKE) install
+       $(AM_V_at)echo ' ======' && $(ac-d)/bin/autoconf --version
+.PHONY: build-minimal-autoconf
+
+check-minimal-autoconf:
+       $(AM_V_at)p='$(ac-d)/bin/autoconf'; \
+         if test ! -f "$$p" || test ! -x "$$p"; then \
+           echo "$@: program '$$p' seems missing." >&2; \
+           echo "$@: have you run '$(MAKE) build-minimal-autoconf'?" >&2; \
+           exit 1; \
+         fi
+       $(AM_V_GEN): \
+         && PATH='$(CURDIR)/$(ac-d)/bin$(PATH_SEPARATOR)'$$PATH \
+         && export PATH \
+         && AUTOCONF=autoconf \
+         && AUTOHEADER=autoheader \
+         && AUTORECONF=autoreconf \
+         && AUTOM4TE=autom4te \
+         && AUTOUPDATE=autoupdate \
+         && export AUTOCONF AUTOHEADER AUTORECONF AUTOM4TE AUTOUPDATE \
+         && echo === check autoconf version '(must be = $(ac-v))' \
+         && autoconf --version \
+         && autoconf --version | sed -e 's/^/ /; s/$$/ /' -e 1q \
+              | $(FGREP) '$(ac-v)' >/dev/null \
+         && echo === configure \
+         && ./configure $(shell ./config.status --config) \
+         && echo === build and test \
+         && $(MAKE) check
+.PHONY: check-minimal-autoconf
+
+
 # --------------------------------------------------------------- #
 #  Testing on real-world packages can help us avoid regressions.  #
 # --------------------------------------------------------------- #
diff --git a/t/ax/am-test-lib.sh b/t/ax/am-test-lib.sh
index 00eabbf..5382f6c 100644
--- a/t/ax/am-test-lib.sh
+++ b/t/ax/am-test-lib.sh
@@ -49,7 +49,7 @@ unset DESTDIR
 unset prefix exec_prefix bindir datarootdir datadir docdir dvidir
 unset htmldir includedir infodir libdir libexecdir localedir mandir
 unset oldincludedir pdfdir psdir sbindir sharedstatedir sysconfdir
-# Unset variables that might influcence "make distcheck".
+# Unset variables that might influence "make distcheck".
 unset DISTCHECK_CONFIGURE_FLAGS AM_DISTCHECK_CONFIGURE_FLAGS
 # Used by install rules for info files.
 unset AM_UPDATE_INFO_DIR


hooks/post-receive
-- 
GNU Automake



reply via email to

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