Boost logo

Boost-Build :

From: David Abrahams (gclbb-jamboost_at_[hidden])
Date: 2003-05-13 08:53:42


Vladimir Prus <ghost_at_[hidden]> writes:

> David Abrahams wrote:
>
>> > Invoke vcvars32.bat before all tool invocations. If vcvars32.bat is
>> > not in path, look though default install location for versions 7.1,
>> > 7.0 and 6. If compiler is found in any of locations, it will be
>> > used.
>>
>> it was supposed to work that way in the first place. If it didn't, it
>> was just a bug.
>
> OK. Just to confirm: I think the problem with current code is that when no
> version is given, it does not look at any default locations. The right
> approach would be to search though 7.1, 7.0 and 6.0 paths.
>
> Also, do we need to invoke compiler/linker with the full path?

Not if we invoke the .bat file.

> vcvars32.bat changes PATH, I believe

Yes.

> but there may be another "cl" in PATH...., so full path is
> needed. Am I missing something?

vcvars32.bat puts its directories at the front of PATH, so there is no
problem.

> And final question: if compiler is in the path, what should be do? Use that
> one? Or ignore PATH? Should be use compiler in path even if
>
> using msvc : 6 ;
>
> was used? I tend to ignore PATH at all.

If a version is specified, I would look in the default location for
that version first. If not found, I'd look in the PATH.

>> Note also the issue with the handling of optional
>> features:
>>
>> http://article.gmane.org/gmane.comp.lib.boost.build/2472
>
> Could you explain what's that issue is about. I do not understand what's
> wrong, if anything.

The default value of the msvc feature is "6". Once you say that
you're using msvc, with no value, the behavior should have been to
pick "6". However, I agree that searching through the default
7.1,7,6 install locations is probably better anyway.

>> But anyway, my overall vote on this option is:
>>
>> +1
>
> OK. That's probably next thing I'll do on V2.
>
>> > 3. Try to sense if vcvars32.bat was already called. If so, use
>> > variables it sets to find the path to compiler. If vcvars32.bat is
>> > not already called, use logic from (2).
>>
>> If it was already called, the compiler is in the path.
>>
>> -1
>
> But we don't make any use of PATH settings when configuring
> msvc.... so I don't get your argument.

I don't get your objection, but I may not have been making any sense,
regardless. Happy to drop it.

-- 
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