From: David Abrahams (dave_at_[hidden])
Date: 2007-03-15 13:57:29
on Sun Mar 04 2007, Salvatore Domenick Desiano <sal-AT-ri.cmu.edu> wrote:
> On Sun, 4 Mar 2007, Vladimir Prus wrote:
> o On Thursday 01 March 2007 05:02, Salvatore Domenick Desiano wrote:
> o > Every time you run jam, the object gets rebuilt and so does the archive.
> o > I've stepped through the jam code with gdb, and the problem appears to
> o > be in the time stamp check. That is, object.o gets a timestamp of 0
> o > (since it gets deleted after being archived) and object.c is always
> o > newer. This doesn't happen on SUSE, but I'm not sure what the difference
> o > is.
> o object.o should have TEMPORARY flag on it to prevent that. I have
> o no idea why behaviour on SUSE and OSX is different. But anyway,
> o unless you're using Boost.Build rules ("lib"), there's nothing we can do.
I disagree. The classic Jam rules are a perfectly good way to
demonstrate bjam's brokenness without bringing the complexity of BBv2
into the picture.
> I found the problem, and I've fixed it for my install. I am using the
> old Perforce rules, but the bug turns out to be in fileunix.c.
> ofileunix.c doesn't check to see if the library is in the BSD extended
> format. The attached patch works on OSX 10.4, and checks defines to
> ensure that it only triggers on BSD systems, but hasn't been tested
> anywhere else.
Unless BBv2 specifically does not depend on this part of bjam, I think
we should accept Sal's patch immediately.
-- 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