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

Do not relink on installation if dll paths did not change.

[SVN r58775]
This commit is contained in:
Vladimir Prus
2010-01-06 19:00:48 +00:00
parent 14aa3c252f
commit f5dd2ae6b9

View File

@@ -354,16 +354,38 @@ class installed-exe-generator : generator
rule run ( project name ? : property-set : source : multiple ? )
{
local need-relink ;
if [ $(property-set).get <os> ] in NT CYGWIN ||
[ $(property-set).get <target-os> ] in windows cygwin
{
# Relinking is never needed on NT.
return [ stage.copy-file $(project)
}
else
{
# See if the dll-path properties are not changed during
# install. If so, copy, don't relink.
local a = [ $(source).action ] ;
local p = [ $(a).properties ] ;
local original = [ $(p).get <dll-path> ] ;
local current = [ $(property-set).get <dll-path> ] ;
ECHO "XXX" $(current) "--" $(original) ;
if $(current) != $(original)
{
need-relink = true ;
}
}
if $(need-relink)
{
return [ stage.relink-file $(project)
: $(source) : $(property-set) ] ;
}
else
{
return [ stage.relink-file $(project)
return [ stage.copy-file $(project)
: $(source) : $(property-set) ] ;
}
}