Boost logo

Boost-Build :

From: Anichini, Steve (Sanichini_at_[hidden])
Date: 2003-02-27 14:58:43


I've included a simple project that demonstrates a bug within bjam with
header dependencies. I not sure if this would happen on stock Jam 2.5, since
it looks like their make.c is completely different.

To demonstrate:

build foo with jam (not using boost-build, but using boost jam)
touch c.h
build again

You will notice the second time only b.cpp gets recompiled when both a.cpp
and b.cpp should

If you reverse the order of a.cpp and b.cpp in the Jamfile, then everything
works.

I think the problem is with make.c ~line 530

The problem is something related to t->htime, t->hfate, and t->hleaf not
getting updated in the header recursion loop. This causes jam to think a.h
is stable when it really isn't. I don't have time to delve into this deeper,
but hopefully the repro case should be enough.

<<bug.zip>>
-steve

 ------_=_NextPart_000_01C2DE9A.A173B5C0 Content-Type: application/octet-stream;
name="bug.zip"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
filename="bug.zip"

[Attachment content not displayed.] ------_=_NextPart_000_01C2DE9A.A173B5C0--


Boost-Build list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk