From b3da45ad5e71c9bdad73a839809964550b506eeb Mon Sep 17 00:00:00 2001 From: Jim Meyering Date: Thu, 8 Sep 2016 18:58:43 -0700 Subject: 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 --- bin/automake.in | 1 + 1 file changed, 1 insertion(+) 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'); -- cgit v1.2.1