README
1 This directory contains support files to build libc++ with
2 the Android NDK for ARM, x86 and MIPS.
3
4 You need a recent NDK release, one which provides a version
5 of the GAbi++ C++ runtime that supports rtti _and_ exceptions.
6
7 Build instructions:
8
9 1/ Set NDK to the path of a recent Android NDK install path
10 (Use Android NDK r8c or above), e.g.:
11
12 NDK=$HOME/android/ndk-r8c
13
14 2/ From the top-level directory, do:
15
16 $NDK/ndk-build -C android/test
17
18 This is actually equivalent to:
19
20 cd android/test
21 $NDK/ndk-build
22
23 3/ To see build commands, use V=1, as in:
24
25 $NDK/ndk-build -C android/test V=1
26
27
28 Android support files:
29
30 include/support/android:
31 Android system header wrappers, to add missing declarations
32
33 src/support/android:
34 Put the implementation of the missing system functions here.
35
36 android/llvm-libc++/Android.mk:
37 Main build file for the library. This builds one static and
38 one shared version of the library.
39
40 If modifications are not obvious, read $NDK/docs/ANDROID-MK.html
41 for a description of the Android.mk format.
42
43 android/test/jni:
44 NDK build project for two test programs that link against the
45 static and shared versions of the library.
46
47 See the Android.mk and Application.mk files in this directory
48 if you want to add new test files.
49
50
51 Toolchain selection:
52 By default, ndk-build tries to build with GCC 4.6, however, experimental
53 versions of GCC 4.7 and Clang 3.1 are available with recent NDK releases.
54
55 Use the NDK_TOOLCHAIN_VERSION environment variable to switch to a
56 different one, valid examples:
57
58
59 export NDK_TOOLCHAIN_VERSION=4.6 # this is the default
60 $NDK/ndk-build -C android/test
61
62 # This is equivalent, but for GCC 4.7
63 $NDK/ndk-build -C android/test NDK_TOOLCHAIN_VERSION=4.7
64
65 # Also equivalent, but for Clang 3.1
66 NDK_TOOLCHAIN_VERSION=Clang3.1 $NDK/ndk-build -C android/test
67