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


From: Ralf Wildenhues
Subject: [Automake-commit] [SCM] GNU Automake branch, master, updated. v1.11-46-gc18b90a
Date: Sun, 11 Oct 2009 11:48: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=c18b90acae69f7b3791d9f26e33298cd28782ed0

The branch, master has been updated
       via  c18b90acae69f7b3791d9f26e33298cd28782ed0 (commit)
       via  f3b4702d409996fe7437a1815adda9782be7e4bf (commit)
       via  c2594bb50eb2c6f668513af07f8efafd17f37b0e (commit)
       via  734beb4363d4a8d503c7c0ceabc3297972b015ed (commit)
       via  df239f7be48dc0da255ba044fc1545510eeccb12 (commit)
       via  c8f5f47cab5d0f29e57552ddc67b96ac0ab22ded (commit)
       via  9d695ce3eb00a960311354a867a16042ef0778be (commit)
       via  b7810f032b6eeef0870bc29539b2c6a32b94d10a (commit)
      from  c1ff56d0a9801ee70533b7f92e09260f341974ca (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 c18b90acae69f7b3791d9f26e33298cd28782ed0
Merge: c1ff56d0a9801ee70533b7f92e09260f341974ca 
f3b4702d409996fe7437a1815adda9782be7e4bf
Author: Ralf Wildenhues <address@hidden>
Date:   Sun Oct 11 13:47:15 2009 +0200

    Merge branch 'maint'

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

Summary of changes:
 ChangeLog                          |   56 ++++++++++++++++++++++++++++++++++++
 THANKS                             |    1 +
 doc/automake.texi                  |   20 ++++++++++--
 lib/Automake/Makefile.am           |    3 +-
 lib/Automake/Makefile.in           |    4 ++-
 lib/Automake/Variable.pm           |    5 ++-
 tests/Makefile.am                  |   12 ++++++-
 tests/Makefile.in                  |   12 ++++++-
 tests/{cond23.test => cond44.test} |   13 +++++---
 tests/{cond24.test => cond45.test} |   13 +++++---
 tests/defs.in                      |   15 ++++-----
 11 files changed, 124 insertions(+), 30 deletions(-)
 copy tests/{cond23.test => cond44.test} (71%)
 copy tests/{cond24.test => cond45.test} (72%)

diff --git a/ChangeLog b/ChangeLog
index b54cf75..3286548 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,59 @@
+2009-10-11  Ralf Wildenhues  <address@hidden>
+
+       Improve description of the various *LINK variables.
+       * doc/automake.texi (Program and Library Variables): _LINK also
+       receives libraries to link against.  _LINK may be generated.
+       (Program Variables): Document reasons when per-target _LINK is
+       used instead of LINK.
+       (How the Linker is Chosen): Document how a per-target _LINK
+       variable and per-target link flags override linker selection.
+       * THANKS: Update.
+       Report by Dave Korn against gcc/libstdc++-v3.
+
+       Allow variable override of, rather than by, silent variables.
+       When overriding variables, check the VAR_SILENT status of the
+       old condition, not the new one: we allow non-silent overrides
+       of silent variables (these do not hit ordering bugs in the
+       automake output), but there is no use case for doing so the
+       other way round.  Fixes conditional overrides of variables
+       annotated AM_SUBST_NOTMAKE in configure.ac.
+       * lib/Automake/Variable.pm (_check_ambiguous_condition): Check
+       for VAR_SILENT in $ambig_cond not $cond.
+       * tests/cond44.test, tests/cond45.test: New tests, analogous to
+       cond23.test and cond24.test.
+       * tests/Makefile.am: Update.
+       Spotted originally in binutils/bfd.
+
+       Fix `make clean check' for the Automake package.
+       * lib/Automake/Makefile.am (SUBDIRS): Add `.' before `tests',
+       so that Config.pm is built first.
+
+       Fix in-tree `recheck' after failed test that runs `check'.
+       If a test like pr401b-p.test fails for some reason, a `make
+       recheck' would cause another reason for failure because it sets
+       AM_MAKEFLAGS which gets propagated into the test and causes its
+       `make check' to fail.
+       * tests/defs.in: Also unset AM_MAKEFLAGS.
+
+2009-10-11  Stefano Lattarini  <address@hidden>
+
+       Updated code enabling Bourne-compatibility in test scripts.
+       * tests/defs.in: updated the code enabling Bourne-compatibility
+       mode in the shell (now it's copied from autoconf 2.64).
+
+       Avoid leaking TEST_LOG_COMPILER in environment of test scripts.
+       * tests/defs.in: Unset variable `TEST_LOG_COMPILER'.
+
+2009-10-07  Stefano Lattarini  <address@hidden>
+
+       Testsuite: do not use `chmod -R' when cleaning up.
+       * tests/Makefile.am (clean-local-check): Do not use `chmod -R' on
+       the test directories, as that may change or try to change the mode
+       of installed files: the test directory may contain symlinks to
+       ltmain.sh files from a Libtool installation, and Solaris `chmod -R'
+       touches symlink targets.  Instead, use the cleanup strategy used
+       in distdir.am (which is also employed in tests/defs.in).
+
 2009-10-06  Bruno Haible  <address@hidden>
            Ralf Wildenhues  <address@hidden>
 
diff --git a/THANKS b/THANKS
index 54615be..71f3fae 100644
--- a/THANKS
+++ b/THANKS
@@ -66,6 +66,7 @@ Daniel Kahn Gillmor   address@hidden
 Daniel Richard G.      address@hidden
 Debarshi Ray           address@hidden
 Dave Brolley           address@hidden
+Dave Korn              address@hidden
 Dave Morrison          address@hidden
 David A. Swierczek     address@hidden
 David Byron            address@hidden
diff --git a/doc/automake.texi b/doc/automake.texi
index 4229dc0..dc1c4c7 100644
--- a/doc/automake.texi
+++ b/doc/automake.texi
@@ -5612,14 +5612,20 @@ You can override the linker on a per-program basis.  By 
default the
 linker is chosen according to the languages used by the program.  For
 instance, a program that includes C++ source code would use the C++
 compiler to link.  The @code{_LINK} variable must hold the name of a
-command that can be passed all the @file{.o} file names as arguments.
-Note that the name of the underlying program is @emph{not} passed to
address@hidden; typically one uses @samp{$@@}:
+command that can be passed all the @file{.o} file names and libraries
+to link against as arguments.  Note that the name of the underlying
+program is @emph{not} passed to @code{_LINK}; typically one uses
address@hidden@@}:
 
 @example
 maude_LINK = $(CCLD) -magic -o $@@
 @end example
 
+If a @code{_LINK} variable is not supplied, it may still be generated
+and used by Automake due to the use of per-target link flags such as
address@hidden, @code{_LDFLAGS} or @code{_LIBTOOLFLAGS}, in cases where
+they apply.
+
 @item maude_CCASFLAGS
 @itemx maude_CFLAGS
 @itemx maude_CPPFLAGS
@@ -5981,7 +5987,9 @@ preference to the per-executable (or per-library) 
@code{_LDFLAGS}.
 This is the command used to actually link a C program.  It already
 includes @samp{-o $@@} and the usual variable references (for instance,
 @code{CFLAGS}); it takes as ``arguments'' the names of the object files
-and libraries to link in.
+and libraries to link in.  This variable is not used when the linker is
+overridden with a per-target @code{_LINK} variable or per-target flags
+cause Automake to define such a @code{_LINK} variable.
 @end vtable
 
 
@@ -6496,6 +6504,10 @@ library written in another language and would like to 
set the linker
 more appropriately.  @xref{Libtool Convenience Libraries}, for a
 trick with @address@hidden
 
+A per-target @code{_LINK} variable will override the above selection.
+Per-target link flags will cause Automake to write a per-target
address@hidden variable according to the language chosen as above.
+
 
 @node Fortran 9x Support
 @comment  node-name,  next,  previous,  up
diff --git a/lib/Automake/Makefile.am b/lib/Automake/Makefile.am
index 4399644..b4f5fbd 100644
--- a/lib/Automake/Makefile.am
+++ b/lib/Automake/Makefile.am
@@ -15,7 +15,8 @@
 ## You should have received a copy of the GNU General Public License
 ## along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
-SUBDIRS = tests
+# `make clean check' should build Config.pm first.
+SUBDIRS = . tests
 
 perllibdir = $(pkgvdatadir)/Automake
 dist_perllib_DATA = \
diff --git a/lib/Automake/Makefile.in b/lib/Automake/Makefile.in
index 9717941..8f4ec8a 100644
--- a/lib/Automake/Makefile.in
+++ b/lib/Automake/Makefile.in
@@ -213,7 +213,9 @@ target_alias = @target_alias@
 top_build_prefix = @top_build_prefix@
 top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
-SUBDIRS = tests
+
+# `make clean check' should build Config.pm first.
+SUBDIRS = . tests
 perllibdir = $(pkgvdatadir)/Automake
 dist_perllib_DATA = \
   ChannelDefs.pm \
diff --git a/lib/Automake/Variable.pm b/lib/Automake/Variable.pm
index 1e24bb2..f0c867f 100644
--- a/lib/Automake/Variable.pm
+++ b/lib/Automake/Variable.pm
@@ -466,8 +466,9 @@ sub _check_ambiguous_condition ($$$)
   my $var = $self->name;
   my ($message, $ambig_cond) = $self->conditions->ambiguous_p ($var, $cond);
 
-  # We allow silent variables to be overridden silently.
-  my $def = $self->def ($cond);
+  # We allow silent variables to be overridden silently,
+  # by either silent or non-silent variables.
+  my $def = $self->def ($ambig_cond);
   if ($message && !($def && $def->pretty == VAR_SILENT))
     {
       msg 'syntax', $where, "$message ...", partial => 1;
diff --git a/tests/Makefile.am b/tests/Makefile.am
index 6f3c6f4..200f1a5 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -185,6 +185,8 @@ cond40.test \
 cond41.test \
 cond42.test \
 cond43.test \
+cond44.test \
+cond45.test \
 condd.test \
 condhook.test \
 condinc.test \
@@ -749,5 +751,11 @@ check_SCRIPTS = defs defs-p aclocal-$(APIVERSION) 
automake-$(APIVERSION)
 clean-local: clean-local-check
 .PHONY: clean-local-check
 clean-local-check:
-       -chmod -R u+rwx *.dir
-       -rm -rf defs-p *.dir
+       -set x *.dir; shift; \
+        if test "$$#,$$1" = "1,*.dir"; then \
+          : there is no test directory to clean; \
+        else \
+          find "$$@" -type d '!' -perm -200 -exec chmod u+w {} ';'; \
+          rm -rf "$$@"; \
+        fi;
+       -rm -f defs-p
diff --git a/tests/Makefile.in b/tests/Makefile.in
index a4e0491..8a3eff2 100644
--- a/tests/Makefile.in
+++ b/tests/Makefile.in
@@ -426,6 +426,8 @@ cond40.test \
 cond41.test \
 cond42.test \
 cond43.test \
+cond44.test \
+cond45.test \
 condd.test \
 condhook.test \
 condinc.test \
@@ -1351,8 +1353,14 @@ defs-p: defs Makefile.am
 clean-local: clean-local-check
 .PHONY: clean-local-check
 clean-local-check:
-       -chmod -R u+rwx *.dir
-       -rm -rf defs-p *.dir
+       -set x *.dir; shift; \
+        if test "$$#,$$1" = "1,*.dir"; then \
+          : there is no test directory to clean; \
+        else \
+          find "$$@" -type d '!' -perm -200 -exec chmod u+w {} ';'; \
+          rm -rf "$$@"; \
+        fi;
+       -rm -f defs-p
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
diff --git a/tests/cond23.test b/tests/cond44.test
similarity index 71%
copy from tests/cond23.test
copy to tests/cond44.test
index 4ec596d..ac907f1 100755
--- a/tests/cond23.test
+++ b/tests/cond44.test
@@ -1,5 +1,5 @@
 #!/bin/sh
-# Copyright (C) 2002, 2003  Free Software Foundation, Inc.
+# Copyright (C) 2002, 2003, 2009 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
@@ -14,8 +14,8 @@
 # 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 that conditional redefinitions of AC_SUBST'ed variables are detected.
-# Report from Patrik Weiskircher
+# Check that redefinitions of AC_SUBST'ed AM_SUBST_NOTMAKE'd variables
+# are not diagnosed.  See cond23.test.
 
 . ./defs
 
@@ -23,6 +23,7 @@ set -e
 
 cat >>configure.in <<EOF
 AM_CONDITIONAL([COND], [true])
+AM_SUBST_NOTMAKE([libdir])
 AC_OUTPUT
 EOF
 
@@ -33,5 +34,7 @@ endif
 EOF
 
 $ACLOCAL
-AUTOMAKE_fails
-grep 'libdir was already defined' stderr
+AUTOMAKE_run 0
+grep 'libdir was already defined' stderr && Exit 1
+grep '^libdir = ' Makefile.in && Exit 1
+Exit 0
diff --git a/tests/cond24.test b/tests/cond45.test
similarity index 72%
copy from tests/cond24.test
copy to tests/cond45.test
index 6f76e4d..57dd339 100755
--- a/tests/cond24.test
+++ b/tests/cond45.test
@@ -1,5 +1,5 @@
 #!/bin/sh
-# Copyright (C) 2002, 2003  Free Software Foundation, Inc.
+# Copyright (C) 2002, 2003, 2009 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
@@ -14,8 +14,8 @@
 # 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 that conditional redefinitions of AC_SUBST'ed variables are detected.
-# Report from Patrik Weiskircher
+# Check that redefinitions of AC_SUBST'ed AM_SUBST_NOTMAKE'd variables
+# are not diagnosed.  See cond24.test.
 
 . ./defs
 
@@ -23,6 +23,7 @@ set -e
 
 cat >>configure.in <<EOF
 AC_SUBST([foo], [bar])
+AM_SUBST_NOTMAKE([foo])
 AM_CONDITIONAL([COND], [true])
 AC_OUTPUT
 EOF
@@ -34,5 +35,7 @@ endif
 EOF
 
 $ACLOCAL
-AUTOMAKE_fails
-grep 'foo was already defined' stderr
+AUTOMAKE_run 0
+grep 'foo was already defined' stderr && Exit 1
+grep '^foo =' Makefile.in && Exit 1
+Exit 0
diff --git a/tests/defs.in b/tests/defs.in
index 61182b6..ecdf069 100644
--- a/tests/defs.in
+++ b/tests/defs.in
@@ -20,19 +20,19 @@
 # Defines for Automake testing environment.
 # Tom Tromey <address@hidden>
 
-# Be Bourne compatible.
-# (Snippet copied from configure's initialization in Autoconf 2.59c.)
+# Be more Bourne compatible.
+# (Snippet copied from configure's initialization in Autoconf 2.64)
+DUALCASE=1; export DUALCASE # for MKS sh
 if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
   emulate sh
   NULLCMD=:
-  # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
+  # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
   # is contrary to our usage.  Disable this feature.
   alias -g '${1+"$@"}'='"$@"'
+  setopt NO_GLOB_SUBST
 else
   case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac
 fi
-BIN_SH=xpg4; export BIN_SH # for Tru64
-DUALCASE=1; export DUALCASE # for MKS sh
 
 # Ensure we are running from the right directory.
 test -f ./defs || {
@@ -297,9 +297,7 @@ END
 # recursively invoked sub-make.  Any $MAKE invocation in a test is
 # conceptually an independent invocation, not part of the main
 # 'automake' build.
-unset MFLAGS
-unset MAKEFLAGS
-unset MAKELEVEL
+unset MFLAGS MAKEFLAGS MAKELEVEL AM_MAKEFLAGS
 # Unset verbosity flag.
 unset V
 # Also unset variables that will let `make -e install' divert
@@ -314,6 +312,7 @@ unset oldincludedir pdfdir psdir sbindir sharedstatedir 
sysconfdir
 # backward-compatible behavior.
 unset DISABLE_HARD_ERRORS
 unset TESTS
+unset TEST_LOG_COMPILER
 unset TEST_LOGS
 unset RECHECK_LOGS
 unset VERBOSE


hooks/post-receive
-- 
GNU Automake




reply via email to

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