Boost logo

Boost-Build :

Subject: Re: [Boost-build] boost build for Windows Mobile 2005
From: vassilux (v.gontcharov_at_[hidden])
Date: 2009-05-20 02:28:25


Hi Andy,
Thanks for your response
So I used user_config.jam from
http://beta.boost.org/development/tests/trunk/developer/summary.html as
base and modified for
my user-config_wm2005.jam like follow :

using msvc : 8.0~wm5~stlport5.2 :
"C:/Program Files/Microsoft Visual Studio 8/VC/ce/bin/x86_arm/cl.exe" :
<compileflags>-D_CRT_SECURE_NO_WARNINGS
<compileflags>-DBOOST_PROTO_MAX_ARITY=10
<compileflags>-DBOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
<compileflags>-DBOOST_MPL_LIMIT_METAFUNCTION_ARITY=10
<compileflags>-D_WIN32_WCE=0x501
<compileflags>-DUNDER_CE
<compileflags>-DWIN32_WCE_PSPC
<compileflags>-DWINCE
<compileflags>-DARM
<compileflags>-D_ARM_
<compileflags>-D_UNICODE
<compileflags>-DUNICODE
<compileflags>-DARMV4I
<linkflags>/subsystem:windowsce,5.01
<linkflags>/machine:THUMB
<linkflags>/NODEFAULTLIB:oldnames.lib
<linkflags>/NODEFAULTLIB:libc.lib
<linkflags>/STACK:262144,4096
<linkflags>coredll.lib
<linkflags>corelibc.lib
<linkflags>ole32.lib
<linkflags>oleaut32.lib
<linkflags>uuid.lib
<linkflags>commctrl.lib
<setup>"C:/Program Files/boost/VSVars32-VC8-WM5.bat" ;

using stlport : 5.2~evc8~arm :
C:/libsCpp/STLport-5.2.1/stlport
C:/libsCpp/STLport-5.2.1/lib/evc8-arm
C:/libsCpp/STLport-5.2.1/bin/evc8-arm ;

so I used VSVars-VC8-WM5.bat for initialize environment variables , it
is inspired from
http://www.nabble.com/The-state-of-WCE-support-in-Boost-td19043862.html,

@set VS8INSTALLDIR=C:/Program Files/Microsoft Visual Studio 8
@set BOOST_BUILD_PATH=C:/Program Files/boost/boost_1_39_0
@set BOOST_ROOT=C:/Program Files/boost/boost_1_39_0
@set BOOST_BUILD_USER_CONFIG=C:/Program Files/boost/user-config_wm2005.jam

@SET VCINSTALLDIR=%VS8INSTALLDIR%/VC
@if "%VS8INSTALLDIR%"=="" goto error_no_VSINSTALLDIR
@if "%VCINSTALLDIR%"=="" goto error_no_VCINSTALLDIR

@set CETOOLS=C:/Program Files/Windows CE Tools/wce500
@set STLPORT_PATH=C:/libsCpp/STLport-5.2.1

@echo Setting environment for using Microsoft Visual Studio 2008 tools
for WM5.
@set TARGETCPU=x86

@call :GetWindowsSdkDir

@if not "%WindowsSdkDir%" == "" (
        set "PATH=%WindowsSdkDir%bin;%PATH%"
)

@rem
@rem Root of Visual Studio IDE installed files.
@rem
@set DevEnvDir=%VS8INSTALLDIR%/Common7/IDE

@set
PATH=%VCINSTALLDIR%/CE/bin/x86_arm;%VCINSTALLDIR%/bin;%VS8INSTALLDIR%/Common7/Tools;%DevEnvDir%;%VS8INSTALLDIR%/Common/Tools;%VS8INSTALLDIR%/Common/IDE;%VS8INSTALLDIR%;%PATH%
@set
INCLUDE=%STLPORT_PATH%/stlport;%VCINSTALLDIR%/ce/include;%CETOOLS%/Windows
Mobile 5.0 Pocket PC SDK/include/ARMV4I;%CETOOLS%/Windows Mobile 5.0
Pocket PC SDK/include;%VCINSTALLDIR%/ce/atlmfc/include
@set LIB=%STLPORT_PATH%/lib/evc8-arm;%CETOOLS%/Windows Mobile 5.0 Pocket
PC
SDK/lib/ARMV4I;%VCINSTALLDIR%/ce/ATLMFC/LIB/ARMV4I;%VCINSTALLDIR%/ce/LIB/ARMV4I
@set LIBPATH=

