From 4fca02e4e2ee11518de63d93f36bc010c7a37ee3 Mon Sep 17 00:00:00 2001 From: Vladimir Prus Date: Thu, 28 Apr 2005 12:28:52 +0000 Subject: [PATCH] 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] --- v2/build/virtual-target.jam | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/v2/build/virtual-target.jam b/v2/build/virtual-target.jam index dbba81db4..5c57f4405 100644 --- a/v2/build/virtual-target.jam +++ b/v2/build/virtual-target.jam @@ -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)