Change 4045

matt_armstrong (Matt Armstrong)
Matt Armstrong committed this change into //guest/matt_armstrong/jam/patched_version
Request Review
Download .zip
patchlevel a.t - take the public perfoce depot's change 4044.

Change 4044 by matt_armstrong@matt_armstrong-jrukman-jam on 2003/12/23 17:03:13

Fix //guest/matt_armstrong/jam/bug/3/... (as well as 2/... and
1/...).

Introduce a pass *before* make0() that propagates INCLUDES
relationships fully thruout the dependency graph.  bug/3 was
caused by make0 trying to do too much at once.  You can't
properly deal with cycles in the INCLUDES graph and correctly
determine dependencies in one pass.

We now have three passes through the dependency graph in make.c

1) make0bscan() - bind and scan all targets in the tree
2) make0includes() - gather all INCLUDES from sub-INCLUDES in
    a way that is safe from cycles in the INCLUDES graph.
3) make0() - fate determination

TODO: verify correct bindtarget() use in make0bscan() and
make0includes()

Affected files ...

... //guest/matt_armstrong/jam/fix/2/make.c#7 edit
... //guest/matt_armstrong/jam/fix/2/rules.h#6 edit
  • Files 3
  • Comments 0
3 edited 0 added 0 deleted
make.c#18
Loading...
patchlevel.h#32
Loading...
rules.h#17
Loading...
Tip: Use n and p to cycle through the changes.