Boost logo

Boost :

Subject: [boost] boost build output locations
From: Zachary Turner (divisortheory_at_[hidden])
Date: 2009-08-18 01:30:25


I notice there's some strange asymmetries in the locations that the
standard boost build process outputs binaries to. Is there a reason
for this? For example, running

bjam variant=debug,release address-model=32

I get the following directory structure:

bin.v2
--libs
----date_time\build\msvc-9.0
------debug
--------address-model-32
---------- boost_date_time-vc90-gd-1_39.dll
---------- boost_date_time-vc90-gd-1_39.lib
----------link-static
------------threading-multi
-------------- libboost_date_time-vc90-mt-gd-1_39

Alright there is one asymmetry evident. The dll version of the
binaries are in address-model-32, and the static library version of
the binaries are in address-model-32/link-static/threading-multi.
Should there be like a link-dynamic and a link-static? It makes it
much easier to automate linking and building if everything is
symmetric, because in some compilers (e.g. visual studio) you don't
have as much control as you do with a makefile.

So then we take a look at boost::thread

bin.v2
--libs
----date_time\build\msvc-9.0
------debug
--------address-model-32
----------link-static
------------threading-multi
-------------- libboost_thread-vc90-mt-gd-1_39.lib
----------threading-multi
------------ boost_thread-vc90-mt-gd-1_39.lib
------------ boost_thread-vc90-mt-gd-1_39.dll

This time, the dll versions appeared under
address-model-32/threading-multi instead of just address-model-32 like
in date_time.

Am I going crazy and I have a messed up system, or is this just the
way it is? Is it easy to change, or would it be undesirable to change
for some reason?

Zach


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk