Boost logo

Boost-Build :

Subject: Re: [Boost-build] Latest b2 on trunk always rerunning tests
From: Steven Watanabe (watanabesj_at_[hidden])
Date: 2013-11-06 14:27:54


AMDG

On 11/06/2013 10:55 AM, Edward Diener wrote:
> On 11/6/2013 12:26 PM, Steven Watanabe wrote:
>> On 11/06/2013 09:02 AM, Edward Diener wrote:
>>>
>>> After getting the latest from 'trunk', with the backed out fix to
>>> libs/jamfile.v2, the tests for the Boost libraries now work correctly
>>> without being rerun every time.
>>>
>>> However I have moved my own non-Boost library into the 'trunk'
>>> structure, using the new modular Boost structure and the symbolic link,
>>> and with this library the tests are still always being rerun. The source
>>> file dates are correct and not in the future. There is evidently some
>>> other difference between this library and libraries already in Boost as
>>> far as Boost Build is concerned but I do not know what it could be.
>>>
>>
>> Boost.Build detects your library as being in the modular
>> structure and creates a link to your headers inside
>> the main boost/ directory. The problem is with this target,
>> which is why making everything depend on it forces everything
>> to rebuild. I have never tested what happens when mixing
>> the new layout with the old. When writing the scripts, I
>> assumed that it was either one or the other.
>
> The new layout simply creates:
>
> boost/boost/mylib -> headers, this is a symbolic link ( see just below )
> boost/boost/mylib/detail -> header details
> boost/libs/mylib/doc
> test
> include/boost/mylib -> this is the actual headers
> include/boost/mylib/detail
>
> Why might this cause problems for Boost Build ? I am still running tests
> from the test directory, with its jamfile.v2 and using
> 'include <boost/mylib/someheader.hpp>' as usual.
>

The reason that this is creating a problem is
that boost/mylib/mylib.hpp is marked as depending
on boost/mylib/. boost/mylib is a symlink, and
the timestamp on it is more recent then the
timestamp on boost/mylib/mylib.hpp, so
boost/mylib/mylib.hpp is marked as out-dated.
i.e. The dependency graph doesn't quite reflect
reality accurately. This would be my bug.

In Christ,
Steven Watanabe


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