History log of /ndk/build/core/add-application.mk
Revision Date Author Comments
5549d21d89fadd5d74a0f16066bcf44664b24900 29-Aug-2012 Andrew Hsieh <andrewhsieh@google.com> Adjust android-10 .. 13 to android-9

android-9 is deprecated. Projects linking against android-10 .. 13
better use android-9 than the next API level which is android-14

Change-Id: I725b9fb136c874797f2a6ddbeb984e1ac8a9805d
bff91cbd9151fe61482363a415d6cf9f1d9ea233 14-Sep-2011 David 'Digit' Turner <digit@google.com> Support APP_ABI=all in Application.mk

This patch allows the use of 'APP_ABI := all' in your
Application.mk or on the command-line to indicate that you
want to build for all NDK-supported ABIs.

This is shorter than typing the full list of known ABIs,
and allows for an easy upgrade path when we'll introduce
new supported ABIs in the future (if any).

Change-Id: Ib5515727323fe1e3498b89acd0200969e2f793c5
96f29ea31bbcdffad4e4ce29f854f40dec008a72 19-Aug-2011 David 'Digit' Turner <digit@android.com> Support project.properties file in project path.

This patch modifies the NDK build system to support a file
named 'project.properties' in the application's project directory
to hold the value of the target platform.

If the file is not present, 'default.properties' will be searched
instead.

This patch is in preparation of future changes to the SDK tools,
which will rename/split default.properties and build.properties.

Change-Id: I17da187f495a2dec21b1b8c7cbfd716ae7878f8b
26f23925041dfcbfde15e5c98d9e7c80fd2a7408 23-Nov-2010 David 'Digit' Turner <digit@google.com> Add APP_STL to select the C++ STL automatically.

This patch allows developers to define APP_STL in their
Application.mk in order to select the C++ STL they want to
use automatically.

Valid values are "system", "stlport_static" and "stlport_shared".
See the new document docs/STL-SUPPORT.html for more details.

Note that the patch also contains changes that will make room
for other C++ STL implementations (GNU libstdc++ and maybe uSTL)

Change-Id: Ica3fbad90d31deb9699e6cfb4a1cff3cd2e6c890
25fc114e97e8e31af9c8a47f80ca4fbd134bf912 19-Nov-2010 David 'Digit' Turner <digit@google.com> Add support for prebuilt STLport binaries.

This patch allows the NDK to be redistributed with prebuilt
STLport binaries, since rebuilding the library from sources
is quite slow, and its implementation should not change.

Note that the binaries are not added to the NDK git repository.
Instead:

- build/tools/build-stlport.sh is a new script that can be used
to rebuild the binaries and package/copy them appropriately.
It requires a valid NDK installation (i.e. with working toolchain
binaries)

- rebuild-all-prebuilt.sh and package-release.sh are also modified
to rebuild STLport and unpack the prebuilt tarballs when necessary.

- tests/build/prebuild-stlport is a fake project that is used
by build/tools/build-stlport.sh to force the rebuild of the
libraries with the NDK (the script later copies/packages the
libs to the appropriate location).

- sources/android/stlport/Android.mk is modified to auto-detect
whether the binaries are installed under the libs/<abi>/ subdir.
If not, the library will be rebuilt from sources.

Rebuilding from sources can be forced by setting STLPORT_FORCE_REBUILD
to 'true' in your environment. That can be useful for debugging purpose.

+ improve 'pretty-dir' function to recognize the NDK path as a prefix
and replace it in the output by '<NDK>'

+ improve formatting of NDK build messages for prebuilt binaries.
Now it looks like:

Prebuilt : <libname> <= <source-directory>/

Change-Id: I5158b9d7f13e0f6252d89f82b6fd2960e4a2ab1f
fd204377de03a20556b38acf0dc2bdb195729343 14-Sep-2010 David 'Digit' Turner <digit@google.com> Add easy native debugging support through NDK_DEBUG=1

"ndk-build NDK_DEBUG=1" will force the build of a debuggable application.
This really copies gdbserver to the proper location, as if android:debuggable
was set to "true" in the app's manifest.

The value of NDK_DEBUG can be 0, 1, true or false, and will override the content
of the manifest. The main benefit from this change is that you don't have to
edit your manifest file just to rebuilt

Change-Id: I3fafb620189ac53a72b492c963832dd0c7f8b7d7
219eddd0f8d4ee578d5afb895decc60a364a7191 08-Jun-2010 David 'Digit' Turner <digit@google.com> Set optimization mode to 'debug' automatically for debuggable applications.

As a convenience to NDK users, many who are not used to debugging native code at all
and will find that gdb cannot set breakpoints properly or dump local variables by
default strange.

This also moves the computation of APP_MANIFEST and APP_DEBUGGABLE to add-application.mk
which is just more logical.

