Boost logo

Boost :

Subject: Re: [boost] Support for Android
From: Antony Polukhin (antoshkka_at_[hidden])
Date: 2014-01-21 14:21:33


2014/1/21 Vicente J. Botet Escriba <vicente.botet_at_[hidden]>

> Hi,
>
> I see that there are some trouble with Boost and Android:
>
> https://svn.boost.org/trac/boost/ticket/9082
>
>
> http://www.boost.org/development/tests/develop/developer/output/apolukhin-Android-boost-bin-v2-libs-chrono-test-arithmetic_pass_h-test-gcc-androiddebug-debug.html
>

I'm the Android tests runner from the second link. Let me describe the
situation with Android.

> Could someone state what is the Boost approach to support Android?

As far as I know the Boost approach is to support as many platforms as
possible.

> Should the user build with NDK r8e?

Android NDK gives an ability to compile for different Android API. Android
API is Linux kernel functions + libc functions + Java methods. So the
comment to the ticket (
https://svn.boost.org/trac/boost/ticket/9082#comment:1) is absolutely
right. User must compile for at least android-9 API.

NDK versions mainly differ in bugfixes and support for new Android API
levels. android-9 API is pretty old, so there must be no problems even with
older NDKs.

> Does bjam supports a specific android platform?
>

Yes and no. Static libraries can be easily build (just a correctly setupped
user-config.jam required). To build dynamic libraries bjam must be updated
(Android has no librt, librt is a part of libc in Android).

Currently I'm fixing scripts that run tests on Android emulator. This is
required for regression testing only, at work we successfully use Boost on
Android for more than a year. All the major patches for Android were
already applied to Boost libraries in last year. Scripts and
user-config.jam for regression testings can be found here:
https://github.com/apolukhin/regression_android

Nearest plans (for a month or two):
* finish the work with scripts
* successfully run tests on Android
* update the regression testing docs, adding a section about cross
compiling and running tests on emulator/remote device
* find someone who will agree to update bjam (there is a bunch of minor
issues)

-- 
Best regards,
Antony Polukhin

Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk