Name | Modified | Size |
---|---|---|
.. | ||
Build.com | 21 years ago | 1 KB |
Build.mpw | 21 years ago | 3 KB |
builtins.c | 21 years ago | 7 KB |
builtins.h | 21 years ago | 274 B |
command.c | 21 years ago | 1 KB |
command.h | 21 years ago | 2 KB |
compile.c | 21 years ago | 20 KB |
compile.h | 21 years ago | 2 KB |
execcmd.h | 21 years ago | 421 B |
execmac.c | 21 years ago | 1 KB |
execunix.c | 21 years ago | 8 KB |
execvms.c | 21 years ago | 3 KB |
expand.c | 21 years ago | 12 KB |
expand.h | 21 years ago | 339 B |
filemac.c | 21 years ago | 4 KB |
filent.c | 21 years ago | 6 KB |
fileos2.c | 21 years ago | 3 KB |
filesys.h | 21 years ago | 531 B |
fileunix.c | 21 years ago | 9 KB |
filevms.c | 21 years ago | 7 KB |
glob.c | 21 years ago | 3 KB |
hash.c | 21 years ago | 5 KB |
hash.h | 21 years ago | 539 B |
headers.c | 21 years ago | 3 KB |
headers.h | 21 years ago | 206 B |
jam.c | 21 years ago | 9 KB |
jam.h | 21 years ago | 11 KB |
Jam.html | 21 years ago | 41 KB |
Jambase | 21 years ago | 43 KB |
jambase.c | 21 years ago | 29 KB |
jambase.h | 21 years ago | 373 B |
Jambase.html | 21 years ago | 25 KB |
Jamfile | 21 years ago | 3 KB |
Jamfile.html | 21 years ago | 49 KB |
jamgram.c | 21 years ago | 28 KB |
jamgram.h | 21 years ago | 1 KB |
jamgram.y | 21 years ago | 10 KB |
jamgram.yy | 21 years ago | 8 KB |
jamgramtab.h | 21 years ago | 1 KB |
lists.c | 21 years ago | 5 KB |
lists.h | 21 years ago | 2 KB |
make.c | 21 years ago | 17 KB |
make.h | 21 years ago | 336 B |
make1.c | 21 years ago | 16 KB |
Makefile | 21 years ago | 1 KB |
mkjambase.c | 21 years ago | 2 KB |
newstr.c | 21 years ago | 2 KB |
newstr.h | 21 years ago | 358 B |
option.c | 21 years ago | 2 KB |
option.h | 21 years ago | 568 B |
parse.c | 21 years ago | 2 KB |
parse.h | 21 years ago | 863 B |
patchlevel.h | 21 years ago | 162 B |
pathmac.c | 21 years ago | 6 KB |
pathsys.h | 21 years ago | 1 KB |
pathunix.c | 21 years ago | 5 KB |
pathvms.c | 21 years ago | 9 KB |
Porting | 21 years ago | 2 KB |
README | 21 years ago | 4 KB |
regexp.c | 21 years ago | 31 KB |
regexp.h | 21 years ago | 821 B |
RELNOTES | 21 years ago | 39 KB |
rules.c | 21 years ago | 7 KB |
rules.h | 21 years ago | 6 KB |
scan.c | 21 years ago | 8 KB |
scan.h | 21 years ago | 1 KB |
search.c | 21 years ago | 2 KB |
search.h | 21 years ago | 302 B |
timestamp.c | 21 years ago | 4 KB |
timestamp.h | 21 years ago | 259 B |
variable.c | 21 years ago | 6 KB |
variable.h | 21 years ago | 712 B |
yyacc | 21 years ago | 1 KB |
Change | User | Description | Committed |
---|---|---|---|
4044 | Matt Armstrong | Fix //guest/matt_armstrong/jam/bug/3/... (as well as 2/... and 1/...). Introduce a pa...ss *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() « |
21 years ago |
4016 | Matt Armstrong | Split make.c into two phases -- make0bscan() and make0(). make0bscan() does binding and h...eader scanning, and make0() does fate determination. This two pass approach completely isolates fate determination from header scanning, and so eliminates problems where circular INCLUDE dependencies caused the old make0() to incorrectly determine the fate of targets (see //guest/matt_armstrong/jam/bug/3/...). « |
21 years ago |
3968 | Matt Armstrong | Fix //guest/matt_armstrong/jam/bug/1/... and //guest/matt_armstrong/jam/bug/2/... in one... go. jam2.5rc3 attempts to turn INCLUDES into DEPENDS by turning every INCLUDES into an implicit node in the dependency graph. The problem with this approach is that make.c and make1.c algorithms work only with acyclic graphs, and INCLUDES relationships are often cyclic. This branch backs out //public/jam/src/... changes 2614 and 3057 and merges in //guest/matt_armstrong/jam/fix/includes/... changes 2573, 2574 and 2575. The end result is that make.c now copies a target's INCLUDES to its DEPENDS list as it walks through the graph. The end result is that at the end of make.c, every target's DEPENDS list includes all its direct dependencies *and* all of the implicit dependencies that INCLUDES creates. This creates more nodes, but is immune to cycles in the INCLUDES chain. An alternative approach would be to change every use of t->depends to use a smart iterator. The iterator would generate a temporary list containing all of t->depends and all of associated INCLUDES. This list would be iterated over and disposed. I didn't take this approach because it was more complex, and I rather like the -dd debug output my patch generates (i.e. the "implicit" lines for DEPENDS and INCLUDES relationships that are implicitly created via INCLUDES). « |
21 years ago |
3967 | Matt Armstrong |
Integrate from //public/jam/src/... through change 3108. |
21 years ago |
3966 | Matt Armstrong | Ignore change 3057 from //public/jam/src/... | 21 years ago |
3965 | Matt Armstrong |
Integrate from //public/jam/src/... through change 3056. |
21 years ago |
3964 | Matt Armstrong | Integrate change 2614 from //public/jam/src/..., but ignore it. | 21 years ago |
3963 | Matt Armstrong |
Branch from //public/jam/src/... up to change 2613. |
21 years ago |