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

From: Stefano Lattarini <[email-masked]>
Date: Sat, 20 Apr 2013 17:13:26 +0200

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).

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