4 messages in com.perforce.jamming[jamming] [bug] deep INCLUDES are broken
FromSent OnAttachments
Matt Armstrong30 Dec 2002 13:23 
Matt Armstrong31 Dec 2002 11:24 
Matt Armstrong31 Dec 2002 14:12 
Steve Goodson03 Jan 2003 20:05 
Subject:[jamming] [bug] deep INCLUDES are broken
From:Matt Armstrong (ma@lickey.com)
Date:12/31/2002 02:12:39 PM
List:com.perforce.jamming

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).