From: David Abrahams (dave_at_[hidden])
Date: 2003-03-05 15:32:24
"Anichini, Steve" <Sanichini_at_[hidden]> writes:
> 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
> 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.
I'm trying to get a case we can reproduce reliably across systems
into our regression tests, but I'm not having any success. Can you
make a version with a tiny "Jambase" replacement that just uses echo
and redirection to simulate compilation/linking?
-- Dave Abrahams Boost Consulting www.boost-consulting.com
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