Boost logo

Boost-Build :

From: Vladimir Prus (ghost_at_[hidden])
Date: 2006-03-07 06:40:06


Hi Markus,

> hp_cxx.archive
> ../../util/foo/bin/hp_cxx-71_006_tru64/debug/link-static/libbar.a
>
> rm -f
> "../../util/foo/bin/hp_cxx-71_006_tru64/debug/link-static/libbar.a" ar rc
> ../../util/foo/bin/hp_cxx-71_006_tru64/debug/link-static/libbar.a
> ../../util/foo/bin/hp_cxx-71_006_tru64/debug/link-static/bar1.o
>
> Now libbar.a only contains bar1.o and not bar.o. So why is the static
> library deleted before it is created?

Say, you have one file, a.cpp. You build the static library. Then, you change
your mind and rename a.cpp to b.cpp. You build the static library. Now, the
static library has two files with indentical comments, and if you use a
function defined in both, you might pick up the old one.

So, archive is removed and recreated. A bug in hpp_cxx.jam omitted some files
from the 'archive' action. I've just fixed that bug, so all files should be
passed to 'archive'.

Thanks for reporting!

- 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