History log of /ndk/build/core/init.mk
Revision Date Author Comments
a78566db22c78e517a5cda55796a55533ec96b9d 18-Dec-2014 Andrew Hsieh <andrewhsieh@google.com> Remove host sed

prebuilt/*/bin/sed* aren't used, not even in user-facing scripts
like ndk-gdb and build/awk/gen-cygwin-deps-converter.awk

BUG=18590813

Change-Id: I2f05d3152c5e12f69e677547a25b050c9c6b57e1
01a3a139b7a1bd03e874cfd2107b791cb1c505fb 17-Nov-2014 Andrew Hsieh <andrewhsieh@google.com> Set GCC 4.8 as the default for 32-bit ABIs

Add get_first_gcc_version_for_arch and set to GCC 4.6 for 32-bit ABIs
while it's still around (deprecated but will be removed in 1-2 release)

Change-Id: I035c3b46ffb6c5aacf92893b920623acbae1719c
d70571f604d5d8def1199c5efc8b76e258de6428 15-Oct-2014 Andrew Hsieh <andrewhsieh@google.com> Misc fixes:

1. Rename NDK_PIE_PLATFORM_LEVEL as NDK_FIRST_PIE_PLATFORM_LEVEL
2. Don't add -Wl,--version-script unless script exists
3. Don't donwload binutils-2.23 no GCC use any more
4. Exclude libgcc.a symbols from *so in platform libraries
5. split symbol each in its own line for debugging purpose
6. 64-bit unknown ABI use GCC 4.9

Change-Id: I29f554ba1a6dc6387a8cef6434cb5e85e918ce60
8bf2c66c7b46aaf6b827cbe97114fe5701825c1f 15-Oct-2014 Andrew Hsieh <andrewhsieh@google.com> Rename android-L as android-21

1. Now that we back to numeric API level, some hack to treat 'L'
specially are removed.
2. Translate android-L to android-21 for now to ease transition
3. Error on the existance of stale platforms/android-L

Change-Id: Ie2ee22096122903d7bce638992d2027140f6e5e4
dfc911962c33f546a74e3ec45b48ce4c7b9d56ec 21-Jun-2014 Andrew Hsieh <andrewhsieh@google.com> misc fixes

1. Don't build wrapper *-gdb.exe" when --with-python isn't specified
2. copy arm_neon_x86.h to llvm
3. update build-mingw64-toolchain.sh to use gcc4.8.3 and binutils-2.24
4. add the following to libc++/x86_64 export list
std::__1::to_string(__float128)
std::__1::to_wstring(__float128)
5. Fix issue where Mac doesn't have readlef
6. fix make-standalone-toolchain.sh to honor gcc-vesion in --toolchain=
with *clang suffix
7. Fix tests/device/b8708181-Vector4 for 64-bit
8. Change Dl_info to "int" for TEST
9. Remove symlinks for old tests *sharedmutex* renamed to *sharedtimedmutex*
in recent libc++.
10. package-release.sh misc.tar.bz2 if exists, which contain msic stuff
not submitted yet

Change-Id: Ibe859e753e21d63f9f9de7370e6d43387ec2487b
cbb7ff9b83266e4b88095243792cd95d720515b7 21-Jun-2014 Andrew Hsieh <andrewhsieh@google.com> Add APP_ABI=all32 and APP_ABI=all64

APP_ABI=all32 is equivalent to APP_ABI=armeabi,armeabi-v7a,x86,mips
APP_ABI=all64 is equivalent to APP_ABI=arm64-v8a,x86_64,mips64
APP_ABI=all selects all ABIs

Extend _NDK_TESTING_ALL_ for testing purpose:
1. _NDK_TESTING_ALL_=yes or all place armeabi-v7a-hard binaries in its own
lib/armeabi-v7a-hard directory instead of lib/armeabi-v7a
2. _NDK_TESTING_ALL_=all32 does the above (1.), and expand all as if it's all32
3. _NDK_TESTING_ALL_=all32 does 1. (doesn't matter, though), and expand all as if it's all64

Change-Id: I8de57888d5855dccb7ecebef0e94f0446f3290e9
f2bac284f36f66ec9a5a8816c10ba2663b2ae1a5 21-Jun-2014 Andrew Hsieh <andrewhsieh@google.com> Fix PIE

64-bit ABIs comes with different default API level, which is higher than
the first level requires executable to be built with PIE. If APP_PLATFORM
isn't specified and APP_ABI contains both 32- and 64-bit ABIs, make sure
64-bit get PIE and 32-bit doesn't, unless "-static" is specified

Change-Id: Ic798b45c0bf63435b0ebe5e0bcff060e53dddf50
9421a29b430d723ced675827d70d1bab52c8ddc9 21-Jun-2014 Andrew Hsieh <andrewhsieh@google.com> 64-bit in android-L

Tentatively rename 64-bit API level to non-numeric: 'L'

Change-Id: I676099e467d5426da6cd1d96d63fc201f78ce533
f1af548b8c57f66239a26dcb3d7564cc5a172b63 04-Jun-2014 Andrew Hsieh <andrewhsieh@google.com> Split known ABIs into 32-bit and 64-bit

Change-Id: I84791950348ae9ee9629f2a7b378b8a00ba85c34
b4d9896f9557fbd4d554349729aadd0d1ce602bf 10-Apr-2014 Andrew Hsieh <andrewhsieh@google.com> Initial 64-bit supports

Change-Id: Ie3cb416b34d97a9c42f889f9c47a0a54434e5c3e
4feac75dd090a44109bdd09f9910bf9a4167b7c6 21-Mar-2014 Pavel Chupin <pavel.v.chupin@intel.com> Enable x86_64 in run-tests.sh

Change-Id: I193110b162c3de71f75ba705a0c6ba22665419fe
Signed-off-by: Pavel Chupin <pavel.v.chupin@intel.com>
d4a49bf41476e5f618d2cb683703c2d33565951e 10-Feb-2014 Andrew Hsieh <andrewhsieh@google.com> Misc fixes

1. Reordered NDK_KNOWN_ABIS for longest match to happen first
2. rm -rf share/man in build-host-python.sh
3. Add --gcc-version and --llvm-version in gen-platforms.sh
4. More log in Abcc.cpp
5. Test only libc.so in default archs in libc_no_atexit
6. Don't remove the whole sources/android/compiler-rt directory
since it gets Android.mk recently
7. Revised run-libcxx.sh
8. Placeholder for OBJCOPY

Change-Id: I79aa770418df5ec7e28e54ada9a925c92afe170b
a2ca65e20207c50dec423ab128e1eea5171e2030 10-Feb-2014 Andrew Hsieh <andrewhsieh@google.com> Preliminary 64-bit support

Change-Id: I815e80740223335b54c0ca44cda446f7af77715c
748416e5a7654ce6cfce9f680cf4e7a9728bd6be 23-Jan-2014 Andrew Hsieh <andrewhsieh@google.com> Support APP_ABI=armeabi-v7a-hard

Add a new NDK-only ABI armeabi-v7a-hard in order to solve
-mfloat-abi=hard issue.

1. Note that this is NDK-only ABI. No known devices
support armeabi-v7a-hard, and they can't w/o breaking existing float-abi=softfp
code
2. APP_ABI=armeabi-v7a-hard still installs libraries in libs/armeabi-v7a.
As a result, armeabi-v7a-hard and armeabi-v7a can't co-exist ("make"
will ignore one of the "install"), unless when _NDK_TESTING_ALL_=yes for
internal testing (where lib is installed to libs/armeabi-v7a-hard)
3. Both GCC 4.6/4.8 and Clang3.3/3.4 has additional multilib
option "-mfloat-abi=hard" to look for libraries in /hard
sub-directory.
5be615df32ce970fcccda93cf577e9ce35b1d397 (gcc4.6,4.8)
7e8798057dc5f28b44b5608fd98fff1cba6909a2 (clang3.4)
deedd8557b7d82c6931b6942bd39a00127780835 (clang3.3)
4. APP_ABI=all still expand to armeabi,armeabi-v7a,x86,mips

Change-Id: I08c26bfa6580c80260185c2fef398848aebd197d
cd98d270b1f40915a852c78a4f2ced0f7006ff63 18-Nov-2013 David 'Digit' Turner <digit@android.com> Fix a documentation typo: build-platforms.sh -> gen-platforms.sh

Change-Id: Ieb1c9845874c82a92289df05e4c5f5587199f436
60e87b828a08bc307e71d4359b23b68a1fe6104c 31-Oct-2013 Andrew Hsieh <andrewhsieh@google.com> Remove clang3.2, gcc4.7 and binutils-2.22

Both clang3.2 and gcc4.7 (which uses binutils-2.22) are deprecated
and will be removed from r9c

Change-Id: I8101ece53fef6e2e32d393ec0fb3d1ecbee5a02a
c7e125e7fa880d4ad56a2e3bb1da8454feb354dd 11-Oct-2013 WenHan Gu <Wenhan.gu@mediatek.com> Revert "Fix unknown arch build failed."

This reverts commit d97c2aef7e3dfda2bf20224ba49b0dedb8d440c6.
The correct fix should be https://android-review.googlesource.com/#/c/67831/
d97c2aef7e3dfda2bf20224ba49b0dedb8d440c6 09-Oct-2013 WenHan Gu <Wenhan.gu@mediatek.com> Fix unknown arch build failed.

Change-Id: Ia2c5f457043389f5b215cccfb2e3eba10467f176
617ceb129eca96a19c0b14878f3a86081050945a 06-Jul-2013 David 'Digit' Turner <digit@android.com> Remove obsolete GCC 4.4.3 toolchain.

This remove the 4.4.3 toolchain from the NDK, and slightly
updates documentation to not mention it anymore.

Change-Id: Ia42cd54e3a4e88ba5ee3ea35d9ee3cc4b9237ca2
acc5a6e328276aca962c9b120d658b3b74c224dd 23-Apr-2013 David 'Digit' Turner <digit@android.com> Use /usr/bin/file on Darwin to detect 64-bit systems.

See bug entry for details.

BUG=53769

Change-Id: I8393d2f5a12150f02beee4e6adee45f144417429
1078ff9ba1ef2cc3b364ba439c43199acf641a21 19-Apr-2013 Andrew Hsieh <andrewhsieh@google.com> Better way to detect 64-bit windows

In windows ndk-build.cmd assumes windows is 64-bit unless one or more
of the following happens:

1. NDK_HOST_32BIT is set to 1 or true
2. prebuilt\windows-x86_64\bin\make.exe doesn't exist
3. Environment variable "ProgramW6432" doesn't exist

It appears that 64-bit Vista doesn't define "ProgramW6432" at all.
It seems that env. var. "ProgramFiles(x86)" is defined more consistently
in 64-bit windows, but 64-bit WINE defines "ProgramW6432" but not
"ProgramFiles(x86)".

So, the proposed solution is to change rule 3 in the above to

3'. Both environment variables "ProgramW6432" and "ProgramFiles(x86)"
don't exist

See https://code.google.com/p/android/issues/detail?id=54485

Change-Id: I61c3026f3f33ec81dfce05fa4b1cb7abb741a477
c6798d0201775cd96ae85b67b7653bdc406f2599 16-Apr-2013 Lai Wei-Chih <Robert.Lai@mediatek.com> Building python for host prebuilts.

Also build python for build machine automatically.

Change-Id: I1847a3ba8f16ba987a19bb85b03f46e7263a25fe
3814ea870db4e7a833b4d2b8c14d079007be51fb 19-Mar-2013 Andrew Hsieh <andrewhsieh@google.com> Create/use libportable.wrap file containing lines of "--wrap=symbol"

Change-Id: Ibad600a94612f5bfd0c36204bcf73a8d572ebf3f
fdf492efc0b2c6a8f9583fbb3a22be54af24a7cf 31-Jan-2013 Andrew Hsieh <andrewhsieh@google.com> llvm setup.mk and config.mk

Change-Id: Ided7fa4c0e9cb0d0288f0032a0d6f7a5de83c2e6
67677c0c15665cfab065e682a513c5631a4492aa 06-Jan-2013 Andrew Hsieh <andrewhsieh@google.com> Fix run-test.sh in MSys

1. MinGW needs substitution function cygwin-to-host-path as well.
One case is for clang3.1 --gcc-toolchain which calls $(host-path ...)
where MinGW's path heuristic can't apply. MinGw doesn't offer
'cygpath -m'-like utility, although (cd path ; pwd -W) is close.
2. HOST_OS in MingW is "windows"
3. Unlike cygwin, MinGW 'which $GCC' produces trailing .exe. Remove it.
4. MinGw's "mount" produces "\" w/o proper quote!
5. Also build "build.sh tests" in parallel

Change-Id: I55fb1b91c40af9695e84d7d016ca9b85d43a69b8
18f80b1624fdf4491c674986564f07e486e06c75 03-Jan-2013 Andrew Hsieh <andrewhsieh@google.com> Fix ndk-build and ndk-build.cmd to observe NDK_HOST_32BIT

Also allow NDK_LOG=0 to disable logging, and NDK_HOST_32BIT=0
to disable force-32bit.

Change-Id: I58d87d5ca1fe73eb33c88fee75418849641d2c5a
d0b797fbf45f3cec923b22f93b61e86a1f867844 02-Jan-2013 Andrew Hsieh <andrewhsieh@google.com> Misc fixes for 64-bit Windows toolchain

Change-Id: Idaf7d93dfd031e40b7b005805e71688f079e94ac
e4bceada77b4c6d602d9be030f390c6086a9c213 23-Nov-2012 Andrew Hsieh <andrewhsieh@google.com> Make HOST_AWK, HOST_SED, and HOST_MAKE overwritable

For example, when awk doesn't work, it's not possible to overwrite
it as suggested in error message reads:

Host 'awk' tool is outdated. Please define NDK_HOST_AWK to point to Gawk or Nawk !

See http://code.google.com/p/android/issues/detail?id=24541

Change-Id: Icf617c7d5b6fa0dd4cadbe81390568f976d43f96
372e41c834270718bbdff38b7de1a0b7eb83194c 13-Nov-2012 Andrew Hsieh <andrewhsieh@google.com> Enhance ndk-build to use 64-bit host toolchain if available

This changes allow ndk-build running on 64-bit OS to search
for $OS-x86_64 in $NDK/prebuilt and $NDK/toolchains/*/prebuilt/
if available. Note that 64-bit toolchains still generate
32-bit binaries for Android.

