Hi Philip,

On Dec 10, 2007, at 1:03 PM, Phillip Seaver wrote:

I don't have the latest version of boost-build (looks like I imported it 
from the May 15th nightly release), but I couldn't find a similar bug in 
the tracker.

One of my co-workers ran into an interesting problem.  He had a 
directory named "new" in one of his source directories.  Every time he 
modified the "new" directory, it caused most (if not all) of the C++ 
files to be rebuilt.  The reason is that it was looking at the timestamp 
of the "new" directory (instead of the system "new" include, I believe) 
and seeing that it was newer than the object files.

Is it possible/reasonable to exclude directories from dependency scanner 
matching?

Yes, we had to do the exact same thing.  Here's an email I sent to Rene showing how we did it.


Begin forwarded message:
From: "K. Noel Belcourt" <kbelco@sandia.gov>
Date: August 22, 2007 8:41:56 AM MDT
To: Rene Rivera <grafikrobot@gmail.com>
Subject: Patch to eliminate directories from the build dependencies

Hi Rene,

A while ago, I mentioned that we found a problem with bjam where it was depending on the directory time stamps.  Our environment is intolerant of this since directory timestamps are updated whenever a file in the directory is modified (in our case, non-source files are modified and this causes things to rebuild).  Our solution was to set all directory timestamps back to one (1), effectively eliminating them from the dependency graph.

The attached patch to the trunk will introduce this same behavior.  It also eliminates an unused variable.  I don't know if you want to put this into bjam but at one point I told you I'd send you this patch, so here it is.

-- Noel