Boost logo

Boost-Build :

From: Reece Dunn (msclrhd_at_[hidden])
Date: 2005-05-26 09:34:06


Robert Mathews wrote:
>I'm glad to see this thread starting, I definitely think this is a good
>idea.
>
>"David Abrahams" <dave_at_[hidden]> wrote in message
>news:uoeay3md4.fsf_at_boost-consulting.com...
> > Don't try to parse Jamfiles. It will be fragile at best and a
> > disaster at worst. Think of Jamfile contents like C++ source code;
> > you want a real C++ compiler in order to process that and make any
> > sense of it. For Jamfiles you want to do any understanding within
> > Boost.Build.
>
>As far as JAM interacting with the installer program, why don't you have
>boost.JAM build the installation program? That way this installer isn't a
>red-haired bastard stepchild, but just another target in the Boost.build
>environment. Boost.build is certainly powerful enough!

This is a good idea and something I would provide in my GUI/helper
utilities.

>Basically, I'd add a target after "install" that could grab the source and
>built libraries and feed those files into the installer script, creating a
>single installer output file (say, "boost_1.32.msi"). Then the boost
>maintainers could publish just that file on the web.

The problem is that the library files generated come to around 520Mb per
toolset. Therefore, packaging the *.lib files becomes unrealistic
(especially with the countless variations of gcc: is gcc-3.3 version 3.3.0,
3.3.1, ...?)

The installer should:
* extract the current Boost distribution files;
* setup any environment variables;
* build bjam;
* build the libraries for the selected compilers/versions, noting where to
install to, whether Python is supported, etc.;
* optionally configure your favorite IDE to find the requested headers and
library files.

>Well .. the commercial installers take care of a lot of common issues that
>occur, adding a layer of reliability and tested code for the common tasks
>of
>installing files, editing paths, registry, and displaying a familar user
>interface. Are you really sure you'd want to stray off the beaten path
>here?

Therefore using a commercial installer would be a good thing. The question
is does that installer support executing command lines (to build the Boost
files) and can you optionally process that to provide a nice UI/progress for
the average user who is going to be daunted by the masses of output
generated.

The alternative would be to provide Unix and Windows scripts to simplify the
build/install process to something like:

install-boost c:/boost-1.32 vc-7_1

Reece Haston Dunn
Software Engineer, Sophos

Web: www.sophos.com
Sophos - protecting businesses against viruses and spam

 


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