Setting a new variable NDK_HOST_32BIT=1 can force 32-bit
toolchain even when 64-bit is found on 64-bit systems

Change-Id: I7a440b88c47f80b65290fb954c627fad41927d73
22c5065bae39793e5c3b0c5654c7e4f76f2de5f4 04-Jul-2012 David 'Digit' Turner <digit@google.com> Make LOCAL_SHORT_COMMANDS work on Darwin.

Our implementation of LOCAL_SHORT_COMMANDS relied on 'echo -n' to append
data to an existing file, but this option is not supported by Darwin's
echo program.

Modify our build scripts to use "printf %s" instead to do the same thing
on Posix systems. On Windows, which doesn't have printf, keep using the
toolbox echo program that supports the flag.

Change-Id: I35e14279a60e2dd54a0078cdcc5e177984e155d8
1253fb9584ff236b9fb2886cfc0986416751822d 21-Jun-2012 Andrew Hsieh <andrewhsieh@google.com> Fixed LOCAL_SHORT_COMMANDS to not recompile/relink source/object every time

When LOCAL_SHORT_COMMANDS is set to true, compiler options are emitted to a
response file and read off using the '@file' syntax. This is to support very
long commmand line w/o running over the limit of shell command buffer.

Obviously target depends on the response file which shall be regenerated
every time to account for potential changes in command line options.
Unfortunately this triggers rebuilding of target as well even when the content
of response file is identical to the last one.

