Age | Commit message (Collapse) | Author |
|
Test: nose2 ndk
Test: ./checkbuild.py && ./run_tests.py
Test: ./checkbuild.py --system windows
Test: ./checkbuild.py --system windows64
Bug: None
Change-Id: I339812db442eeb275498a777cd76bd1bb4ace846
|
|
Test: ./checkbuild.py
Test: less NOTICE
Test: less NOTICE.toolchain
Bug: None
Change-Id: Ie00060b0a364a15450ef8e41516592c5aa759e82
|
|
The information contained in the repo prop is implicit in the build
number, and is not necessary for every component.
Test: ./checkbuild.py
Bug: None
Change-Id: I23b03f1027621eb7b0bb175a8427fc5284c0de94
|
|
"build" is not a valid package name for setuptools. This package will
be silently removed from the source distribution because setuptools
thinks it's the build directory rather than a python package named
build. Pieces of this package are being moved into the ndk package
where they belong, but will continue to be exported from there until
we can chase down all the other users.
Test: ./checkbuild.py && ./run_tests.py
Bug: None
Change-Id: I6c57eefb78866a6e4f53af22791842e1afb24698
|
|
Test: ./checkbuild.py
Bug: None
Change-Id: Ia4a06868f72e92a60a5d1ff8ef4a74831b0ff560
|
|
Test: Tried to build cmake/ndk-build projects with arm5, failed
Bug: None
Change-Id: Ic1eb6c9f2578ae0fdb7f19bb18cf59bea5c9e2c4
|
|
Test: ./checkbuild.py && ./run_tests.py
Bug: None
Change-Id: Ifd307d1a36f54ad5f10514ffb92a2ba8f13d4002
|
|
Gingerbread is no more.
Test: ./validate.py
Bug: None
Change-Id: I278ffdd20f41cc7bfa91489fc1502c09c0867ae8
|
|
We now have gradle support for using the mips64 toolchain instead of
the mips32 one for building mips32 code, but that version of Gradle
isn't in Studio 2.2 (the current stable release). 2.3 isn't even in
beta yet, so we can't remove the mips32 toolchain without limiting
our user base to only canary.
I'm putting the mips32 toolchain back, but ndk-build/cmake/standalone
toolchains will continue using the mips64 toolchain. Gradle from 2.2
will use the mips32 toolchain, and Gradle from 2.3 and onward will
use the mips64 toolchain.
Test: ./checkbuild.py
Bug: http://b.android.com/228351
Change-Id: I31501b58502387e4eaa8e8d1589fcf33363a2631
|
|
Install them to $NDK/sysroot.
Bug: https://github.com/android-ndk/ndk/issues/120
Change-Id: I03f989059f1852db9ea69fc9dd9d8556a613320d
|
|
This was removed in
https://android-review.googlesource.com/#/c/247063/, but we still
need this for the GCC build script (to know what toolchains we need
to build). The GCC build has been broken ever since that change was
submitted, but apparently no one (including me) noticed :(
Test: toolchain/gcc/build.py
Bug: None
Change-Id: I45d86cbf482799545c14320dbfb7e8463aa969ea
|
|
Change-Id: I560492b3217f5dedb7d1792cd25228b319ac9c6c
|
|
Mips64el GCC can build all mips targets, so use it for mips32.
- To allow multilib toolchain to build for mips32, add empty dir:
<sysroot>/usr/lib64 directory. GCC then builds relative path:
<sysroot>/usr/lib64/../lib. We already have the empty dir in
newer ndk, but until that reaches prebuilts/ndk, this workaround
is required.
- Override toolchain prefix for mipsel toolchains, in the same way
as arm does for clang.
- Sprinkle -mips32 flag in various build scripts, as not all
scripts use ndk-build.
Change-Id: I522cc221c40145f9f6ba52fdbb6f0fed06511149
|
|
Change-Id: Ia9fc49e7462ef5ea2edac88035a6293e5ca19204
|
|
The API level was being passed as the string "android-$API_LEVEL",
which meant you had to perform some pre-processing before using it.
Pass it in as an integer instead. To avoid accidentally comparing it
with `None` (integer comparisons with `None` are generally not a good
idea in python2, and invalid in python3), stop allowing `None` for
this value. Check Application.mk for a default, or fallback to the
default level for the ABI.
Change-Id: Ib97f544d0e4b4d4d0798b5d82e749fc8caaa8a9f
|
|
Why?
1. People often use it because they think it's required to get
floating point instructions, which is incorrect.
2. Most of the cases where people do see a performance improvement
here are likely bugs/missed optimizations in either the compiler or
the user's code, and hiding those means they won't get fixed.
3. It's full of bugs and fixing them and keeping them fixed isn't
worth the benefit, especially in a world where you can avoid the
problem entirely by making your app 64-bit.
armeabi-v7a-hard is not a real ABI. No devices are built with this.
Hard float code generation is already used in the armeabi-v7a ABI.
The "hard float" variant only changes the function call ABI. That is,
the floating point registers are used to pass floating point
arguments rather than the integer registers.
This ABI should only be beneficial if the workload consists of many
math function calls, the math function is cheap enough that the call
itself is expensive, and it's not being inlined. The bug here is that
the call is not being inlined.
There is a cost to keeping this functionality. The way this "ABI"
works is by having an `__attribute__((pcs("aapcs")))` on every
function that is part of the Android ABI and has floating point
parameters (anything that is in the system libraries or zygote). If we
miss one (and we do, often), the function will not be called
correctly.
I should note that the GCC docs explicitly state that linking
-mfloat-abi=softfp and -mfloat-abi=hard is invalid:
https://gcc.gnu.org/onlinedocs/gcc/ARM-Options.html
> Note that the hard-float and soft-float ABIs are not
> link-compatible; you must compile your entire program with the same
> ABI, and link with a compatible set of libraries.
Change-Id: I9d729ac3a79886bc4c2fa7344de797d2e144e68f
|
|
We don't actually need this addsitedir mess. Clean it up.
Change-Id: I2114c0f5770c188f323932dcc531fe89d4506394
|
|
Change-Id: I228d58bd6607ec6fe8d6e101b7e3ab7347c77e9f
|
|
The zips that pass through these two functions are only a part of the
modular NDK vaporware. We're compressing the hell out of them even
though they are never used. Just store them uncompressed to save time
in the build.
Before this change:
Build: 0:14:16
Packaging: 0:04:41
Testing: 0:15:44
Total: 0:34:43
After this change:
Build: 0:13:38
Packaging: 0:04:04
Testing: 0:15:47
Total: 0:33:31
Saves about a minute (the build step is affected by this too since
that's the part that creates the zips).
Bug: http://b/28214235
Change-Id: I7027aaa38efc78a0bdc4d2418e0f55f03360010b
|
|
This includes glslc, spirv-as, spirv-dis, spirv-val. The builds use
mingw to compile for windows.
Change-Id: I2719b3eb0eea908e83e8a5ecd62760f733ff3b88
|
|
Windows finds it useful when we actually ship Python's compiled code.
Bug: http://b/26875911
Change-Id: Ib2179ef05d4224314ee253fa73c1dbeedd08415b
|
|
Change-Id: I53d264aec954d4c93c1cf7f68a796452628ccb24
|
|
Don't require ANDROID_BUILD_TOP to be set, and allow them to be used
in an `os.path.join` like manner.
Change-Id: I3fcae6341dcfe37b626d4df05a077c6d96a5fdca
|
|
|
|
Change-Id: If87e3b21d7dd5782312875125c0aa96139ad9012
|
|
DIST_DIR is archived on the build server, so we don't want to be
putting everything in there.
Also, this lays the groundwork for us to remove the build -> pack ->
unpack -> repack -> unpack -> test workflow that we currently have
and replace it with build -> test -> pack, since we can install
things to their proper locations, test them where they are, and then
package it directly.
Change-Id: I37529b5f564d82ba0e8b126d9fd44b4b148c1478
|
|
This way they build servers will let us know if we've screwed up
anything significantly.
Change-Id: Ie9ddf8aa1f4b9928d91cd567b8d938c7d4305fdf
|
|
The SDK manager doesn't speak tar. This should also speed up the
package validation step of package.py (since it isn't reading the
files but is just interested in the TOC). It will, however, increase
the size of each module. We're still building the final monolithic
package as a tarball for Linux and Darwin though, so the largest
download will still be the same size.
Bug: http://b/26237669
Change-Id: I967d0b60f4132c864726c2e88f0f52a012b03909
|
|
Bug: http://b/26235995
Change-Id: Ie00877190023f0e6ef686f80573ba105325a01f1
|
|
This has traditionally been done by package-release.sh, but we're
shipping the modules now and we don't want those to have these things
either.
Change-Id: I9eb3c78f3b15ab18ef74c21f4d6acc44c28b1edb
|
|
This is the conglomeration of all the common host tools. The way
things are organized right now, these are essentially all required.
Some of these things can be broken out. Android Studio users don't
need GDB, Make, or Awk.
Change-Id: I35f7a3bdb7eab4b9069f99b30a522062ada55342
|
|
This doesn't cover any packages that are built from toolchain or that
are installed to prebuilt/$HOST_TAG. The former will be fixed in
another patch soon, but the latter is going to take some
reorganization because several packages install to the same directory
(and the repo.prop files will clobber each other).
We need to also add the repo.prop files to each STL's .gitignore
because the STLs are still building into their source directory ಠ_ಠ
Bug: http://b/25417748
Change-Id: I4a666efecde192a5674e4c8b8ad835ceef80dd09
|
|
Bug: http://b/25282754
Change-Id: I769322301a45f5451c8b610bff3bf5c62a748a1d
|
|
The GCC we've been building on the build server hasn't been getting
archived :(
Change-Id: Ib7600f329129f11c4c2bf1935dcbf07b0cb07a0d
|
|
Previously would try to run os.chdir('') and fail.
Change-Id: I165d36e0249bb5e81380963f31ccec636a1998d1
|
|
Change-Id: Ib2a7e8ee0e1dcdeb27cdb6a8119aad60311adfaa
|
|
Change-Id: I22571e487bfddd33fda61f9a015abf9fd97c3ffa
|
|
Bug: http://b/23362228
Change-Id: I7dc519ecfe69a25a4b86ccc1f0be85c2856b5739
|
|
Change-Id: I7ad6aec61dc2687be5a272466d83c50d04ea2839
|
|
With this patch all the NDK host components have been moved off into
their own independently invokable build scripts (no more trying to
guess which environment variables need to be set to build each host
tool).
Since we are no longer building anything from build-host-prebuilts.sh,
drop it.
Change-Id: I1d987ea1094aa64c1244653c9bf01f98e357535e
|
|
Change-Id: I23841075bc6a1f899bd1be4c8db9c96fe83b34ca
|
|
Most of each build.py in the host tools was just duplicated crap.
Factor it all out into a common place.
Change-Id: Id646cd1eeda05ba8f2658c6129d3d676ce04622c
|