INSTALL.html revision f78e926710927bb3f90b9ac3f97b6acec9357041
148ef1859ef0bb25547e5aceeedb9b175c6193bc5David 'Digit' TurnerAndroid NDK Installation
248ef1859ef0bb25547e5aceeedb9b175c6193bc5David 'Digit' Turner
348ef1859ef0bb25547e5aceeedb9b175c6193bc5David 'Digit' TurnerIntroduction:
448ef1859ef0bb25547e5aceeedb9b175c6193bc5David 'Digit' Turner-------------
548ef1859ef0bb25547e5aceeedb9b175c6193bc5David 'Digit' Turner
648ef1859ef0bb25547e5aceeedb9b175c6193bc5David 'Digit' TurnerPlease read docs/OVERVIEW.TXT to understand what the Android NDK is and is not.
748ef1859ef0bb25547e5aceeedb9b175c6193bc5David 'Digit' TurnerThis file gives instructions on how to properly setup your NDK.
848ef1859ef0bb25547e5aceeedb9b175c6193bc5David 'Digit' Turner
948ef1859ef0bb25547e5aceeedb9b175c6193bc5David 'Digit' Turner
1048ef1859ef0bb25547e5aceeedb9b175c6193bc5David 'Digit' TurnerI. Requirements:
1148ef1859ef0bb25547e5aceeedb9b175c6193bc5David 'Digit' Turner----------------
1248ef1859ef0bb25547e5aceeedb9b175c6193bc5David 'Digit' Turner
1348ef1859ef0bb25547e5aceeedb9b175c6193bc5David 'Digit' TurnerThe Android NDK currently requires a Linux, OS X or Windows host operating system.
14f78e926710927bb3f90b9ac3f97b6acec9357041David 'Digit' Turner
15f78e926710927bb3f90b9ac3f97b6acec9357041David 'Digit' TurnerWindows users will need to install Cygwin 1.7 or later (http://www.cygwin.com) to
16f78e926710927bb3f90b9ac3f97b6acec9357041David 'Digit' Turneruse the NDK. Note that running it under MSys is not supported. Running under the
17f78e926710927bb3f90b9ac3f97b6acec9357041David 'Digit' Turnernow-obsolete Cygwin 1.5 has not been tested and might not work. Consider upgrading
18f78e926710927bb3f90b9ac3f97b6acec9357041David 'Digit' Turnerto 1.7 instead in case of problems.
1948ef1859ef0bb25547e5aceeedb9b175c6193bc5David 'Digit' Turner
2048ef1859ef0bb25547e5aceeedb9b175c6193bc5David 'Digit' TurnerYou will need to have the Android SDK and its dependencies installed. The NDK
2148ef1859ef0bb25547e5aceeedb9b175c6193bc5David 'Digit' Turnercannot generate final application packages (.apk files), only the shared library
2248ef1859ef0bb25547e5aceeedb9b175c6193bc5David 'Digit' Turnerfiles that can go into them.
2348ef1859ef0bb25547e5aceeedb9b175c6193bc5David 'Digit' Turner
2448ef1859ef0bb25547e5aceeedb9b175c6193bc5David 'Digit' Turner
2548ef1859ef0bb25547e5aceeedb9b175c6193bc5David 'Digit' TurnerIMPORTANT:
2648ef1859ef0bb25547e5aceeedb9b175c6193bc5David 'Digit' Turner    The Android NDK can only be used to target system images using
2748ef1859ef0bb25547e5aceeedb9b175c6193bc5David 'Digit' Turner    the Cupcake (1.5) or later releases of the platform.
2848ef1859ef0bb25547e5aceeedb9b175c6193bc5David 'Digit' Turner
2948ef1859ef0bb25547e5aceeedb9b175c6193bc5David 'Digit' Turner    This is due to subtle toolchain and ABI related changed that make
3048ef1859ef0bb25547e5aceeedb9b175c6193bc5David 'Digit' Turner    it incompatible with 1.0 and 1.1 system images.
3148ef1859ef0bb25547e5aceeedb9b175c6193bc5David 'Digit' Turner
3225f47bc03dbe536d2fb4a231316a38a2d0a8ee59David 'Digit' TurnerThe NDK requires GNU Make 3.81 or later being available on your development
3348ef1859ef0bb25547e5aceeedb9b175c6193bc5David 'Digit' Turnersystem. Earlier versions of GNU Make might work but have not been tested.
3448ef1859ef0bb25547e5aceeedb9b175c6193bc5David 'Digit' Turner
3548ef1859ef0bb25547e5aceeedb9b175c6193bc5David 'Digit' TurnerYou can check this by running 'make -v' from the command-line. The output
3648ef1859ef0bb25547e5aceeedb9b175c6193bc5David 'Digit' Turnershould look like:
3748ef1859ef0bb25547e5aceeedb9b175c6193bc5David 'Digit' Turner
3848ef1859ef0bb25547e5aceeedb9b175c6193bc5David 'Digit' Turner    GNU Make 3.81
3948ef1859ef0bb25547e5aceeedb9b175c6193bc5David 'Digit' Turner    Copyright (C) 2006  Free Software Foundation, Inc.
4048ef1859ef0bb25547e5aceeedb9b175c6193bc5David 'Digit' Turner    ...
4148ef1859ef0bb25547e5aceeedb9b175c6193bc5David 'Digit' Turner
4248ef1859ef0bb25547e5aceeedb9b175c6193bc5David 'Digit' TurnerOn certain systems, GNU Make might be available through a different command like
4348ef1859ef0bb25547e5aceeedb9b175c6193bc5David 'Digit' Turner'gmake' or 'gnumake'. For these systems, replace 'make' by the appropriate command
44f78e926710927bb3f90b9ac3f97b6acec9357041David 'Digit' Turnerwhen invoking the NDK build system as described in the documentation. You might
45f78e926710927bb3f90b9ac3f97b6acec9357041David 'Digit' Turneralso want to define the GNUMAKE environment variable to point to it.
4648ef1859ef0bb25547e5aceeedb9b175c6193bc5David 'Digit' Turner
4725f47bc03dbe536d2fb4a231316a38a2d0a8ee59David 'Digit' TurnerThe NDK also requires a Nawk or GNU Awk executable being available on your
4825f47bc03dbe536d2fb4a231316a38a2d0a8ee59David 'Digit' Turnerdevelopment system. Note that the original 'awk' program doesn't implement
4925f47bc03dbe536d2fb4a231316a38a2d0a8ee59David 'Digit' Turnerthe 'match' and 'substr' functions used by the NDK build system.
5025f47bc03dbe536d2fb4a231316a38a2d0a8ee59David 'Digit' Turner
5148ef1859ef0bb25547e5aceeedb9b175c6193bc5David 'Digit' Turner
523ffa683dea8b68c97be013c1a7061888f49c1c72Xavier DucrohetII. Preparing your installation prebuilt cross-toolchain binaries:
530e3db4dad04bba1a6aed5ad15489999078d0361dDavid 'Digit' Turner------------------------------------------------------------------
5448ef1859ef0bb25547e5aceeedb9b175c6193bc5David 'Digit' Turner
5535f944d26f33fff3e59ab449c991b18260a5fa0bDavid 'Digit' TurnerPrevious releases required you to run the 'build/host-setup.sh' script to
5635f944d26f33fff3e59ab449c991b18260a5fa0bDavid 'Digit' Turnerconfigure the NDK. However, this step has been removed in release 4 (a.k.a. r4).
5748ef1859ef0bb25547e5aceeedb9b175c6193bc5David 'Digit' Turner
5835f944d26f33fff3e59ab449c991b18260a5fa0bDavid 'Digit' TurnerThe auto-detection and sanity checks that were performed by the script have
5935f944d26f33fff3e59ab449c991b18260a5fa0bDavid 'Digit' Turnerbeen moved into the NDK makefiles (and are now performed each time you invoke
6035f944d26f33fff3e59ab449c991b18260a5fa0bDavid 'Digit' TurnerGNU Make).
61