Boost logo

Boost-Build :

From: Jurko Gospodnetić (jurko.gospodnetic_at_[hidden])
Date: 2008-08-21 12:25:59


   Hi Jim.

> It's not that I'm worried about the 8.0sp1 version in particular, it's
> just that I thought that build differentiation may need to be more
> specific on MS platforms. We sometimes build the same code with
> different MS compilers to use with different COTS products.

   Boost Build's msvc toolset actually functions like this:

   * You can have multiple toolset versions registered.
   * Each toolset version is a configuration of tools and perhaps some
of their options that you want to use for you builds.
   * By default the toolset module attempts to auto-detect all the
available msvc toolset versions on your system and prepare 'default'
toolset versions matching the configurations it auto-detected.
   * You as a Boost Build user are on the other hand completely free to
define your own toolset version using the 'using' rule as you need it.

   For example you are free to construct your toolset version(i.e.
configurations) like this:
   - call it 'my-secret-mix'
   - use this cl.exe as the compiler
   - use this link.exe as the linker.
   - use this rc.exe as the resource compiler.
   - automatically include this folder on the include path when building
with this toolset version.
   - when running any of the tools use this setup script to set up the
appropriate environment settings.
   - automatically add this linker option when using this toolset version.

   And then just build using this version by running 'bjam
toolset=msvc-my-secret-mix'.

   As you can see - there is no mention of a 'version anywhere'
and you can theoretically combine different tools coming from different
msvc distributions configurations.

   Boost Build does try to guess some sort of version information for
default detected toolset versions but other than for those - it pretty
much just uses whatever the user/script defined.

   I guess we can scan version information reported by the tools and
report if they are 'mismatched' or use them to set some property values,
but I would need a more detailed description of what we want done in
order to procede with any of the changes - what folders, what
properties, which versions are incompatible, etc...

   Best regards,
     Jurko Gospodnetić


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