Boost logo

Boost-Build :

From: Johan Nilsson (r.johan.nilsson_at_[hidden])
Date: 2006-01-30 03:00:33


Vladimir Prus wrote:
> On Tuesday 24 January 2006 11:21, Johan Nilsson wrote:
>
>> #
>> # Update and build dependencies
>> #
>> project update ;
>> ECHO [ SHELL "ruby "$(update_args) ] ;
>> project build ;
>> ECHO [ SHELL "ruby "$(build_args) ] ;
>
> This won't work in two ways:
>
> 1. You can't define two projects in one Jamfile. At the very least,
> this was never intended to work and is likely to fail.

Ok.

>
> 2. The ECHO statements have no relation to projects -- they are
> executed when Jamfiles are read, unlike targets -- which are declared
> in the current project.

Understood.

>
>> Some related questions:
>>

[snip]

>> 2) Can I make other projects depend on the successful execution of
>> specific shell commands?
>
> If you want shell command to be executed during project building, and
> not during parsing, you need to use special targets. For example:
>
> notfile whatever : @your_action : hello ;

"@" ? And why is "hello" there?

>
> actions your_action
> {
> ruby whatever
> }
>
> exe hello : hello.cpp : <dependency>whatever ;
>
> In this case, 'hello' won't be build if the 'ruby whatever' target
> fails.

During certain periods, such as when I'm using boost straight from the
latest cvs, I'd like it to be built regardless of whether "your_action"
completes successfully or not (there might be 'partial' success). IIRC there
was some "ignore" flag in classic Jam?

>
> In case that's no sufficient for your use case, please clarify what
> else is needed.

See above.

// Johan


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