Boost logo

Boost-Build :

From: Reece Dunn (msclrhd_at_[hidden])
Date: 2005-10-03 03:01:43


Andre Melnikov has got some code to get x86_amd64 and x86_ia64
cross-compilers working (yay!) :) However, this is only part of the story...

VC8.0 also supports cross-compilers to Windows CE platforms via the
x86_arm, x86_cex86, x86_mips and x86_sh cross-compilers. Thus, you have:

using msvc : 8.0amd64
: "C:/Program Files/Microsoft Visual Studio
8/VC/bin/x86_amd64/cl.exe"
: <setup>"C:/Program Files/Microsoft Visual Studio
8/VC/bin/x86_amd64.bat"
<assembler>ml64.exe
;

using msvc : 8.0ia64
: "C:/Program Files/Microsoft Visual Studio
8/VC/bin/x86_ia64/cl.exe"
: <setup>"C:/Program Files/Microsoft Visual Studio
8/VC/bin/x86_ia64.bat"
<assembler>ias.exe
;

using msvc : 8.0arm
: "C:/Program Files/Microsoft Visual Studio
8/VC/CE/bin/x86_arm/cl.exe"
<setup>"C:/Program Files/Microsoft Visual Studio
8/VC/CE/bin/x86_arm.bat"
: <assembler>armasm.exe
;

using msvc : 8.0cex86
: "C:/Program Files/Microsoft Visual Studio
8/VC/CE/bin/x86_cex86/cl.exe"
;

using msvc : 8.0mips
: "C:/Program Files/Microsoft Visual Studio
8/VC/CE/bin/x86_mips/cl.exe"
: <assembler>mipsasm.exe
;

using msvc : 8.0sh
: "C:/Program Files/Microsoft Visual Studio
8/VC/CE/bin/x86_sh/cl.exe"
: <assembler>shasm.exe
;

VC7.1 has supported amd64 and ia64 versions with the PSDK release, so I
presume you could do something like:

using msvc : 7.1ia64 : ".../PlatformSDK/bin/ia64/cl.exe"
: "../ia64/vcvars.bat"
;

or whatever the setup is. I am not sure as I don't have a platform SDK
with ia64/amd64 support installed at present.

Also, there are support for embedded (WinCE) platforms in the form of
the embedded VC++ (i.e. version 6.0) compiler. Again, I am not sure
about how this is setup as I don't have an installed version to hand.

It would be nice, now that we have <architecture>, <address-model> and
<instruction-set> to allow using ... ; to be configurable by these, that
is, have:

using toolset : command * : setup * : properties * ;

where properties configure the toolset for some conditions, such as
<os>cygwin.

This would then allow for:

using msvc : 8.0 : ... : ... : <architecture>ia64 ;
etc.

We would need to add auto-detection/support for these in msvc.jam like
with Andre Melnikov's patch so that using msvc : 8.0 ; would register
all cross-compiler variants.

Also, the architecture feature needs to be extended to include arm and
sh. MIPS is already covered and I am not yet sure how the cex86 compiler
would be configured.

- Reece

 


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