Boost logo

Boost-Build :

Subject: Re: [Boost-build] cross compiling
From: Larry E. Ramey (hydrajak_at_[hidden])
Date: 2012-10-15 17:44:17


Yes, that works...... but not quite. It seems like the problem is now, vcvars.bat is getting called with the wrong paramaters. Here is my standard VS2012  b2.exe run with --debug-configuration set: c:\try2\boost_1_51_0>b2.exe toolset=msvc link=shared threading=multi --without-context --debug-configuration notice: found boost-build.jam at C:/try2/boost_1_51_0/boost-build.jam notice: loading Boost.Build from C:/try2/boost_1_51_0/tools/build/v2 notice: Searching C:\WINDOWS C:\Users\c_lramey C:\Users\c_lramey C:\try2\boost_1_51_0\tools/build/v2 C:/try2/boost_1_51_0/tools/build/v2/kernel C:/try2/boost_1_51_0/tools/build/v2/util C:/try2/boost_1 _51_0/tools/build/v2/build C:/try2/boost_1_51_0/tools/build/v2/tools C:/try2/boost_1_51_0/tools/build/v2/contrib C:/try2/boost_1_51_0/tools/build/v2/. for site-config configuration file site-config.ja m . notice: Loading site-config configuration file site-config.jam from C:/try2/boost_1_51_0/tools/build/v2/site-config.jam . notice: Searching C:\Users\c_lramey C:\Users\c_lramey C:\try2\boost_1_51_0\tools/build/v2 C:/try2/boost_1_51_0/tools/build/v2/kernel C:/try2/boost_1_51_0/tools/build/v2/util C:/try2/boost_1_51_0/tools /build/v2/build C:/try2/boost_1_51_0/tools/build/v2/tools C:/try2/boost_1_51_0/tools/build/v2/contrib C:/try2/boost_1_51_0/tools/build/v2/. for user-config configuration file user-config.jam . notice: Loading user-config configuration file user-config.jam from C:/try2/boost_1_51_0/tools/build/v2/user-config.jam . notice: Searching  for project-config configuration file project-config.jam . notice: Loading project-config configuration file project-config.jam from project-config.jam . notice: [msvc-cfg] msvc-11.0 detected, command: 'C:\program files (x86)\Microsoft Visual Studio 11.0\VC\bin\cl.exe' notice: [msvc-cfg] msvc-10.0 detected, command: 'C:\program files (x86)\Microsoft Visual Studio 10.0\VC\bin\cl.exe' notice: will use 'cl.exe' for msvc, condition <toolset>msvc-arm notice: [msvc-cfg] condition: '<toolset>msvc-arm/<architecture>/<address-model>', setup: 'call "C:\program files (x86)\Microsoft Visual Studio 11.0\VC\vcvarsall.bat" x86 >nul ' notice: [msvc-cfg] condition: '<toolset>msvc-arm/<architecture>/<address-model>32', setup: 'call "C:\program files (x86)\Microsoft Visual Studio 11.0\VC\vcvarsall.bat" x86 >nul ' notice: [msvc-cfg] condition: '<toolset>msvc-arm/<architecture>x86/<address-model>', setup: 'call "C:\program files (x86)\Microsoft Visual Studio 11.0\VC\vcvarsall.bat" x86 >nul ' notice: [msvc-cfg] condition: '<toolset>msvc-arm/<architecture>x86/<address-model>32', setup: 'call "C:\program files (x86)\Microsoft Visual Studio 11.0\VC\vcvarsall.bat" x86 >nul ' notice: [msvc-cfg] condition: '<toolset>msvc-arm/<architecture>/<address-model>64', setup: 'call "C:\program files (x86)\Microsoft Visual Studio 11.0\VC\vcvarsall.bat" x86_amd64 >nul ' notice: [msvc-cfg] condition: '<toolset>msvc-arm/<architecture>x86/<address-model>64', setup: 'call "C:\program files (x86)\Microsoft Visual Studio 11.0\VC\vcvarsall.bat" x86_amd64 >nul ' notice: [msvc-cfg] condition: '<toolset>msvc-arm/<architecture>ia64/<address-model>', setup: 'call "C:\program files (x86)\Microsoft Visual Studio 11.0\VC\vcvarsall.bat" x86_ia64 >nul ' notice: [msvc-cfg] condition: '<toolset>msvc-arm/<architecture>ia64/<address-model>64', setup: 'call "C:\program files (x86)\Microsoft Visual Studio 11.0\VC\vcvarsall.bat" x86_ia64 >nul ' notice: [cmdline-cfg] Detected command-line request for msvc: toolset= msvc version= I think the important stuff is what I put in red: Note that its using toolset msvs-arm, that is due to my project-config.jam and really isn't relavent except to get the build products into their own directory. The point being, a perfectly LEGAL way to invoke vsvars.bat is c:\path\vsvars.bat arm >nul I need to get that option into the matrix. It seems to me that msvc.jam around the setup-command stuff is the place to be working.... but I guess its not a clear case of "if-then". It is reading variables from somewhere else and manufacturing a command line. Larry ________________________________ From: Jürgen Hunold <jhunold_at_gmx.eu> To: Larry E. Ramey <hydrajak_at_[hidden]>; Boost.Build developer's and user's list <boost-build_at_[hidden]> Sent: Monday, October 15, 2012 2:56 PM Subject: Re: [Boost-build] cross compiling Hi Larry, On Monday, 15. October 2012 13:38:26 Larry E. Ramey wrote: > So that in fact does seem to attempt a cross compile, except that b2 rejects > it because its not a legal combo. > > > I am in C:\try2\boost_1_51_0\libs\context\build\Jamfile.v2 looking at the > combos and there isn't a > > "alias asm_context_sources" that corresponds to msvc and arm. > > I guess I'm not sure what to do here, I'm thinking I should make an entry, > but clearly there is some machine code involved in each of these rules and > I'm not exactly an assembly programer. Yes, this is Boost.Context missing assembler code for msvc +arm. You can try to avoid build Boost.Context by adding "--without-context" to your command line. I fear that Boost.Context has opened up a can of worms which these lots of different assembler files. Yours, Jürgen -- * Dipl.-Math. Jürgen Hunold  ! * voice: ++49 4257 300      ! Fährstraße 1 * fax  : ++49 4257 300      ! 31609 Balge/Sebbenhausen * jhunold_at_gmx.eu            ! Germany



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