- 10 Oct, 2011 8 commits
-
-
David 'Digit' Turner authored
Change-Id: I3ad484ca4d65838b4b5cb842bfb489c796c6c360
-
David 'Digit' Turner authored
Change-Id: Ife010c68013b5476cbfc53df33c4847a9f59c8d7
-
David 'Digit' Turner authored
Change-Id: Id0c2ce8f7c8a95f8633db9161e73d61249962c08
-
David 'Digit' Turner authored
Change-Id: I3efc6a334d7cca08d5fc3f24fce79a98a2d69fed
-
David 'Digit' Turner authored
This patch fixes build-gnu-libstdc++.sh to work properly and generate libgnustl_shared.so from the GNU libstdc++ sources. This is done by a custom patch to the gcc toolchain source tree to force the generation of libgnustl_shared.so from the same objects than libstdc++.so. This is required because there is no way to change the internal DT_SONAME of a given shared library, so a simple rename will not work. We also ensure that libgnustl_static.a is properly generated and used by the make-standalone-toolchain.sh script (which uses copy-libstdcxx.sh) + Update definitions.mk to make "gnustl_shared" available in APP_STL + Update documentation to reflect that STLport now supports RTTI + Update documentation to reflect the new gnustl_shared runtime Change-Id: Ie3ffaf825ba2d65eca027ec0be5e320d0ee39cbc
-
David 'Digit' Turner authored
+ Make some messages "log" instead of "dump" + Add the ability to specify host system as parameter to many functions + Define HOST_TAG32 as the 32-bit variant of HOST_TAG Change-Id: Id0bfaf48c1599be78a4f9f7441c3f48568867d4f
-
David 'Digit' Turner authored
Change-Id: I18fda0105cd53817850ec5b1bb272af6c31ef47a
-
David 'Digit' Turner authored
This patch moves the definitions of all defaults to dev-defaults. This should make it easier in the future to upgrade the toolchains or target binaries. Change-Id: I140b51c5b5116d37d16e628120f8f58974252de4
-
- 07 Oct, 2011 13 commits
-
-
David 'Digit' Turner authored
Change-Id: I298c5b7d84b1cbe9929e0471d940fc69c31aa284
-
David 'Digit' Turner authored
Change-Id: I735daef01d125f875facbb6141a4829f4950fc8a
-
David 'Digit' Turner authored
Change-Id: I26e43eef14ced900fade15058bd3d95b4fa3e369
-
David 'Digit' Turner authored
These options are obsolete. Instead, the build-gnu-libstdc++.sh script can be used to rebuild the GNU libstdc++ library directly. Change-Id: I281653915a5bce272ac8d593038291b73270c128
-
David 'Digit' Turner authored
+ Add a patch to disable libtool versioning when building the GNU libstdc++.so Change-Id: I450513be84e00d02dd52a49ffccf18cfc9064e81
-
David 'Digit' Turner authored
Change-Id: Ibed2026c0ff80041a4d024b7b15dc2c70240dc27
-
David 'Digit' Turner authored
Auto-generate the <android/api-level.h> header which contains a single macro definition for the native API level that the code is built against. Previously, the corresponding files were stored under ../development/ndk and required manual updating, which is tedious and error-prone + remove obsolete dev-generate-api-levels.sh script Change-Id: Ibe482281dff7d86e0a46f6dd9d7096e3cc790e8e
-
David 'Digit' Turner authored
This flag is used to indicate that you only want to generate sysroots that can be used to build the host toolchains, so this will only copy the system headers and static objects/libraries. All samples and shared libraries are ignored, and symlinks are not used to speed up execution (so --no-samples and --no-symlinks are implied) + Drop --no-samples, and use --samples instead, since we only want to regenerate the samples directories when generating package releases. + Rename --no-symlinks to --fast-copy Change-Id: I110750a736f42ab5b34b5c6ca2a1c35ada3eba3d
-
David 'Digit' Turner authored
Ensures that the list of platforms is sorted in proper numerical order, i.e. that android-10 appears after android-9 and not before android-3 + Don't make error message is a symbols directory doesn't exist (e.g. on x86 for API level < 9) Change-Id: I1fa5b8a43df1de4ee51059065d5c3e24dc90a5e2
-
David 'Digit' Turner authored
Introduces a new script that can do the opposite of dev-platform-expand-all.sh, which is to compress the content of /tmp/ndk-$USER/platforms into /tmp/ndk-$USER/platforms-compressed This ensures that if two successive platforms to define the same header or symbol list, only the first is copied to the destination. You would typically use this script, then compare the content of /tmp/ndk-$USER/platforms-compressed with the one of $TOP/development/ndk/platforms to check what has changed. Change-Id: Id277f786789a2b2395259e0f392d3e9975526197
-
David 'Digit' Turner authored
This patch provides a new script that can call dev-platform-expand.sh for all API levels and all architectures automatically. This is useful to build a fully expanded tree in /tmp/ndk-$USER/platforms from the content of development/ndk Note that this only copies files, i.e. headers and symbol lists, it doesn't generate any shell libraries. Change-Id: Ib842c80b8985a7bc1b8f5764eed14ba7daec4216
-
David 'Digit' Turner authored
Ensures that the platforms are sorted in numerical order, i.e. that android-10 will appear after android-9, instead of before android-3 + Deal with non-existing symbols directories Change-Id: I58065514d3b8b1bce6bb524b945d5463953b2ffa
-
David 'Digit' Turner authored
Change-Id: Ia46585f0a3c5f867833a42870f739cde53c41baf
-
- 01 Oct, 2011 1 commit
-
-
David 'Digit' Turner authored
Change-Id: I6afcb9445b6b5096a202de2dddcd02794b2509bd
-
- 30 Sep, 2011 15 commits
-
-
David 'Digit' Turner authored
This patch adds a new script named 'gen-platforms.sh', used like 'build-platforms.sh' to generate final platform sysroot directories. They take the same parameters. The difference between these two scripts is that gen-platforms.sh does generate shared libraries from functions/variables list files found in development/ndk/platforms/android-$PLATFORM/arch-$ARCH/symbols/ built-platforms.sh instead copies the files from .../lib directory instead. In a future patch, we're going to remove all prebuilt shared libraries from development/ndk, and replace them with symbol files. We will also remove build-platforms.sh and replace its usage by gen-platforms.sh Change-Id: I2720095f0fcbbbfb5e1374cd1fdaac898ec53393
-
David 'Digit' Turner authored
This patch introduces the dev-platform-imports.sh script. Its role is import system headers and libraries from a fresh Android platform build and use them to populate a special "import directory" (e.g. /tmp/ndk-$USER/platforms-import/) The import directory will contain only headers and symbols file. For each system shared library, two symbol files will be generated: - $DST/android-$PLATFORM/arch-$ARCH/symbols/$LIBNAME.functions.txt - $DST/android-$PLATFORM/arch-$ARCH/symbols/$LIBNAME.variables.txt The idea is that we're going to remove all prebuilt shared libraries from development/ndk in a future patch. Instead, we will store the symbols and generate shell libraries when calling build-platforms.sh We need to keep the prebuilt static libraries though because they are required to build the toolchain files (plus, some NDK developers do use them to generate static executables). + add gen-system-symbols.sh which does the symbol file generation plus the filtering of undesirable symbols in our system libraries. Change-Id: I5882cd03a6e9ccc580a6577a6684ec40f6a1a739
-
David 'Digit' Turner authored
This patch adds sources/cxx-stl/gabi++/src/one_time_construction.cc and removes the dependency on libstdc++ from GAbi++ The implementation is based on pthread which is always provided by the C library on Android (the latter is always linked to generated binaries, so there is no need to list it in LOCAL_EXPORT_LDLIBS). + Add unit test to check that one-time-construction works properly. Change-Id: Ic4af9f19814cf9efd7caa60bc84e9c03fc4bf656
-
David 'Digit' Turner authored
This patch fixes a bug in definitions.mk regarding the list of installable dependencies for a given application. It ignored prebuilt shared libraries. + Fix another bug where we were not using the prebuilt GAbi++ libraries when using APP_STL := gabi++_shared/static Change-Id: Iefac2ccc49ee16e8b8e322c64979946d875212d6
-
David 'Digit' Turner authored
Change-Id: I6778883120627b491721f20181eb9f0e914edcfd
-
David 'Digit' Turner authored
Change-Id: Idabf82e3fa909a1000011fd621810a62857e453e
-
David 'Digit' Turner authored
This patch adds build-host-sed.sh that can be used to rebuild host versions of the sed tool, which will be placed under prebuilt/<system>/bin/ This is mainly for native Win32 support, since we can't rely on having a working sed in this environment. A future patch will modify the NDK build system to use the prebuilt binary automatically. + Add prebuilt/ to .gitignore + Remove prebuilt/ in dev-cleanup.sh Change-Id: Ibe3561c189e90dde68023b7cbe1e9dc03dff1004
-
David 'Digit' Turner authored
This patch modifies the helper functions inside prebuilt-common.sh to distinguish between host and target builds more easily. A target build is used to build target Android binaries, while a host one is used to build binaries that will run on the host machine, i.e. invoked by the NDK build script. We will use host builds to generate the Windows helper binaries that the NDK depends on (sed, awk, make, etc...) in future patches. Change-Id: Ifbc2a112ee08fa42c9987ee26fee4539476e91a4
-
David Turner authored
Change-Id: I19d6f065aa1e3c25b24e4031b4199501a242c141
-
David 'Digit' Turner authored
This patch allows any script to source prebuilt-common.sh properly. Before that, only patches in the same directory, i.e. build/tools/, could source it without errors. Note: To do that, the parent script must define NDK_BUILDTOOLS_PATH to point to the build/tools/ directory. If the variable is not defined, prebuilt-common.sh assumes that it is sources from build/tools/ Change-Id: If91360a0a10571f968049003c8f7192ad98c7f5c
-
David Turner authored
This patch adds a new function to prebuilt-common.sh that can return the install location of prebuilt host binaries. It currently is: $NDK/prebuilt/$HOST_TAG/ This will be used to store host binaries, like the Win32 versions of GNU Make, Awk, Sed and others. Change-Id: I8a543b4f4d6b728e13046f3759a5b8584cea6001
-
David 'Digit' Turner authored
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
-
David 'Digit' Turner authored
This patch modifies our build of stlport to include the GAbi++ runtime in order to support RTTI. Change-Id: I8ff1853ad886e217f3d0d8a9366fc5075c63cc34
-
David 'Digit' Turner authored
Also, for now we still need to depend on the system libstdc++ to implement one-time-construction properly. We should probably implement that in GAbi++ itself, but this will come in another patch. Note that the system libstdc++ uses private Bionic functions that cannot easily be used in the NDK. Especially those related to device-specific memory barriers. A correct NDK implementation will likely use pthread mutexes instead. Change-Id: I2cd78aa4b0d9cf2d1e3036b38cbc223f4e0d4d5a
-
David 'Digit' Turner authored
This patch ensures that run-tests.sh uses an exact match. Before that, when using --test=test-stlport, it would try to run both test-stlport-rtti and test-stlport Change-Id: Id67e0e783b559639240d49f6c6803f5e71b1c065
-
- 29 Sep, 2011 2 commits
-
-
David 'Digit' Turner authored
This patch modifies download-toolchain-sources.sh so that it creates a SOURCES file listing the SHA-1 states of every toolchain git repository that has been downloaded. Similarly, build-gcc.sh is modified to copy the file to the final install location / archive. Change-Id: Ifcc40a7e671c6e3f23613ac8bcc705bb9b9be448
-
David 'Digit' Turner authored
This patch modifies the build system to allow one to list several C++ source file extensions in LOCAL_CPP_EXTENSION. + Check the value of LOCAL_CPP_EXTENSION and warn about values that do not start with a dot (and ignore them). Note that this doesn't change the default (which is to use '.cpp') Change-Id: I0b5dfe8699f90955560cd0dbf9f52336970aaabd
-
- 21 Sep, 2011 1 commit
-
-
David 'Digit' Turner authored
This patch adds a new C++ runtime that can be used by modules by setting APP_STL to either 'gabi++_static' or 'gabi++_shared' in their Application.mk GAbi++ is an alternative to the GNU libsupc++ that provides RTTI support (with exceptions added in the future). The goal is to use it to support RTTI (and later exceptions) with our version of STLport, or even a different non-GNU STL. + new build-gabi++.sh script to rebuild the prebuilt libraries from sources. + support in rebuild-all-prebuilt.sh + support in package-release.sh + Unit test to check that RTTI actually works, both in the static and shared library case. Change-Id: I7e73a31a4d24b5baa36fef357b69064c192ddc56
-