Boost logo

Boost-Build :

From: Eoin (eoinoc_at_[hidden])
Date: 2007-03-18 13:53:06


Hello,

The recent Microsoft® Windows® Software Development Kit for Windows
Vista™ and .NET Framework 3.0 Runtime Components -

http://www.microsoft.com/downloads/details.aspx?
familyid=c2b1e300-f358-4523-b479-f53d234cdccf&displaylang=en

Is a very nice package for Windows application development. You don't
get an IDE and the download is massive but you do get a very
comprehensive console build environment for x86 and x64 versions of
windows from XP upwards.

The current Boost.Build v2 doesn't correctly pick up but by using a
simple batch file, like the one attached, to call the SetEnv.cmd
manually the whole process is relatively painless (There was an issue
with the existing PATH not being preserved).

... that is until you try to do an x64 (amd64 is the only one I've
tried by including the option address-model=64) build. With or without
changing the BBv2.bat to pass the /x64 to SetEnv.Cmd Boost.Build v2
seems to not pick up any of the tools. For example when trying to
compile a .cpp file the command executed looks like as follows -

compile-c-c++ C:\Develop\boost\bin.v2\libs\signals\build\msvc-8.0\
debug\address-model-64\link-static\threading-multi\slot.obj

@"C:\Develop\boost\bin.v2\libs\signals\build\msvc-8.0\debug\
address-model-64\link-static\threading-multi\slot.obj.rsp"

Which effectively just tries to open the .rsp file.

I've looked into the msvc.jam attempting to diagnose the problem but I
just can't seem the get a handle on what could be going wrong so I
thought I make this post. To hopefully aid would-be helpers I've also
attached the output from running 'set' of all the environment
variables after running SetEnv.Cmd with both x86 and x64 arguments
separately.

King regards, Eoin.


@echo off

set DEV_ROOT=C:\Develop
set SdkTools=c:\Program Files\Microsoft SDKs\Windows\v6.0\Bin

call "%SdkTools%\SetEnv.Cmd" /xp /x86

set BOOST_PATH=%DEV_ROOT%
set BOOST_ROOT=%BOOST_PATH%\boost
set BOOST_BUILD_PATH=%BOOST_ROOT%\tools\build\v2

set INCLUDE=%BOOST_ROOT%;%INCLUDE%
set LIB=%BOOST_ROOT%\lib;%LIB%
set PATH=%BOOST_PATH%;%PATH%

echo Boost.Build v2 Targeting %*

bjam --v2 %*

C:\Develop>set
ALLUSERSPROFILE=C:\Documents and Settings\All Users
APPDATA=C:\Documents and Settings\Administrator\Application Data
APPVER=5.01
BOOST_BUILD_PATH=C:\Develop\boost\tools\build\v2
BOOST_PATH=C:\Develop
BOOST_ROOT=C:\Develop\boost
ClusterLog=C:\WINDOWS\Cluster\cluster.log
CommonProgramFiles=C:\Program Files\Common Files
COMPUTERNAME=VATALE
ComSpec=C:\WINDOWS\system32\cmd.exe
CPU=i386
DEBUGMSG=
DEV_ROOT=C:\Develop
FP_NO_HOST_CHECK=NO
FxTools=C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727
HOMEDRIVE=C:
HOMEPATH=\Documents and Settings\Administrator
Include=C:\Develop\boost;C:\Develop\atlmfc;C:\Program Files\Microsoft SDKs\Windows\v6.0\VC\Include;C:\Program Files\Microsoft SD
Ks\Windows\v6.0\VC\Include\Sys;C:\Program Files\Microsoft SDKs\Windows\v6.0\Include;C:\Program Files\Microsoft SDKs\Windows\v6.0
\Include\gl;!Include!
Lib=C:\Develop\boost\lib;C:\Program Files\Microsoft SDKs\Windows\v6.0\VC\Lib;C:\Program Files\Microsoft SDKs\Windows\v6.0\Lib;!L
ib!
LOGONSERVER=\\VATALE
MSSdk=C:\Program Files\Microsoft SDKs\Windows\v6.0
NUMBER_OF_PROCESSORS=1
OS=Windows_NT
Path=C:\Develop;C:\Program Files\Microsoft SDKs\Windows\v6.0\VC\Bin;C:\Program Files\Microsoft SDKs\Windows\v6.0\Bin;C:\WINDOWS\
Microsoft.NET\Framework\v2.0.50727;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem
PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH
PROCESSOR_ARCHITECTURE=x86
PROCESSOR_IDENTIFIER=x86 Family 6 Model 15 Stepping 6, GenuineIntel
PROCESSOR_LEVEL=6
PROCESSOR_REVISION=0f06
ProgramFiles=C:\Program Files
PROMPT=$P$G
ReferenceAssemblies=C:\Program Files\Reference Assemblies\Microsoft\WinFX\v3.0
SdkTools=C:\Program Files\Microsoft SDKs\Windows\v6.0\Bin
SESSIONNAME=Console
SystemDrive=C:
SystemRoot=C:\WINDOWS
TARGETOS=WINNT
TEMP=C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp
TMP=C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp
USERDOMAIN=VATALE
USERNAME=Administrator
USERPROFILE=C:\Documents and Settings\Administrator
VS80COMNTOOLS=C:\Program Files\Microsoft Visual Studio 8\Common7\Tools\
windir=C:\WINDOWS

C:\Develop>set
ALLUSERSPROFILE=C:\Documents and Settings\All Users
APPDATA=C:\Documents and Settings\Administrator\Application Data
APPVER=5.02
BOOST_BUILD_PATH=C:\Develop\boost\tools\build\v2
BOOST_PATH=C:\Develop
BOOST_ROOT=C:\Develop\boost
ClusterLog=C:\WINDOWS\Cluster\cluster.log
CommonProgramFiles=C:\Program Files\Common Files
COMPUTERNAME=VATALE
ComSpec=C:\WINDOWS\system32\cmd.exe
CPU=AMD64
DEBUGMSG=
DEV_ROOT=C:\Develop
FP_NO_HOST_CHECK=NO
FxTools=C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727
HOMEDRIVE=C:
HOMEPATH=\Documents and Settings\Administrator
Include=C:\Develop\boost;C:\Develop\atlmfc;C:\Program Files\Microsoft SDKs\Windows\v6.0\VC\Include;C:\Program Files\Microsoft SD
Ks\Windows\v6.0\VC\Include\Sys;C:\Program Files\Microsoft SDKs\Windows\v6.0\Include;C:\Program Files\Microsoft SDKs\Windows\v6.0
\Include\gl;!Include!
Lib=C:\Develop\boost\lib;C:\Program Files\Microsoft SDKs\Windows\v6.0\VC\Lib\x64;C:\Program Files\Microsoft SDKs\Windows\v6.0\Li
b\x64;!Lib!
LOGONSERVER=\\VATALE
MSSdk=C:\Program Files\Microsoft SDKs\Windows\v6.0
NUMBER_OF_PROCESSORS=1
OS=Windows_NT
Path=C:\Develop;C:\Program Files\Microsoft SDKs\Windows\v6.0\VC\Bin\x86_x64;C:\Program Files\Microsoft SDKs\Windows\v6.0\VC\Bin;
C:\Program Files\Microsoft SDKs\Windows\v6.0\Bin;C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727;C:\WINDOWS\system32;C:\WINDOWS;C:
\WINDOWS\System32\Wbem
PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH
PROCESSOR_ARCHITECTURE=x86
PROCESSOR_IDENTIFIER=x86 Family 6 Model 15 Stepping 6, GenuineIntel
PROCESSOR_LEVEL=6
PROCESSOR_REVISION=0f06
ProgramFiles=C:\Program Files
PROMPT=$P$G
ReferenceAssemblies=C:\Program Files\Reference Assemblies\Microsoft\WinFX\v3.0
SdkTools=C:\Program Files\Microsoft SDKs\Windows\v6.0\Bin
SESSIONNAME=Console
SystemDrive=C:
SystemRoot=C:\WINDOWS
TARGETOS=WINNT
TEMP=C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp
TMP=C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp
USERDOMAIN=VATALE
USERNAME=Administrator
USERPROFILE=C:\Documents and Settings\Administrator
VS80COMNTOOLS=C:\Program Files\Microsoft Visual Studio 8\Common7\Tools\
windir=C:\WINDOWS


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