summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJim Meyering <meyering@fb.com>2016-09-08 18:58:43 -0700
committerPaul Eggert <eggert@cs.ucla.edu>2016-09-08 19:16:35 -0700
commitb3da45ad5e71c9bdad73a839809964550b506eeb (patch)
treeb332ff77ec6ca7d9aad8cb7934f0e9e29f8ccef3
parente363f9a4b59e418bb60e551b6a1d254e9bbc2343 (diff)
downloadautomake-b3da45ad5e71c9bdad73a839809964550b506eeb.tar.gz
automake: do not emit rule with two dependents
On a system using our replacement alloca, make would emit this warning: target '.deps/alloca.Po' given more than once in the same rule That arose because automake would emit a rule depending on both ./.deps/alloca.Po and .deps/alloca.Po. Normally, duplicate dependents are avoided by virtue of their names being keys in the %dep_files hash, but in this case, that particular file was specified in two different ways. * bin/automake.in (handle_ALLOCA): When the $dir prefix is empty, make it './', to ensure that when we add ./.deps/alloca.Po it is deduped. See: http://bugs/gnu/org/22702
-rw-r--r--bin/automake.in1
1 files changed, 1 insertions, 0 deletions
diff --git a/bin/automake.in b/bin/automake.in
index 2c8f31e14..5cacf633e 100644
--- a/bin/automake.in
+++ b/bin/automake.in
@@ -2297,6 +2297,7 @@ sub handle_ALLOCA
$lt ||= '';
my $dir = handle_LIBOBJS_or_ALLOCA "${lt}ALLOCA";
+ $dir eq '' and $dir = './';
$var->requires_variables ("\@${lt}ALLOCA\@ used", $lt . 'ALLOCA');
$dep_files{$dir . '$(DEPDIR)/alloca.P' . $myobjext} = 1;
require_libsource_with_macro ($cond, $var, FOREIGN, 'alloca.c');