Boost logo

Boost-Build :

Subject: [Boost-build] Build environment for building boost libraries for WindowsME 6
From: Benjamin Fabricius (benjamin.fabricius.leica_at_[hidden])
Date: 2012-08-14 06:32:41


Hello,

I had difficulties building some boost libraries (system, thread,
date_time, regex) I use in an API project for devices running Windows
Mobile 6 / Windows CE. As I found close to no information on how to get the
libs built for this platform and I struggled for a couple days to get this
working, I would like to share my build environment as a reference for
people with similar problems.

Kudos go to David Deakins who had posted a build environment from which I
got an initial idea of how to set up my environment (here
http://www.boost.org/development/tests/trunk/VeecoFTC.html).

Below I have included my *user-config.jam *and my environment setup batch
file* cesetup.bat*. I also enclosed a bit of info on host and target
systems used and the call i used to b2.exe.

*Build Info:*

   - Host OS: Windows 7 SP1 (32-bit)
   - Target OS: Windows Mobile Professional 6.1
   - Target CPU: Marvell PXA310 806MHz (ARMv5 XScale arch)
   - Toolset: msvc-9.0~wm6 using stdlib stlport-5.2.1~wm6 for arm
   - SW Versions used:
      - Boost v1.4.7
      - STLPort 5.2.1
      - Windows Mobile 6 SDK (for ARMv4I)

*user-config.jam:*

using msvc : 9.0~wm6 :
    "cl.exe" :
    <compileflags>-D_CRT_SECURE_NO_WARNINGS
    <compileflags>-D_STLP_USE_WINCE_CRT_FUNCTIONS
    <compileflags>-DUNDER_CE
    <compileflags>-DWINCE
    <compileflags>-D_WINDOWS
    <compileflags>-DUNICODE
    <compileflags>-D_UNICODE
    <compileflags>-D_WIN32
    <compileflags>-DWIN32_PLATFROM_PSPC
    <compileflags>-DARMV4I
    <compileflags>-D_ARMV4I_
    <compileflags>-Darmv4i
    <compileflags>-D_ARM_
    <compileflags>-DARM
    <compileflags>-D__arm__
    <compileflags>-DQ_OS_WINCE_WM
    <compileflags>-D_WIN32_WCE=0x502
    <compileflags>-Zm200
    <compileflags>-w34100
    <compileflags>-w34189
    <cxxflags>/QRarch4
    <cxxflags>/GL
    <linkflags>/INCREMENTAL:NO
    <linkflags>/NOLOGO
    <linkflags>/MANIFEST:NO
    <linkflags>/NODEFAULTLIB:"OLDNAMES.LIB"
    <linkflags>/DELAY:UNLOAD
    <linkflags>/SUBSYSTEM:WINDOWSCE,5.02
    <linkflags>/MACHINE:THUMB
    <linkflags>/ENTRY:mainACRTStartup
    <linkflags>/STACK:262144,4096
    <linkflags>coredll.lib
    <linkflags>corelibc.lib
    <linkflags>ole32.lib
    <linkflags>oleaut32.lib
    <linkflags>uuid.lib
    <linkflags>commctrl.lib
    <architecture>arm
    <interface>wince
    <setup>"C:/some/path/here/cesetup.bat"
;

using stlport : 5.2.1~wm6 :
    C:/some/path/here/stlport_5_2_1/stlport :
    C:/some/path/here/stlport_5_2_1/lib/evc9-wm6
;

*Environment setup cesetup.sh:*
*
*
@echo off
echo Environment Selection:Windows Mobile 6 Professional SDK (ARMV4I)
set PATH=C:\Program Files\Microsoft Visual Studio
9.0\VC\ce\bin\x86_arm;C:\Program Files\Microsoft Visual Studio
9.0\VC\bin;$(WindowsSdkDir)\bin;\Common7\Tools;\Common7\IDE;\Common\Tools;\Common\IDE;\;$(FrameworkSDKDir)Bin;%PATH%
set INCLUDE=C:\Program Files\Microsoft Visual Studio
9.0\VC\ce\include;C:\Program Files\Windows Mobile 6
SDK\PocketPC\include\ARMV4I;C:\Program Files\Windows Mobile 6
SDK\PocketPC\include;C:\Program Files\Microsoft Visual Studio
9.0\VC\ce\atlmfc\include;\SmartDevices\SDK\SQL Server\Mobile\v3.0
set LIB=C:\Program Files\Windows Mobile 6
SDK\PocketPC\lib\ARMV4I;C:\Program Files\Microsoft Visual Studio
9.0\VC\ce\atlmfc\lib\ARMV4I;C:\Program Files\Microsoft Visual Studio
9.0\VC\ce\lib\ARMV4I

*Command line:*
*
*
C:\some\path\boost_1_47_0>
b2 --debug--configuration --debug-building -d+2 \
variant=release toolset=msvc-9.0~wm6 \
stdlib=stlport-5.2.1~wm6
--with-system \
--with-thread \
--with-date_time \
--with-regex \
 stage

Hope this can help some people out there.
Greets,
Benjamin



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