| This directory contains support files to build libc++ with |
| the Android NDK for ARM, x86 and MIPS. |
| |
| You need a recent NDK release, one which provides a version |
| of the GAbi++ C++ runtime that supports rtti _and_ exceptions. |
| |
| Build instructions: |
| |
| 1/ Set NDK to the path of a recent Android NDK install path |
| (Use Android NDK r8c or above), e.g.: |
| |
| NDK=$HOME/android/ndk-r8c |
| |
| 2/ From the top-level directory, do: |
| |
| $NDK/ndk-build -C android/test |
| |
| This is actually equivalent to: |
| |
| cd android/test |
| $NDK/ndk-build |
| |
| 3/ To see build commands, use V=1, as in: |
| |
| $NDK/ndk-build -C android/test V=1 |
| |
| |
| Android support files: |
| |
| include/support/android: |
| Android system header wrappers, to add missing declarations |
| |
| src/support/android: |
| Put the implementation of the missing system functions here. |
| |
| android/llvm-libc++/Android.mk: |
| Main build file for the library. This builds one static and |
| one shared version of the library. |
| |
| If modifications are not obvious, read $NDK/docs/ANDROID-MK.html |
| for a description of the Android.mk format. |
| |
| android/test/jni: |
| NDK build project for two test programs that link against the |
| static and shared versions of the library. |
| |
| See the Android.mk and Application.mk files in this directory |
| if you want to add new test files. |
| |
| |
| Toolchain selection: |
| By default, ndk-build tries to build with GCC 4.6, however, experimental |
| versions of GCC 4.7 and Clang 3.1 are available with recent NDK releases. |
| |
| Use the NDK_TOOLCHAIN_VERSION environment variable to switch to a |
| different one, valid examples: |
| |
| |
| export NDK_TOOLCHAIN_VERSION=4.6 # this is the default |
| $NDK/ndk-build -C android/test |
| |
| # This is equivalent, but for GCC 4.7 |
| $NDK/ndk-build -C android/test NDK_TOOLCHAIN_VERSION=4.7 |
| |
| # Also equivalent, but for Clang 3.1 |
| NDK_TOOLCHAIN_VERSION=Clang3.1 $NDK/ndk-build -C android/test |