Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
20 commits
Select commit Hold shift + click to select a range
089475a
Fix doc example for `wrapping_abs`
TethysSvensson Nov 14, 2022
8b5bfaf
rustdoc JSON: Use `Function` everywhere and remove `Method`
Enselic Nov 16, 2022
67e746c
Workaround for private global symbol issue
dpaoliello Nov 16, 2022
c36ff28
drive-by: PolyExistentialPredicate
compiler-errors Nov 19, 2022
3338244
deduplicate constant evaluation in cranelift backend
RalfJung Nov 19, 2022
6f1c7b2
Revert "Update CI to use Android NDK r25b"
Nov 20, 2022
00bf999
Incorporate review feedback
TethysSvensson Nov 20, 2022
30b7e44
rustdoc JSON: Clarify that `Function` is also used for methods
Enselic Nov 20, 2022
a6e09a1
Streamline deriving on packed structs.
nnethercote Nov 21, 2022
417ed9f
Remove `ref` patterns from `rustc_ast`
WaffleLapkin Nov 16, 2022
d9f2c0b
Revert formatting changes of a test
WaffleLapkin Nov 21, 2022
369e449
Rollup merge of #104420 - TethysSvensson:master, r=JohnTitor
matthiaskrgr Nov 21, 2022
4300b9e
Rollup merge of #104499 - Enselic:no-method-in-rustdoc-json, r=Guilla…
matthiaskrgr Nov 21, 2022
b39e0c2
Rollup merge of #104500 - WaffleLapkin:deref-the-compiler, r=wesleywiser
matthiaskrgr Nov 21, 2022
cc2397b
Rollup merge of #104511 - dpaoliello:privateglobalworkaround, r=micha…
matthiaskrgr Nov 21, 2022
844e3fb
Rollup merge of #104595 - compiler-errors:poly-existential-predicate,…
matthiaskrgr Nov 21, 2022
ed22bdc
Rollup merge of #104605 - RalfJung:clf_consts, r=bjorn3
matthiaskrgr Nov 21, 2022
5b92892
Rollup merge of #104628 - alex-pinkus:revert-android-ndk-upgrade, r=p…
matthiaskrgr Nov 21, 2022
439a8e6
Rollup merge of #104662 - nnethercote:tweak-deriving-for-packed-non-c…
matthiaskrgr Nov 21, 2022
9326261
Rollup merge of #104667 - WaffleLapkin:unfmttest, r=Dylan-DPC
matthiaskrgr Nov 21, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Revert "Update CI to use Android NDK r25b"
This reverts commit bf7f1ca.
  • Loading branch information
