Subject: Re: bug#14560: C Compilation variables present in output Makefiles unconditionally

From: Stefano Lattarini <[email-masked]>
Date: Wed, 12 Jun 2013 12:25:11 +0200

tags 14560 - moreinfo
tags 14560 + patch
severity 14560 minor
stop

[+cc automake-patches, -cc automake]

On 06/11/2013 01:29 PM, Ralf Corsepius wrote:
> On 06/05/2013 12:03 PM, Stefano Lattarini wrote:
>> [+cc bug-automake, so this will be registered in the bug tracker]
>>
>> On 06/05/2013 07:16 AM, Ralf Corsepius wrote:
>>> On 06/03/2013 09:14 PM, Stefano Lattarini wrote:
>>>> We are pleased to announce the GNU Automake 1.13.3 maintenance release.
>>>
>>> When comparing automake-1.13.2 generated Makefile.ins against
>>> automake-1.13.3 generated Makefile.in, in projects which are
>>> _not_ using "c" I am observing changes like this one below:
>>>
>>> --- a/Makefile.in
>>> +++ b/Makefile.in
>>> ...
>>> @@ -109,6 +109,18 @@ AM_V_at = $(am__v_at_@AM_V@)
>>>   am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
>>>   am__v_at_0 = @
>>>   am__v_at_1 =
>>> +COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
>>> +       $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
>>> +AM_V_CC = $(am__v_CC_@AM_V@)
>>> +am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
>>> +am__v_CC_0 = @echo "  CC      " $@;
>>> +am__v_CC_1 =
>>> +CCLD = $(CC)
>>> +LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
>>> +AM_V_CCLD = $(am__v_CCLD_@AM_V@)
>>> +am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
>>> +am__v_CCLD_0 = @echo "  CCLD    " $@;
>>> +am__v_CCLD_1 =
>>>   SOURCES =
>>>   DIST_SOURCES =
>>>   AM_V_DVIPS = $(am__v_DVIPS_@AM_V@)
>>> ...
>>>
>> Yeah, this shouldn't happen.  Not a serious regression thankfully,
>> but still unpleasant.
>>
>>> So far, I havn't had sufficient time to implement a simple reproducer,
>>> but I am inclined to believe, automake-1.13.3 inserts c-compiler
>>> related vars into Makefile.ins, in cases no C-compiler is being used.
> 
> Please find a reproducer enclosed below.
> 
> Untar the tarball and run autoreconf -fi.
> Compare the files being generated by
> automake-1.13.2+autoconf-2.69
> against those being generated by
> automake-1.13.3+autoconf-2.69
> 
> From what I can gather, something seems broken with automake-1.13.3's
> SUFFIX handling. Seems to me as is these extraneous variables are
> being generated when a Makefile use more than one suffix rule.
>
Thanks, this is exactly what I needed, and your diagnosis seems spot-on.
I will soon post a couple of patches that should first expose and then
fix the issue.  BTW, I notice your e-mail in THANKS might be outdated.
Should I replace it with the one you are using recently?

Regards,
  Stefano