2
0
mirror of https://github.com/boostorg/build.git synced 2026-02-16 01:12:13 +00:00

Don't ever change target names in virtual-target.clone-action.

At the moment, the rule is used only by 'stage.relink'. In that case, we
just want to relink a target to a different location. The previous
version of clone-action, however, would create file-target with the original
name but without telling that the name is exact, so file-target would add
extension appropriate to the type.

This is only a problem when we relink a type which non-empty extension,
and there are no known uses -- we need relinking only for EXEs on Unix,
and exe extension is empty. But to avoid further problem, I'm fixing this.

This problem manifested itself because on cygwin, we incorrectly tried
to do relinking. This should not do any harm, in fact, only be inefficient,
but instead we got double ".exe" on staged binaries.


[SVN r28510]
This commit is contained in:
Vladimir Prus
2005-04-28 12:28:52 +00:00
parent 5de66f053f
commit 4fca02e4e2

View File

@@ -921,7 +921,8 @@ rule clone-action ( action : new-project : new-action-name ? : new-properties ?
for local target in [ $(action).targets ]
{
local n = [ $(target).name ] ;
local cloned-target = [ class.new file-target $(n:D=) : [ $(target).type ]
# Don't modify the name of the produced targets.Strip the directory f
local cloned-target = [ class.new file-target $(n) exact : [ $(target).type ]
: $(new-project) : $(cloned-action) ] ;
local d = [ $(target).dependencies ] ;
if $(d)