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
|