automake-commit
[Top][All Lists]
Advanced

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

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


From: Stefano Lattarini
Subject: [Automake-commit] [SCM] GNU Automake branch, branch-1.11, updated. v1.11.1-479-g879f753
Date: Fri, 02 Sep 2011 20:31:09 +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=879f753454630cf8822b98634041a9288a98e6d5

The branch, branch-1.11 has been updated
       via  879f753454630cf8822b98634041a9288a98e6d5 (commit)
       via  e25ee5889f3fdf9890e4a141e1c27d6a063b2ad9 (commit)
       via  ef44cad1cc983f43e6aa48f7b50d19346a7f55f4 (commit)
       via  eb59c423d7addf124d33f50ac920789db1304adb (commit)
       via  1dcba7b847b137330ed91ef8269d403163387e7e (commit)
      from  c02cc9e306fdb64e71646ab31a7dcac001ff9a6b (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 879f753454630cf8822b98634041a9288a98e6d5
Merge: c02cc9e e25ee58
Author: Stefano Lattarini <address@hidden>
Date:   Fri Sep 2 21:59:05 2011 +0200

    Merge branch 'maint' into branch-1.11
    
    * maint:
      tests: simplify wrapper for aclocal
      fix: minor typo in ChangeLog
      coverage: vala support failing for VPATH from-scratch builds
      docs: report few more automake parsing limitations

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

Summary of changes:
 ChangeLog                                          |   31 ++++++++++
 THANKS                                             |    1 +
 doc/automake.texi                                  |   26 +++++++--
 tests/Makefile.am                                  |    3 +
 tests/Makefile.in                                  |    3 +
 tests/acloca10.test                                |    5 +-
 tests/acloca18.test                                |   21 ++-----
 tests/aclocal.in                                   |    3 +-
 tests/defs.in                                      |    3 -
 ....test => doc-parsing-buglets-colneq-subst.test} |   36 ++++--------
 tests/doc-parsing-buglets-tabs.test                |   61 ++++++++++++++++++++
 tests/{distcheck-hook.test => vala-vpath.test}     |   43 ++++++++------
 12 files changed, 165 insertions(+), 71 deletions(-)
 copy tests/{distcheck-hook.test => doc-parsing-buglets-colneq-subst.test} (56%)
 create mode 100755 tests/doc-parsing-buglets-tabs.test
 copy tests/{distcheck-hook.test => vala-vpath.test} (61%)

diff --git a/ChangeLog b/ChangeLog
index 382f0d5..05b7fef 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,34 @@
+2011-09-02  Stefano Lattarini  <address@hidden>
+
+       tests: simplify wrapper for aclocal
+       * tests/aclocal.in: Remove use of $ACLOCAL_TESTSUITE_FLAGS and
+       extra `-I' flags; they are not really required, since the file
+       `m4/amversion.m4' is generated in the srcdir anyway.
+       * tests/acloca10.test: Remove use of $ACLOCAL_TESTSUITE_FLAGS.
+       * tests/acloca18.test: Likewise.
+       * tests/defs.in: Don't nullify $ACLOCAL_TESTSUITE_FLAGS, and do
+       not export it.
+
+2011-09-02  Stefano Lattarini  <address@hidden>
+
+       coverage: vala support failing for VPATH from-scratch builds
+       * tests/vala-vpath.test: New test, xfailing.
+       * tests/Makefile.am (TESTS): Update.
+       * THANKS: Update.
+       From a report by Zbigniew Jędrzejewski-Szmek.
+       Related to automake bug#8753.
+
+2011-09-01  Stefano Lattarini  <address@hidden>
+
+       docs: report few more automake parsing limitations
+       Partly motivated by automake bug#8360.
+       * doc/automake.texi (General Operation): Report few more automake
+       limitations w.r.t. parsing of unusual makefile constructs.  Related
+       minor reorderings.
+       * tests/doc-parsing-buglets-colneq-subst.test: New test.
+       * tests/doc-parsing-buglets-tabs.test: Likewise.
+       * tests/Makefile.am (TESTS): Update.
+
 2011-08-25  Stefano Lattarini  <address@hidden>
 
        tests: list "forgotten" test script in TESTS
diff --git a/THANKS b/THANKS
index d91c5bb..f83e1fc 100644
--- a/THANKS
+++ b/THANKS
@@ -365,6 +365,7 @@ William S Fulton    address@hidden
 Yann Droneaud          address@hidden
 Younes Younes          address@hidden
 Zack Weinberg          address@hidden
+Zbigniew Jędrzejewski-Szmek address@hidden
 Zoltan Rado            address@hidden
 
 ;; Local Variables:
