Boost logo

Boost-Build :

From: Andrey Melnikov (melnikov_at_[hidden])
Date: 2005-08-03 15:34:49


Alexey Pakhunov wrote:
> Andrey Melnikov wrote:
>
>>>Gm. I definitely want to separate initialization and autodetection code.
>>> :) Why do you think it is a bad idea?
>>
>>1) Because it was already separated into msvc.default-path rule. You can
>>add more rules to msvc.jam if you need more modularity.
>
>
> In my opinion 'msvc.default-path' offered a messy way of autodetection.
> My goal is to make BBv2 to detect as many VS installations as possible
> and then provide a way to select toolset configurations a user wants to
> use. At the same time I do not want to allow "broken" configurations,
> for example:
>
> using msvc : 7.1 : "C:\\Program Files\\Microsoft Visual Studio
> 8\\VC\\bin\\cl.exe ;
>
> A user should be able to set up a required configuration manually of
> course. For example, if VC++ 8.0 will be available as a free toolkit 2005:
>
> using msvc : 8.0 : "C:\\Program Files\\Microsoft Visual C++ Toolkit
> 2005\\bin\\cl.exe ;
>
>>2) msvc-config is an experimental thing. msvc toolkit should have its
>>own autodetection facilities.
>
>
> I'm not going to use msvc-config in the future. Even now there is no
> practical difference where the autodetection code will be placed
> physically. If you or someone else is against using msvc-config I will
> assume there is a good reason for this and will move it to msvc.jam. I'd
> like to focus on other configuration issues now.

I think this needs to be discussed more. I'm waiting for Vladimir to
join us.

>
> It's not a good idea to deprecate
>
>> using msvc : 8.0 ;
>>We need using msvc ; syntax to work. We need a consistency between toolsets..
>
>
> Agree. It will work in the final version of the patch.
>
>
>>I'd like detection using environment removed completely. Can you imagine
>>a scenario in which registry autodetection will fail?
>
>
> I don't have any objections.
>
> BTW do you know a good way to detect PSDK location using registry? I
> have found only one key:
>
> [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MicrosoftSDK\InstalledSDKs\8F9E5EF3-A9A5-491B-A889-C58EFFECE8B3]
> Install Dir="D:\Kits\Platform SDK\"
>
> but it seems that {8F9E5EF3-A9A5-491B-A889-C58EFFECE8B3} is different
> for different versions of PSDK.

You can research if it's possible to use MSI Product ID GUID for PSDK to
get the path. The ID won't be changed because Microsoft don't recommend
it. I think they follow their own recommendations.

But there are also an easier way. You just forgot to search HKCR. The
key is there. Don't be afraid - PSDK is installed by MSI and the key is
restored each time a new user logs in. So all users have the same key.
Even the users which were created after the installation of PSDK.

> PS: I updated the patch according to your comments. (BTW you did a great
> review. Thanks). It includes support of amd64 and ia64 in VS 8-only
> configuration. I haven't updated initialization code yet.

I'm going to review it tomorrow.

Andrey

 


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