Boost logo

Boost-Build :

From: David Abrahams (dave_at_[hidden])
Date: 2005-05-23 09:15:26


Vladimir Prus <ghost_at_[hidden]> writes:

> On Monday 23 May 2005 16:05, David Abrahams wrote:
>
>> > Yea, sorry. IIRC, we basically agreed that 'using msvc' should try to
>> > detect msvc and if found, initialize it. That's what Dave suggests above
>> > and it's what 'using msvc' does at the moment ;-), except that:
>> > 1. It issues a warning if msvc is not found.
>> > 2. The detection logic in msvc.jam and msvc-config.jam is different.
>> >
>> > I think to move further we need to agree that the only two questions are:
>> > 1. Which detection logic is best
>>
>> The one using the registry is definitely best.
>
> Don't have an opinion here.
>
>> > 2. Whether we should have one file, that includes the detection logic,
>> > or a separate xx-config with detection logic.
>>
>> I don't think that's an important question.
>
> Then I don't understand why msvc-config.jam is any different then
> msvc.jam with disabled warning.

?? It's different because it will contain different code.

> I'd rather not have two files for a single toolset.

Fine with me; I'm inclined the same way.

>> >> > Also, versions should be registered highest-to-lowest, and we should
>> >> > implement the ability to do a versionless build, which should pick the
>> >> > first version registered. So if 8.0 is installed,
>> >> >
>> >> > bjam msvc
>> >> >
>> >> > should be equivalent to
>> >> >
>> >> > bjam msvc-8.0
>> >> >
>> >> > Thoughts?
>> >>
>> >> I'm all for that.
>> >
>> > I think that if 'using msvc' with detect/register 8.0 first, then
>> >
>> > bjam msvc
>> >
>> > will be the same as
>> >
>> > bjam msvc-8.0
>> >
>> > by using default properties, automatically.
>>
>> I don't understand anything you said, unless it's just a rephrasing of
>> what I wrote above it.
>
> Try 2: right now, if you add
>
> using msvc : 8.0 ;
>
> in user-config.jam, then
>
> bjam msvc
>
> works

Oh? What if you have multiple msvc versions registered?

> and is the same as
>
> bjam msvc-8.0
>
> There's no need to do anything.
>
>> > There are some details:
>> >
>> > * does 'using msvc' initializes all found msvc version? Or only one?
>>
>> All. It's no cost.
>
> What if no registry keys are available and there are two 'cl.exe' in PATH?
> Then it's not possible to guess the versions of those cl.exe

Corner case. The user uses explicit config for that one:

using msvc : 7.1 : /some/path ;

-- 
Dave Abrahams
Boost Consulting
www.boost-consulting.com
 

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