Hi, I commited some changes to our modified jam (current/src/tools/jam), intended to reduce the build time overhead caused by jam. Here they are: * As you certainly know, jam has the nice feature to automatically scan source files for included files (recursively) in order to be able to recompile a file, also when only one of the files it includes has been modified. I imported some code by Matt Armstrong that introduces a cache for the dependencies found by header scanning. This speeds up the process significantly. * I implemented a cache for the Jamfiles (BTW, almost 300 in our build system). On my machine I win a few seconds. * I removed an superfluous statement in jam's code for execution of rules under on a target. Some more seconds... Concrete numbers: When running jam on my machine on an already up to date tree, the old version needs ca. 70 seconds to find out, that nothing has to be done, the new one needs only about 35 seconds once the caches have been build. When supplying an invalid target (so that jam does not even need to do header scanning) the time drops from ca. 20 to 10 seconds (the measured times heavily depend on what the file system has cached though). Note: Run a `cvs up' on your tree -- Jamrules has been modified and the cache files are stored in the newly created directory current/build. That's also where the file BuildConfig is expected to reside now -- move your old BuildConfig or re-run ./configure. Have fun. CU, Ingo