diff --git a/doc/automake.texi b/doc/automake.texi
index 8f08003..4e8c4c4 100644
--- a/doc/automake.texi
+++ b/doc/automake.texi
@@ -1813,14 +1813,30 @@ supported.  This operator appends its right hand 
argument to the variable
 specified on the left.  Automake will translate the operator into
 an ordinary @samp{=} operator; @samp{+=} will thus work with any make program.
 
address@hidden indentation
-Further note that variable assignments should not be indented with
address@hidden characters, use spaces if necessary.  On the other hand,
-rule commands should be indented with a leading @key{TAB} character.
-
 Automake tries to keep comments grouped with any adjoining rules or
 variable definitions.
 
address@hidden Limitations of automake parser
address@hidden Automake parser, limitations of
address@hidden indentation in Makefile.am
+Generally, Automake is not particularly smart in the parsing of unusual
+Makefile constructs, so you're advised to avoid fancy constructs or
+``creative'' use of whitespaces.
address@hidden Keep this in sync with doc-parsing-buglets-tabs.test.
+For example, @key{TAB} characters cannot be used between a target name
+and the following address@hidden:}'' character, and variable assignments
+shouldn't be indented with @key{TAB} characters.
address@hidden Keep this in sync with doc-parsing-buglets-colneq-subst.test.
+Also, using more complex macro in target names can cause trouble:
+
address@hidden
+% @kbd{cat Makefile.am}
+$(FOO:=x): bar
+% @kbd{automake}
+Makefile.am:1: bad characters in variable name `$(FOO'
+Makefile.am:1: `:='-style assignments are not portable
address@hidden example
+
 @cindex Make targets, overriding
 @cindex Make rules, overriding
 @cindex Overriding make rules
diff --git a/tests/Makefile.am b/tests/Makefile.am
index a1c67ff..4f8e0f6 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -325,6 +325,8 @@ distcheck-configure-flags-subpkg.test \
 distcheck-hook.test \
 distcheck-hook2.test \
 dmalloc.test \
+doc-parsing-buglets-colneq-subst.test \
+doc-parsing-buglets-tabs.test \
 dollar.test \
 dollarvar.test \
 dollarvar2.test \
@@ -834,6 +836,7 @@ vala2.test \
 vala3.test \
 vala4.test \
 vala5.test \
+vala-vpath.test \
 vars.test \
 vars3.test \
 vartar.test \
diff --git a/tests/Makefile.in b/tests/Makefile.in
index 8a3c563..5ee2402 100644
--- a/tests/Makefile.in
+++ b/tests/Makefile.in
@@ -603,6 +603,8 @@ distcheck-configure-flags-subpkg.test \
 distcheck-hook.test \
 distcheck-hook2.test \
 dmalloc.test \
+doc-parsing-buglets-colneq-subst.test \
+doc-parsing-buglets-tabs.test \
 dollar.test \
 dollarvar.test \
 dollarvar2.test \
@@ -1112,6 +1114,7 @@ vala2.test \
 vala3.test \
 vala4.test \
 vala5.test \
+vala-vpath.test \
 vars.test \
 vars3.test \
 vartar.test \
diff --git a/tests/acloca10.test b/tests/acloca10.test
index 7716f2a..d7a058f 100755
--- a/tests/acloca10.test
+++ b/tests/acloca10.test
@@ -65,8 +65,7 @@ grep MACRO3 aclocal.m4
 test ! -f m4_1/macro.m4
 test ! -f m4_2/macro.m4
 
-ACLOCAL_TESTSUITE_FLAGS='-I m4_1 -I m4_2'
-$ACLOCAL --install
+$ACLOCAL -I m4_1 -I m4_2 --install
 $AUTOCONF
 ./configure
 grep macro11 foo
@@ -78,7 +77,7 @@ test ! -f m4_2/macro.m4
 cp aclocal.m4 copy.m4
 
 echo '#GREPME' >>dirlist-test/macro.m4
-$ACLOCAL --install
+$ACLOCAL -I m4_1 -I m4_2 --install
 $AUTOCONF
 ./configure
 grep macro11 foo
diff --git a/tests/acloca18.test b/tests/acloca18.test
index 9826892..5032a8d 100755
--- a/tests/acloca18.test
+++ b/tests/acloca18.test
@@ -53,52 +53,45 @@ cat >4/mumble.m4 <<EOF
 AC_DEFUN([AM_MACRO1], [echo macro14 >> foo])
 EOF
 
-
-ACLOCAL_TESTSUITE_FLAGS='-I 1 -I 2 -I 3 -I 4'
-
-$ACLOCAL
+$ACLOCAL -I 1 -I 2 -I 3 -I 4
 $AUTOCONF
 ./configure
 grep macro11 foo
 grep macro21 foo
 
 rm -f foo
-$ACLOCAL --install
+$ACLOCAL  -I 1 -I 2 -I 3 -I 4 --install
 $AUTOCONF
 ./configure
 grep macro12 foo
 grep macro23 foo
 
