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


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

> 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
for a discussion of the target layers.

In Christ,
Steven Watanabe

Boost-Build list run by bdawes at, david.abrahams at, gregod at, cpdaniel at, john at