Boost logo

Boost-Build :

Subject: Re: [Boost-build] async rule execution
From: Steven Watanabe (watanabesj_at_[hidden])
Date: 2017-05-10 15:24:47


AMDG

On 05/10/2017 09:17 AM, Stefan Seefeld via Boost-build wrote:
>
> browsing the bjam sources I ran into
>
> /* Call the callback, may call back to jam rule land. */
> (*cmdtab[ i ].func)( cmdtab[ i ].closure, rstat, &time_info,
> cmdtab[ i ].buffer[ OUT ], cmdtab[ i ].buffer[ ERR ],
> cmdtab[ i ].exit_reason );
>
> (https://github.com/boostorg/build/blob/develop/src/engine/execunix.c#L558-L561)
>
> which suggests it's possible to have a callback call into the b2 layer
> (i.e., running some post-processing rule coded in Jam). Is that possible
> ? The only callback implementation I could find was the `make1c_closure`
> which is used to collect status information, but which isn't passed
> directly on into Jam, and thus can only be processed synchronously once
> the call to `builtin_update_now` has completed.
>
> Am I missing anything ?
>

http://www.boost.org/build/doc/html/jam/language.html#jam.language.variables.builtins.actionrule

It's called in make1c_closure here:
https://github.com/boostorg/build/blob/develop/src/engine/make1.c#L854

In Christ,
Steven Watanabe


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