Alex Pinkus committed Nov 20, 2022
commit 6f1c7b24705d8e744ddea9b445cb70e0a0d328cb
24 changes: 6 additions & 18 deletions src/bootstrap/cc_detect.rs
Original file line number Diff line number Diff line change
Expand Up @@ -47,8 +47,6 @@ fn cc2ar(cc: &Path, target: TargetSelection) -> Option<PathBuf> {
Some(PathBuf::from("ar"))
} else if target.contains("vxworks") {
Some(PathBuf::from("wr-ar"))
} else if target.contains("android") {
Some(cc.parent().unwrap().join(PathBuf::from("llvm-ar")))
} else {
let parent = cc.parent().unwrap();
let file = cc.file_name().unwrap().to_str().unwrap();
Expand Down Expand Up @@ -221,22 +219,12 @@ fn set_compiler(
}

pub(crate) fn ndk_compiler(compiler: Language, triple: &str, ndk: &Path) -> PathBuf {
let mut triple_iter = triple.split("-");
let triple_translated = if let Some(arch) = triple_iter.next() {
let arch_new = match arch {
"arm" | "armv7" | "armv7neon" | "thumbv7" | "thumbv7neon" => "armv7a",
other => other,
};
std::iter::once(arch_new).chain(triple_iter).collect::<Vec<&str>>().join("-")
} else {
triple.to_string()
};

// API 19 is the earliest API level supported by NDK r25b but AArch64 and x86_64 support
// begins at API level 21.
let api_level =
if triple.contains("aarch64") || triple.contains("x86_64") { "21" } else { "19" };
let compiler = format!("{}{}-{}", triple_translated, api_level, compiler.clang());
let triple_translated = triple
.replace("armv7neon", "arm")
.replace("armv7", "arm")
.replace("thumbv7neon", "arm")
.replace("thumbv7", "arm");
let compiler = format!("{}-{}", triple_translated, compiler.clang());
ndk.join("bin").join(compiler)
}

Expand Down
4 changes: 2 additions & 2 deletions src/ci/docker/host-x86_64/arm-android/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ RUN sh /scripts/android-base-apt-get.sh

COPY scripts/android-ndk.sh /scripts/
RUN . /scripts/android-ndk.sh && \
download_ndk android-ndk-r25b-linux.zip
download_and_make_toolchain android-ndk-r15c-linux-x86_64.zip arm 14

RUN dpkg --add-architecture i386 && \
apt-get update && \
Expand All @@ -30,7 +30,7 @@ ENV PATH=$PATH:/android/sdk/platform-tools

ENV TARGETS=arm-linux-androideabi

ENV RUST_CONFIGURE_ARGS --arm-linux-androideabi-ndk=/android/ndk/toolchains/llvm/prebuilt/linux-x86_64/
ENV RUST_CONFIGURE_ARGS --arm-linux-androideabi-ndk=/android/ndk/arm-14

ENV SCRIPT python3 ../x.py --stage 2 test --host='' --target $TARGETS

Expand Down
21 changes: 14 additions & 7 deletions src/ci/docker/host-x86_64/dist-android/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,14 @@ RUN sh /scripts/android-base-apt-get.sh
# ndk
COPY scripts/android-ndk.sh /scripts/
RUN . /scripts/android-ndk.sh && \
download_ndk android-ndk-r25b-linux.zip
download_ndk android-ndk-r15c-linux-x86_64.zip && \
make_standalone_toolchain arm 14 && \
make_standalone_toolchain x86 14 && \
make_standalone_toolchain arm 21 && \
make_standalone_toolchain x86 21 && \
make_standalone_toolchain arm64 21 && \
make_standalone_toolchain x86_64 21 && \
remove_ndk

# env
ENV TARGETS=arm-linux-androideabi
Expand All @@ -19,12 +26,12 @@ ENV TARGETS=$TARGETS,x86_64-linux-android
ENV RUST_CONFIGURE_ARGS \
--enable-extended \
--enable-profiler \
--arm-linux-androideabi-ndk=/android/ndk/toolchains/llvm/prebuilt/linux-x86_64/ \
--armv7-linux-androideabi-ndk=/android/ndk/toolchains/llvm/prebuilt/linux-x86_64/ \
--thumbv7neon-linux-androideabi-ndk=/android/ndk/toolchains/llvm/prebuilt/linux-x86_64/ \
--i686-linux-android-ndk=/android/ndk/toolchains/llvm/prebuilt/linux-x86_64/ \
--aarch64-linux-android-ndk=/android/ndk/toolchains/llvm/prebuilt/linux-x86_64/ \
--x86_64-linux-android-ndk=/android/ndk/toolchains/llvm/prebuilt/linux-x86_64/ \
--arm-linux-androideabi-ndk=/android/ndk/arm-14 \
--armv7-linux-androideabi-ndk=/android/ndk/arm-14 \
--thumbv7neon-linux-androideabi-ndk=/android/ndk/arm-14 \
--i686-linux-android-ndk=/android/ndk/x86-14 \
--aarch64-linux-android-ndk=/android/ndk/arm64-21 \
--x86_64-linux-android-ndk=/android/ndk/x86_64-21 \
--disable-docs

ENV SCRIPT python3 ../x.py dist --host='' --target $TARGETS
Expand Down
22 changes: 20 additions & 2 deletions src/ci/docker/scripts/android-ndk.sh
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,28 @@ set -ex
URL=https://dl.google.com/android/repository

download_ndk() {
mkdir /android/
cd /android
mkdir -p /android/ndk
cd /android/ndk
curl -fO $URL/$1
unzip -q $1
rm $1
mv android-ndk-* ndk
}

make_standalone_toolchain() {
# See https://developer.android.com/ndk/guides/standalone_toolchain.htm
python3 /android/ndk/ndk/build/tools/make_standalone_toolchain.py \
--install-dir /android/ndk/$1-$2 \
--arch $1 \
--api $2
}

remove_ndk() {
rm -rf /android/ndk/ndk
}

download_and_make_toolchain() {
download_ndk $1 && \
make_standalone_toolchain $2 $3 && \
remove_ndk
}