This CL fixes it by emitting options to a temp file, and only update the response
file when contents differ

Change-Id: Ia2be6df7bbc0d0816b60d552f3fde004f42ca748
84a0a4efe567c24d45f99a9a48e95f395ef511ce 13-May-2012 David 'Digit' Turner <digit@google.com> Fix cygwin echo

Ensure that we use the host 'echo' command when running
under Cygwin. Otherwise, the toolbox version under
prebuilt/windows/bin/echo.exe is used, and this one
uses the \r\n convention that messes with other scripts
that use it, like ndk-gdb.

See http://code.google.com/p/android/issues/detail?id=26594

Change-Id: I29710bf871ab0da002da858dee2adbcef14f62c0
ed0af8606f321ccac05290ad8df24a2cd7e52495 04-May-2012 David 'Digit' Turner <digit@google.com> Add NDK_TOOLCHAIN_VERSION support.

This patch modifies the build system to recognize the
NDK_TOOLCHAIN_VERSION environment variable to override
the GCC toolchain version to use during a build.

This will be useful when we'll provide both GCC 4.4.3 and 4.6
binaries at the same time. GCC 4.6 will be the default, but
defining NDK_TOOLCHAIN_VERSION to "4.4.3" will allow you to
use the old GCC 4.4.3 one for all target architectures.

Note that NDK_TOOLCHAIN is still supported. Actually, if you
define it, NDK_TOOLCHAIN_VERSION will be ignored completely.

Change-Id: I762256bd16693d81c6642f9f0560fe67df6a4092
5976114eee278e6f574cb67e30b28ca5ac99f824 18-Jan-2012 David 'Digit' Turner <digit@google.com> Add support for MSys on windows.

This is really experimental, but this patch does two things:

1/ First, add MSys detection to build/core/init.mk. This runtime
will be treated exactly like Cygwin

2/ Allow gen-cygwin-deps-convert.awk to parse MSys' mount command
output. The latter uses back-slashes for host paths, while
Cygwin uses forward slashes. + Add unit test.

Change-Id: I15ebc8b14ff1fd984d3b69ac17dd95612ac70dfb
ca42d00902b98e77d3e20f2d090c83c0347f6831 13-Jan-2012 David 'Digit' Turner <digit@google.com> Remove debug traces in ndk-build that broke ndk-gdb

Because ndk-gdb invokes ndk-build to retrieve special configuration
values, the debug traces went in the way and broke the script.

Change-Id: I51b64a87dcc7b957701387649eb053ed72776263
6d4a69fd2196625ab46dbd961af4132eea31138a 05-Jan-2012 David 'Digit' Turner <digit@google.com> cygwin: do not use the prebuilt windows tools.

