On 05/30/2013 09:28 AM, Peter Rosin wrote: > On 2013-05-29 11:23, Stefano Lattarini wrote: >> On 05/29/2013 09:48 AM, Peter Rosin wrote: >>> On 2013-05-29 09:41, Peter Rosin wrote: >>>> Hi! >>>> >>>> On Automake master (baf8a1c22acce0908), t/subobj11a.sh fails >>>> on MSYS/MSVC (depmode=msvc7msys), like this: >>>> >>>> + make quux >>>> src/.deps/foo.Po:1: *** target pattern contains no `%'. Stop. >>>> >>>> >>>> It appears that the generated foo.Po is broken. Adding a >>>> cat "$depdir"/foo.Po >>>> just before the $MAKE quux invocation reveals that the originally >>>> generated foo.Po has this single line content: >>>> >>>> src/foo.obj : \ >>>> >>>> Notice the trailing backslash. >>>> >> And I assume this, by itself, doesn't cause any problem to make, >> correct? > > Not that I have seen, no. But it feels fishy all the same. > >>>> When the testcase then adds a >>>> line of its own, the trailing backslash makes it blow up. >>> >>> I forgot to mention that adding an empty line before the other >>> added line, e.g. with >>> >>> echo >> "$depdir"/foo.Po >>> >>> works around the problem and makes the test pass. >>> >> I think we should go this way, yes. After all, albeit the trailing >> '\' in the .Po file looks strange, it's not causing any problem in >> practice, and it's only our hacky editing of said .Po that is >> triggering the failure. So let's fix this editing and live happy. >> >> Any patch that does so (and adds brief a comment explaining why we >> need the extra 'echo') can be considered pre-approved. > > So, I think the below is a better fix. Ok for micro? > > Cheers, > Peter > > > > From 2131bd330a167d37274ee9b179d3885e090d0839 Mon Sep 17 00:00:00 2001 > From: Peter Rosin <p...@lysator.liu.se> > Date: Thu, 30 May 2013 09:26:45 +0200 > Subject: [PATCH] depcomp: make sure the depfile ends nicely for depmode=msvc7 > Or even "depcmp: avoid trailing backslash in depfile for depmode=msvc7", maybe?
> When compiling a file without any dependencies (no #includes), the > msvc7 depmode (and consequently msvc7msys) generates a depfile > Makefile fragment with the last line ending with a backslash. This > is less robust than needed. > > Fixes automake bug#14501. > > * lib/depcomp (msvc7): Finish off the depfile Makefile fragment with > an empty line. > (scriptversion): Update. > > Signed-off-by: Peter Rosin <p...@lysator.liu.se> > --- > lib/depcomp | 3 ++- > 1 files changed, 2 insertions(+), 1 deletions(-) > > diff --git a/lib/depcomp b/lib/depcomp > index 06b0882..4ebd5b3 100755 > --- a/lib/depcomp > +++ b/lib/depcomp > @@ -1,7 +1,7 @@ > #! /bin/sh > # depcomp - compile a program generating dependencies as side-effects > > -scriptversion=2012-10-18.11; # UTC > +scriptversion=2013-05-30.07; # UTC > > # Copyright (C) 1999-2013 Free Software Foundation, Inc. > > @@ -552,6 +552,7 @@ $ { > G > p > }' >> "$depfile" > + echo >> "$depfile" # make sure the fragment doesn't end with a backslash > rm -f "$tmpdepfile" > ;; > ACK, with either your original subject line or with the one I suggested (as you prefer). Thanks, Stefano