|
Boost-Build : |
From: David Abrahams (dave_at_[hidden])
Date: 2003-11-09 20:01:02
"John Maddock" <john_at_[hidden]> writes:
> For some reason when rebuilding the regex lib I get pages and pages of
> linker warning about duplicate symbols (because the library already exists
> so the symbols are getting replaced), is there any reason not to just
> replace:
>
> if exist "$(<)" set _$(<:B)_="$(<)"
>
> with
>
> if exist "$(<)" DEL "$(<)"
>
> which just deletes the old library so it always gets a clean rebuild.
This is a holdover from stock Jam. I think the ability to
incrementally update the components of a static library was viewed as
a feature. Jam does the same thing on Unix, which generally supports
that ability. I have no strong opinion on whether it's a good thing
or not. If a file is deleted from the build it can result in
too-large libraries which contain old objects, or even (I think) link
errors due to duplicate definitions.
-- 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