|
Boost-Build : |
From: Vladimir Prus (ghost_at_[hidden])
Date: 2003-12-03 02:29:29
Hi Jürgen,
> Am Dienstag, 2. Dezember 2003 14:57 schrieb Vladimir Prus:
> > I even implemented this solution. All tests pass and for regression
> > tests I get 2x speedup over current code (and besides, over v1, too).
>
> Cool.
>
> > Anybody sees any serious problems with the above?
>
> Sounds good. I think it would be good if I could test the changes with
> my qt-based projects. Can you send me a patch ?
Sure. See attachment.
Thanks,
Volodya
--Boundary-00=_ZDZz/e4hfvsMMMj Content-Type: text/x-diff;
charset="iso-8859-1";
name="headers.diff"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
filename="headers.diff"
? build/A.dif
? build/A.diff
? build/property.diff
? build/targets.diff
? build/targets.jam.diff1
? build/targets.jam.new
? tools/A.diff
? tools/darwin.diff
? tools/gcc.log
? tools/gcc.patch
? tools/msvc.jam.diff
? tools/rc.jam.diff
? tools/stage.jam.1.25
? tools/whale.jam
Index: build/virtual-target.jam
===================================================================
RCS file: /cvsroot/boost/boost/tools/build/v2/build/virtual-target.jam,v
retrieving revision 1.71
diff -u -r1.71 virtual-target.jam
--- build/virtual-target.jam 2 Dec 2003 10:35:14 -0000 1.71
+++ build/virtual-target.jam 3 Dec 2003 07:07:51 -0000
@@ -984,6 +984,7 @@
class subvariant
{
import sequence ;
+ import type ;
rule __init__ ( main-target # The instance of main-target class
: property-set # Properties requested for this target
@@ -1079,32 +1080,39 @@
# The values of feature are all target directories of this dependency graph,
# plus target directories of all dependency graphs referred to by
# <implicit-dependency> property
- rule implicit-includes ( feature )
+ rule implicit-includes ( feature : target-type ? )
{
- local target-paths = [ all-target-directories ] ;
+ local target-paths = [ all-target-directories $(target-type) ] ;
target-paths = [ sequence.unique $(target-paths) ] ;
return $(target-paths:G=$(feature)) ;
}
- rule all-target-directories ( )
+ rule all-target-directories ( target-type ? )
{
if ! $(self.target-directories)
{
- compute-target-directories ;
+ compute-target-directories $(target-type) ;
}
return $(self.target-directories) ;
}
- rule compute-target-directories ( )
+ rule compute-target-directories ( target-type ? )
{
local result ;
for local t in $(self.created-targets)
{
- result = [ sequence.merge $(result) : [ $(t).path ] ] ;
+ if $(target-type) && ! [ type.is-derived [ $(t).type ] $(target-type) ]
+ {
+ # Skip target which is of wrong type.
+ }
+ else
+ {
+ result = [ sequence.merge $(result) : [ $(t).path ] ] ;
+ }
}
for local d in $(self.other-dg)
{
- result += [ $(d).all-target-directories ] ;
+ result += [ $(d).all-target-directories $(target-type) ] ;
}
self.target-directories = $(result) ;
}
Index: tools/builtin.jam
===================================================================
RCS file: /cvsroot/boost/boost/tools/build/v2/tools/builtin.jam,v
retrieving revision 1.120
diff -u -r1.120 builtin.jam
--- tools/builtin.jam 20 Nov 2003 13:01:58 -0000 1.120
+++ tools/builtin.jam 3 Dec 2003 07:07:52 -0000
@@ -552,7 +552,7 @@
rule adjust-properties ( properties * )
{
local s = [ $(self.targets[1]).creating-subvariant ] ;
- return $(properties) [ $(s).implicit-includes "include" ] ;
+ return $(properties) [ $(s).implicit-includes "include" : H ] ;
}
}
--Boundary-00=_ZDZz/e4hfvsMMMj--
Boost-Build list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk