aboutsummaryrefslogtreecommitdiff
path: root/build/tools
AgeCommit message (Collapse)Author
2020-03-30Update LLVM to r365631c1.Dan Albert
This is the r21 toolchain with the cherry-picks for r21b. The following Gerrit query shows the patches it contains: https://android-review.googlesource.com/q/branch:llvm-r365631+status:merged+before:2020-03-30 Test: treehugger Bug: https://github.com/android/ndk/issues/1178 Bug: https://github.com/android/ndk/issues/1184 Bug: https://github.com/android/ndk/issues/1198 Bug: https://github.com/android/ndk/issues/1205 Bug: https://github.com/android/ndk/issues/1206 Change-Id: I223b98e96c32e0c754d9c27486d4f0ccfad32851
2020-03-17Remove platforms and sysroot directories.Dan Albert
These were deprecated in r19. Removing these saves 600MB in the installed NDK. Test: treehugger Bug: None Change-Id: I6c127ade030b9c580e57b3a4695831fab14cfb78
2020-02-26Revert "Bump Mac from 10.9 to 10.10 to match Studio."Dan Albert
This reverts commit 4ef2278397cfdbeadcc3714ddd5ef2ed917461cd. Reason for revert: broke GCC build Change-Id: I407129bc9131f82e1c50b2aaa655b788d7bfa416
2020-02-14Bump Mac from 10.9 to 10.10 to match Studio.Dan Albert
Test: treehugger Bug: None Change-Id: I4e61f79974179baa2776bd90fd9a2ca33b1e7634
2020-02-11Update Mac OS X deployment target to 10.9.Dan Albert
Binaries built against 10.8 cannot be notarized, and thus cannot be run on Catalina. Test: None, need the build server to produce the artifacts first Bug: http://b/143105198 Bug: https://github.com/android/ndk/issues/1060 Change-Id: I205f83d61d5b5785491de233346c9ebf4fcfba42
2019-09-27Update Clang to r365631c.Dan Albert
Test: Compared outputs of GNU strip to llvm-strip Test: ./checkbuild.py && ./run_tests.py Bug: https://github.com/android/ndk/issues/1083 Change-Id: Id7f7a010113d07286eb545eba65d9ec56cd9e4de
2019-09-24Cleanup -fno-addrsig use.Dan Albert
This is no longer necessary because we fixed the driver. Test: ./checkbuild.py Bug: https://github.com/android-ndk/ndk/issues/884 Change-Id: I97682cbb6485cf5032079f21fa051a55888abd49
2019-09-16Update to clang-r365631b.Dan Albert
Includes the fix for 32-bit x86 with gold, and also the `-static-openmp` driver option. Test: ./checkbuild.py && ./run_tests.py Bug: https://github.com/android/ndk/issues/1028 Bug: https://github.com/android/ndk/issues/1076 Change-Id: Ide30be0e318d861bf8491cae03e3374e1893d2bb
2019-08-20[NDK] Switch to gdb 8.3Haibo Huang
Bug: 62547070 Test: build Change-Id: I3449573dd5aa3abdd480723f12181a306e434ec1
2019-08-20Use clang/clang++ to build gdbserverHaibo Huang
This patch is originally from I0da96a5e5f29bba59a098e636b02ff8fdb89249a, Created by Dan Albert. Since GDB 8.3 requires C++ support, this patch added clang++ into the build script. Also, this patch specified to use gold linker as LDFLAGS so that gdbserver on ARM64 no longer built with bfd. Bug: http://b/62547070 Test: Built GDB 8.3 successfully and able to run it. Change-Id: Ib795bb229c6f227c70b0cb656a7aff1dd3585881
2019-08-20Move GDB out of HostTools.Dan Albert
Test: ./checkbuild.py gdb Test: ./checkbuild.py --system windows gdb Test: ./checkbuild.py --system windows64 gdb Test: cd samples/NdkGdbSample && \ ./gradlew installDebug && \ $NDK/ndk-gdb --launch Bug: http://b/62547070 Change-Id: I4e2472de84f1ca475f9235dc983fb61e261701a9
2019-08-15Update Clang to r365631.Dan Albert
Test: ./checkbuild.py && ./run_tests.py Bug: https://github.com/android-ndk/ndk/issues/855 Bug: https://github.com/android-ndk/ndk/issues/884 Change-Id: I231e74e78b83b695e5675d0b21473ecc3f30ffbd
2019-06-12Remove 32-bit Windows support from standalone toolchains.Dan Albert
Test: make_standalone_toolchain.py # On Windows Bug: None Change-Id: I8039dc5d23e61758805a5859944f67b4cb920309
2019-03-25Fix bad Windows package name.Dan Albert
get_host_tag doesn't get the host tag for a host, it gets the host tag associated with a given built NDK. The code paths that inspect the argument only occur on a Windows host (from the test runner), and this does return the host tag of the current host on Darwin and Linux, so the behavior was correct there. My local incremental builds also didn't detect this error because there was already a Windows artifact in my out directory that could be packaged. Test: rm -rf ../out && ./checkbuild.py --system windows Bug: None Change-Id: Ia59fafe9e725aaf961b847d23edde20b860e0cfa
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
2019-02-26Update to clang-r349610b.Dan Albert
Test: ./checkbuild.py && ./run_tests.py Bug: None Change-Id: Id3f796ec7182655ac8663beb2a5f77abcd60a1a9
2019-02-21Shaderc: Ship new exes; tests use effcee and re2David Neto
Also, Glslang has its own Android.mk now. Change-Id: I4f4a59d65cf00f61adfdb41c1aea4816194936d9 Testing: checkbuild.py on Linux; shader-tools unit tests on Windows
2019-01-18Update Clang to r346389c.Dan Albert
Test: ./checkbuild.py && ./run_tests.py Bug: None Change-Id: I0a242cb7299d4ad610bd2a6e9b64ce81b4152086
2019-01-09Fix the toolchain path in help message.Dan Albert
make_standalone_toolchain.py helpfully emits a warning explaining how to use the toolchains directly, but does so giving the wrong toolchain path (these got moved back into the LLVM directory during development to save some space/migration effort, but this message wasn't updated to reflect that). I also improved the message while I was here. Rather than giving generic advice for API 21 ARM32, it now points to the wrapper that matches the toolchain the user is creating. Test: Checked that paths emitted are correct Test: ./checkbuild.py && ./run_tests.py Bug: None Change-Id: I3062d804445a69b35855c32eb3a0207fb119a902
2019-01-08Default to -fno-addrsig.Dan Albert
-faddrsig causes Clang to create output that is not compatible with GNU binutils. Override and document for r19; the driver will be fixed in a future Clang update and we'll move to the LLVM tools when they're ready. Test: ./checkbuild.py && ./run_tests.py Test: ndk-build -C $NDK/sources/third_party/shaderc \ NDK_PROJECT_PATH=. APP_BUILD_SCRIPT=Android.mk \ APP_PLATFORM=android-24 APP_STL:=c++_static libshaderc_combined Bug: https://github.com/android-ndk/ndk/issues/884 Change-Id: Ifc709b804b4a071e84c097ecbc57675d2503aac0
2018-12-18Update build systems/docs for the new Clang.Dan Albert
Remove redundant flags and update the docs to match. Test: ./checkbuild.py && ./run_tests.py Bug: https://github.com/android-ndk/ndk/issues/812 Change-Id: If0366e7b597de92cb1602ec4dada6a9eee2198ac
2018-12-18Update to Clang r346389b.Dan Albert
Test: ./checkbuild.py && ./run_tests.py Bug: None Change-Id: I3b6da67665bd402c78543bf11630185e2b6f9fb4
2018-11-27Fix the make_standalone_toolchain stdlib fix.Dan Albert
Fix Windows... Test: Inspect Linux *and* Windows scripts Bug: https://github.com/android-ndk/ndk/issues/849 Change-Id: Ica2c11d147c0d254150196655be520448ecb90ee
2018-11-27Only use -stdlib=libc++ with clang++.Dan Albert
Test: Manual inspection of build flags with `clang -v` Bug: https://github.com/android-ndk/ndk/issues/849 Change-Id: Ibdb2254ee9e91f94c59c8c9c794b19ae617ef6d2
2018-11-13Update clang to r344140b.Dan Albert
Test: ./checkbuild.py && ./run_tests.py Bug: None Change-Id: I36ace11879f6a69cd5cbdc8920b7bc48966dac85
2018-11-08Fix make_standalone_toolchain.py for Cygwin.Dan Albert
Test: ./checkbuild.py && ./run_tests.py Bug: https://github.com/android-ndk/ndk/issues/838 Change-Id: I159fcccb23b6ab10a3ddde756f048ab932053745
2018-10-25Put the new toolchain back in to toolchains/llvm.Dan Albert
Moving this to an entirely separate directory will likely be too disruptive. While not very difficult to fix in any given build system, there's a significant number of third-party projects that do not even use standalone toolchains. Those few of them using Clang can be kept working for the time being (they'll still break when we remove $NDK/sysroot if they're using `--sysroot` like they should be rather than `-isystem`). This also saves us a small amount of space in the transition period. Although we still need to duplicate binutils, libc++, the sysroot, etc, we can at least dedup Clang. Test: ./checkbuild.py && ./run_tests.py Bug: https://github.com/android-ndk/ndk/issues/780 Change-Id: I5760e55240fc3ff0ed2fe5385b8dca9394327dd1
2018-10-15Drop `-Wl,--fix-cortex-a8`.Dan Albert
Hardly any devices need this workaround and LLD does not support it. Test: ./checkbuild.py Bug: https://github.com/android-ndk/ndk/issues/776 Change-Id: I3c842e462d0d2b6db3f1afb645f7724dd39bb130
2018-10-11Stop using `-Wl,-z,nocopyreloc`.Dan Albert
This is no longer necessary since all executables are PIE. The gdbserver case was never necessary since it's a static binary. Test: ./checkbuild.py && ./run_tests.py Bug: None Change-Id: I5ba24d2d46bbdbb9a2803787c3ec16ea050c3e5a
2018-10-11Update to clang r339409b.Dan Albert
Test: ./checkbuild.py && ./run_tests.py Bug: None Change-Id: Ie84481b9bbc2d7b5483b7850e72aab752c2a0a01
2018-10-04Fixup GCC wrappers in make_standalone_toolchain.py.Dan Albert
Test: make_standalone_toolchain.py --arch arm --install-dir foo && \ cat foo/bin/arm-linux-androideabi-gcc && foo/bin/arm-linux-androideabi-gcc -c foo.c Bug: https://github.com/android-ndk/ndk/issues/803 Change-Id: Ib6b223e54dd237623b837ea72ef7978d1e9b7d2a
2018-09-26Remove dev-cleanup.sh.Dan Albert
Doesn't seem like we make any of the mistakes that made this necessary any more. Test: None of the things cleaned by the script exist any more except the tests. The test runner performs its own cleanups. Bug: None Change-Id: I89a4c4bebb5bc26761d4f7cc11afca3ab83e0e6e
2018-09-25Install target specific Clang wrappers.Dan Albert
These wrappers can be used to target the given architecture/API combination without needing to specify -target. These obviate the need for standalone toolchains. We can't remove the code that does this in make_standalone_toolchain.py since it installs `clang` (no triple or version) and `$TRIPLE-clang` (no version) scripts, which we can't assume any defaults for in the toolchain directory. Ideally these would be symlinks rather than wrapper scripts to avoid the unnecessary indirection (Clang will infer its default target based on argv[0]), but the SDK manager can't install symlinks and Windows only allows administrators to create them. Test: Bug: Change-Id: Ib9ce6a7e7dbd57985fc2f113c12ce3b5a456752c
2018-09-25Update make_standalone_toolchain.py for the new toolchain layout.Dan Albert
This is largely obsolete now. Some plumbing to copy in things like gdb and the generation of scripts that handle the `-target` flag automatically, but otherwise we no longer need to rearrange anything. Test: ./run_tests.py --rebuild Bug: https://github.com/android-ndk/ndk/issues/780 Change-Id: I428002fb773576a52ba793c28e28051aeb3b6e9b
2018-09-24Update to clang-r339409.Dan Albert
Test: ./checkbuild.py && ./run_tests.py Bug: https://github.com/android-ndk/ndk/issues/780 Change-Id: I5059882ecab898929979ae5d7e2ead9349eb24c1
2018-09-06Fix make_standalone_toolchain.py's handling of ~.Dan Albert
Test: make_standalone_toolchain.py --install-dir=~/foo Test: ./run_tests.py --rebuild --filter 'standalone_toolchain*' Bug: None Change-Id: Ie04c596398bdcb40f6d97c7c4f43c863e747e589
2018-08-28Build GCC prebuilts with x18 reserved.Peter Collingbourne
Once https://reviews.llvm.org/D45588 lands in our copy of Clang we should get x18 reserved in everything built by Clang, but that won't cover the prebuilts built by GCC (most notably libgcc.a). This CL changes the cflags and cxxflags that we pass to GCC so that libgcc.a is built with x18 reserved. Bug: 112907825 Test: cd toolchain/gcc && python build.py --toolchain aarch64-linux-android Change-Id: I9d40356dae89ca24fbea34c89acdf86a1cc28b2d
2018-07-17Remove support for building the NDK using ccache.Elliott Hughes
Bug: https://github.com/android-ndk/ndk/issues/122 Test: builds Change-Id: I8dcca50541563aa2218f151662e5f29c2fbe089a
2018-07-12Restrict mstackrealign to pre-24.Dan Albert
Test: ./checkbuild.py && ./run_tests.py Bug: https://github.com/android-ndk/ndk/issues/693 Change-Id: I9f6ebdb2f884b9b907d724ab7215c9255c152a19
2018-05-03Update clang to build 475164.Dan Albert
Test: ./checkbuild.py && ./run_tests.py Bug: None Change-Id: I16fe17c7cde93d861fbe576ba23282a3660e12b6
2018-05-02Generate a libc++ linker script per API level.Dan Albert
In r19 we'll end up having roughly the same thing, but the scripts will be in the sysroot. Test: ./checkbuild.py Bug: https://github.com/android-ndk/ndk/issues/672 Change-Id: Ica3f1a3d220939da2c2da9d73d6a3d4151d9df14
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-16Fix LP64 standalone toolchains targeting 21+.Dan Albert
We were using the same libc++ linker script regardless of API level, and for 21+ we don't copy libandroid_support since it is not needed. In this case, rewrite the linker script after we copy it into the standalone toolchain. We should investigate a different fix for r18, but I don't think we should be making a more disruptive change this late in the r17 release. Test: ./run_tests.py --rebuild Bug: https://github.com/android-ndk/ndk/issues/672 Change-Id: Ia3db77194953c5b72b12b6b4a9320444e2df3ab3
2018-04-12Pass the API level via the Clang driver.Dan Albert
We're starting to add logic to the driver to behave differently based on the NDK API level. For now it does pass -D__ANDROID_API__ for us, so we should start taking advantage of that. Test: ./checkbuild.py && ./run_tests.py Bug: None Change-Id: Ic12124e65a68c40bfb5a0a02b7224fc7ade7e635
2018-04-03Update Clang to build 4691093.Dan Albert
This isn't a major update to the previous Clang, just a handful of cherry-picks from the clang 6 release branch. Test: ./checkbuild.py && ./run_tests.py Bug: None Change-Id: If9f1cc198518c27668ba6349499be1ca8f7e559c
2018-03-07Update clang to build 4639204.Dan Albert
Contains the fix for Windows LTO. Test: ./checkbuild.py && ./run_tests.py Bug: None Change-Id: Ibc04abc4751337519243d46d6fc49d75042fb669
2018-03-05Update Clang to build 4630689.Dan Albert
Test: ./checkbuild.py && ./run_tests.py Bug: https://github.com/android-ndk/ndk/issues/593 Bug: http://b/72512648 Change-Id: I01df21b47da547efc6c8b029fc389423e9a63c23
2018-03-01Fail if Linux/OSX host toolchains are missingRyan Prichard
The glibc2.15 toolchain is currently missing, and the Linux gcc build still passes, because it falls back to using a g++ from the PATH. It would be better if it failed. Test: ./toolchain/gcc/build.py --toolchain arm-linux-androideabi --host linux Test: ./toolchain/gcc/build.py --toolchain arm-linux-androideabi --host windows Test: ./toolchain/gcc/build.py --toolchain arm-linux-androideabi --host windows64 Test: ./checkbuild.py Change-Id: Ia143a995789f45ce147811c0bfa7214ad1840912
2018-02-26Upgrade Linux host toolchain from glibc 2.11 to 2.15Ryan Prichard
Bug: b/73539603 Test: ./checkbuild.py && ./run_tests.py Test: toolchain/gcc/build.py --toolchain arm-linux-androideabi --host linux Change-Id: I71b34416434f6a7228002975e00705519113ebc2
2018-02-22Update clang to build 4579689.Dan Albert
Test: ./checkbuild.py && ./run_tests.py Bug: None Change-Id: Ib67881501c3ace6596ece7c9a65cf36ef83841bb