-ACLOCAL_TESTSUITE_FLAGS='-I 4 -I 1 -I 2 -I 3'
 rm -f foo
-$ACLOCAL --install --dry-run
+$ACLOCAL -I 4 -I 1 -I 2 -I 3 --install --dry-run
 $AUTOCONF
 ./configure
 grep macro12 foo
 grep macro23 foo
 
 rm -f foo
-$ACLOCAL --install
+$ACLOCAL -I 4 -I 1 -I 2 -I 3 --install
 $AUTOCONF
 ./configure
 grep macro14 foo
 grep macro23 foo
 
-ACLOCAL_TESTSUITE_FLAGS='-I 4 -I 1 -I 2'
 rm -f foo
-$ACLOCAL --install 2>stderr && { cat stderr >&2; Exit 1; }
+$ACLOCAL -I 4 -I 1 -I 2 --install 2>stderr && { cat stderr >&2; Exit 1; }
 cat stderr >&2
 grep 'macro.*AM_MACRO2.*not found' stderr
 
-ACLOCAL_TESTSUITE_FLAGS='-I 4 -I 1'
 rm -f foo
-$ACLOCAL --install
+$ACLOCAL -I 4 -I 1 --install
 $AUTOCONF
 ./configure
 grep macro14 foo
 grep macro21 foo
 
-
 mkdir dirlist-test
 cat >dirlist-test/m1.m4 <<EOF
 #serial 456
@@ -106,7 +99,7 @@ AC_DEFUN([AM_MACRO1], [echo macro1d >> foo])
 AC_DEFUN([AM_MACRO2], [echo macro2d >> foo])
 EOF
 rm -f foo
