Boost logo

Boost :

From: David Abrahams (dave_at_[hidden])
Date: 2005-06-18 18:19:09


"Hendrik Schober" <boost_at_[hidden]> writes:

> Hi,
>
> I voluteered to look at how to make the "Getting Started"
> section of the homepage a bit easier to understand and
> follow. (Reminder: I failed to install boost on Windows due
> to stupid errors on my side which I claimed could have been
> avoided with an easier guide.)
> My time to do this is very limited, which is why this takes
> so long. Sorry, but I can't help it.
> I attached a zipped archive of what I have so far. (Unpack
> onto the "more" folder.) I threw this at some fellow workers
> being used to work with Windows. This gave some feedback of
> where I failed. Also, Dave has already put a lot of work
> into reviewing it and this brought many improvements.
> As I still don't understand Boost.Build (I consider it very
> important to remain as ignorant as the targeted audience
> while working on this guide. :o> ), I'd like this to first
> be reviewed here instead of just checking it in.
>
> One questions that I still have: When I tried to install boost,
> I had no idea what a toolset is, which acounts for some of my
> problems. My idea of this is still a bit foggy, but I think a
> definition at first use is in order.
> So what is a toolset?

Heh.

Well in the real world it's a set of related executables and
support files (like libraries, headers, etc.) that is designed to work
cooperatively in executing steps of a build process. Thus you might
have a toolset consisting of a c/c++ compiler and a linker that
creates executables and dynamic libraries and an archiver that creates
static libraries, and a set of standard library headers and runtime
libraries. Another toolset might be the TeX/LaTeX suite of tools
(including e.g. pdftex) and the associated TeX libraries for
generating tables, doing particular layout styles, supporting unicode,
etc.

In Boost.Build there is a toolset abstraction that is designed to help
the user:

 a. Tell Boost.Build how the toolset has been installed. In BBv1 it is
    done by setting variables in the environment or on the bjam
    command-line with -sVARIABLENAME=..., as documented on the pages
    for the individual toolsets. In BBv2 it's done in the
    user-config.jam and/or site-config.jam file.

 b. Configure the way the actual toolset is used by Boost.Build (same
    methods as above).

 c. Control options for building a target without knowing the
    toolset's specific command-line usage. It does that by
    translating build properties like <runtime-link>static into
    command-line flags and options.

You should be able to use this text verbatim (or nearly so) in your
document.

HTH,

-- 
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