automake-commit
[Top][All Lists]
Advanced

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

[Automake-commit] [SCM] GNU Automake branch, master, updated. v1.11-414-


From: Stefano Lattarini
Subject: [Automake-commit] [SCM] GNU Automake branch, master, updated. v1.11-414-g3dffb01
Date: Sun, 07 Nov 2010 15:37:15 +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=3dffb015de25fc5cd79134feb9b94cbc8a3f4994

The branch, master has been updated
       via  3dffb015de25fc5cd79134feb9b94cbc8a3f4994 (commit)
       via  551b1133da2b17fb3d2171346fd4af86f05ad5fe (commit)
       via  7a020d668ab1bf8f36bb1719b63f784c64ae74f2 (commit)
       via  1e460312d79fe15170e7519fb785e132ac7293fb (commit)
       via  657ba885946a20a43dd556f45b8583c5bc016ebe (commit)
      from  4555c818e5ae6a90a8116e9c5b5b1ff6a65929c0 (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 3dffb015de25fc5cd79134feb9b94cbc8a3f4994
Merge: 1e46031 551b113
Author: Stefano Lattarini <address@hidden>
Date:   Sun Nov 7 15:23:41 2010 +0100

    Merge branch 'maint'

commit 1e460312d79fe15170e7519fb785e132ac7293fb
Merge: 4555c81 657ba88
Author: Stefano Lattarini <address@hidden>
Date:   Sun Nov 7 11:50:06 2010 +0100

    Merge branch 'tests-misc-fixes-1'
    
    Conflicts:
        tests/Makefile.am
        tests/Makefile.in

commit 657ba885946a20a43dd556f45b8583c5bc016ebe
Author: Stefano Lattarini <address@hidden>
Date:   Mon Jun 21 18:07:09 2010 +0200

    Modernize, improve and/or tweak various test scripts.
    
    * tests/stamph2.test: Improve m4 quoting in `configure.in', and
    prefer trailing `:' over trailing `Exit 0'.
    * tests/syntax.test: Escape literal dots in grep regexps.
    * tests/copy.test: Enable `errexit' shell flag.  Extend test by
    checking with `test' utility that the script `install-sh' is
    copied, but not symlinked.
    * tests/depdist.test: Move setting of `errexit' shell flag earlier
    in the script (just after inclusion of ./defs).  Avoid obsoleted
    constructs in generated `configure.in'.  Prefer to do our checks
    by running configure and make over grepping Makefile.in.
    * tests/target-cflags: Move setting of `errexit' shell flag
    earlier in the script (just after inclusion of ./defs). Use the
    `configure.in' stub created by `./defs', rather than writing it
    from scratch.
    * tests/target-clash: Do not uselessly run autoconf.
    * tests/ctarget1.test: Renamed ...
    * tests/cond-basic.test: ... to this.  Use the `configure.in' stub
    created by `./defs', rather than writing it from scratch.
    Move setting of `errexit' shell flag earlier in the script (just
    after inclusion of ./defs).  Other minor cosmetic changes.
    * tests/Makefile.am (TESTS): Updated.

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

Summary of changes:
 ChangeLog                                |   38 +++++++++++++++++++++++++
 lib/Automake/VarDef.pm                   |   13 +-------
 tests/Makefile.am                        |    3 +-
 tests/Makefile.in                        |    3 +-
 tests/{ctarget1.test => cond-basic.test} |   20 ++++++------
 tests/copy.test                          |   11 ++++++-
 tests/depdist.test                       |   45 +++++++++++++++++++++--------
 tests/{autohdrdry.test => pluseq11.test} |   41 ++++++++++++++++----------
 tests/stamph2.test                       |   18 ++++++------
 tests/syntax.test                        |    7 +++-
 tests/target-cflags.test                 |   12 ++++----
 tests/targetclash.test                   |    5 ++-
 12 files changed, 143 insertions(+), 73 deletions(-)
 rename tests/{ctarget1.test => cond-basic.test} (81%)
 copy tests/{autohdrdry.test => pluseq11.test} (57%)

diff --git a/ChangeLog b/ChangeLog
index 657ea37..ab8770a 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,41 @@
+2010-11-07  Stefano Lattarini  <address@hidden>
+
+       Fix a bug in variable concatanation with `+='.
+       * lib/Automake/VarDef.pm (append): Since the content of the
+       "appended-to" variable is going to be unconditionally normalized
+       later, simply separate the appended value with a single whitespace
+       character, instead of trying to be uselesssly smarter by using
+       escaped newlines.  This fixes a bug in which extra backslashes
+       where erroneously inserted in the variable's final value.
+       * tests/pluseq11.test: New test, exposing the bug.
+       * tests/Makefile.am (TESTS): Update.
+       Reported by Andy Wingo.
+
+2010-11-07  Stefano Lattarini  <address@hidden>
+
+       Modernize, improve and/or tweak various test scripts.
+       * tests/stamph2.test: Improve m4 quoting in `configure.in', and
+       prefer trailing `:' over trailing `Exit 0'.
+       * tests/syntax.test: Escape literal dots in grep regexps.
+       * tests/copy.test: Enable `errexit' shell flag.  Extend test by
+       checking with `test' utility that the script `install-sh' is
+       copied, but not symlinked.
+       * tests/depdist.test: Move setting of `errexit' shell flag earlier
+       in the script (just after inclusion of ./defs).  Avoid obsoleted
+       constructs in generated `configure.in'.  Prefer to do our checks
+       by running configure and make over grepping Makefile.in.
+       * tests/target-cflags: Move setting of `errexit' shell flag
+       earlier in the script (just after inclusion of ./defs). Use the
+       `configure.in' stub created by `./defs', rather than writing it
+       from scratch.
+       * tests/target-clash: Do not uselessly run autoconf.
+       * tests/ctarget1.test: Renamed ...
+       * tests/cond-basic.test: ... to this.  Use the `configure.in' stub
+       created by `./defs', rather than writing it from scratch.
+       Move setting of `errexit' shell flag earlier in the script (just
+       after inclusion of ./defs).  Other minor cosmetic changes.
+       * tests/Makefile.am (TESTS): Updated.
+
 2010-11-06  Stefano Lattarini  <address@hidden>
 
        New tests on obsoleted usages of automake/autoconf macros (such
diff --git a/lib/Automake/VarDef.pm b/lib/Automake/VarDef.pm
index 7d10bb6..033aa05 100644
--- a/lib/Automake/VarDef.pm
+++ b/lib/Automake/VarDef.pm
@@ -185,17 +185,8 @@ sub append ($$$)
   # Furthermore keeping `#' would not be portable if the variable is
   # output on multiple lines.
   $val =~ s/ ?#.*//;
-
-  if (chomp $val)
-    {
-      # Insert a backslash before a trailing newline.
-      $val .= "\\\n";
-    }
-  elsif ($val)
-    {
-      # Insert a separator.
-      $val .= ' ';
-    }
+  # Insert a separator, if required.
+  $val .= ' ' if $val;
   $self->{'value'} = $val . $value;
   # Turn ASIS appended variables into PRETTY variables.  This is to
   # cope with `make' implementation that cannot read very long lines.
diff --git a/tests/Makefile.am b/tests/Makefile.am
index d5ae622..13214ed 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -233,6 +233,7 @@ compile5.test \
 compile6.test \
 compile_f90_c_cxx.test \
 compile_f_c_cxx.test \
+cond-basic.test \
 cond.test \
 cond2.test \
 cond3.test \
@@ -309,7 +310,6 @@ copy.test \
 cscope.test \
 cscope2.test \
 cscope3.test \
-ctarget1.test \
 cxx.test \
 cxx2.test \
 cxxansi.test \
@@ -652,6 +652,7 @@ pluseq7.test \
 pluseq8.test \
 pluseq9.test \
 pluseq10.test \
+pluseq11.test \
 postproc.test \
 ppf77.test \
 pr2.test \
diff --git a/tests/Makefile.in b/tests/Makefile.in
index deab171..95065f2 100644
--- a/tests/Makefile.in
+++ b/tests/Makefile.in
@@ -491,6 +491,7 @@ compile5.test \
 compile6.test \
 compile_f90_c_cxx.test \
 compile_f_c_cxx.test \
+cond-basic.test \
 cond.test \
 cond2.test \
 cond3.test \
@@ -567,7 +568,6 @@ copy.test \
 cscope.test \
 cscope2.test \
 cscope3.test \
-ctarget1.test \
 cxx.test \
 cxx2.test \
 cxxansi.test \
@@ -910,6 +910,7 @@ pluseq7.test \
 pluseq8.test \
 pluseq9.test \
 pluseq10.test \
+pluseq11.test \
 postproc.test \
 ppf77.test \
 pr2.test \
diff --git a/tests/ctarget1.test b/tests/cond-basic.test
similarity index 81%
rename from tests/ctarget1.test
rename to tests/cond-basic.test
index d2191f6..0609ec1 100755
--- a/tests/ctarget1.test
+++ b/tests/cond-basic.test
@@ -1,5 +1,5 @@
 #! /bin/sh
-# Copyright (C) 2001, 2002  Free Software Foundation, Inc.
+# Copyright (C) 2001, 2002, 2010 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
@@ -18,11 +18,11 @@
 
 . ./defs || Exit 1
 
-cat > configure.in << 'END'
-AC_INIT
-AM_INIT_AUTOMAKE(nonesuch, nonesuch)
-AM_CONDITIONAL(TEST, true)
-AC_OUTPUT(Makefile)
+set -e
+
+cat >> configure.in << 'END'
+AM_CONDITIONAL([TEST], [true])
+AC_OUTPUT
 END
 
 cat > Makefile.am << 'END'
@@ -34,11 +34,11 @@ target: false
 endif
 END
 
-set -e
-
-$ACLOCAL || Exit 1
+$ACLOCAL
 $AUTOMAKE
+
 grep 'address@hidden@target: true' Makefile.in
 grep 'address@hidden@  action' Makefile.in
 grep 'address@hidden@target: false' Makefile.in
-Exit 0
+
+:
diff --git a/tests/copy.test b/tests/copy.test
index 770ae51..e4199a1 100755
--- a/tests/copy.test
+++ b/tests/copy.test
@@ -1,5 +1,5 @@
 #! /bin/sh
-# Copyright (C) 1999, 2001, 2002  Free Software Foundation, Inc.
+# Copyright (C) 1999, 2001, 2002, 2010 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
@@ -18,8 +18,15 @@
 
 . ./defs || Exit 1
 
+set -e
+
 : > Makefile.am
 rm -f install-sh
 
-$ACLOCAL || Exit 1
+$ACLOCAL
 $AUTOMAKE -c -a
+
+test -f install-sh
+test ! -h install-sh
+
+:
diff --git a/tests/depdist.test b/tests/depdist.test
index f36eb47..f61ddf0 100755
--- a/tests/depdist.test
+++ b/tests/depdist.test
@@ -1,5 +1,5 @@
 #! /bin/sh
-# Copyright (C) 2001, 2002  Free Software Foundation, Inc.
+# Copyright (C) 2001, 2002, 2010 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
@@ -19,38 +19,57 @@
 
 . ./defs || Exit 1
 
+set -e
+
 rm -f configure.in
 
 mkdir config
 for i in *; do
-   if test $i != "config"; then
-      mv $i config
+   if test "$i" != "config"; then
+      mv -f "$i" config
    fi
 done
 
-cat > configure.in << 'END'
-AC_INIT(subdir/foo.c)
-AC_CONFIG_AUX_DIR(config)
-AM_INIT_AUTOMAKE(nonesuch, nonesuch)
+cat > configure.in << END
+AC_INIT([$me], [1.0])
+AC_CONFIG_AUX_DIR([config])
+AM_INIT_AUTOMAKE
 AC_PROG_CC
-AC_OUTPUT(subdir/Makefile Makefile)
+AC_CONFIG_FILES([subdir/Makefile Makefile])
+AC_OUTPUT
 END
 
 cat > Makefile.am << 'END'
 SUBDIRS = subdir
+check-local: test1 test2
+.PHONY: test1 test2
+test1:
+       echo ' ' $(DIST_COMMON) ' ' | grep '[ /]config/depcomp '
+test2: distdir
+       ls -l $(distdir)/*
+       test -f $(distdir)/config/depcomp
 END
 
 mkdir subdir
-: > subdir/foo.c
+cat > subdir/foo.c << 'END'
+int main(void)
+{
+  return 0;
+}
+END
 
 cat > subdir/Makefile.am << 'END'
 bin_PROGRAMS = foo
 foo_SOURCES = foo.c
 END
 
-set -e
-
 $ACLOCAL
-$AUTOMAKE --add-missing
 $AUTOCONF
-grep config/depcomp Makefile.in
+$AUTOMAKE --add-missing
+
+./configure
+
+$MAKE check
+$MAKE distcheck
+
+:
diff --git a/tests/autohdrdry.test b/tests/pluseq11.test
similarity index 57%
copy from tests/autohdrdry.test
copy to tests/pluseq11.test
index b501e76..12ec4d7 100755
--- a/tests/autohdrdry.test
+++ b/tests/pluseq11.test
@@ -14,32 +14,41 @@
 # You should have received a copy of the GNU General Public License
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
-# Removal recovery rules for AC_CONFIG_HEADERS should not remove files
-# with `make -n'.
+# Check for bug in variable concatenation with `+=': an extra backslash
+# is erroneously retained in the final value.
+# See also sister test pluseq11b.test.
 
 . ./defs || Exit 1
 
 set -e
 
-cat >>configure.in <<'EOF'
-AC_PROG_CC
-AC_CONFIG_HEADERS([config.h])
+cat >>configure.in <<'END'
 AC_OUTPUT
-EOF
-
-: >Makefile.am
+END
+
+cat > Makefile.am <<'END'
+## Use more line continuation to ensure we are robust and can (hopefully)
+## cope any number of them, and not just one
+FOO = \
+\
+\
+bar
+## Both these two variable additions are required to trigger the bug.
+FOO +=
+FOO += baz
+
+.PHONY: test
+test:
+       case '$(FOO)' in *\\*) exit 1;; *) exit 0;; esac
+END
 
 $ACLOCAL
-$AUTOCONF
-$AUTOHEADER
 $AUTOMAKE
 
-./configure
-$MAKE
+grep '^ *FOO *=.*\\.' Makefile.in && Exit 1
 
-rm -f config.h
-$MAKE -n
-test -f stamp-h1
-test ! -f config.h
+$AUTOCONF
+./configure
+$MAKE test
 
 :
diff --git a/tests/stamph2.test b/tests/stamph2.test
index cb96d27..aa07743 100755
--- a/tests/stamph2.test
+++ b/tests/stamph2.test
@@ -1,5 +1,5 @@
 #! /bin/sh
-# Copyright (C) 2001, 2002, 2003  Free Software Foundation, Inc.
+# Copyright (C) 2001, 2002, 2003, 2010 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
@@ -20,14 +20,14 @@
 set -e
 
 cat >> configure.in << END
-AM_CONFIG_HEADER(1.h
-                 2.h:config.hin
-                 3.h:sdir1/config1.hin)
+AM_CONFIG_HEADER([1.h
+                  2.h:config.hin
+                  3.h:sdir1/config1.hin])
 # AM_CONFIG_HEADER and AC_CONFIG_HEADERS should be synonyms.
-AC_CONFIG_HEADERS(sdir1/4.h
-                  sdir1/5.h:config.hin
-                  sdir1/6.h:sdir1/config1.hin
-                  sdir1/7.h:sdir2/config2.hin)
+AC_CONFIG_HEADERS([sdir1/4.h
+                   sdir1/5.h:config.hin
+                   sdir1/6.h:sdir1/config1.hin
+                   sdir1/7.h:sdir2/config2.hin])
 AC_OUTPUT
 END
 
@@ -68,4 +68,4 @@ test ! -f sdir1/stamp-h5
 test ! -f sdir1/stamp-h6
 test -f sdir1/stamp-h7
 
-Exit 0
+:
diff --git a/tests/syntax.test b/tests/syntax.test
index 505486f..3b2a4e5 100755
--- a/tests/syntax.test
+++ b/tests/syntax.test
@@ -1,5 +1,6 @@
 #! /bin/sh
-# Copyright (C) 1998, 2001, 2002, 2003  Free Software Foundation, Inc.
+# Copyright (C) 1998, 2001, 2002, 2003, 2010 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
@@ -28,4 +29,6 @@ END
 
 $ACLOCAL
 AUTOMAKE_fails
-grep 'Makefile.am:2:.*blank line' stderr
+grep 'Makefile\.am:2:.*blank line' stderr
+
+:
diff --git a/tests/target-cflags.test b/tests/target-cflags.test
index b324568..f3ac9cc 100755
--- a/tests/target-cflags.test
+++ b/tests/target-cflags.test
@@ -21,12 +21,12 @@
 required=gcc
 . ./defs || Exit 1
 
-cat > configure.in << 'END'
-AC_INIT(foo.c)
-AM_INIT_AUTOMAKE(target-cflags,0.0)
+set -e
+
+cat >> configure.in << 'END'
 AC_PROG_CC
 AM_PROG_CC_C_O
-AC_OUTPUT(Makefile)
+AC_OUTPUT
 END
 
 cat > Makefile.am << 'END'
@@ -54,8 +54,6 @@ int main(void)
 #endif
 END
 
-set -e
-
 $ACLOCAL
 $AUTOCONF
 $AUTOMAKE -a
@@ -72,3 +70,5 @@ cd ..
 $MAKE
 ./foo
 ./bar
+
+:
diff --git a/tests/targetclash.test b/tests/targetclash.test
index 0433b41..87e37a8 100755
--- a/tests/targetclash.test
+++ b/tests/targetclash.test
@@ -1,5 +1,5 @@
 #! /bin/sh
-# Copyright (C) 2002, 2003  Free Software Foundation, Inc.
+# Copyright (C) 2002, 2003, 2010 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
@@ -30,6 +30,7 @@ bin_PROGRAMS = ctags
 END
 
 $ACLOCAL
-$AUTOCONF
 AUTOMAKE_fails -a
 grep 'redefinition.*ctags' stderr
+
+:


hooks/post-receive
-- 
GNU Automake



reply via email to

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