|
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