GNU bug report logs - #9928
AM_SILENT_RULES breakage with old make(1)

Previous Next

Package: automake;

Reported by: "Daniel Richard G." <skunk <at> iSKUNK.ORG>

Date: Tue, 1 Nov 2011 04:40:02 UTC

Severity: minor

Tags: patch

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

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: help-debbugs <at> gnu.org (GNU bug Tracking System)
To: "Daniel Richard G." <skunk <at> iSKUNK.ORG>
Subject: bug#9928: closed (Re: bug#10237: bug#9928: AM_SILENT_RULES does
 not work with NonStop make)
Date: Fri, 30 Dec 2011 12:54:03 +0000
[Message part 1 (text/plain, inline)]
Your bug report

#9928: AM_SILENT_RULES breakage with old make(1)

which was filed against the automake package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to 9928 <at> debbugs.gnu.org.

-- 
9928: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=9928
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
From: Stefano Lattarini <stefano.lattarini <at> gmail.com>
To: Paul Eggert <eggert <at> cs.ucla.edu>
Cc: 10237-done <at> debbugs.gnu.org, automake-patches <at> gnu.org,
	9928-done <at> debbugs.gnu.org, skunk <at> iskunk.org
Subject: Re: bug#10237: bug#9928: AM_SILENT_RULES does not work with NonStop
	make
Date: Fri, 30 Dec 2011 13:50:04 +0100
On 12/28/2011 09:19 PM, Stefano Lattarini wrote:
>
> I did some testing on Debian unstable, Solaris 10, NetBSD 5.1 and Cygwin 1.5 (in
> part by running the relevant test cases from the automake testsuite, in part
> trying out the build system of GNU coreutils).   Everything seems fine so far.
> I want to do some small improvements to the documentation, then I say we are
> ready to merge the 'silent-fixes' branch into maint.
>
I've just re-read Paul's changes to the manual, and on a second thought, I think
they are definitely good enough as they are.  I've thus merged the 'silent-fixes'
branch into maint, and pushed.  I'm thus closing the bugs #9928 and #10237.

Thanks,
  Stefano

[Message part 3 (message/rfc822, inline)]
From: "Daniel Richard G." <skunk <at> iSKUNK.ORG>
To: bug-automake <at> gnu.org
Subject: AM_SILENT_RULES breakage with old make(1)
Date: Tue, 01 Nov 2011 00:37:23 -0400
Hello list,

I've recently encountered some breakage in building a package with
Automake 1.11.1's new silent-rules feature enabled, on a VM install of
NeXTSTEP 3.3. An example:

    $ make
    make  all-am
    ))  source='../pcre_compile.c' object='pcre_compile.lo' libtool=yes  DEPDIR=.deps depmode=none /usr/local/bin/bash ../depcomp /usr/local/bin/bash ./libtool )) --tag=CC --mode=compile cc -DHAVE_CONFIG_H -I. -I.. -O2 -c -o pcre_compile.lo ../pcre_compile.c
    sh: syntax error at line 1: `)' unexpected
    *** Exit 2
    Stop.
    *** Exit 1
    Stop.

I tracked this down to the variable-variable-name constructs used to
implement silent rules; this old version of make(1) doesn't parse them
correctly. I added the line

    echo "AM_V_CC = '$(AM_V_CC)'" # for automake debugging

to the .c.lo rule to see what was going on:

    $ make
    make  all-am
    echo "AM_V_CC = '))'" # for automake debugging
    AM_V_CC = '))'
    ))  source='../pcre_compile.c' object='pcre_compile.lo' libtool=yes  DEPDIR=.deps depmode=none /usr/local/bin/bash ../depcomp /usr/local/bin/bash ./libtool )) --tag=CC --mode=compile cc -DHAVE_CONFIG_H -I. -I.. -O2 -c -o pcre_compile.lo ../pcre_compile.c
    sh: syntax error at line 1: `)' unexpected
    *** Exit 2
    Stop.
    *** Exit 1
    Stop.

    $ make V=0
    make  all-am
    echo "AM_V_CC = '@echo "  CC    " pcre_compile.lo;)'" # for automake debugging
    AM_V_CC = '@echo  CC  pcre_compile.lo;)'
    sh: syntax error at line 1: `)' unexpected
    *** Exit 2
    Stop.
    *** Exit 1
    Stop.

    $ make V=1
    make  all-am
    echo "AM_V_CC = ')'" # for automake debugging
    AM_V_CC = ')'
    )  source='../pcre_compile.c' object='pcre_compile.lo' libtool=yes  DEPDIR=.deps depmode=none /usr/local/bin/bash ../depcomp /usr/local/bin/bash ./libtool ) --tag=CC --mode=compile cc -DHAVE_CONFIG_H -I. -I.. -O2 -c -o pcre_compile.lo ../pcre_compile.c
    sh: syntax error at line 1: `)' unexpected
    *** Exit 2
    Stop.
    *** Exit 1
    Stop.

I fiddled around with the assignments where $(AM_DEFAULT_VERBOSITY) and
$(V) are used. Turns out that if you change these assignments from e.g.

    AM_V_CC = $(am__v_CC_$(V))
    am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY))

to curly-braces-in-parens...

    AM_V_CC = $(am__v_CC_${V})
    am__v_CC_ = $(am__v_CC_${AM_DEFAULT_VERBOSITY})

or parens-in-curly-braces...

    AM_V_CC = ${am__v_CC_$(V)}
    am__v_CC_ = ${am__v_CC_$(AM_DEFAULT_VERBOSITY)}

...then the variable references are processed correctly, and the silent-
rules feature works as advertised.


--Daniel


-- 
Daniel Richard G. || skunk <at> iSKUNK.ORG
My ASCII-art .sig got a bad case of Times New Roman.



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

Previous Next


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