Boost logo

Boost-Build :

From: Vladimir Prus (ghost_at_[hidden])
Date: 2003-11-13 06:08:12


Hi Jürgen,

> The attached patch ports the V1 linking semantics to V2.
> Short description: Instead of "updating" an existing lib, throw it away
> and do a clean rebuild.

[...]

> Problems occur when the path to the object file changes.

> When I do some editing in src/lib1 and rebuild lib1from this directory,
> I get a canonical Path of ../../build/lib1/bin/<generated>. Hardcoded
> into lib1.

> When I build from src/Jamfile, all paths start with
> ../build/lib1/bin/<generated>.
> link.exe now thinks that ../build and ../../build are different and all
> hell breaks loose. This can lead to object files not being replaced and
> therefore to an inconsistent library.

This proves once again that the devil is in the detail. The generally good
idea of incrementally updating a library is spoiled by minor bugs.

> I think it's best to follow V1 and simply do a "delete and rebuild from
> scratch".
>
> Oh, the patch removes some extra whitespace, too. Feel free to skip
> this. ;-))

I've applied your patch, with the added comment which points to this email of
yours, just in case someone will wonder why we remove .lib. BTW, there's
another definition of 'archive' for cygwin. Guess it should be updated also?

Thanks,
Volodya

 


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