Boost logo

Boost-Build :

From: Vladimir Prus (ghost_at_[hidden])
Date: 2005-09-14 03:49:05

Hi Alexey,

> > If there are patches that requires my review, or comments, or
> whatever > and block your work, just send them again
> This is the patch implementing the configuration class.
> Short explanation:
> - The configuration class is used to keep track of toolset
> configurations detected automatically or defined by a user. Typical
> sequence is the following:
> 1. A toolset is imported;
> 1.1. Autodetection code is executed. It registers some configurations;
> 2. 'toolset.usage' (or its equivalent) is called;
> 2.1. If the parameters passed to 'init' define a new configuration
> is is registered;
> 2.2. If the parameters refer to an existing configuration, already
> registered configuration is used;
> 2.3. If the configuration is marked as used nothing happens.
> 2.3. Otherwise the configuration is marked as used and the rest of
> initialization is performed.
> Benefits of using 'configurations' class:
> - Peacefully co-existing autodetection code and user-defined
> configurations;
> - Multiple identical 'using' are safely processed;

I think first of all we need to agree where we're going. IIRC, we more or less
agreed that:

1. There should be a way to auto-detect *all* installed toolsets.
2. There should be a way for user to override options for a specific toolset.

What I don't understand in your patch is the "registered" state. Is that a
state where toolset is known to Boost.Build internals but not usable by the
user? Or is it state where toolset is already usable by the user, but maybe
be still reconfigured? The definitions in class comment:

+ # - registered - a configuration is listed but none of toolsets is using
it yet;
+ # - used - a configuration is used by a toolset.

Are rather vague.

+ # Registers a configuration
+ rule register ( id )

In class docs, your talk about "condition". Here you use "id" without saying
what it is. Also, please document the return value. Same comment applied to
the 'use' rule.

Everything else looks fine, but can be roughly outline the further direction?

- Volodya

> Best regards/Venlig hilsen,
> Alexey Pakhunov.
> Yahoo! Groups Links

Vladimir Prus
Boost.Build V2:

Boost-Build list run by bdawes at, david.abrahams at, gregod at, cpdaniel at, john at