Boost logo

Boost Users :

Subject: Re: [Boost-users] setup question
From: Steven Watanabe (watanabesj_at_[hidden])
Date: 2010-03-19 18:56:41


AMDG

Rick Boesch wrote:
> Hello all -- looking for a small bit of guidance please. I'm building a 64bit Boost library from scratch. I'm fairly sure I did almost everything correctly, but would like to check one nagging detail. My system is Windows 7, Visual Studio 2005 and I'm building for 64 bit, specifically AMD64.
>
> I believe bjam.exe built correctly because my path was set up properly for the x64 toolset and bjam.exe was deposited in the auto-generated directory BOOST_ROOT\tools\jam\src\bin.ntx86_64. To do this, I ran "build vc8" on the command line.
>
> My question concerns the use of bjam along with the "using" instruction in the ...\V2\user-config.jam file. I set the "using" instruction to be
>
> using msvc : 8.0 : cl : <setup-amd64>vcvarsall ;
>
> and my command line is
>
> bjam address-model=64 --build-dir="C:\Program Files\boost\boost_1_42_0\boost-build" --build-type=complete stage
>
> I built two different ways:
>
> 1) In a virgin cmd window -- which is not set up for 64 bit tools by default -- I ran vcvarsall manually on the command line (with no args, I set it up to default to setting up 64 bit), which sets up my 64 bit environment and which I have echo to the screen "AMD64 env" for confirmation. I confirmed I was then defaulting to the correct "cl", etc., and then executed in BOOST_ROOT the bjam command line above. I have yet to test the output, but it seemed to work.
>
> 2) In another virgin cmd window, I cd'd to BOOST_ROOT and executed ONLY the bjam command line above. According to the documentation for the "using" instruction, the batch file vcvarsall (which is in my default PATH) is supposed to be called before any tools are used, but I never saw "AMD64 env" echoed to the screen, nor to a .log file which I piped to in order to make sure I didn't miss anything. Yet, bjam created an output tree containing various "address-model-64" directories. When I checked my PATH after the build, it did not contain the paths that vcvarsall is supposed to set up.
>

The environment setup the Boost.Build does is local to each command.

> Question: In scenario (2) above, vcvarsall clearly did not run in my cmd session, but did bjam run it in some internally generated shell? If no, why not (did I do something incorrectly)? If yes, is this why I didn't see my echo confirmation?

You can run bjam -a -n <other options> to see the commands that
Boost.Build actually runs.

> So I'm wondering if I have a 64 bit build or not -- and I prefer scenario (2) to scenario (1)!
>

In Christ,
Steven Watanabe

P.S. The timestamp on this message was 2004.


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net