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-22-gd


From: Stefano Lattarini
Subject: [Automake-commit] [SCM] GNU Automake branch, maint, updated. v1.12-22-gd6294a1
Date: Sun, 29 Apr 2012 21:00:52 +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=d6294a1283a3d88665ca9ec1592e959517172e59

The branch, maint has been updated
       via  d6294a1283a3d88665ca9ec1592e959517172e59 (commit)
       via  7a1eb9ff9027929687f12905e131f6fda3fa6d0c (commit)
      from  d3303684e6f05d550b4bec305b6a8650bb0ebfb9 (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 -----------------------------------------------------------------
-----------------------------------------------------------------------

Summary of changes:
 NEWS                                          |   16 +++++++---
 automake.in                                   |    9 ++++++
 m4/init.m4                                    |    2 +-
 m4/mkdirp.m4                                  |    7 ++++-
 syntax-checks.mk                              |    7 ----
 t/gettext-macros.sh                           |    7 ++++
 t/list-of-tests.mk                            |    1 +
 t/{dist-pr109765.sh => mkdirp-deprecation.sh} |   38 ++++++++++++++----------
 8 files changed, 57 insertions(+), 30 deletions(-)
 copy t/{dist-pr109765.sh => mkdirp-deprecation.sh} (54%)

diff --git a/NEWS b/NEWS
index 4e49512..b415be6 100644
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,14 @@
+New in 1.12.1:
+
+* Deprecated obsolescent features:
+
+  - The long-obsolete (since 1.10) automake-provided $(mkdir_p) make
+    variable, @mkdir_p@ configure-time substitution and AM_PROG_MKDIR
+    m4 macro are deprecated, eliciting a warning in the 'obsolete'
+    category.  They will be removed in the next major version (1.13).
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
 New in 1.12:
 
 * WARNING: Future backward-incompatibilities!
@@ -40,11 +51,6 @@ New in 1.12:
     AM_INIT_AUTOMAKE macro will be deprecated in the next minor version
     of Automake (1.12.1) and removed in the next major version (1.13).
 
-  - The long-obsolete (since 1.10) automake-provided $(mkdir_p) make
-    variable, @mkdir_p@ substitution and AM_PROG_MKDIR m4 macro will
-    all be deprecated in the next minor version of Automake (1.12.1)
-    and removed in the next major version (1.13).
-
   - The '--acdir' option of aclocal is deprecated, and will probably
     be removed in the next major Automake release (1.13).  You should
     use the options '--automake-acdir' and '--system-acdir' instead
diff --git a/automake.in b/automake.in
index a454109..a993451 100644
--- a/automake.in
+++ b/automake.in
@@ -5205,6 +5205,7 @@ sub scan_autoconf_traces ($)
                AC_REQUIRE_AUX_FILE => 1,
                AC_SUBST_TRACE => 1,
                AM_AUTOMAKE_VERSION => 1,
+                AM_PROG_MKDIR_P => 0, # FIXME: to be removed in 1.13
                AM_CONDITIONAL => 2,
                AM_GNU_GETTEXT => 0,
                AM_GNU_GETTEXT_INTL_SUBDIR => 0,
@@ -5363,6 +5364,14 @@ sub scan_autoconf_traces ($)
 
          $seen_automake_version = 1;
        }
