History log of /ndk/build/core/definitions-host.mk
Revision Date Author Comments
4953c51f28a48bc8e98fedfefbb74922f14c47ae 07-Oct-2013 Andrew Hsieh <andrewhsieh@google.com> Fix [$ABI] in ndk-build

The new ndk-build echo build step prefix with [$TARGET_ARCH_ABI].
Unfortunately by the time it's echoed $TARGET_ARCH_ABI becomes
the last word of NDK_APP_ABI. For examples,

cd $NDK/samples/bitmap-plasma
../../ndk-build -B # APP_ABI := armeabi armeabi-v7a

[armeabi-v7a] Gdbserver : [arm-linux-androideabi-4.6] libs/armeabi/gdbserver
[armeabi-v7a] Gdbsetup : libs/armeabi/gdb.setup
[armeabi-v7a] Gdbserver : [arm-linux-androideabi-4.6] libs/armeabi-v7a/gdbserver
[armeabi-v7a] Gdbsetup : libs/armeabi-v7a/gdb.setup
[armeabi-v7a] Compile thumb : plasma <= plasma.c
[armeabi-v7a] SharedLibrary : libplasma.so
[armeabi-v7a] Install : libplasma.so => libs/armeabi/libplasma.so
[armeabi-v7a] Compile thumb : plasma <= plasma.c
[armeabi-v7a] SharedLibrary : libplasma.so
[armeabi-v7a] Install : libplasma.so => libs/armeabi-v7a/libplasma.so

Fix to record the current ABI at the time when make targets are created

Change-Id: I1a316e982d2f9ccbe4919c474cb70ad41106e5a2
2f84ee41d7f2388e65aa829f93165e1ae461c873 02-Oct-2013 David 'Digit' Turner <digit@android.com> Improve ndk-build output + fix double-quotes on Windows.

This patche slightly improves the ndk-build output for individual
build steps, i.e.:

BEFORE:
Compile <abi> : <some details>

AFTER:
[abi] Compile : <some details>

The reason for this is that there are some build steps which didn't
include the <abi>, which is ambiguous when doing a multi-ABI build with
lots of parallel jobs.

Note that for ARM, 'Compile arm' or 'Compile thumb' are still being
used to distinguish between 32-bit ARM and 16 or 16/32 Thumb compilation
modes. This only affects Compile and Compile++ build steps.

+ Fix the extra-quoting issue on Windows described
by https://code.google.com/p/android/issues/detail?id=60649

Change-Id: Ib0bb7587f7113d488696e1c820d89adabad3070c
8d10114e31c1ffd189d947483b26103317e1d2b9 14-Sep-2013 Andrew Hsieh <andrewhsieh@google.com> Add host-mv

Also keep intermediate bc file for reproducible

Change-Id: Ife135b2901d9fa6a3270a33fa622558884a28e0c
618bc65a2d50d700b31418d321b4ebf70afe6d2d 29-Apr-2013 David 'Digit' Turner <digit@android.com> ndk-build: Support absolute paths in LOCAL_SRC_FILES

This patch allows one to use absolute paths in LOCAL_SRC_FILES.
This can be useful in situations where computing a path relative
to LOCAL_PATH is too complicated.

(Main purpose is to ease testing of libc++ out of the NDK tree).

+ Avoid double slashes in object file paths during the build,
i.e.:

obj/local/$ABI/obj/<module>/foo.o

instead of:
obj/local/$ABI/obj/<module>//foo.o

Change-Id: I816d7f8782b94eea722d6a0c14249b8a921a9b72
7aa6cc13872bb10bb9c7723b789f19c13adb7a09 04-Feb-2013 David 'Digit' Turner <digit@android.com> Fix dependency graph computation in ndk-build

This introduces a new definitions-graph.mk file providing
proper topological sorting (with wild unit tests for it),
and make the rest of ndk-build use it.

This solves the incorrect dependency computation demonstrated
by the 'topological-sort' test, which is no longer in BROKEN_BUILD
state after this change. For more information, see
http://b.android.com/39378

Note that this also simplifies the build process a little, i.e.:

- if a shared library or executable depends on several
static libraries, try to build them in parallel, even
if one depends on the other.

- better computation of the list of whole static libraries.
in general, whole libraries are treated like regular ones
now when it comes to computing dependencies. Only at
link time, the libraries that are tagged as 'whole will
be put in a separate function.

There is no unit test for this, I probably need to add
one.

Change-Id: I36d9179e53b0b7bcb7de50e2a1a769c231c28201
244e6d54811de81f6f473b3e7c114198db6325ef 15-Nov-2012 David 'Digit' Turner <digit@android.com> Move internal functions.

This patch moves a few internal functions from definitions.mk
to two new files named definitions-utils.mk and definitions-host.mk.

Functions in definitions-utils.mk should be generic and not rely
on any global variables / environment variables / the file system.
This makes them trivial to test properly.

Functions in definitions-host.mk depends on the value of HOST_OS
and are really used to generate shell commands during the build.

definitions.mk still contains functions related to the build, e.g.
the module database.

+ Add three new utility functions, and corresponding tests:

filter-by
filter-out-by
find-first

They'll be used by functions defined in later patches.

Change-Id: I4d841fab74dd83a434a5c408f0b31d7847166d52