GNU bug report logs - #10434
FAIL: depmod.tap 50 - tru64 [long VPATH] make & remake

Previous Next

Package: automake;

Reported by: Jim Meyering <jim <at> meyering.net>

Date: Wed, 4 Jan 2012 20:02:02 UTC

Severity: normal

Tags: patch

Done: Stefano Lattarini <stefano.lattarini <at> gmail.com>

Bug is archived. No further changes may be made.

Full log


Message #38 received at 10434 <at> debbugs.gnu.org (full text, mbox):

From: Stefano Lattarini <stefano.lattarini <at> gmail.com>
To: Peter Rosin <peda <at> lysator.liu.se>
Cc: automake-patches <at> gnu.org, 10434 <at> debbugs.gnu.org
Subject: Re: bug#10434: FAIL: depmod.tap 50 - tru64 [long VPATH] make & remake
Date: Wed, 08 Feb 2012 00:01:22 +0100
Hi Peter, thanks for the invaluable feedback.

On 02/07/2012 10:05 PM, Peter Rosin wrote:
> Stefano Lattarini skrev 2012-02-05 14:16:
>
>> So, what about the attached patch, that overhauls (and hopefully improve)
>> the coverage for automatic dependency tracking support?  It is probably
>> possible to improve the patch even more (esp. w.r.t. optimizations for
>> speed), but that can be left for follow-up changes IMHO.
>>
>> I will push (to master) in 72 hours if there is no objection by then.
>
> Hi Stefano,
>
> This looks promising!
>
> Appart from the below inline nitpicking, your method to force a depmode
> doesn't really seem to work, possibly only when you also force another
> compiler, as shown by the below grep (after a non-libtool run with
> CC="cl- nologo").
>
Ouch (but then I see you found out and reported the reason for this
below -- thanks!).

> Over to the nitpicking part...
>
> [SNIP well-spotted nitpicks]
>
Consider all of those fixed.  Thanks.

>> diff --git a/tests/depcomp.sh b/tests/depcomp.sh
>> new file mode 100755
>> index 0000000..147e8ca
>> --- /dev/null
>> +++ b/tests/depcomp.sh
>> @@ -0,0 +1,378 @@
> 
> *snip*
> 
>> +case $depmode in
>> +  auto)
>> +    cfg_deptrack=--enable-dependency-tracking ;;
>> +  disabled)
>> +    cfg_deptrack=--disable-dependency-tracking ;;
>> +  *)
>> +    # Sanity check: ensure the cache variable we force is truly
>> +    # used by configure.
>> +    $FGREP $cachevar configure \
>> +      || fatal_ "configure lacks required cache variable '$cachevar'"
>> +    cfg_deptrack="cachevar=$depmode" ;;
> 
> Here's the reason for failing to force the depmode, possibly.
>
> It works better with $cachevar
>
Well spotted! (and I feel like a moron now).  To make amend, I've squashed
the diff below into 'depmod.sh' (this would have caught the blunder right
away).

  @@ -262,12 +262,15 @@ test -f build-aux/depcomp \

   case $depmode in
     auto)
  +    displayed_depmode='.*'
       cfg_deptrack=--enable-dependency-tracking ;;
     disabled)
  +    displayed_depmode=none
       cfg_deptrack=--disable-dependency-tracking ;;
     *)
       # Sanity check: ensure the cache variable we force is truly
       # used by configure.

       $FGREP $cachevar configure \
         || fatal_ "configure lacks required cache variable '$cachevar'"
  +    displayed_depmode="(cached) $depmode"
       cfg_deptrack="cachevar=$depmode" ;;
  @@ -318,7 +321,15 @@ do_test ()
         ;;
     esac

  -  command_ok_ "$pfx configure" "$srcdir"/configure $cfg_deptrack ${1+"$@"}
  +  command_ok_ \
  +    "$pfx configure" \
  +    "$srcdir/configure" $cfg_deptrack ${1+"$@"} >stdout
  +  cat stdout
  +
  +  command_ok_ \
  +    "$pfx right depmode selected" \
  +    grep "^checking dependency style .*\.\.\. $displayed_depmode$" stdout
  +
     command_ok_ "$pfx simple make" make_ok
     # Some bugs in VPATH builds only kick in during a rebuild.
     command_ok_ "$pfx clean & rebuild" eval '$MAKE clean && make_ok'

I will push the patch by tomorrow, barring objections.

Thanks,
  Stefano




This bug report was last modified 13 years and 200 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.