+      elsif ($macro eq 'AM_PROG_MKDIR_P') # FIXME: to be removed in 1.13
+       {
+         msg 'obsolete', $where, <<'EOF';
+The 'AM_PROG_MKDIR_P' macro is deprecated, and will soon be removed.
+You should use the Autoconf-provided 'AC_PROG_MKDIR_P' macro instead,
+and use '$(MKDIR_P)' instead of '$(mkdir_p)'in your Makefile.am files.
+EOF
+       }
       elsif ($macro eq 'AM_CONDITIONAL')
        {
          $configure_cond{$args[1]} = $where;
diff --git a/m4/init.m4 b/m4/init.m4
index 6a69244..3520dcb 100644
--- a/m4/init.m4
+++ b/m4/init.m4
@@ -78,7 +78,7 @@ AM_MISSING_PROG([AUTOHEADER], [autoheader])
 AM_MISSING_PROG([MAKEINFO], [makeinfo])
 AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
 AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl
-AC_REQUIRE([AM_PROG_MKDIR_P])dnl
+AC_REQUIRE([AC_PROG_MKDIR_P])dnl
 # We need awk for the "check" target.  The system "awk" is bad on
 # some platforms.
 AC_REQUIRE([AC_PROG_AWK])dnl
diff --git a/m4/mkdirp.m4 b/m4/mkdirp.m4
index 2d88b92..d362b0b 100644
--- a/m4/mkdirp.m4
+++ b/m4/mkdirp.m4
@@ -5,7 +5,7 @@
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 2
+# serial 3
 
 # AM_PROG_MKDIR_P
 # ---------------
@@ -13,6 +13,11 @@
 AC_DEFUN([AM_PROG_MKDIR_P],
 [AC_PREREQ([2.60])dnl
 AC_REQUIRE([AC_PROG_MKDIR_P])dnl
+dnl FIXME to be removed in Automake 1.13.
+AC_DIAGNOSE([obsolete],
+[$0: this macro is deprecated, and will soon be removed.
+You should use the Autoconf-provided 'AC][_PROG_MKDIR_P' macro instead,
+and use '$(MKDIR_P)' instead of '$(mkdir_p)'in your Makefile.am files.])
 dnl Automake 1.8 to 1.9.6 used to define mkdir_p.  We now use MKDIR_P,
 dnl while keeping a definition of mkdir_p for backward compatibility.
 dnl @MKDIR_P@ is magic: AC_OUTPUT adjusts its value for each Makefile.
diff --git a/syntax-checks.mk b/syntax-checks.mk
index 4d5ab6f..130d469 100644
--- a/syntax-checks.mk
+++ b/syntax-checks.mk
@@ -76,7 +76,6 @@ sc_tests_no_configure_in \
 sc_tests_PATH_SEPARATOR \
 sc_tests_logs_duplicate_prefixes \
 sc_tests_makefile_variable_order \
-sc_mkdir_p \
 sc_perl_at_substs \
 sc_unquoted_DESTDIR \
 sc_tabs_in_texi \
@@ -545,12 +544,6 @@ sc_tests_PATH_SEPARATOR:
          exit 1; \
        fi
 
-sc_mkdir_p:
-       @if grep 'mkdir_p' $(srcdir)/automake.in $(ams) $(xtests); then \
-         echo 'Do not use mkdir_p in the above files, use MKDIR_P.' 1>&2; \
-         exit 1; \
-       fi
-
 ## Try to make sure all @...@ substitutions are covered by our
 ## substitution rule.
 sc_perl_at_substs:
diff --git a/t/gettext-macros.sh b/t/gettext-macros.sh
index 8adcb0d..416a8e5 100755
--- a/t/gettext-macros.sh
+++ b/t/gettext-macros.sh
@@ -80,6 +80,13 @@ fi
 
 . ./get.sh
 
+cat >> get.sh <<'END'
+# Even recent versions of gettext used the now-obsolete 'AM_PROG_MKDIR_P'
+# m4 macro.  So we need the following to avoid spurious errors.
+ACLOCAL="$ACLOCAL -Wno-obsolete"
+AUTOMAKE="$AUTOMAKE -Wno-obsolete"
+END
+
 $ACLOCAL --force -I m4 || cat >> get.sh <<'END'
 # We need to use '-Wno-syntax', since we do not want our test suite
 # to fail merely because some third-party '.m4' file is underquoted.
diff --git a/t/list-of-tests.mk b/t/list-of-tests.mk
index fef7165..d692561 100644
--- a/t/list-of-tests.mk
+++ b/t/list-of-tests.mk
@@ -675,6 +675,7 @@ t/missing4.sh \
 t/missing5.sh \
 t/missing6.sh \
 t/missing-auxfile-stops-makefiles-creation.sh \
+t/mkdirp-deprecation.sh \
 t/mkinstall.sh \
 t/mkinst2.sh \
 t/mkinst3.sh \
diff --git a/t/dist-pr109765.sh b/t/mkdirp-deprecation.sh
similarity index 54%
copy from t/dist-pr109765.sh
copy to t/mkdirp-deprecation.sh
index 2e22e84..7b8f67f 100755
--- a/t/dist-pr109765.sh
+++ b/t/mkdirp-deprecation.sh
@@ -14,29 +14,35 @@
 # You should have received a copy of the GNU General Public License
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
-# Expose automake bug#10975: when several "dist-*" targets are invoked
-# on the make command line, the first one ends up removing the distdir,
-# so that the latter ones fail.
+# Check that the AM_PROG_MKDIR_P macro is deprecated.  It will be
+# be removed in the next major Automake release.
 
-required=bzip2
 . ./defs || Exit 1
 
-echo AC_OUTPUT >> configure.ac
+echo AM_PROG_MKDIR_P >> configure.ac
 : > Makefile.am
 
-$ACLOCAL  || fatal_ "aclocal failed"
-$AUTOCONF || fatal_ "autoconf failed"
-$AUTOMAKE || fatal_ "automake failed"
+grep_err ()
+{
+  loc='^configure.ac:4:'
+  grep "$loc.*AM_PROG_MKDIR_P.*deprecated" stderr
+  grep "$loc.* use .*AC_PROG_MKDIR_P" stderr
+  grep "$loc.* use '\$(MKDIR_P)' instead of '\$(mkdir_p)'.*Makefile" stderr
+}
 
-./configure
-$MAKE dist-gzip dist-bzip2
+$ACLOCAL
 
-gzip -dc $distdir.tar.gz | tar tf - > one || { cat one; Exit 1; }
-cat one
-bzip2 -dc $distdir.tar.gz | tar tf - > two || { cat two; Exit 1; }
-cat two
+$AUTOCONF -Werror -Wobsolete 2>stderr && { cat stderr >&2; Exit 1; }
+cat stderr >&2
+grep_err
 
-$FGREP "$distdir/Makefile.am" one
-diff one two
+$AUTOCONF -Werror -Wno-obsolete
+
+#AUTOMAKE_fails
+#grep_err
+AUTOMAKE_fails --verbose -Wnone -Wobsolete
+grep_err
+
+$AUTOMAKE -Wno-obsolete
 
 :


hooks/post-receive
-- 
GNU Automake



reply via email to

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