Change-Id: Ia801f3aeda6a87d91d92bfc618c2620afd1470aa
f13db29e2847a3760e403332ea3243915e0f4bf3 30-Apr-2010 David 'Digit' Turner <digit@google.com> Add android-8 sysroot to the NDK. For now, this is a simple copy of android-5.

Later patch will add <android/bitmap.h> / libjnigraphics.so.

Change-Id: I0a0095710d25d2dabfa56072f78211517c01b9ec
0b2676bac67c271de9989357f6e3b2e762a7adf1 27-Apr-2010 David 'Digit' Turner <digit@google.com> Add --start, --launch=<name> and --launch-list options to ndk-gdb.

Move all awk scripts to build/awk/ and rework them a bit

Add build/awk/xmlparser.awk to parse XML files into something that
is easier to process with awk. Its output is used by several
scripts now (extract-debuggable.awk, extract-package-name.awk and
the new extract-launchable.awk).

Also update documentation.

Change-Id: I50507abbb2b438aeea25a4e0521e6bf69ad86603
a08d605794902f5c7ed79b3d894adb722e1b6cac 16-Apr-2010 David 'Digit' Turner <digit@google.com> Add ndk-gdb script to the NDK.

This is a helper script used to launch a native debugging session.
To use it, follow these steps:

1. Make your application debuggable
2. Build the machine code with 'ndk-build' (make APP=<name> is not supported)
3. Build the package with ant or the ADT Eclipse plugin
4. Install it on your device/emulator
5. Launch it
6. Run 'ndk-gdb' from your application project directory.

Change-Id: Ie3b0557e70cefa0080075a34ad0ca46bebef3c42
NOTE: To work properly, a modified gdbserver binary must be used
(one that binds to Unix sockets instead of TCP ones). Patch
upcoming.
6724aaa2876f40ad270823bc933edf7552f67436 15-Apr-2010 David 'Digit' Turner <digit@google.com> Simplify build system with the 'ndk-build' script.

There is no need to modify $NDK/apps anymore to build an application.

Now all you need to do is launch $NDK/ndk-build from the project path,
or any of its sub-directory, and the build scripts will handle everything
automatically.

You can also place an optional Application.mk under $PROJECT/jni, but
by default the NDK will build all modules listed in your Android.mk for
the 'armeabi' ABI.

+ Update the documentation

Change-Id: I235c4051d7f00f37d50e6b4bb0e796c0bdaa001d
a1d764b5d215601e007e01186de0be0db51df900 09-Apr-2010 The Android Open Source Project <initial-contribution@android.com> NDK snapshot from development/ndk/

Change-Id: I154f2fd3828ffd937c82410f5f9995402d7be15e
85459717ff102979c1b98f65d23a37538d177d22 05-Apr-2010 David Turner <digit@dhcp-172-28-237-78.par.corp.google.com> Properly select the toolchain based on the ABIs we want to build for.

Before this patch, it was not possible to use the x86-4.2.1 toolchain
without explicitely selecting it with NDK_TOOLCHAIN. Now if all toolchains
are installed, a simple line like the following just works:

APP_ABI := armeabi armeabi-v7a x86

Change-Id: I58ff6dda09a6d1406a83a45af542bba35a3caa40
f600a6395d24f214ccb9022d807360348947e295 13-Nov-2009 Jean-Baptiste Queru <jbq@google.com> eclair snapshot
19f4e359965dd2c7f1b215e699f152fb7946f1f5 21-Oct-2009 David 'Digit' Turner <digit@google.com> Allow applications to target future API levels

E.g. if an application's default.properties targets android-10
then the build system will default it to the highest supported
API level found in build/platforms (e.g. android-4 currently).
eb8d04adaa73dabec176185f1fa0cb5900b9a8d4 02-Oct-2009 David 'Digit' Turner <digit@google.com> Ensure the version of 'awk' detected by host-setup.sh is used during the build
25f47bc03dbe536d2fb4a231316a38a2d0a8ee59 29-Jul-2009 David 'Digit' Turner <digit@google.com> Look for Android.mk in $(APP_PROJECT_PATH)/jni by default.

This gets rid of the 'sources' directory and allows all sources
of a given Android application to be in the same directory tree
without using a symlink trick.

Note that apps/<name>/Application.mk is still required though.
A later release of the NDK will get rid of it too, but the change
is too drastic for the upcoming release.

The change moves various source files from sources into their
app/<name>/project/jni directory as well.

The whole documentation is updated to reflect the change.
5815d77ccd68a5f6f8f7d6f4fa5dfbd05828d33f 29-Jul-2009 David 'Digit' Turner <digit@google.com> Add android-4 sysroot and use project's default.properties to get the right target.

Note that for now, android-4 contains the same things than android-3.
Another patch will add OpenGL ES headers and libraries to it.
48ef1859ef0bb25547e5aceeedb9b175c6193bc5 07-May-2009 David 'Digit' Turner <digit@google.com> Initial import of new NDK into donut tree