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:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user