Boost logo

Boost-Build :

From: dmoore99atwork (dmoore_at_[hidden])
Date: 2001-12-20 12:52:33


I posted the following question on the main Boost list, and David
Abrahams suggested that I follow up here...

>> 1. Is there the equivalent of "make install" which would gather all
>> of the .lib and .dll files from the deeply nested directories and
>> deliver them somewhere like BOOST_ROOT\lib? For example, my RegEx
>> binary is in boost\libs\thread\build\bin\libboost_regex.lib\msvc-
>> stlport\release\runtime-link-dynamic\stlport-iostream-off\stlport-
> version-4.0\libboost_regex.lib

>Not yet. We're thinking about it, but nobody has yet figured out what
>installation of boost should really mean, especially on Win32
>platforms. If
>you have any well-formed ideas, pleas bring them up on
>jamboost_at_y...

I'm sure my ideas are not well formed (ha), but here is what I am
looking for/thinking, for the compiled libraries (i.e. RegEx, Python,
and Thread).

Win32 programming can get you into all kinds of nightmares with the C
and C++ runtime libraries (Debug/Retail, Single/Multithreaded,
Statically or Dynamically Loaded). With these permuatations, it's
hard to please everybody.

If you go with one "lib" directory containing either the complete
static library or the .dll stub library, the "complete" solution
probably means creating libboost_threadXYZ.lib and
libbost_threadXYZ.dll where XYZ is a code for the permuatation - i.e.
DMS meaning debug multithreaded static... This is ugly, but has been
used to effect by Mircosoft and IBM over the years on Windows and
OS/2.

If the BOOST_ROOT\lib directory had subdirectories for the
permutations, then each VC++ project could add the particular
subdirectory to its library search path, but you would still have
either a name collision or PATH problem for the binary .dll files...

In actual practice, I don't move around much. I tend to use the
dynamically linked multithreaded libs. Others would of course tend
towards different combinations. What would suit me is another
command line argument which would deposit the libraries which were
*just* built for the particular toolset into an "installation"
directory. I would have my one combination in BOOST_ROOT\lib, and I
could easily "swap out" for another combination en masse by running a
jam command...

Dave

 


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