@goto end

:GetWindowsSdkDir
@call :GetWindowsSdkDirHelper HKLM > nul 2>&1
@if errorlevel 1 call :GetWindowsSdkDirHelper HKCU > nul 2>&1
@if errorlevel 1 set WindowsSdkDir=%VCINSTALLDIR%/PlatformSDK/
@exit /B 0

:GetWindowsSdkDirHelper
@for /F "tokens=1,2*" %%i in ('reg query
"%1/SOFTWARE/Microsoft/Microsoft SDKs/Windows" /v
"CurrentInstallFolder"') DO (
        if "%%i"=="CurrentInstallFolder" (
                SET "WindowsSdkDir=%%k"
        )
)
@if "%WindowsSdkDir%"=="" exit /B 1
@exit /B 0

:error_no_VSINSTALLDIR
@echo ERROR: VS8INSTALLDIR variable is not set.
@goto end

:error_no_VCINSTALLDIR
@echo ERROR: VCINSTALLDIR variable is not set.
@goto end

:end

@SET VCINSTALLDIR=%VS8INSTALLDIR%/VC
@SET FrameworkDir=C:/WINDOWS/Microsoft.NET/Framework
@SET FrameworkVersion=v2.0.50727
@SET Framework35Version=v3.5
@if "%VS8INSTALLDIR%"=="" goto error_no_VSINSTALLDIR
@if "%VCINSTALLDIR%"=="" goto error_no_VCINSTALLDIR

@echo Setting environment for using Microsoft Visual Studio 2008 x86
tools with STLport-5.2.1.

@call :GetWindowsSdkDir

@if not "%WindowsSdkDir%" == "" (
        set "PATH=%WindowsSdkDir%bin;%PATH%"
        set "INCLUDE=%WindowsSdkDir%include;%INCLUDE%"
        set "LIB=%WindowsSdkDir%lib;%LIB%"
)

