Boost logo

Boost-Build :

Subject: Re: [Boost-build] Why specify a compiler executable when using <setup>?
From: Vladimir Prus (ghost_at_[hidden])
Date: 2009-12-10 01:48:00


On Tuesday 08 December 2009 14:09:32 Andreas Huber wrote:

> With the following user-config.jam ...
>
> using msvc : 9.0~stlport5.2 : "C:/Program Files/Microsoft Visual Studio
> 9.0/VC/bin/cl.exe" :
> <compileflags>-D_CRT_SECURE_NO_WARNINGS
> <setup>"%BUILDROOTPATH%Msvc90StlPort.bat" ;
>
> ... the following command line works as expected:
>
> bjam -a -d2
>
> (everything is rebuilt by calling "%BUILDROOTPATH%Msvc90StlPort.bat" before
> each cl command).
>
> However, if I use the following user-config.jam ...
>
> using msvc : 9.0~stlport5.2 : :
> <compileflags>-D_CRT_SECURE_NO_WARNINGS
> <setup>"%BUILDROOTPATH%Msvc90StlPort.bat" ;
>
> with the same command line I get a ton of errors saying that cl is not
> recognized, which isn't surprising as the log no longer shows calls to
> "%BUILDROOTPATH%Msvc90StlPort.bat".
>
> I'm wondering why I have to specify a compiler executable? My understanding
> of <setup> is that it should set *everything* (including PATH) so that all
> tools can be found, no?

Andreas,

could you try the patch below?

Thanks,
Volodya

Index: msvc.jam
===================================================================
--- msvc.jam (revision 58153)
+++ msvc.jam (working copy)
@@ -768,7 +768,7 @@
             command = [ common.get-absolute-tool-path $(command[-1]) ] ;
         }
         
- if $(command)
+ if $(command) || [ feature.get-values <setup> : $(options) ]
         {
             local parent = [ path.make $(command) ] ;
             parent = [ path.parent $(parent) ] ;


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