-$ACLOCAL --diff=diff >stdout 2>stderr || {
+$ACLOCAL -I 4 -I 1 --diff=diff >stdout 2>stderr || {
   cat stderr >&2
   cat stdout
   Exit 1
diff --git a/tests/aclocal.in b/tests/aclocal.in
index 35b1619..f8aa1a7 100644
--- a/tests/aclocal.in
+++ b/tests/aclocal.in
@@ -14,5 +14,4 @@ 
perllibdir="@abs_top_builddir@/address@hidden@@abs_top_srcdir@/lib"
 export perllibdir
 # Most of the files are in $srcdir/../m4.  However amversion.m4 is
 # generated in ../m4, so we include that directory in the search path too.
-exec "@abs_top_builddir@/aclocal" $ACLOCAL_TESTSUITE_FLAGS \
-     -I "@abs_top_builddir@/m4" "address@hidden@/m4" ${1+"$@"}
+exec "@abs_top_builddir@/aclocal" "address@hidden@/m4" ${1+"$@"}
diff --git a/tests/defs.in b/tests/defs.in
index 7759455..f999092 100644
--- a/tests/defs.in
+++ b/tests/defs.in
@@ -106,9 +106,6 @@ test -z "$MISSING" && MISSING=`pwd`/../lib/missing
 # Use -Werror because this also turns some Perl warnings into error.
 # (Tests for which this is inappropriate should use -Wno-error.)
 test -z "$ACLOCAL" && ACLOCAL="aclocal-$APIVERSION -Werror"
-# Extra flags to pass to aclocal before all other flags added by this script.
-ACLOCAL_TESTSUITE_FLAGS=
-export ACLOCAL_TESTSUITE_FLAGS
 
 # See how Automake should be run.  We put --foreign as the default
 # strictness to avoid having to create lots and lots of files.  A test
diff --git a/tests/distcheck-hook.test 
b/tests/doc-parsing-buglets-colneq-subst.test
similarity index 56%
copy from tests/distcheck-hook.test
copy to tests/doc-parsing-buglets-colneq-subst.test
index 9a2c384..685d2b6 100755
--- a/tests/distcheck-hook.test
+++ b/tests/doc-parsing-buglets-colneq-subst.test
@@ -14,40 +14,26 @@
 # You should have received a copy of the GNU General Public License
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
-# Check basic support for distcheck-hook.
+# Check a documented limitation of the Automake's Makefile parser
+# w.r.t. POSIX variable substitutions used in the name of targets.
+# See Section "General Operation" in the Automake manual.
+# If you cause some parts of this test to fail, chances are that you've
+# improved the Automake parser ;-)
+# See: <http://lists.gnu.org/archive/html/automake/2010-08/msg00074.html>
+# or: 
<http://thread.gmane.org/gmane.comp.sysutils.automake.general/11943/focus=11962>
 
 . ./defs || Exit 1
 
 set -e
 
-cat >> configure.in << 'END'
-AC_OUTPUT
-END
-
 cat > Makefile.am <<'END'
-distcheck-hook:
-       ls -l $(distdir)
-       chmod u+w $(distdir)
-       : > $(distdir)/dc-hook-has-run
-       chmod a-w $(distdir)
-check-local:
-       ls -l $(srcdir)
-       test -f $(srcdir)/dc-hook-has-run
+$(FOO:=x): bar
 END
 
 $ACLOCAL
-$AUTOMAKE
-$FGREP 'distcheck-hook' Makefile.in
-$FGREP '$(MAKE) $(AM_MAKEFLAGS) distcheck-hook' Makefile.in
-grep '^distcheck-hook:' Makefile.in
-
-$AUTOCONF
-./configure
+AUTOMAKE_fails
 
-$MAKE
-$MAKE check && Exit 1
-$MAKE distdir
-test -f $distdir/dc-hook-has-run && Exit 1
-$MAKE distcheck
+grep 'bad characters.*variable name.*\$(FOO' stderr
+grep ':=.*assignments.*not portable' stderr
 
 :
diff --git a/tests/doc-parsing-buglets-tabs.test 
b/tests/doc-parsing-buglets-tabs.test
new file mode 100755
index 0000000..acff363
--- /dev/null
+++ b/tests/doc-parsing-buglets-tabs.test
@@ -0,0 +1,61 @@
+#! /bin/sh
+# Copyright (C) 2011 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
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+# Check the documented limitation of the Automake's Makefile parser w.r.t.
+# use of TAB characters; see Section "General Operation" in the Automake
+# manual, and automake bug#8360.
+# If you cause some parts of this test to fail, chances are that you've
+# improved the Automake parser ;-)
+
+. ./defs || Exit 1
+
+set -e
+
+cat > Makefile.am <<END
+.PHONY: test
+test: all check
+
+fail:
address@hidden "'\$@ recipe executed'"; exit 1
+
+## This won't be recognized as a target+recipe by Automake.
+all-local${tab}:
address@hidden 1
+
+## This won't be recognized as a target+rdependency by Automake.
+all-local${tab}: fail
+
+just_to_separate: dummy deps
+
+## This won't be recognized as a variable assignment by Automake.
+${tab}bin_PROGRAMS = foo
+END
+
+echo AC_OUTPUT >> configure.in
+
+$ACLOCAL
+$AUTOMAKE
+
+$FGREP '$(EXEEEXT)' Makefile.in && Exit 1
+grep 'all:.*all-local' Makefile.in && Exit 1
+grep "^${tab}bin_PROGRAMS = foo" Makefile.in
+
+$AUTOCONF
+./configure
+
+$MAKE test
+
+:
diff --git a/tests/distcheck-hook.test b/tests/vala-vpath.test
similarity index 61%
copy from tests/distcheck-hook.test
copy to tests/vala-vpath.test
index 9a2c384..98e0f43 100755
--- a/tests/distcheck-hook.test
+++ b/tests/vala-vpath.test
@@ -14,40 +14,45 @@
 # You should have received a copy of the GNU General Public License
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
-# Check basic support for distcheck-hook.
+# Test to make sure vala support handles from-scratch VPATH builds.
+# See automake bug#8753.
 
+required="valac"
 . ./defs || Exit 1
 
 set -e
 
+mkdir src
+
 cat >> configure.in << 'END'
+AC_CONFIG_SRCDIR([hello.vala])
+AC_PROG_CC
+AM_PROG_VALAC([0.7])
 AC_OUTPUT
 END
 
+
 cat > Makefile.am <<'END'
-distcheck-hook:
-       ls -l $(distdir)
-       chmod u+w $(distdir)
-       : > $(distdir)/dc-hook-has-run
-       chmod a-w $(distdir)
-check-local:
-       ls -l $(srcdir)
-       test -f $(srcdir)/dc-hook-has-run
+bin_PROGRAMS = foo
+foo_SOURCES = hello.vala
 END
 
-$ACLOCAL
-$AUTOMAKE
-$FGREP 'distcheck-hook' Makefile.in
-$FGREP '$(MAKE) $(AM_MAKEFLAGS) distcheck-hook' Makefile.in
-grep '^distcheck-hook:' Makefile.in
+cat > hello.vala <<'END'
+void main ()
+{
+  stdout.printf ("foo\n");
+  return 0;
+}
+END
 
-$AUTOCONF
-./configure
+$ACLOCAL  || framework_failure_ "aclocal error"
+$AUTOCONF || framework_failure_ "autoconf error"
+$AUTOMAKE || framework_failure_ "automake error"
 
+mkdir build
+cd build
+../configure || Exit 77
 $MAKE
-$MAKE check && Exit 1
-$MAKE distdir
-test -f $distdir/dc-hook-has-run && Exit 1
 $MAKE distcheck
 
 :


hooks/post-receive
-- 
GNU Automake



reply via email to

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