But I can't build it and here errors :
C:\Program Files\boost>bjam --without-mpi --without-python link=shared
threading=multi stage toolset=msvc-8.0~wm5~stlport5.2
stdlib=stlport-5.2~evc8~arm --build-type=complete
notice: could not find main target stage
notice: assuming it is a name of file to create.
C:/Program
Files/boost/boost_1_39_0/tools/build/v2/build\project.jam:731: in attribute
warning: rulename $($(project).attributes).get expands to empty string
C:/Program
Files/boost/boost_1_39_0/tools/build/v2/build\project.jam:743: in
project.target
C:/Program Files/boost/boost_1_39_0/tools/build/v2\build-system.jam:687:
in load
C:\Program
Files\boost\boost_1_39_0\tools\build\v2/kernel\modules.jam:283: in import
C:\Program
Files\boost\boost_1_39_0\tools\build\v2\kernel\bootstrap.jam:138: in
boost-build
C:\Program Files\boost\boost_1_39_0\boost-build.jam:16: in module scope
C:/Program
Files/boost/boost_1_39_0/tools/build/v2/build\project.jam:731: in
project.attribute
warning: rulename $($(project).attributes).get expands to empty string
C:/Program
Files/boost/boost_1_39_0/tools/build/v2/build\targets.jam:206: in
object(project-target)@40.__init__
C:/Program Files/boost/boost_1_39_0/tools/build/v2/kernel\class.jam:88:
in new
C:/Program
Files/boost/boost_1_39_0/tools/build/v2/build\project.jam:743: in
project.target
C:/Program Files/boost/boost_1_39_0/tools/build/v2\build-system.jam:687:
in load
C:\Program
Files\boost\boost_1_39_0\tools\build\v2/kernel\modules.jam:283: in import
C:\Program
Files\boost\boost_1_39_0\tools\build\v2\kernel\bootstrap.jam:138: in
boost-build
C:\Program Files\boost\boost_1_39_0\boost-build.jam:16: in module scope
C:/Program
Files/boost/boost_1_39_0/tools/build/v2/build\project.jam:731: in
project.attribute
warning: rulename $($(project).attributes).get expands to empty string
C:/Program
Files/boost/boost_1_39_0/tools/build/v2/build\targets.jam:226: in get
C:/Program
Files/boost/boost_1_39_0/tools/build/v2/build\targets.jam:288: in
targets-to-build
C:/Program
Files/boost/boost_1_39_0/tools/build/v2/build\targets.jam:256: in
object(project-target)@40.generate
C:/Program Files/boost/boost_1_39_0/tools/build/v2\build-system.jam:700:
in load
C:\Program
Files\boost\boost_1_39_0\tools\build\v2/kernel\modules.jam:283: in import
C:\Program
Files\boost\boost_1_39_0\tools\build\v2\kernel\bootstrap.jam:138: in
boost-build
C:\Program Files\boost\boost_1_39_0\boost-build.jam:16: in module scope
C:/Program
Files/boost/boost_1_39_0/tools/build/v2/build\project.jam:731: in
project.attribute
warning: rulename $($(project).attributes).get expands to empty string
C:/Program
Files/boost/boost_1_39_0/tools/build/v2/build\targets.jam:226: in get
C:/Program
Files/boost/boost_1_39_0/tools/build/v2/build\targets.jam:289: in
targets-to-build
C:/Program
Files/boost/boost_1_39_0/tools/build/v2/build\targets.jam:256: in
object(project-target)@40.generate
C:/Program Files/boost/boost_1_39_0/tools/build/v2\build-system.jam:700:
in load
C:\Program
Files\boost\boost_1_39_0\tools\build\v2/kernel\modules.jam:283: in import
C:\Program
Files\boost\boost_1_39_0\tools\build\v2\kernel\bootstrap.jam:138: in
boost-build
C:\Program Files\boost\boost_1_39_0\boost-build.jam:16: in module scope
don't know how to make <e>stage
...found 1 target...
...can't find 1 target...

Any idea ?
Thanks

Andy Schweitzer a écrit :
>
> vassilux wrote:
>> Hi alls,
>> I'm planing to use boost:asio in my Windows Mobile application.
>> Target WM's OS is 2005.
>> So I seek some information about build boost 1.39.0 for Windows
>> Mobile 2005 with VS2005.
>> I built stlport 5.2.1 for WM2005 without boost support.
>> Thanks for your help
>>
>> _______________________________________________
>> Unsubscribe & other changes:
>> http://lists.boost.org/mailman/listinfo.cgi/boost-build
>>
>
> I'm trying ASIO with CE myself and haven't yet succeeded, although I
> believe it is possible.
>
> The boost version of asio depends on boost.system, so if you use the
> boost version of asio, you will have to build boost.system for CE. I
> believe the non-boost version of asio, available on asio website, does
> not depend on boost.system. I think one of its design goals was to be
> header-only.
>
> I did manage to get boost.system to build for CE, although I haven't
> actually run anything with it yet.
>
> This link:
> http://www.boost.org/development/tests/trunk/VeecoFTC.html
>
> contains modifications you can make to your user-config.jam. Those
> require batch files which can be found here:
>
> news://news.gmane.org:119/guqriq$30j$1@ger.gmane.org
>
>
> I haven't actually tried that batch file yet, I made my own before I
> had it.
>
> See this thread:
> news://news.gmane.org:119/guqs5s$44g$1@ger.gmane.org
>
> for a little information on what is missing in CE.
>
> For boost.system to build I had to add a stub strerror function:
> inline
> char * strerror (int errnum)
> {
> return NULL;
> }
>
> to stlport/cstring, at about line 20. Of course, a real implementation
> would be better!
>
> _______________________________________________
> Unsubscribe & other changes:
> http://lists.boost.org/mailman/listinfo.cgi/boost-build
>
>


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