[Top][All Lists]
[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: |
Ralf Wildenhues |
Subject: |
[Automake-commit] [SCM] GNU Automake branch, branch-1.11, updated. v1.11-40-g4f312c3 |
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=4f312c3cfeadfce6e249b642fc71a8cea175ab24
The branch, branch-1.11 has been updated
via 4f312c3cfeadfce6e249b642fc71a8cea175ab24 (commit)
via f3b4702d409996fe7437a1815adda9782be7e4bf (commit)
via c2594bb50eb2c6f668513af07f8efafd17f37b0e (commit)
via 734beb4363d4a8d503c7c0ceabc3297972b015ed (commit)
via df239f7be48dc0da255ba044fc1545510eeccb12 (commit)
via c8f5f47cab5d0f29e57552ddc67b96ac0ab22ded (commit)
via 9d695ce3eb00a960311354a867a16042ef0778be (commit)
via b7810f032b6eeef0870bc29539b2c6a32b94d10a (commit)
from 27f39e402a2af50e041311c326e3d1413f420f1a (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 4f312c3cfeadfce6e249b642fc71a8cea175ab24
Merge: 27f39e402a2af50e041311c326e3d1413f420f1a
f3b4702d409996fe7437a1815adda9782be7e4bf
Author: Ralf Wildenhues <address@hidden>
Date: Sun Oct 11 13:46:52 2009 +0200
Merge branch 'maint' into branch-1.11
-----------------------------------------------------------------------
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 89a41fe..e261495 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 7b8664a..5789e95 100644
--- a/THANKS
+++ b/THANKS
@@ -65,6 +65,7 @@ Daniel Jacobowitz address@hidden
Daniel Kahn Gillmor address@hidden
Daniel Richard G. 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 f6633d8..fbfe362 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 077b979..173b18e 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 369719e..dcd4c8b 100644
--- a/lib/Automake/Makefile.in
+++ b/lib/Automake/Makefile.in
@@ -206,7 +206,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 bab2ac3..98829c9 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 \
@@ -745,5 +747,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 0e44d82..3667aca 100644
--- a/tests/Makefile.in
+++ b/tests/Makefile.in
@@ -419,6 +419,8 @@ cond40.test \
cond41.test \
cond42.test \
cond43.test \
+cond44.test \
+cond45.test \
condd.test \
condhook.test \
condinc.test \
@@ -1338,8 +1340,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
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Automake-commit] [SCM] GNU Automake branch, branch-1.11, updated. v1.11-40-g4f312c3,
Ralf Wildenhues <=