1 STLport for Android 2 3 WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING 4 WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING 5 6 This feature is currently in beta. In case of issue 7 please contact the android-ndk support forum or 8 file bugs at http://b.android.com 9 10 WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING 11 WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING 12 13 This directory contains a port of STLport for Android, which provides 14 a simple STL implementation. Note that it currently does not support 15 C++ exceptions and RTTI. Support for wchar_t and locales is probably buggy. 16 17 You can either use it as a static or shared library. 18 19 1/ The static library is recommended if you will only produce 20 one shared library for your project. All necessary STLport functions 21 will be added to it. This option should also generate smaller 22 overall binaries. 23 24 2/ The shared library, is recommended if you want to produce 25 several shared libraries in your project, because it avoids copying the 26 same STLport functions to each one of them, and having different instances 27 of the same global variables (which can easily conflict or result in 28 undefined behaviour). 29 30 To use the *static* library, do the following: 31 32 a. Add 'stlport_static' to your module's LOCAL_STATIC_LIBRARIES 33 variable. 34 35 b. At the end of your Android.mk, import the module with: 36 37 $(call import-module,android/stlport) 38 39 40 To use the *shared* library, do the following: 41 42 a. Add 'stlport_shared' to your module's LOCAL_SHARED_LIBRARIES 43 variable. 44 45 b. At the end of your Android.mk, import them module with 46 the same line described above for the static case. 47 48 Note that you will need, in your application, to explicitely load 49 the 'stlport_shared' library before any library that depends on it. 50 For example: 51 52 static { 53 System.loadLibrary("stlport_shared"); 54 System.loadLibrary("foo"); 55 System.loadLibrary("bar"); 56 } 57 58 If both libfoo.so and libbar.so depend on STLport. 59 60 You can build the STLport unit test program by doing the following: 61 62 cd $NDK/sources/android/stlport/test 63 $NDK/ndk-build 64 65 This generates a standalone executable under libs/armeabi/test_stlport. 66 Note that it must be run in a writable directory (it needs to write then 67 read a few files). Here's an example on how to run it: 68 69 adb push libs/armeabi/test_stlport /data/local/ 70 adb shell chmod 755 /data/local/test_stlport 71 adb shell 'cd /data/local; test_stlport' 72 73 Note that a few unit tests fail at the moment, they should hopefully 74 fixed in a later release of this library. 75 76 VERSION INFORMATION: This module is based on STLport version 5.x.y (TODO) 77 78