aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2020-04-28Make a note about notarization for macOS.Dan Albert
Test: used clang from the app bundle on macOS Catalina Bug: https://github.com/android/ndk/issues/1060 Change-Id: I995e69cb0a5825f1d79a39baf19bed269749be08
2020-04-23Merge "Create an app bundle instead of a framework bundle."Treehugger Robot
2020-04-23Merge changes from topic "migrate-libcxx-toolchain"Treehugger Robot
* changes: Note the libc++ update in the changelog. Mark abs.fail.cpp broken for pre-API 19. Get libc++ from the new location.
2020-04-22Create an app bundle instead of a framework bundle.Dan Albert
Test: built and inspected on Linux Bug: http://b/143105198 Change-Id: I624344a9de93f3a5e11a77eb3b51d7b4a2d13aa6
2020-04-22Note the libc++ update in the changelog.Dan Albert
Test: None Bug: None Change-Id: Ib23dee97aaf9cfce7b6b7d05f73ff5fc62ac19ea
2020-04-21Mark abs.fail.cpp broken for pre-API 19.Dan Albert
Switching to using Clang's `-verify` feature for testing the compile failure tests means that we're now checking that all the *correct* diagnostics are firing, rather than just compilation failing. The -Wabsolute-value warning expected here doesn't fire for pre-API 19 (see the bug for more details). Test: ./run_tests.py --rebuild --filter libc++ Bug: https://github.com/android/ndk/issues/1237 Change-Id: I4482823d28a7c38d3e29c040450b7741f697aa60
2020-04-21Get libc++ from the new location.Dan Albert
Test: treehugger Bug: None Change-Id: I7326949928a3a4ccc048862c55b8389446177af2
2020-04-21Merge "Fix framework bundle zip."Dan Albert
2020-04-20Fix framework bundle zip.Dan Albert
I'd originally built `_make_zip_package` to make it impossible to avoid a single parent directory, but now we need multiple files in the root of the zip because that's what the signer expects. Test: unzip -l of the artifact, saw _codesign/volumename Bug: http://b/143105198 Change-Id: Ib3834ed95154749136d8d6a36abfd47bb9a8f252
2020-04-17Merge "Move the source.properties to the root."Dan Albert
2020-04-17Merge "Populate signer metadata."Treehugger Robot
2020-04-17Move the source.properties to the root.Dan Albert
It seems codesign will not allow this file: https://stackoverflow.com/a/25950545/632035 Test: Built framework bundle and inspected Bug: http://b/143105198 Change-Id: I19ab69e2bfd22aeca818e58ae924861bd52a25ca
2020-04-17Populate signer metadata.Dan Albert
Test: removed darwin-only check and built framework bundle Bug: http://b/143105198 Change-Id: I7c87a0e9e230105bc5193eaacdd5876afdf0afba
2020-04-17Merge "Update clang update docs."Dan Albert
2020-04-16Update clang update docs.Dan Albert
Apparently this step hasn't been needed for a while. Test: treehugger Bug: None Change-Id: Ide70514ba135c24e60ccd52b60f4253bd3c20a6b
2020-04-16Merge "Correctly fail if LIT crashes."Treehugger Robot
2020-04-15Correctly fail if LIT crashes.Dan Albert
Test: saw correct error with broken LIT Bug: None Change-Id: I84e3252bf9e9091814c11f3dd4022a8b71dba684
2020-04-14Merge "Document the clang version locations."Treehugger Robot
2020-04-14Document the clang version locations.Dan Albert
Longer term we can remove the need for all of these. 1 can be removed today with a little work to migrate any modules still using it. 2 can be removed once all our builds are off those ancient shell scripts. 3 can be removed when we get properly integrated with CMake (https://github.com/android/ndk/issues/463). But for now documenting them means I'll stop forgetting step 3. Test: None Bug: None Change-Id: I18625db76891ed9810bec29b92a61258063008d0
2020-04-13Merge "Add test and changelog note for #1200."Treehugger Robot
2020-04-13Merge "Package the framework bundle as a zip."Dan Albert
2020-04-13Package the framework bundle as a zip.Dan Albert
Test: ./checkbuild.py --package, without the darwin specific check Bug: http://b/143105198 Bug: https://github.com/android/ndk/issues/1060 Change-Id: I070db662631886bcc449849a5b4582a0b4f9a8a8
2020-04-13Add test and changelog note for #1200.Dan Albert
The fix itself is in libc++abi. Test: This is the test Bug: https://github.com/android/ndk/issues/1200 Change-Id: If1c75e80b051e2a2e9316745e671a4e81ada6fbf
2020-04-13Merge "Try to fix the make build on the old macOS build bots."Elliott Hughes
2020-04-11Merge "Add `env` option to `AutoconfModule`."Elliott Hughes
2020-04-10Try to fix the make build on the old macOS build bots.Elliott Hughes
Bug: http://b/153310680 Test: suck it and see Change-Id: Ie75aeffa5b9fabe5bfade4192a1eaf992fcd039e
2020-04-10Add `env` option to `AutoconfModule`.Dan Albert
Test: enh is going to use it Bug: None Change-Id: I55c90580606114914188e5cddb309732551e18a7
2020-04-09Merge "Fix `FileModule`."Treehugger Robot
2020-04-09Fix `FileModule`.Dan Albert
The meaning of `path` was accidentally changed from a file path to a parent directory path. Test: ls Bug: https://github.com/android/ndk/issues/1229 Change-Id: Ie59051d8f20212f202e268bc727feef3aba26ad6
2020-04-08Merge "Mention the make 4.3 upgrade in the changelog."Treehugger Robot
2020-04-08Mention the make 4.3 upgrade in the changelog.Elliott Hughes
Test: N/A Change-Id: Ic16114a9181340f33d8ac3b65c2d34a8c5313ed8
2020-04-08Merge "Only create zip archives of the NDK."Treehugger Robot
2020-04-07Only create zip archives of the NDK.Dan Albert
We never gained the ability to distribute the tarballs like we wanted to do for Linux/Darwin, and the SDK requires zips. I'm changing the default behavior here as well. It takes almost 10 minutes to zip -9 the NDK even with these beefy machines since zip isn't parallel. I don't want that to be part of our regular workflow, so `--package` must now be explicitly given to cause packaging to happen. The build servers already pass this argument (long ago we didn't package by default, and I never got around to cleaning up the build configs when I flipped the default the last time). Test: ./checkbuild.py Test: ./checkbuild.py --package Bug: None Change-Id: Iad8e6579f54135881d87fc0473ea746262da648e
2020-03-31Merge "Tone down the legacy toolchain removal note."Treehugger Robot
2020-03-31Merge "Mention the binutils fix in the changelog."Treehugger Robot
2020-03-30Tone down the legacy toolchain removal note.Dan Albert
Removing *all* of these hinges on us being able to remove binutils because a final part of the cleanup will be removing the target-specific bin directories within the LLVM toolchain, which can affect driver behavior. Since we don't know if we'll be able to get that done for next year's LTS, don't be so explicit about the timeline. We can be more specific when we know more. Test: None, doc only Bug: None Change-Id: I0ddbd948c1c45b894d417b0ef3d1bfded0eccc7a
2020-03-30Mention the binutils fix in the changelog.Dan Albert
Test: None, doc only Bug: https://github.com/android/ndk/issues/1176 Change-Id: I13a77f24e2c755126595d5d4da15d7e2211e12e7
2020-03-30Merge "Update LLVM to r365631c1."Dan Albert
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-26Merge "Revert "Default to lld again.""Treehugger Robot
2020-03-26Revert "Default to lld again."Dan Albert
This reverts commit fed0a4058d786dcc73ee4d625388f9f416b719cc. Reason for revert: Broke Darwin again Change-Id: I0e432102934a3fb2ab659924b461a23a0eb64c44
2020-03-24Merge "Default to lld again."Treehugger Robot
2020-03-24Default to lld again.Dan Albert
Rather than trying to replace `ld` in each location, this instead relies on Clang defaulting to `ld.lld`, which it invokes from the Clang bin directory. Test: treehugger Bug: None Change-Id: I32b0655c0d89522848f044f1067b53f9214c5444
2020-03-23Merge "Switch the NDK source/ headers to #pragma once."Treehugger Robot
2020-03-23Switch the NDK source/ headers to #pragma once.Elliott Hughes
Because we look silly when our demo of IntelliSense in Visual Studio is only offering completions that are header file include guard spam. Bug: https://youtu.be/JXQBdMNDL7k?t=215 Test: treehugger Change-Id: I608e1e000dec3f4b4919263dfb5688f42c02b1b1
2020-03-18Merge "Revert "Switch to LLD as the default linker.""Treehugger Robot
2020-03-18Revert "Switch to LLD as the default linker."Dan Albert
This reverts commit 393761d2e07461366ea456cea7f67fade95e3b4b. This broke Darwin. It seems that LLD assumes the target based on the name of the executable, so it can't be reliably used from the target-specific directory as I tried to do here. Trying to use this with Darwin results in the following: ``` ld: warning: ignoring unknown argument: -z ld: warning: ignoring unknown argument: --warn-shared-textrel ld: warning: ignoring unknown argument: -z ld: warning: ignoring unknown argument: -z ld: warning: ignoring unknown argument: --hash-style=both ld: warning: ignoring unknown argument: --enable-new-dtags ld: warning: ignoring unknown argument: --eh-frame-hdr ld: warning: ignoring unknown argument: -m ld: warning: ignoring unknown argument: -dynamic-linker ld: warning: ignoring unknown argument: -plugin ld: warning: ignoring unknown argument: -plugin-opt=mcpu=x86-64 ld: warning: ignoring unknown argument: --gc-sections ld: warning: ignoring unknown argument: -rpath-link=/Volumes/Android/danalbert/ndk/out/darwin/android-ndk-r22-canary/toolchains/llvm/prebuilt/darwin-x86_64/sysroot/usr/lib/x86_64-linux-android/21 ld: warning: ignoring unknown argument: -rpath-link=./obj/local/x86_64 ld: warning: ignoring unknown argument: --exclude-libs ld: warning: ignoring unknown argument: --exclude-libs ld: warning: ignoring unknown argument: --exclude-libs ld: warning: ignoring unknown argument: --build-id ld: warning: ignoring unknown argument: --no-undefined ld: warning: ignoring unknown argument: --fatal-warnings ld: error: -arch not specified and could not be inferred clang++: error: linker command failed with exit code 1 (use -v to see invocation) ``` It's trivially fixed with `-fuse-ld=lld`, which causes Clang to pick LLD from a different directory and passes the target explicitly. We could do that in ndk-build and in the CMake toolchain to change the default for those systems, but we really need to upstream a patch to change the default in the Clang driver to affect other build systems. Bug: None Test: treehugger
2020-03-18Merge "Switch to LLD as the default linker."Treehugger Robot
2020-03-18Switch to LLD as the default linker.Dan Albert
Test: treehugger, some manual inspection of linker flags for sanity Bug: None Change-Id: Ib8b371cc932b46fddb623165c17d77757be9de2d
2020-03-17Merge "Remove platforms and sysroot directories."Treehugger Robot