Matt Armstrong <ma...@lickey.com> writes:
I've submitted a candidate fix for this in change 2573 in the public
depot:
Change 2573 by matt_armstrong@squeaker-perforce-guest on 2002/12/31 11:16:37
Fix INCLUDES by copying the include list of each target's
included file to itself. So this:
INCLUDE B : A ;
INCLUDE C : B ;
implies:
INCLUDE C : A ;
To continue this conversation with myself... :-)
This fix is not suitable. For building jam itself, it causes well
over 5 million calls to the 'targetentry' call, each time consuming
memory. Jam consumes nearly 200 megs to build itself given the
/usr/include structure on Solaris. Jam slows from 0.164 secs running
time (for jam 2.4) to 10 seconds.
I attempted a fix where make0 would not append a new target if it were
already in the target's dependency or includes list. This reduces the
memory consumption, but still makes jam take 2.5 seconds to figure out
how to build itself (16 times slower than jam 2.4).