Under certain circumstances, ndk-build could pick the windows
binaries from prebuilt/windows/bin when running under Cygwin,
resulting in a later failure.

Modify the build system to never look at these files on Cygwin
to ensure this doesn't happen.

Fix for http://code.google.com/p/android/issues/detail?id=23604

Change-Id: I294e667e08748ee813fd1b683304eee2bb3f7676
35b6acff60f5754d59132a692d648c7ed379de03 05-Jan-2012 David 'Digit' Turner <digit@google.com> cygwin: avoid creating empty NUL file in current directory.

Change-Id: Ib52c6cca1f9f88994169f1a1fb777432f7cac4d3
ed6927f25557b71183800a69c82cfe730b2648b9 23-Dec-2011 David 'Digit' Turner <digit@google.com> Remove hard-coded ABI names from build scripts.

This patch removes some of the hard-coded ABI names from our build
scripts. Now, each toolchain's config.mk is expected to provide a
TOOLCHAIN_ARCH definition corresponding to the target architecture
it supports.

This makes it easier to add support for new architectures or ABIs
in the NDK, just write a config.mk for your toolchain like:

TOOLCHAIN_ARCH := myarch
TOOLCHAIN_ABIS := myabi [myabi2]

Change-Id: Ib2f89102b343390fb16f66f63ee7e26f852701c2
a9a6d4a887911358fdbd74af6332fa6049acde21 28-Nov-2011 David 'Digit' Turner <digit@google.com> ndk-build: Disable GNU Make implicit rules

