2
0
mirror of https://github.com/boostorg/build.git synced 2026-02-10 23:32:20 +00:00

* build/targets.jam

(project-target.generate)
  (main-target.generate):
  When returning targets, remove duplicates. Since all generates pass though
  all targets they can't handle, it's possible that targets that are never
  used (such as .dll on windows), bubble up and 'all' depends on it many
  times, which might be inefficient.


[SVN r21218]
This commit is contained in:
Vladimir Prus
2003-12-11 10:14:58 +00:00
parent a2c0c53947
commit a1753ca655

View File

@@ -157,6 +157,7 @@ class project-target : abstract-target
import print ;
import property-set ;
import set : difference : set.difference ;
import sequence ;
import "class" : new ;
rule __init__ ( name : project : requirements * : default-build * )
@@ -179,7 +180,7 @@ class project-target : abstract-target
usage-requirements = [ $(usage-requirements).add $(g[1]) ] ;
targets += $(g[2-]) ;
}
return $(usage-requirements) $(targets) ;
return $(usage-requirements) [ sequence.unique $(targets) ] ;
}
# Computes and returns a list of abstract-target instances which
@@ -308,7 +309,7 @@ class main-target : abstract-target
{
import errors : error ;
import assert ;
import sequence ;
import sequence ;
import print ;
import build-request feature property-set ;
import targets : start-building end-building ;
@@ -484,7 +485,7 @@ class main-target : abstract-target
result += $(r[2-]) ;
}
end-building $(__name__) ;
return $(usage-requirements) $(result) ;
return $(usage-requirements) [ sequence.unique $(result) ] ;
}
# Generates the main target with the given property set