Boost logo

Boost-Build :

From: Peter Steiner (peter.steiner_at_[hidden])
Date: 2003-10-15 16:55:33


The stage target has problems when non-EXE target have their suffix
redefined. EXE targets have a special stage rule that relinks them,
but all other types use common.copy.

I have the following in my toolset jamfile:

type.register STRIPPED_EXE : : EXE : main ;
type.set-generated-target-suffix STRIPPED_EXE : <toolset>mytoolset : "" ;
type.set-generated-target-suffix EXE : <toolset>mytoolset : "" ;
generators.register-standard mytoolset.strip : EXE : STRIPPED_EXE ;

"bjam -n" prints the following for a staged STRIPPED_EXE target:

common.copy c:\a\very\long\path\to\my_target.exe

copy "another\path\that\never\seems\to\end\my_target." "c:\a\very\long\path\to\my_target.exe"

The stage rule fails to replace ".exe" with my desired empty suffix.

I was not able to spot the problem in stage.jam (or wherever the
problem is); but I hacked a workaround: I rewrote common.copy:

actions copy
{
$(CP) "$(>)" "$(<:S=)"
}

This works in my case because:
- I have no other rules that use the copy rule
- my target has an empty suffix

Regards, Peter

-- 
_ _ Peter Steiner <peter.steiner_at_[hidden]>
/ /_/ / Hug-Witschi AG <http://www.hugwi.ch/>
/ _ / Electronic Engineering
/_/ /_/ _ _ Auriedstrasse 10
/ / / / / / CH-3178 Boesingen
/ /_/ /_/ / Tel +41 31 740 44 44
/_ _ _ _ _/ Fax +41 31 740 44 45
 

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