blob: c9c904269704deb0eff4a918a2183f26956682ab [file] [log] [blame]
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