|
Boost-Build : |
From: Vladimir Prus (ghost_at_[hidden])
Date: 2005-08-12 05:09:18
On Friday 05 August 2005 17:54, Alexey Pakhunov wrote:
> 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.
So,
configure gcc : : /usr/bin/g++-4.0 ;
will no longer work and you'll be required to write:
configure gcc : : command=/usr/bin/g++-4.0 ;
?
> > 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.
Ok. It's in TODO anyway, btw.
> > 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.
Ehm... what's the use of just detecting configuration, if it can only be used
after "using"? I.e. will detected configuration be stored in some cache
that's consulted by "using". Is this such performance optimization?
> > 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 ;".
Ok, opinion noted.
> > 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
We can, and I was indeed suggesting that we should allow identical
initializations.
- Volodya
-- Vladimir Prus http://vladimir_prus.blogspot.com Boost.Build V2: http://boost.org/boost-build2
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