From: David Abrahams (dave_at_[hidden])
Date: 2006-03-21 15:45:17
Kevin Heifner <heifner_k_at_[hidden]> writes:
> After seeing some posts about people having difficulties building
> Boost with bjam and Dave Abrahams comment about wishing to add
> Microsoft solution files as an alternative build option. OCI
> decided to add MPC (http://www.ociweb.com/products/mpc) support
> to Boost. Chad Elliott the creator of MPC put together the zip
> file in Boost Vault under Miscellaneous which contains the
> necessary files to add MPC support to Boost.
> Here is a little description of the addition. It would be great
> if this could be added to Boost and something similar to this
> description added to the getting started web page.
> Building Boost using bjam is straightforward and easy to use for
> those used to building applications with make. However, for
> those who have little or no exposure to make may find building
> Boost with bjam somewhat confusing or difficult. The MPC
> application can be used to provide an alternate build mechanism
> for the Boost libraries.
> MPC (http://www.ociweb.com/products/mpc) can generate makefiles
> and projects for various build tools (make, Visual C++ 6.0,
> Visual Studio 7.1, etc.) Allowing users to choose their favorite
> build tool increases the appeal of Boost.
> We have put together boost.mwc (a workspace), a set of mpc files
> (projects) and a simple perl based configure script that allows
> MPC to generate a usable workspace (with projects) to build
> various libraries located in Boost. This perl based configure
> script is used to set up various required environment variables
> and then runs MPC. It takes a few options (most (coicide with
> the existing configure shell script), one of which is the
> --with-toolset option that converts the Boost toolset into the
> corresponding MPC options.
> The result of building Boost with MPC will leave the user with a
> set of libraries located in a "lib" directory at the top of the
> boost directory tree. The libraries are named as they would be
> when built with bjam. The current state of the .mwc file and
> perl based configure script only allows building multi-threaded
> versions of the Boost libraries. This is not meant to replace
> bjam, just provide an alternate way of building Boost.
This is problematic because it now means there are two parallel build
descriptions that need to be maintained. One of the big reasons for
introducing Boost.Build was that we were ending up with a plethora of
makefiles and project files for different platforms. Also there was
no guarantee that what we were testing was the same as what we were
building. If you want to figure out how to get Boost.Build to
generate MPC files from Jamfiles, that'd be great, but as appealing as
it may seem at first, IMO simply adding a parallel build description
would ultimately be detrimental.
-- Dave Abrahams Boost Consulting www.boost-consulting.com
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk