Subject: Re: [Boost-build] prototyping alternative Boost.Build syntax
From: Stefan Seefeld (stefan_at_[hidden])
Date: 2016-10-28 13:16:08
On 28.10.2016 13:14, Steven Watanabe wrote:
> On 10/28/2016 10:44 AM, Stefan Seefeld wrote:
>> On 28.10.2016 12:21, Steven Watanabe wrote:
>>> On 10/28/2016 09:31 AM, Stefan Seefeld wrote:
>>>> On 28.10.2016 11:10, Vladimir Prus wrote:
>>>>> Therefore b2:
>>>>> - Starts Python code
>>>>> - Provides a very small interface to declare low-level targets and
>>>>> - Does know know anything else about what Python code does.
>>>> Cool ! So what I'm after is that "small interface to declare low-level
>>>> targets and actions". Is that defined / documented somewhere ? What is
>>>> the code I need to read to understand that ?
>>> A target is just represented as a string in Jam and
>>> Python. The internal structures used by the back end
>>> are created on demand.
>> That doesn't help me much. If I want to define a new target I surely
>> need to invoke some `bjam` function (from the bjam module Vladimir just
>> mentioned) to declare that.
> You don't need to specifically create a target.
> If you use a string as an argument to an action
> or set target variables on it or pass it to DEPENDS
> or anything else that requires a target, then
> it will just work.
>>> The code for handling actions in Python, is in two places.
>>> In kernel/bootstrap.jam, there are a few Jam rules that are
>>> designed to be called from python, in particular,
>>> set-update-action(action, targets, sources, properties).
>>> There's also a bjam.define_action(name, body, bindlist, flags)
>>> implemented in builtins.c.
>> What is the Python interface for that ?
> bjam.define_action is directly visible
> from Python. After a bit more poking
> around, it looks like the interface that
> you want is the Engine class in build/engine.py
> In Christ,
> Steven Watanabe
> Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost-build
-- ...ich hab' noch einen Koffer in Berlin...
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