Boost logo

Boost-Build :

From: Alexey Pakhunov (alexeypa_at_[hidden])
Date: 2005-08-05 08:54:34


Vladimir Prus wrote:

> There's also open question if we should retain the current syntax, where
> second parameter is taked as a command, or change it so that second parameter
> is path, or install root. We talked about renaming "using" to "configure",
> so such change can be made without breaking compatibility.

"command" and "path" are mutually exclusive. It would be natural to
state "command" or "path" explicitly meaning that the current syntax
should be changed.

> Speaking of (1), if Windows users find that method to be better, then I don't
> know why not change msvc.jam accordingly.

I vote for this.

> Speaking of (2) the feature is fine, but:
> 1. I don't want "import msvc-config ; " syntax. We need a clean interface.
> 2. It's possible to do such auto-configuration with
>
> using msvc ;
>
> but I'm not sure if ordinary users want to have all installed toolsets
> configured. Opinions?

I think it should be divided in two steps:

1. Upon loading the toolset ("import msvc ;") all possible configuration
will be detected;

2. Then a user will be able to select found configurations or define its
own via "using msvc ;" syntax.

> 3. There are two interface approached to request configuration of all
> versions:
>
> using msvc : all ; # 'all' is a special value for version.
> configure-all-versions msvc ;
>
> If "using" is renamed to "configure", then some word having "configure" as
> part can be used to request configuration of all versions. Say:
> "auto-configure", "configure-all", "configure-all-versions".

I prefer "using msvc : all ;" syntax. Moreover, "using msvc : all ;"
should be equivalent to "using msvc ;".

> Say site-config.jam has "using gcc ; " and "user-config.jam" has
> "using gcc : 4.0 ; ". Now this causes an error, because V2 does not know if
> plain "gcc" is 4.0, or not, and so user can build two different variants that
> are in fac the same.
>
> There are several possible solutions:

Why can't we allow several identical initializations? Let's say:

using gcc : 4.0 ;
using gcc : 4.0 ; # this line will be simply ignored

and

using gcc : 4.0 : command=/usr/opt/gcc4.1/bin/g++-4.0 ;
using gcc : 4.0 : command=/usr/bin/g++-4.0 ; # error

Best regards/Venlig hilsen,
Alexey Pakhunov.

 


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