Subject: Re: [Boost-build] [Build] Extender Manual, Generators, Actions
From: Brian Davis (bitminer_at_[hidden])
Date: 2009-04-23 00:16:15
On Wed, Apr 22, 2009 at 9:52 PM, Steven Watanabe <watanabesj_at_[hidden]>wrote:
> Brian Davis wrote:
>> 4. If the shell command needs to invoke a filter program handling
>>>> stdin and stdout pipes rather than a typical command-line program that
>>>> takes file names as arguments, how should such a filter action be
>>> I have never done this, but you may find what you are looking for in:
>> see rule:
>> # Runs executable 'sources' and stores stdout in file 'target'. Unless
>> # --preserve-test-targets command line option has been specified, removes
>> # executable. The 'target-to-remove' parameter controls what should be
>> # - if 'none', does not remove anything, ever
>> # - if empty, removes 'source'
>> # - if non-empty and not 'none', contains a list of sources to remove.
>> rule capture-output ( target : source : properties * : targets-to-remove *
>> It looks as though you would need to create a rule not an action (though
>> this may be possible) to capture stdio or stdin. I would hope others that
>> know more than I would weigh in on this. I am unsure if this can be done
>> a action, but I have *limited* knowledge.
> This isn't quite right. An action is a group of commands to be executed
> by the shell. A rule is jam code. The rule for testing.capture-output
> sets up variables needed by the action.
Yes action is what actually gets called at the shell, but a rule is also
needed to call the action where stdio (stdout/stdin) can be captured and
parsed correct? Is there a way to capture stdio within a action?
Boost-Build list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk