michael@0: STLport for Android michael@0: michael@0: WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING michael@0: WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING michael@0: michael@0: This feature is currently in beta. In case of issue michael@0: please contact the android-ndk support forum or michael@0: file bugs at http://b.android.com michael@0: michael@0: WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING michael@0: WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING michael@0: michael@0: This directory contains a port of STLport for Android, which provides michael@0: a simple STL implementation. Note that it currently does not support michael@0: C++ exceptions and RTTI. Support for wchar_t and locales is probably buggy. michael@0: michael@0: You can either use it as a static or shared library. michael@0: michael@0: 1/ The static library is recommended if you will only produce michael@0: one shared library for your project. All necessary STLport functions michael@0: will be added to it. This option should also generate smaller michael@0: overall binaries. michael@0: michael@0: 2/ The shared library, is recommended if you want to produce michael@0: several shared libraries in your project, because it avoids copying the michael@0: same STLport functions to each one of them, and having different instances michael@0: of the same global variables (which can easily conflict or result in michael@0: undefined behaviour). michael@0: michael@0: To use the *static* library, define APP_STL in your Application.mk as follows: michael@0: michael@0: APP_STL := stlport_static michael@0: michael@0: To use the *shared* library, use "stlport_shared" instead: michael@0: michael@0: APP_STL := stlport_shared michael@0: michael@0: Note that, in this case, you will need, in your application, to explicitely michael@0: load the 'stlport_shared' library before any library that depends on it. michael@0: For example: michael@0: michael@0: static { michael@0: System.loadLibrary("stlport_shared"); michael@0: System.loadLibrary("foo"); michael@0: System.loadLibrary("bar"); michael@0: } michael@0: michael@0: If both libfoo.so and libbar.so depend on STLport. michael@0: michael@0: You can build the STLport unit test program by doing the following: michael@0: michael@0: cd $NDK michael@0: tests/run-tests.sh --test=test-stlport michael@0: michael@0: If you have an Android device connected to your machine, this will michael@0: automatically try to run the generated test command. Note that for now michael@0: a few tests are still failing (mostly related to wchar_t and locales). michael@0: michael@0: They should be fixed hopefully by a later release of this library. michael@0: michael@0: The NDK comes with prebuilt binaries for this library to speed up development. michael@0: You can however rebuild them from sources in your own application build by michael@0: defining STLPORT_FORCE_REBUILD to 'true' in your Application.mk as in: michael@0: michael@0: STLPORT_FORCE_REBUILD := true michael@0: michael@0: michael@0: VERSION INFORMATION: This module is based on STLport version 5.2.0 michael@0: