Re: .ONESHELL enhancement?

Eric Melski <[email protected]>
Newsgroups gmane.comp.gnu.make.devel
Message-ID <[email protected]>
David Boyce wrote:
> On Wed, Sep 23, 2009 at 1:43 AM, Eric Melski <[email protected]> wrote:
>>  If you imagine that
>> the command recipe is written to a temporary file and invoked as, eg, "sh
>> script.sh" when .ONESHELL is enabled, it would allow you to use arbitrary
>> interpreters as your shell.
> 
> True - but are you imagining or suggesting? I don't think it's likely
> that make will be changed to _actually_ write its recipes to a temp
> file (though what do I know, I'm just an occasional lurker). And if
> you don't use a temp file you have the command line problem (sh -c vs
> perl -e vs ???).

I'm suggesting that this is how .ONESHELL ought to be implemented.  I 
don't see much benefit from your alternative proposal except for your 
build auditor use case, but if we could use an arbitrary interpreter for 
command recipes -- wow!  The possibilities are very exciting, imho.  A 
feature like this might have obviated the creation of tools like Scons, 
for example.

>> This wouldn't work with the "concatenate with &&" proposal.
> 
> Yes, but the "concatenate with &&"  proposal seems to have devolved
> into the "don't bother splitting on newlines" proposal anyway, so
> these unfortunate assumptions about the value of $(SHELL) go away.

True.  Note though that writing the recipe to a temp file and invoking 
it with "$(SHELL) tmpfile" would satisfy both our goals, and I think the 
  worry about creating a temp file for each target is overblown.

Cheers,

Eric Melski
http://blog.electric-cloud.com/
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.