[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#14501: dependency generation FAIL in t/subobj11a.sh
From: |
Peter Rosin |
Subject: |
bug#14501: dependency generation FAIL in t/subobj11a.sh |
Date: |
Thu, 30 May 2013 09:28:53 +0200 |
User-agent: |
Mozilla/5.0 (Windows NT 6.1; WOW64; rv:17.0) Gecko/20130509 Thunderbird/17.0.6 |
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 <address@hidden>
Date: Thu, 30 May 2013 09:26:45 +0200
Subject: [PATCH] depcomp: make sure the depfile ends nicely for depmode=msvc7
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 <address@hidden>
---
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"
;;
--
1.7.9