This can slightly speed up builds, and makes the output of
"ndk-build -d" more readable when trying to debug complex
GNU Make dependency computation issues.

Change-Id: I7789aef4b29d23b0eeeec43515c5448530deb3c3
ad1afc5e66ab40201947a3178eba975515b0d73c 14-Oct-2011 David 'Digit' Turner <digit@google.com> Add win32 native build support

This patch is adds support to "native" (i.e. Cygwin-less) Windows
NDK build through the new 'ndk-build.cmd' Windows shell script.

Just call it from the cmd.exe command-line, when in your project
path. The script takes the same arguments than 'ndk-build'.

+ Adds the source of a new tiny Windows-specific command-line
"echo" program. The reason for this is that the 'echo' that
comes with cmd.exe is too weird and will not work properly
when invoked from make (e.g. it can't deal with double-quoted
strings properly: it will print the double-quotes in the
output).

+ build/tools/build-host-toolbox.sh: new script to rebuild the
'echo' program on Windows. The idea is that the 'toolbox' may
contain other command-line programs like "cp" or "mkdir" in
the future, to avoid relying on the not-so-robust cmd.exe
versions of these commands (del, md, xcopy), if necessary.

+ Make build-host-prebuilts.sh call build-host-toolbox.sh
when generating Windows binaries, and package-release.sh
unpack the corresponding archive when generating the
Windows packages.

+ build-funcs.sh can now be used to build host binaries too.

+ docs/CHANGES.html: document new native win32 build support.

Change-Id: I4d30f6c6532ae84deb95e7e5f595af76b97d9257
5e422686e156ed24de175b3a2b628e5d53b92ce8 11-Oct-2011 David 'Digit' Turner <digit@google.com> build/core/init.mk: Remove typo

This removes a typo that prevents the script from working on Windows.

Change-Id: I27a37bfd2f41e6bddd3aa9005afe96f64064edbb
462c63197acacd294d9835dd5afb6913058ea57a 22-Sep-2011 David 'Digit' Turner <digit@google.com> Define HOST_OS as 'cygwin' on Cygwin

This patch changes the definition of HOST_OS to 'cygwin' when
we detect that the build system is invoked from a Cygwin-compatible
GNU Make program.

The old value of 'windows' will now be used for the case where the
build system is invoked from a vanilla Win32 GNU Make binary, e.g.
from a standard Windows shell.

First step towards getting rid of Cygwin.

Change-Id: I4f355a5d254b8d0f544ab6de60c0d7ff85ca23ec
b9007524f8244c5a7083447ef0342388d4c39c02 03-Jun-2011 David 'Digit' Turner <digit@android.com> Remove arm-eabi-4.4.0 support

The arm-eabi-4.4.0 was deprecated a long time ago, now remove any support
for it from the NDK to simplify things.

Change-Id: I41e65539824673466a1fc4c22bbd0d42a49d1394
f6d5fdbacb10430e46fb7a31327057d41a3d9b35 01-Apr-2011 Bruce Beare <bruce.j.beare@intel.com> init.mk: Validate NDK_PLATFORMS_ROOT regardless of whether it was set or guessed.

Change-Id: I6ea2a26da6b770b11c7a80eac27ae2e290c20f8e
Signed-off-by: Bruce Beare <bruce.j.beare@intel.com>
bafbfe8866f1016cc9c651d9e9ead21a0b7eb16e 15-Mar-2011 David 'Digit' Turner <digit@android.com> Speed-up gdb.setup generation with large list of include directories.

The gmsl 'uniq' function is very slow with a very large number of items,
so provide an alternative, non-recursive, implementation that works much
faster.

See http://code.google.com/p/android/issues/detail?id=14961 for context.

Change-Id: I49d8bea5deccbe8b84aba08805144cd99a24d3d4
ec6f8db1da1958a011ebed6574f6e39b84388606 25-Jan-2011 Evan Shaw <edsrzf@gmail.com> Fix syntax error in init.mk
1022d8d9fa56b2a82982e3ab56dc2b7576c0fb03 04-Jan-2011 David 'Digit' Turner <digit@google.com> Speedup cygwin to host path translation.

