Boost logo

Boost-Build :

From: Phillip Seaver (phil_at_[hidden])
Date: 2007-08-09 11:37:22


Vladimir Prus wrote, on 8/9/2007 11:22 AM:
> Frank Birbacher wrote:
>
>
>> Hi!
>>
>> I'm using boost build v2 from the sandbox svn:
>> URL: http://svn.boost.org/svn/boost/trunk/tools/build/v2
>> Revision: 38489
>> And bjam (built from cvs somewhen):
>> Boost.Jam Version 3.1.15. OS=LINUX.
>>
>> I have a main.cpp with some program and the following Jamroot:
>>
>> exe main : main.cpp ;
>> ALWAYS main ;
>> install all : main : <location>dist ;
>>
>
> ALWAYS is low-level bjam builtin that applies to low-level
> bjam targets. It does not work for Boost.Build targets.
> I'm afraid we don't have any easy way to get this functionality.
>
> - Volodya
>

We've solved a similar problem. We had a file that included a build
time that we wanted rebuilt. It's something like this:

obj app_timestamp : app_timestamp.cpp ;
exe app : app_timestamp ;
install dist : app ;
make timestamp-hack : dist app_timestamp : delete_run ;
local RM = [ common.rm-command ] ;
actions delete_run
{
    $(RM) $(>[2])
}

The "dist" on the make line is to make sure the delete happens after the
install -- "app_timestamp" is what gets deleted. If you just want to
relink every time, this would probably work:

exe app : app_timestamp.cpp ;
install dist : app ;
make timestamp-hack : dist app : delete_run ;
local RM = [ common.rm-command ] ;
actions delete_run
{
    $(RM) $(>[2])
}

HTH,

Phillip


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