Boost logo

Boost-Build :

From: Reece Dunn (msclrhd_at_[hidden])
Date: 2005-10-04 01:07:46


David Abrahams wrote:
> Alexey Pakhunov <alexeypa_at_[hidden]> writes:
>
>>David Abrahams wrote:
>>
>>>>BTW I composed the table describing expected behavior depending on
>>>>passed version, number of detected configurations
>>>
>>>?? I don't see any numbers.
>>
>>It should be "detected configurations" without any "number of".
>>
>>>I find this table inscrutable. a.b in combination with "Detected"
>>>seems to make as little sense as "x.y" in combination with "Not
>>>Detected." And what does "all" in combination with "Not detected"
>>>mean? I suggest you try again.
>>
>>What about this:
>>
>>-----
>> Depending on a supplied version, detected configurations and presence
>> 'cl.exe' in the path different results may be achieved. The following
>> table describes all possible cases:

How about...

>> : Nothing : "x.y"
>> Passed : Nothing : "x.y" : detected, : detected,
>> version : detected : detected : cl.exe in path : cl.exe in path
========:============:===========:==================:===============
>> default : Error : Use "x.y" : Create "default" : Use "x.y"
>> all : Do nothing : Use all : Do nothing : Use all
>> x.y : - : Use "x.y" : - : Use "x.y"
>> a.b : Error : Error : Create "a.b" : Create "a.b"
>>
>> "x.y" - refers to a detected version;
>> "a.b" - refers to an undetected version.
>>-----
>
> I'm afraid that's even worse. At least the other one came with an
> english explanation of what it meant. I don't even have a clue, in
> this case, what is meant to be a column heading, where the cell
> boundaries are, etc.

Passed version means the version passed to the using decleration:

using msvc : default ; # Use the 'default' version of msvc
using msvc : all ; # Detect all possible msvc versions
using msvc : 7.0 ; # x.y is a known ("detected") version
using msvc : 7.7 ; # a.b is not a known version

And for default...
...if no msvc versions were detected as being installed, issue an error
...if a known version was detected (e.g. 6.0), use that version
...no version detected but the environment was set through vcvars.bat,
use that version
...if a known version was detected (e.g. 6.0) and the environment was
set through vcvars.bat, use that version.

What isn't clear is what happens if you have:

using msvc : default ;

with msvc-7.0 and msvc-7.1 installed. Which version is used as both will
be detected?

HTH,
- Reece

 


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