List Info

Thread: Re: msvc on AMD64 support




Re: msvc on AMD64 support
country flaguser name
Russian Federation
2007-07-27 11:41:45
On Sunday 14 January 2007 09:33:31 David Abrahams wrote:

> The main issue was that I couldn't get the compiler to
> build with the "/favor x86_amd64" option

Is there even such option? There's /favor:AMD64, it is
supposed
to be passed if you specify <instruction-set>opteron,
and in any
case it only controls what processor the binary will be
optimized to.
It does not control 64-bit code generation.

> , even if I specified 
> address-model=64 and instruction-set=opteron.  I had
the problem with
> any of the following lines in user-config.jam:
> 
>     using msvc ;
>     using msvc : default ;
>     using msvc : all ;
>     using msvc : 8.0 ;
>     using msvc : 8.0 : cl ;
>     using msvc : default : "c:\Program Files
(x86)\Microsoft Visual Studio 8\VC\BIN\amd64\cl" 
> 
> Both with and without cl in the path.
......
> When I'm not passing anything for the
"command" parameter, the
> "command" variable remains empty after
> 
>         # If version is specified, we try to search
first in default paths,
>         # and only then in PATH.
>         command = [ common.get-invocation-command msvc
: cl.exe : $(command)
>           : [ default-paths $(version) ] : $(version) ]
;


It is highly unlikely for this to return nothing if cl.exe
in in PATH. Are you sure
that's the case?

> In any case, even when I passed
> "c:\Program Files (x86)\Microsoft Visual Studio
8\VC\BIN\amd64\cl" 
> as the command parameter, there was trouble.  Because I
wasn't
> explicitly passing <setup> through my
"using" command, it once again
> couldn't get into the block where the setup-option was
set to
> x86_amd64.  

Do you have a binary called

	"c:\Program Files (x86)\Microsoft Visual Studio
8\VC\BIN\cl.exe"

Can you list all binaries called "cl.exe" in your
VCBIN directory?

> Ultimately, in order to get 64-bit builds, I needed  
> 
>   msvc.configure 8.0 : "<command>c:\Program
Files (x86)\Microsoft Visual Studio
8\VC\BIN\amd64\cl" 
>   "<setup>C:\Program Files (x86)\Microsoft
Visual Studio 8\VC\vcvarsall.bat" ; 
> 
> in my user-config.jam to get it to build 64-bit
binaries, when all of
> this stuff should have been auto-detected...
> 
> ...and there's still a problem, because it's using a
slow 32-bit
> binary instead of a 64-bit binary on my 64-bit machine.
 

How did you identify that?

- Volodya
_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost-build

Re: msvc on AMD64 support
country flaguser name
United States
2007-07-27 13:03:27
on Fri Jul 27 2007, Vladimir Prus <ghost-AT-cs.msu.su>
wrote:

> On Sunday 14 January 2007 09:33:31 David Abrahams
wrote:
>
>> The main issue was that I couldn't get the compiler
to
>> build with the "/favor x86_amd64" option
>
> Is there even such option? 

I think I got that from
htt
p://msdn2.microsoft.com/en-us/library/x4d2c09s(VS.80).as
px
and maybe I was talking about which option got passed to
vcvarsall.bat

>> , even if I specified 
>> address-model=64 and instruction-set=opteron.  I
had the problem with
>> any of the following lines in user-config.jam:
>> 
>>     using msvc ;
>>     using msvc : default ;
>>     using msvc : all ;
>>     using msvc : 8.0 ;
>>     using msvc : 8.0 : cl ;
>>     using msvc : default : "c:\Program Files
(x86)\Microsoft Visual Studio 8\VC\BIN\amd64\cl" 
>> 
>> Both with and without cl in the path.
> ......
>> When I'm not passing anything for the
"command" parameter, the
>> "command" variable remains empty after
>> 
>>         # If version is specified, we try to search
first in default paths,
>>         # and only then in PATH.
>>         command = [ common.get-invocation-command
msvc : cl.exe : $(command)
>>           : [ default-paths $(version) ] :
$(version) ] ;
>
>
> It is highly unlikely for this to return nothing if
cl.exe in in PATH. Are you sure
> that's the case?

No, it's not... and why should it be?  The registry knows
where VS is
installed and IIRC our toolset tries to use that
information.

>> In any case, even when I passed
>> "c:\Program Files (x86)\Microsoft Visual
Studio 8\VC\BIN\amd64\cl" 
>> as the command parameter, there was trouble. 
Because I wasn't
>> explicitly passing <setup> through my
"using" command, it once again
>> couldn't get into the block where the setup-option
was set to
>> x86_amd64.  
>
> Do you have a binary called
>
> 	"c:\Program Files (x86)\Microsoft Visual Studio
8\VC\BIN\cl.exe"
>
> Can you list all binaries called "cl.exe" in
your VCBIN directory?

I'm not near my machine right now and it's not convenient
for me.
IIRC you have access to that machine and can look yourself.

>> Ultimately, in order to get 64-bit builds, I needed
 
>> 
>>   msvc.configure 8.0 :
"<command>c:\Program Files (x86)\Microsoft
Visual Studio 8\VC\BIN\amd64\cl" 
>>   "<setup>C:\Program Files
(x86)\Microsoft Visual Studio 8\VC\vcvarsall.bat" ;

>> 
>> in my user-config.jam to get it to build 64-bit
binaries, when all of
>> this stuff should have been auto-detected...
>> 
>> ...and there's still a problem, because it's using
a slow 32-bit
>> binary instead of a 64-bit binary on my 64-bit
machine.  
>
> How did you identify that?

It's been 7 months; I don't remember.

-- 
Dave Abrahams
Boost Consulting
http://www.boost-cons
ulting.com

The Astoria Seminar ==> http://www.astoriasemin
ar.com
_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost-build

[1-2]

about | contact  Other archives ( Real Estate discussion Medical topics )