Boost logo

Boost-Build :

From: Vladimir Prus (ghost_at_[hidden])
Date: 2004-06-09 06:02:29


Hi Michael,

> > I agree to you. I think we should be able to define the subvariant the
> > first time user specifies the version. So, if you have
> >
> > using gcc ;
> >
> > then there's no <toolset-gcc:version> feature at all. This means no added
> > path elements.
>
> I fear the 'no <toolset-gcc:version> feature at all' makes the toolset
> implementation rather nasty. 'intel-linux.jam' is simple as it can use
> flags intel-linux CONFIG_NAME <toolset>intel-linux-$(version) : $(name)
> ; with

The only change we'd need is

local condition ;
if $(version) {
condition = <toolset>intel-linux-$(version) ;
} else {
condition = <toolset>intel-linux ;
}

and then

flags intel-linux CONFIG_NAME $(condition) : $(name) ;

I'll try changing gcc.jam accordingly, so that we can see how this really
works.

> > > With this definition of version
> > > using gcc ;
> > > using gcc : 3.3 : g++-3.3 ;
> > > can be invoked as
> > > 'gcc', 'gcc-default', or 'gcc-3.3'
> > > with the first to building the 'gcc-default' target and the last the
> > > 'gcc-3.3' which seems nicely logical.
> >
> > I'm still not sure we can cleanly make this work -- without either
> > "-default" in target names or additional complexity.
>
> I guess it depends on if you thing "-default" is confusing or a nice bonus!
> And of course whatever you think results in the least complexity.

Of course -default is the simplest possible solution. But then what about
vc-emulation mode for vc. We'd get really long names like

intel-win-default-native

which is uph... confusing for a newbie.

- Volodya

 


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