Boost logo

Boost-Build :

From: Vladimir Prus (ghost_at_[hidden])
Date: 2006-05-15 11:36:02


On Monday 15 May 2006 19:24, Ilya Sokolov wrote:
> Vladimir Prus wrote:
> >>fixed bug ``cant find a toolset' if command or common toolset options
> >>was supplied in using directive'
> >
> > What is that bug? It's not apparent to me from looking at the patch.
>
> if you try
>
> using msvc : : : <cxxflags>something ;
>
> then
>
> # Set new options if any
> if $(options)
> {
> $(.versions).set $(version) : options : $(options) ;
> }
>
> will replace previosly setled <command>{path-vc} value of
> '$(.versions).get $(version) : options' with <cxxflags>something.

Ah, right.

> should be:
>
> # Add user-supplied to auto-detected options
> options += [ $(.versions).get $(version) : options ] ;
> $(.versions).set $(version) : options : $(options) ;

If $(.versions) are pre-detected version, then maybe we should just change

        options = [ $(.versions).get $(version) : options ] ;

line below to read:

        options = [ $(.versions).get $(version) : options ] $(options) ;

and remove call the $(.version).set completely?

> >>fixed processing of common toolset options (<cflags>, <cxxflags>,
> >><compileflags> and <linkflags>)
> >
> > What was the bug with them?
>
> <cflags>, <cxxflags>, <compileflags> and <linkflags> are handled with
> handle-options rule in common.jam:
>
> rule handle-options ( toolset : condition * : command * : options * )
> {
> # The last parameter ('true') says it's OK to set flags for another
> # module,
> toolset.flags $(toolset) CONFIG_COMMAND $(condition) : $(command) :
> unchecked ;
> toolset.flags $(toolset).compile OPTIONS $(condition) :
> [ feature.get-values <compileflags> : $(options) ] : unchecked ;
> toolset.flags $(toolset).compile.c OPTIONS $(condition) :
> [ feature.get-values <cflags> : $(options) ] : unchecked ;
> toolset.flags $(toolset).compile.c++ OPTIONS $(condition) :
> [ feature.get-values <cxxflags> : $(options) ] : unchecked ;
> toolset.flags $(toolset).compile.fortran OPTIONS $(condition) :
> [ feature.get-values <fflags> : $(options) ] : unchecked ;
> toolset.flags $(toolset).link OPTIONS $(condition) :
> [ feature.get-values <linkflags> : $(options) ] : unchecked ;
> }

Right, and what was the bug? Sorry for being dense today ;-)

> >I see that your patch completely removes
> >
> > flags msvc.compiler USER_FLAGS <cflags> : ;
> > line, and two other similar lines. What is the motivation for that?
>
> my mistake. see fixed patch ;-) in attachment

The lines like

  flags msvc.compile USER_CFLAGS <cflags> : ;
  flags msvc.compile.c++ USER_CFLAGS <cxxflags> : ;

are still remove, and it's still the context diff, not the unified diff
format. Hmm, maybe you've attached the old version?

- 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