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


From: Stefano Lattarini
Subject: [Automake-commit] [SCM] GNU Automake branch, ng/master, updated. v1.13-717-g7801987
Date: Fri, 28 Dec 2012 19:06:23 +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=7801987fbd34c40d63fb249fa1796866d3b8baf6

The branch, ng/master has been updated
       via  7801987fbd34c40d63fb249fa1796866d3b8baf6 (commit)
       via  b373ad9963a3d8b0270a93110f900ef7d36c0bd2 (commit)
       via  e34c3653a907db711d6e6e8f816ef6a975512384 (commit)
       via  ea33584cdac1597e90b3e2dbe4d3fd09d77bae0b (commit)
       via  a31c991e5f4d58f236e26ab4d3197aa68d564110 (commit)
       via  2f552a970f2e8c00f0fc01ad72ff995716be2a06 (commit)
       via  c010d62f6e5d48cc8fbd0a51e3e16d1b474f8a54 (commit)
       via  27eb4254ec9acdd435bbd76a54201955a1b0fa78 (commit)
       via  b9951d654abb76c5419f1e2b453f1ca06fdb331b (commit)
       via  31a07e69c1be42d5fc30257d42d5165c76a1d4ed (commit)
      from  191e6b139c8eabc4639294c8c885a169e56f8a59 (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 7801987fbd34c40d63fb249fa1796866d3b8baf6
Merge: 191e6b1 b373ad9
Author: Stefano Lattarini <address@hidden>
Date:   Fri Dec 28 20:05:51 2012 +0100

    Merge branch 'master' into ng/master
    
    * master:
      post-release: major version bump
      post-release: minor version bump
      release: stable major release 1.13
      news: fix botched URL
      ylwrap: various fixes
      tests: strengthen the ylwrap tests
      NEWS: we plan to ditch MS-DOS/DJGPP support in future Automake versions
    
    Signed-off-by: Stefano Lattarini <address@hidden>

commit b373ad9963a3d8b0270a93110f900ef7d36c0bd2
Merge: e34c365 5a28948
Author: Stefano Lattarini <address@hidden>
Date:   Fri Dec 28 19:04:02 2012 +0100

    Merge branch 'am-prog-mkdir-p-remove'
    
    Finally backporting the AM_PROG_MKDIR_P removal that has already taken
    place in Automake-NG.  We can safely do this since the latest Gettext
    release (1.18.2) has removed all uses of AM_PROG_MKDIR_P, replacing
    them with uses of AC_PROG_MKDIR_P instead.
    
    References:
    <http://lists.gnu.org/archive/html/bug-gettext/2012-12/msg00064.html>
    <http://lists.gnu.org/archive/html/automake/2012-12/msg00024.html>
    Commit v0.18.1.1-147-g2cccb4c in the Gettext git repository.
    
    Signed-off-by: Stefano Lattarini <address@hidden>

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

Summary of changes:
 NEWS              |   25 +++++++++++++++++++++++-
 configure.ac      |    2 +-
 lib/ylwrap        |   33 ++++++++++++++++++++-----------
 m4/amversion.m4   |    6 ++--
 t/yacc-d-basic.sh |   54 +++++++++++++++++++++++++++-------------------------
 5 files changed, 77 insertions(+), 43 deletions(-)

diff --git a/NEWS b/NEWS
index e23396e..bdafaed 100644
--- a/NEWS
+++ b/NEWS
@@ -28,6 +28,11 @@ New in 1.13:
     <http://www.sgi.com/services/support/irix_mips_support.html> for
     more information.
 
+  - Future versions of Automake might remove support for MS-DOS and
+    Windows 95/98/ME (support for them was offered by relying on the
+    DJGPP project).  Note however that both Cygwin and MSYS/MinGW on
+    modern Windows versions will continue to be fully supported.
+
   - Support for the long-deprecated INCLUDES variable will be removed
     altogether in Automake 1.14.  The AM_CPPFLAGS variable should be
     used instead.
@@ -44,6 +49,18 @@ New in 1.13:
     should take precedence over the same-named automake-provided macro
     (defined in '/usr/local/share/aclocal-1.14/vala.m4').
 
+* Bugs fixed:
+
+  - ylwrap renames properly header guards in generated header files
+    (*.h), instead of leaving Y_TAB_H.
+
+  - ylwrap now also converts header guards in implementation files
+    (*.c).  Because ylwrap failed to rename properly #include in the
+    implementation files, current versions of Bison (e.g., 2.7)
+    duplicate the generated header file in the implementation file.
+    The header guard then protects the implementation file from
+    duplicate definitions from the header file.
+
 * Version requirements:
 
   - Autoconf 2.65 or greater is now required.
@@ -55,7 +72,7 @@ New in 1.13:
 
   - Support for the "Cygnus-style" trees (once enabled by the 'cygnus'
     option) has been removed.  See discussion about automake bug#11034
-    for more background: <debbugs.gnu.org/11034>.
+    for more background: <http://debbugs.gnu.org/11034>.
 
   - The deprecated aclocal option '--acdir' has been removed.  You
     should use the options '--automake-acdir' and '--system-acdir'
@@ -201,6 +218,12 @@ New in 1.13:
   - Support for tcc (the Tiny C Compiler) has been improved, and is now
     handled through a dedicated 'tcc' mode.
 
+* The ylwrap script:
+
+  - ylwrap generates header guards with a single '_' for series of non
+    alphabetic characters, instead of several.  This is what Bison >=
+    2.5.1 does.
+
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
 Bugs fixed in 1.12.6:
diff --git a/configure.ac b/configure.ac
index a9d26e5..0e4d777 100644
--- a/configure.ac
+++ b/configure.ac
@@ -16,7 +16,7 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 AC_PREREQ([2.69])
-AC_INIT([GNU Automake-NG], [1.12c], address@hidden)
+AC_INIT([GNU Automake-NG], [1.13a], address@hidden)
 
 AC_CONFIG_SRCDIR([automake.in])
 AC_CONFIG_AUX_DIR([lib])
diff --git a/lib/ylwrap b/lib/ylwrap
index 867b99f..c3220a1 100755
--- a/lib/ylwrap
+++ b/lib/ylwrap
@@ -1,7 +1,7 @@
 #! /bin/sh
 # ylwrap - wrapper for lex/yacc invocations.
 
-scriptversion=2012-07-14.08; # UTC
+scriptversion=2012-12-21.17; # UTC
 
 # Copyright (C) 1996-2012 Free Software Foundation, Inc.
 #
@@ -42,10 +42,11 @@ get_dirname ()
 # The CPP macro used to guard inclusion of FILE.
 guard()
 {
-  printf '%s\n' "$from" \
-    | sed \
-        -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'\
-        -e 's/[^ABCDEFGHIJKLMNOPQRSTUVWXYZ]/_/g'
+  printf '%s\n' "$1"                                                    \
+    | sed                                                               \
+        -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'   \
+        -e 's/[^ABCDEFGHIJKLMNOPQRSTUVWXYZ]/_/g'                        \
+        -e 's/__*/_/g'
 }
 
 # quote_for_sed [STRING]
@@ -121,10 +122,16 @@ fi
 # The parser itself, the first file, is the destination of the .y.c
 # rule in the Makefile.
 parser=$1
+
 # A sed program to s/FROM/TO/g for all the FROM/TO so that, for
 # instance, we rename #include "y.tab.h" into #include "parse.h"
 # during the conversion from y.tab.c to parse.c.
-rename_sed=
+sed_fix_filenames=
+
+# Also rename header guards, as Bison 2.7 for instance uses its header
+# guard in its implementation file.
+sed_fix_header_guards=
+
 while test "$#" -ne 0; do
   if test "$1" = "--"; then
     shift
@@ -141,7 +148,8 @@ while test "$#" -ne 0; do
   shift
   to=$1
   shift
-  rename_sed="${rename_sed}s|"`quote_for_sed "$from"`"|$to|g;"
+  sed_fix_filenames="${sed_fix_filenames}s|"`quote_for_sed "$from"`"|$to|g;"
+  sed_fix_header_guards="${sed_fix_header_guards}s|"`guard "$from"`"|"`guard 
"$to"`"|g;"
 done
 
 # The program to run.
@@ -174,7 +182,7 @@ ret=$?
 if test $ret -eq 0; then
   for from in *
   do
-    to=`printf '%s\n' "$from" | sed "$rename_sed"`
+    to=`printf '%s\n' "$from" | sed "$sed_fix_filenames"`
     if test -f "$from"; then
       # If $2 is an absolute path name, then just use that,
       # otherwise prepend '../'.
@@ -197,10 +205,11 @@ if test $ret -eq 0; then
       # debug information point at an absolute srcdir.  Use the real
       # output file name, not yy.lex.c for instance.  Adjust the
       # include guards too.
-      FROM=`guard "$from"`
-      TARGET=`guard "$to"`
-      sed -e "/^#/!b" -e "s|$input_rx|$input_sub_rx|" -e "$rename_sed" \
-          -e "s|$FROM|$TARGET|" "$from" >"$target" || ret=$?
+      sed -e "/^#/!b"                           \
+          -e "s|$input_rx|$input_sub_rx|"       \
+          -e "$sed_fix_filenames"               \
+          -e "$sed_fix_header_guards"           \
+        "$from" >"$target" || ret=$?
 
       # Check whether files must be updated.
       if test "$from" != "$parser"; then
diff --git a/m4/amversion.m4 b/m4/amversion.m4
index 3e87447..30d3871 100644
--- a/m4/amversion.m4
+++ b/m4/amversion.m4
@@ -12,10 +12,10 @@
 # generated from the m4 files accompanying Automake X.Y.
 # (This private macro should not be called outside this file.)
 AC_DEFUN([AM_AUTOMAKE_VERSION],
-[am__api_version='1.12c'
+[am__api_version='1.13a'
 dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
 dnl require some minimum version.  Point them to the right macro.
-m4_if([$1], [1.12c], [],
+m4_if([$1], [1.13a], [],
       [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
 ])
 
@@ -31,7 +31,7 @@ m4_define([_AM_AUTOCONF_VERSION], [])
 # Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
 # This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
 AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
-[AM_AUTOMAKE_VERSION([1.12c])dnl
+[AM_AUTOMAKE_VERSION([1.13a])dnl
 m4_ifndef([AC_AUTOCONF_VERSION],
   [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
 _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
diff --git a/t/yacc-d-basic.sh b/t/yacc-d-basic.sh
index 5cb2a8e..fae70d5 100755
--- a/t/yacc-d-basic.sh
+++ b/t/yacc-d-basic.sh
@@ -59,8 +59,10 @@ END
 # the conversion from y.tab.c to parse.c.  This was OK when Bison was
 # not issuing such an #include (up to 2.6).
 #
-# To make sure that we perform this conversion, in bar/parse.y, use
-# y.tab.h instead of parse.c.
+# To make sure that we perform this conversion even with version of
+# Bison that do not generate this include, in bar/parse.y, use y.tab.h
+# instead of parse.h, and check the ylwrap does replace "y.tab.h" with
+# "parse.h".
 sed -e 's/parse\.h/y.tab.h/' <foo/parse.y >bar/parse.y
 
 cat > foo/main.c << 'END'
@@ -107,12 +109,21 @@ $AUTOMAKE baz/Makefile
 
 $MAKE
 
-test -f foo/parse.c
-test -f foo/parse.h
-test -f bar/parse.c
-test -f bar/parse.h
-test -f baz/zardoz-parse.c
-test -f baz/zardoz-parse.h
+generated="
+  foo/parse.c
+  foo/parse.h
+  bar/parse.c
+  bar/parse.h
+  baz/zardoz-parse.c
+  baz/zardoz-parse.h
+"
+
+for i in $generated; do
+  test -f $i
+done
+
+# There must remain no obsolete header guard.
+grep Y_TAB_H $generated && exit 1
 
 # The generated C source and header files must be shipped.
 for dir in foo bar; do
@@ -130,12 +141,9 @@ cd ..
 
 $MAKE distdir
 ls -l $distdir
-test -f $distdir/foo/parse.c
-test -f $distdir/foo/parse.h
-test -f $distdir/bar/parse.c
-test -f $distdir/bar/parse.h
-test -f $distdir/baz/zardoz-parse.c
-test -f $distdir/baz/zardoz-parse.h
+for i in $generated; do
+  test -f $distdir/$i
+done
 
 # Sanity check the distribution.
 $MAKE distcheck
@@ -143,19 +151,13 @@ $MAKE distcheck
 # While we are at it, make sure that 'parse.c' and 'parse.h' are erased
 # by maintainer-clean, and not by distclean.
 $MAKE distclean
-test -f foo/parse.c
-test -f foo/parse.h
-test -f bar/parse.c
-test -f bar/parse.h
-test -f baz/zardoz-parse.c
-test -f baz/zardoz-parse.h
+for i in $generated; do
+  test -f $i
+done
 ./configure # Re-create 'Makefile'.
 $MAKE maintainer-clean
-test ! -e foo/parse.c
-test ! -e foo/parse.h
-test ! -e bar/parse.c
-test ! -e bar/parse.h
-test ! -e baz/zardoz-parse.c
-test ! -e baz/zardoz-parse.h
+for i in $generated; do
+  test ! -e $i
+done
 
 :


hooks/post-receive
-- 
GNU Automake



reply via email to

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