Subject: Re: bug#14177: Incorrect extending of rules in documentation

From: Bastien ROUCARIES <[email-masked]>
Date: Mon, 22 Apr 2013 09:00:22 +0200

On Sat, Apr 20, 2013 at 5:13 PM, Stefano Lattarini
<[email-masked]> wrote:
> tags 14177 + moreinfo
> severity 14177 minor
> stop
>
> Hello Nick, Bastien, sorry for the delay.
>
> On 04/11/2013 03:33 PM, Nick Bowler wrote:
>> On 2013-04-11 01:28 +0200, Bastien ROUCARIES wrote:
>>> The make code fragment at
>>> http://www.gnu.org/software/automake/manual/html_node/Extending.html#Extending
>>> does not work as expected if you use --program-suffix=-hdr :
>>>
>>>
>>>
>>>      install-exec-hook:
>>>              cd $(DESTDIR)$(bindir) && \
>>>                mv -f prog$(EXEEXT) prog-$(VERSION)$(EXEEXT) && \
>>>                $(LN_S) prog-$(VERSION)$(EXEEXT) prog$(EXEEXT)
>>>
>>>
>>> error:
>>>
>>> mv: cannot stat `./animate': No such file or directory
>>> mv: cannot stat `./compare': No such file or directory
>>> mv: cannot stat `./composite': No such file or directory
>>>
>>> Could you please correct the example code and explain us how to be compatible?
>>
>> The suffix feature (partially) come from Autoconf; see §15.7 "Trans-
>> forming Program Names When Installing"[1] of the autoconf manual.  You
>> are correct that this example in the Automake manual is broken if the
>> user decides to use the feature.
>>
>> The transformation is communicated to the Makefile as a sed program, so
>> I think you should be able to make it work with something like this
>> (untested):
>>
>>   install-exec-hook:
>>       instprog=`echo prog | sed '$(program_transform_name)'`; \
>>         cd $(DESTDIR)$(bindir) && \
>>         mv -f $$instprog$(EXEEXT) $$instprog-$(VERSION)$(EXEEXT) && \
>>         $(LN_S) $$instprog-$(VERSION)$(EXEEXT) $$instprog$(EXEEXT)
>>
> Thank you Nick for providing this code.  However, I'm not really convinced that
> it would be worth to additionally complicate the example in the manual to cater
> to the seldom-used "program name transformation" feature (which I actually
> believe is a misfeature in several respects, but that's something for another
> thread).

I believe a footnote mentionning the problem will be sufficient with a solution.
> Still, I'd like to hear the community's opinion on this before committing to
> a decision, so for the moment being I'm tagging this report with "more info
> required" rather than with "will not fix".
>
>> [1] https://gnu.org/software/autoconf/manual/autoconf.html#Transforming-Names
>>
>> Hope that helps,
>
> Thanks,
>   Stefano