|
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