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:
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:
$(CP) "$(>)" "$(<:S=)"
This works in my case because:
- I have no other rules that use the copy rule
- my target has an empty suffix
-- _ _ 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