Boost logo

Boost-Build :

Subject: Re: [Boost-build] Conditional updating using NOUPDATE
From: Steven Watanabe (watanabesj_at_[hidden])
Date: 2013-04-25 00:23:31


AMDG

On 04/24/2013 09:06 PM, Edward Mitchell wrote:
>
> Thank you for your quick response. However, I am not quite sure that
> what you are saying is different from what I am doing.
>

The difference is the level that things happen at.
actions touch and rule touch both operate on Jam targets,
which cando.scrape creates Boost.Build metatargets.
The argument of NOUPDATE is expected to be a list
of Jam targets. (actions touch and rule touch are
two parts of the same rule. If both are defined,
both will be run.)

> To be clearer I have several jamfiles that all are `using cando` and
> call the rule `cando.scrape` at parse time. This rule, defined in a
> toolset module cando.jam, runs the python script and defines the target
> that I am having trouble with. I thought that by using a toolset module
> the all uppercase (jam level) rules would be available to use, e.g. I
> have used "ECHO" and "echo" equally effectively in cando.jam.
>

They are available. *However*, the built-in rules
that operate on targets do *not* work on Boost.Build
metatargets.

> Are you saying I need a new main target rule, with a custom file
> type/generator and everything to make this work? Or am I missing
> something obvious?
>
> To sum up:
>
> In jamfile.jam, I have the lines:
> using cando ;
> cando.scrape $(__file__:D) ;
> always scrape_flag.h ;
>
> And in cando.jam I have the code posted in the previous email.
>
> I am afraid I am terribly confused by all this, I hope you can clear it
> up for me.
>

Please see
http://www.boost.org/boost-build2/doc/html/bbv2/extender.html#bbv2.extender.intro
for a discussion of the target layers.

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