Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
The Boost C++ Libraries
C++ C Python Assembly C# XSLT Other
Branch: 1_48_0-dinkum
Pull request Compare This branch is 21 commits ahead, 50 commits behind 1_48_0-gnu.
Failed to load latest commit information.
boost Port patch made on boost's trunk to fix crashes in ICU interface tests
doc Fix for PR 155594 - Multiple incorrect use of strncat() in Boost libr…
include Add JSON parser from Property Tree to list of ported headers
libs Move libraries that should be dynamically linked after the static ones
more Vanilla boost 1.48.0
rim-build Fix quoting of CPULIST and pass "-j 4" to make
rim-test Remove libfiles-arm-static.list as it is not used now
status Vanilla boost 1.48.0
tools More fixes to address PR 155594
.gitignore Ignore *.gcno, .cproject and .project files in Git
INSTALL Vanilla boost 1.48.0
Jamroot Vanilla boost 1.48.0
LICENSE_1_0.txt Vanilla boost 1.48.0
Makefile Run make on include dir last
README.md Format the build-rmake command like the others in the README
blackberry-armv7le-config.jam Remove -D_LITTLE_ENDIAN from compilation flags for bjam build
blackberry-x86-config.jam Remove -D_LITTLE_ENDIAN from compilation flags for bjam build
boost-build.jam Vanilla boost 1.48.0
boost.css Vanilla boost 1.48.0
boost.png Vanilla boost 1.48.0
boostcpp.jam Vanilla boost 1.48.0
bootstrap.bat Vanilla boost 1.48.0
bootstrap.sh Fixed the build for Mac OS X 10.7
index.htm Vanilla boost 1.48.0
index.html Vanilla boost 1.48.0
rst.css Vanilla boost 1.48.0

README.md

Blackberry Port of Boost 1.48.0

Port of Boost to the BlackBerry 10 platform.

The source must be compiled to obtain the libraries (both static and dynamic are built). Package the libraries with your application because the Boost libraries will not be provided through the BlackBerry NDK.

Ported libraries:

  • Boost.Date_Time
  • Boost.Filesystem
  • Boost.Program_options
  • Boost.Random
  • Boost.Regex
  • Boost.System
  • Boost.Thread

Ported headers:

  • Listed in boost/include/headers.txt

Prerequisites

  • Blackberry Native SDK (NDK) for Tablet OS

Build Instructions

  1. Open a command prompt (building from Linux and Windows works; Mac has not been tested).
  2. Execute bbndk-env.bat or bbndk-env.sh from root of NDK install.
  3. Navigate to local boost repo.
  4. Run make. This will create libraries under each library's build directory, for example, the filesystem library is built under libs/filesystem/build for ARM and X86. For building the tests, the libraries need to be copied to a staging directory using the following command:

    make install INSTALL_ROOT_nto=<Path to boost repo>/rim-build/boost-stage
    

    Partial builds can be accomplished using the LIST tag found in the makefiles. For example, you could build debug ARM libraries by running this command:

    make CPULIST=arm VARIANTLIST=g
    

    Use make clean to clean the build.

  5. A shell script (rim-build/build-rmake.sh) can be used to do builds with INSTALL_ROOT_nto set as in step 4. For example, to do a build and install of debug ARM libraries, run the following command from the rim-build directory:

    ./build-rmake.sh -t install -c arm -d
    

Test Instructions

  1. Change to the rim-test directory.
  2. Run the build-tests.sh script which will invoke bjam on each test directory read from the test.list file. You can choose to skip some tests by commenting them out with a "#". The build script will build and attempt to run the tests. The test failures can be ignored since they aren't being run on a BB 10 device.
  3. The test binaries can either be copied over to a device in development mode (using scp) or the top-level boost directory can be NFS-mounted on the device. It will be easier to recompile and rerun tests with the latter setup but some of the filesystem tests may fail due to issues with NFS. NFS setup instructions are below.
  4. To run the tests, go to /accounts/devuser/boost and run the run-tests.sh script:

    ./run-tests.sh <arm|x86> 2> run.err > run.out &
    

    Use the tail command to observe the progress of the tests, e.g. tail -f run.out.

NFS setup for Ubuntu Linux and PlayBook over USB (optional)

  1. On your Linux machine, obtain the packages to install the NFS server:

    sudo apt-get install nfs-kernel-server nfs-common portmap
    
  2. Edit the NFS exports file as follows:

    sudo vi /etc/exports
    
  3. Add the following line:

    <Path to boost repo> 169.254.0.1(rw,all_squash,async,insecure,no_subtree_check,anonuid=<UID>,anongid=<GID>)
    
  4. Make the NFS server reread the configuration:

    sudo service nfs-kernel-server reload
    
  5. On the PlayBook, issue the following command to mount the NFS-exported directory:

    fs-nfs3 169.254.0.2:<Path to boost repo on server> /accounts/devuser/boost
    

Repository Committers

Bug Reporting and Feature Requests

If you find a bug or have an enhancement request, simply file an Issue and send a message (via github messages) to the Committers to the project to let them know that you have filed an Issue.

Disclaimer

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Something went wrong with that request. Please try again.