Boost logo

Boost-Build :

Subject: Re: [Boost-build] Problem when specifying msvc-9.0
From: Edward Diener (eldiener_at_[hidden])
Date: 2018-11-15 17:20:22


On 11/15/2018 10:20 AM, Steven Watanabe via Boost-build wrote:
> AMDG
>
> On 11/14/2018 10:56 PM, Edward Diener via Boost-build wrote:
>> On 11/14/2018 10:52 PM, Steven Watanabe via Boost-build wrote:
>>> On 11/14/2018 06:59 PM, Edward Diener via Boost-build wrote:
>>>> On the latest 'develop' branch if I specify b2 toolset=msvc-9.0 I get no
>>>> 'cl' found. Other msvc toolsets, such as msvc-8.0, msvc-10.0, msvc-11.0,
>>>> msvc-12.0, msvc-14.0, and msvc-14.1 all work properly. If I run
>>>> "C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\vcvarsall.bat"
>>>> x86 or "C:\Program Files (x86)\Microsoft Visual Studio
>>>> 9.0\VC\vcvarsall.bat" amd64 the proper vc++9.0 environments are setup
>>>> and cl /? shows that cl is found. Ideas ?
>>>>
>>>
>>> What is the command that b2 uses?
>>
>> b2 toolset=msvc-9.0
>>
>> in, let's say, the boost/preprocessor/test directory with a
>> user-config.jam of:
>>
>> using msvc ;
>>
>
>
> I meant, what is the cl.exe command that
> Boost.Build issues (including the setup
> script call)?

The b2 output for msvc-9.0 starts as:

file
C:\Programming\build\modular-boost\boost\bin.v2\libs\preprocessor\test\arithmetic.test\msvc-9.0\debug\threading-multi\arithmetic.obj.rsp
"arithmetic.cpp"
-Fo"C:\Programming\build\modular-boost\boost\bin.v2\libs\preprocessor\test\arithmetic.test\msvc-9.0\debug\threading-multi\arithmetic.obj"
    -TP /Z7 /Od /Ob0 /W4 /GR /MDd /Zc:forScope /Zc:wchar_t /wd4675 /EHs -c
-DBOOST_ALL_NO_LIB=1
"-I..\..\.."
compile-c-c++
C:\Programming\build\modular-boost\boost\bin.v2\libs\preprocessor\test\arithmetic.test\msvc-9.0\debug\threading-multi\arithmetic.obj

      cl /Zm800 -nologo
@"C:\Programming\build\modular-boost\boost\bin.v2\libs\preprocessor\test\arithmetic.test\msvc-9.0\debug\threading-multi\arithmetic.obj.rsp"

'cl' is not recognized as an internal or external command,
operable program or batch file.
...failed compile-c-c++
C:\Programming\build\modular-boost\boost\bin.v2\libs\preprocessor\test\arithmetic.test\msvc-9.0\debug\threading-multi\arithmetic.obj...

The b2 output for msvc-10.0 starts as:

file
C:\Programming\build\modular-boost\boost\bin.v2\libs\preprocessor\test\arithmetic.test\msvc-10.0\debug\threading-multi\arithmetic.obj.rsp
"arithmetic.cpp"
-Fo"C:\Programming\build\modular-boost\boost\bin.v2\libs\preprocessor\test\arithmetic.test\msvc-10.0\debug\threading-multi\arithmetic.obj"
    -TP /Z7 /Od /Ob0 /W4 /GR /MDd /Zc:forScope /Zc:wchar_t /wd4675 /EHs -c
-DBOOST_ALL_NO_LIB=1
"-I..\..\.."
compile-c-c++
C:\Programming\build\modular-boost\boost\bin.v2\libs\preprocessor\test\arithmetic.test\msvc-10.0\debug\threading-multi\arithmetic.obj

     call
"C:\Programming\build\modular-boost\boost\bin.v2\standalone\msvc\msvc-10.0\msvc-setup.bat"
x86 >nul
  cl /Zm800 -nologo
@"C:\Programming\build\modular-boost\boost\bin.v2\libs\preprocessor\test\arithmetic.test\msvc-10.0\debug\threading-multi\arithmetic.obj.rsp"

arithmetic.cpp
**passed**
C:\Programming\build\modular-boost\boost\bin.v2\libs\preprocessor\test\arithmetic.test\msvc-10.0\debug\threading-multi\arithmetic.test

     echo passed >
"C:\Programming\build\modular-boost\boost\bin.v2\libs\preprocessor\test\arithmetic.test\msvc-10.0\debug\threading-multi\arithmetic.test"

You can clearly see that the 'call' line is missing from the msvc-9.0
output so naturally 'cl' is not recognized.

The exact same user-config.jam is being used for both, which just contains:

using msvc ;

The b2 command for msvs-9.0 is just:

b2 toolset=msvc-9.0

and the b2 command for msvc-10.0 is just:

b2 toolset=msvc-10.0

>
> In Christ,
> Steven Watanabe


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