This change speeds up Cygwin builds by preventing the build system
from calling 'cygpath -m' from GNU Make for every source and object
file (which turns out to be very slow).

This is done by generating at init time a Make function named
cygwin-to-host-path that will perform simple substitutions (e.g.
"/cygdrive/c/foo" to "c:/foo").

The function itself is built dynamically by probing the Cygwin
environment then calling an awk script to generate a Makefile
fragment that is run through 'eval' in init.mk.

In case of problem, define NDK_USE_CYGPATH=1 in your environment
to use 'cygpath -m' as before.

+ If 'cygpath' is not in your path, simply ignore it. android-ndk
users report that this is enough to use the NDK under MSys
succesfully.

Change-Id: I291190d3f30a1e17ee27dd65b63f65701fba6b33
d49e5db44f5a514683ef600db88f8be0b40c3bfd 25-Oct-2010 David 'Digit' Turner <digit@google.com> Fix automatic dependency computation of imported modules.

Before this change, the build system would build any shared library
module that is listed in an imported Android.mk, even if the project
does not need it.

With this change, only the imported modules that are actually needed
by the project will be built.

+ update docs/IMPORT_MODULE.TXT

Change-Id: Iea2ee30dd73be5f9f55ebb1e5658b5368ecbbe31
e11a9b58ffe6d0dd9c61b651e2ce39ef0601e186 24-Sep-2010 David 'Digit' Turner <digit@google.com> Reorder location of toolchains files.

build/toolchains/<name>/* --> toolchains/<name>/*
build/prebuilt/<system>/<name>/lib/gdbserver --> toolchains/<name>/prebuilt/gdbserver
build/prebuilt/<system>/<name>/ --> toolchains/<name>/prebuilt/<system>/

The main idea is to group all toolchain-related files under the same directory.

Change-Id: Idb41de49b5d81b6881ac4e0eea24506ff4a07f03
77d9a08814a063577d086dc356a5a55d5ff55bf6 30-Jul-2010 David 'Digit' Turner <digit@google.com> Move platform files from build/platforms to platforms.

This also prepares for a major shift in the way files are stored under
development/ndk. Essentially, after this patch, you can have:

development/ndk/android-N/arch-$ABI/
==> contains only files relevant to API level 'N' that are not
already part of API level 'N-1', 'N-2', etc...

development/ndk/android-N/samples/
==> contains samples that depend on features of a given API level 'N'.

The idea is to be able to work on API level 'N+1' by adding a single
directory under development/ndk. This is useful when branching between
several platform release branches. And it makes platform additions
trivial to examine and check.

+ build/tools/build-platforms.sh: group all files under development/ndk
under $NDK/platforms and $NDK/samples, grouping everything together

+ build/tools/dev-cleanup.sh: get rid of all intermediate files,
including $NDK/platforms and $NDK/samples

+ update make-release.h to deal with the new hotness.

Change-Id: I1c26052b862af4c319b9c0a5757c585929650562
6a8948dccbcde263f30c9d83ba09de47a2e19395 10-Jul-2010 David 'Digit' Turner <digit@google.com> Add support for module imports.

See docs/IMPORT-MODULE.TXT for details. You can now define NDK_MODULE_PATH
in your environment to list directories that will be searched when the new
function 'import-module' is called.

The goal is to avoid hard-coding third-party module paths into your
project tree.

Change-Id: I6f260299876d29e0492109b86824acab318e104e
a775f5537568f4768cd61931bb1b5314694adc96 10-Jun-2010 David 'Digit' Turner <digit@google.com> Allow platforms and samples to be located under development/ndk/{platforms,samples}

Change-Id: Idb631a91de71c60dc6edc7d1989925fff9adc1aa
76370ba56008e8d7fccd217bb6ca5cf02867d1b7 07-May-2010 David 'Digit' Turner <digit@google.com> Fix windows NDK build - add runtime check for Cygwin 1.5

Change-Id: I73107f2f72ec3b3486e59f80b942f041cf65b02d
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
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