blob: c162886b3b780a6311bde25c1145b8509a60b879 [file] [log] [blame]
David 'Digit' Turner5ad95c52009-05-27 14:20:44 +02001Android NDK ChangeLog:
David 'Digit' Turner979c98c2009-05-20 16:08:19 +02002
David 'Digit' Turner979c98c2009-05-20 16:08:19 +02003-------------------------------------------------------------------------------
David 'Digit' Turner1dbeeca2009-09-24 15:48:44 -07004current version
5
6IMPORTANT BUG FIXES:
7
David 'Digit' Turnera78a7752009-10-01 16:38:44 -07008- Fix build/host-setup.sh to execute as a Bourne shell script (again)
9
David 'Digit' Turner1dbeeca2009-09-24 15:48:44 -070010- Make target shared libraries portable to systems that don't use the exact same
11 toolchain (GCC 4.2.1) .
12
David 'Digit' Turnercc230ba2009-10-01 16:44:54 -070013- Actually use the awk version detected by host-setup.sh during the build.
14
David 'Digit' Turner27ad1ef2009-10-22 16:59:10 -070015
16IMPORTANT CHANGES:
17
18- Added platform eclair-5 to reflect the Eclair branch. This is merely a copy
19 of android-4 that also includes headers and libraries for OpenGL ES 2.0.
20
21 See the sample named "hello-gl2" for a *very* basic demonstration. Note that
22 OpenGL ES 2.0 is currently *not* available from Java, and must be used through
23 native code exclusively.
24
25
David 'Digit' Turner854f8202009-10-14 15:22:11 -070026OTHER FIXES & CHANGES:
27
28- Added --prebuilt-ndk=FILE option to build/tools/make-release.sh script to
29 package a new experimental NDK package archive from the current source tree
30 plus the toolchain binaries of an existing NDK release package. E.g.:
31
32 build/tools/make-release.sh \
33 --prebuilt-ndk=/path/to/android-ndk-1.6_r1-linux-x86.zip
34
35 will generate a new NDK package in /tmp/ndk-release that contains the most
36 up-to-date build scripts, plus the toolchain binaries from 1.6_r1 (which
37 are not in the git repository).
38
39 Also added the --no-git option to collect all sources from the current
40 NDK root directory, instead of the list given by 'git ls-files'. This can
41 be useful if you don't want to checkout the whole 'platform/development'
42 project from repo and still work on the NDK.
43
44 This change is to help people easily package experimental NDK releases to
45 test and distribute fixes and improvements.
46
David 'Digit' Turner1db46622009-10-15 13:29:06 -070047- Remove bash-isms from build/tools/build-toolchain.sh. Now it's possible to
48 build it with the 'dash' shell on Debian-based systems (tested on Ubuntu 8.04)
49
David 'Digit' Turnerf7aa22a2009-10-20 15:33:40 -070050- Remove bash-ism from build/tools/build-ndk-sysroot.sh
51
David 'Digit' Turner898b43f2009-10-20 15:25:40 -070052- Refresh C library headers for all platforms:
53
54 - make <endian.h> simply include <sys/endian.h>
55 - make <stdint.h> properly declare 64-bit integer types with a C99 compiler
56 - add missing <sys/types.h> to <strings.h>
57 - add GLibc-compatible macro aliases (st_atimensec, st_mtimensec and
58 st_ctimensec) to <stat.h>
59 - add missing declaration for tzset() in <time.h>
60
David 'Digit' Turner1dbeeca2009-09-24 15:48:44 -070061-------------------------------------------------------------------------------
David 'Digit' Turner902706a2009-08-14 20:51:58 +020062android-ndk-1.6_r1
David 'Digit' Turnerfadee812009-06-29 12:28:04 +020063
David 'Digit' Turnereee16752009-07-29 19:04:44 +020064IMPORTANT BUG FIXES:
65
David 'Digit' Turnerfadee812009-06-29 12:28:04 +020066- Fix build/host-setup.sh to:
David 'Digit' Turnerd6ec1722009-06-29 16:13:25 +020067 * execute as a Bourne shell script
David 'Digit' Turnerfadee812009-06-29 12:28:04 +020068 * remove unused host gcc dependency
69 * improve Windows host auto-detection
David 'Digit' Turnerd6ec1722009-06-29 16:13:25 +020070 * add GNU Make version check
David 'Digit' Turnereee16752009-07-29 19:04:44 +020071 * add Nawk/Gawk check
David 'Digit' Turnerd6ec1722009-06-29 16:13:25 +020072 * ensure that the script is run from $NDKROOT as build/host-setup.sh
David 'Digit' Turnereee16752009-07-29 19:04:44 +020073 * add --help, --verbose, --no-awk-check and --no-make-check options
David 'Digit' Turnerfadee812009-06-29 12:28:04 +020074
David 'Digit' Turnera046aad2009-06-29 16:33:30 +020075- Properly add sysroot library search path at build time. This makes a line
76 in Android.mk like:
77
78 LOCAL_LDLIBS := -lz
79
80 Actually work correctly, instead of having the linker complaining that it
David 'Digit' Turner7ec528c2009-07-22 13:34:54 +020081 could not find the corresponding libz.so library. Also clear LOCAL_LDLIBS
82 in $(CLEAR_VARS) script.
David 'Digit' Turnera046aad2009-06-29 16:33:30 +020083
David 'Digit' Turnereee16752009-07-29 19:04:44 +020084
David 'Digit' Turner1dbeeca2009-09-24 15:48:44 -070085IMPORTANT CHANGES:
David 'Digit' Turnereee16752009-07-29 19:04:44 +020086
87- The 'sources' directory is gone. The NDK build system now looks for
88 $(APP_PROJECT_PATH)/jni/Android.mk by default. You can override this with
89 the new APP_BUILD_SCRIPT variable in Application.mk
90
91 For example, the 'hello-jni' sample uses the following files:
92
93 apps/hello-jni/project/jni/Android.mk
94 apps/hello-jni/project/jni/hello-jni.c
95
96 The 'apps/<name>' directory is still needed in this release though.
97
98- Change LOCAL_CFLAGS / LOCAL_CPPFLAGS to work as in the full Android build
99 system. This means that:
100
101 - LOCAL_CFLAGS is now used for *both* C and C++ sources (was only for C)
102 - LOCAL_CPPFLAGS is now used for C++ sources only (was for both C and C++)
103 - LOCAL_CXXFLAGS is used like LOCAL_CPPFLAGS but is considered obsolete.
104 (will disappear in next release)
105
106 Also fixed APP_CPPFLAGS / APP_CFLAGS / APP_CXXFLAGS correspondingly.
107
108- Rename build/platforms/android-1.5 to build/platforms/android-3 to match
109 the Android API level instead of the marketing speak.
110
111 Also add a new build/platforms/android-4, and make the build system select
112 which platform to use based on the content of the project file named
113 $(APP_PROJECT_PATH)/default.properties.
114
115- Add OpenGL ES 1.x headers and libraries to the android-4 stable APIs.
116 (NOTE: they are *not* available for android-3)
117
118 Also provide a small port of the "San Angeles Observation" demo to show
119 how to make a simple Android application that uses them.
120
121
122OTHER FIXES & CHANGES
123
David 'Digit' Turnera046aad2009-06-29 16:33:30 +0200124- Generate thumb binaries by default.
125
David 'Digit' Turner67d8edd2009-06-29 16:44:31 +0200126- Add support for LOCAL_ARM_MODE in Android.mk.
127
128- Add support for the '.arm' suffix in source file names to force the
129 compilation of a single source in arm (32-bit) mode.
130
David 'Digit' Turnera046aad2009-06-29 16:33:30 +0200131- Generate proper unoptimized versions of binaries when APP_OPTIM := debug
132
David 'Digit' Turner6c01aba2009-06-29 16:48:56 +0200133- Add support for LOCAL_C_INCLUDES in Android.mk
David 'Digit' Turnera046aad2009-06-29 16:33:30 +0200134
David 'Digit' Turner7f0688d2009-07-20 15:38:48 +0200135- Fix compilation of assembler files (e.g. foo.S)
136
David 'Digit' Turnerfadee812009-06-29 12:28:04 +0200137-------------------------------------------------------------------------------
David 'Digit' Turnerfdc5ea22009-07-24 17:56:51 +0200138android-ndk-1.5_r1 released.