aboutsummaryrefslogtreecommitdiff
path: root/build/lib
AgeCommit message (Collapse)Author
2019-03-22Replace stringly typed hosts with an enum.Dan Albert
Test: nose2 ndk Test: ./checkbuild.py && ./run_tests.py Test: ./checkbuild.py --system windows Test: ./checkbuild.py --system windows64 Bug: None Change-Id: I339812db442eeb275498a777cd76bd1bb4ace846
2018-04-25Merge NOTICE files into two top level NOTICEs.Dan Albert
Test: ./checkbuild.py Test: less NOTICE Test: less NOTICE.toolchain Bug: None Change-Id: Ie00060b0a364a15450ef8e41516592c5aa759e82
2018-04-24Remove repo.prop requirement.Dan Albert
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
2017-11-28Move APIs from build.lib.build_support to ndk.Dan Albert
"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
2017-11-03Remove mips/mips64.Dan Albert
Test: ./checkbuild.py Bug: None Change-Id: Ia4a06868f72e92a60a5d1ff8ef4a74831b0ff560
2017-10-11Remove support for arm5.Dan Albert
Test: Tried to build cmake/ndk-build projects with arm5, failed Bug: None Change-Id: Ic1eb6c9f2578ae0fdb7f19bb18cf59bea5c9e2c4
2017-06-28Time phases of run_tests.py.Dan Albert
Test: ./checkbuild.py && ./run_tests.py Bug: None Change-Id: Ifd307d1a36f54ad5f10514ffb92a2ba8f13d4002
2017-02-13Update the minimum platform version to android-14.Dan Albert
Gingerbread is no more. Test: ./validate.py Bug: None Change-Id: I278ffdd20f41cc7bfa91489fc1502c09c0867ae8
2016-11-28Put the mips32 toolchain back.Dan Albert
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
2016-11-03Add a build step for the unified headers.Dan Albert
Install them to $NDK/sysroot. Bug: https://github.com/android-ndk/ndk/issues/120 Change-Id: I03f989059f1852db9ea69fc9dd9d8556a613320d
2016-09-21Put build_support.ALL_TOOLCHAINS back.Dan Albert
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
2016-08-04Fix testing on Windows.Chaoren Lin
Change-Id: I560492b3217f5dedb7d1792cd25228b319ac9c6c
2016-08-03Do not rely on mipsel toolchain for mips32, use mips64el insteadDuane Sand
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
2016-05-25Dedup two nearly identical functions.Dan Albert
Change-Id: Ia9fc49e7462ef5ea2edac88035a6293e5ca19204
2016-05-25Clean up API level in test_config.py.Dan Albert
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
2016-05-02Remove support for armeabi-v7a-hard.Dan Albert
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
2016-04-21Clean up some imports.Dan Albert
We don't actually need this addsitedir mess. Clean it up. Change-Id: I2114c0f5770c188f323932dcc531fe89d4506394
2016-04-20Time the internal steps of packaging.Dan Albert
Change-Id: I228d58bd6607ec6fe8d6e101b7e3ab7347c77e9f
2016-04-20Stop compressing our intermediate packages.Dan Albert
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
2016-03-23Added builds for shader-tools to the ndk.Andrew Woloszyn
This includes glslc, spirv-as, spirv-dis, spirv-val. The builds use mingw to compile for windows. Change-Id: I2719b3eb0eea908e83e8a5ecd62760f733ff3b88
2016-02-03Don't strip out .pyd files.Josh Gao
Windows finds it useful when we actually ship Python's compiled code. Bug: http://b/26875911 Change-Id: Ib2179ef05d4224314ee253fa73c1dbeedd08415b
2016-02-02Make android_path tolerant of symlinks.Dan Albert
Change-Id: I53d264aec954d4c93c1cf7f68a796452628ccb24
2016-01-27Make path functions in build_support more useful.Dan Albert
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
2016-01-14Merge "Fix x86 triple name."Dan Albert
2016-01-14Fix x86 triple name.Dan Albert
Change-Id: If87e3b21d7dd5782312875125c0aa96139ad9012
2016-01-13Differentiate OUT_DIR and DIST_DIR.Dan Albert
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
2016-01-11Run the host tests as the last step of the build.Dan Albert
This way they build servers will let us know if we've screwed up anything significantly. Change-Id: Ie9ddf8aa1f4b9928d91cd567b8d938c7d4305fdf
2015-12-18Switch all modules from tarballs to zipfiles.Dan Albert
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
2015-12-17Fix make_package to build a new style package.Dan Albert
Bug: http://b/26235995 Change-Id: Ie00877190023f0e6ef686f80573ba105325a01f1
2015-11-06Remove unwanted crap before making modules.Dan Albert
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
2015-11-04Build final host-tools package.Dan Albert
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
2015-11-03Include a repo.prop in each package.Dan Albert
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
2015-10-27Add a test for make-standalone-toolchain.sh.Dan Albert
Bug: http://b/25282754 Change-Id: I769322301a45f5451c8b610bff3bf5c62a748a1d
2015-10-01Apply DIST_DIR in build_support too.Dan Albert
The GCC we've been building on the build server hasn't been getting archived :( Change-Id: Ib7600f329129f11c4c2bf1935dcbf07b0cb07a0d
2015-10-01Fix chdir in build_support.run for this dir.Dan Albert
Previously would try to run os.chdir('') and fail. Change-Id: I165d36e0249bb5e81380963f31ccec636a1998d1
2015-09-03Don't apppend '-x86' to the 'windows' system tag.Josh Gao
Change-Id: Ib2a7e8ee0e1dcdeb27cdb6a8119aad60311adfaa
2015-09-02Add helper to convert host to tag for build scripts.Josh Gao
Change-Id: I22571e487bfddd33fda61f9a015abf9fd97c3ffa
2015-09-01Split gnustl into a module.Dan Albert
Bug: http://b/23362228 Change-Id: I7dc519ecfe69a25a4b86ccc1f0be85c2856b5739
2015-08-31Address missed comments from build_support CL.Dan Albert
Change-Id: I7ad6aec61dc2687be5a272466d83c50d04ea2839
2015-08-31Move LLVM out of build-host-prebuilts.sh.Dan Albert
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
2015-08-31Ensure that package-dir is always a realpath.Dan Albert
Change-Id: I23841075bc6a1f899bd1be4c8db9c96fe83b34ca
2015-08-28Factor out most build.py logic into build_support.Dan Albert
Most of each build.py in the host tools was just duplicated crap. Factor it all out into a common place. Change-Id: Id646cd1eeda05ba8f2658c6129d3d676ce04622c