Skip to content
Snippets Groups Projects
Commit 926300a2 authored by bors's avatar bors
Browse files

Auto merge of #1927 - JohnTitor:android-ci, r=JohnTitor

Fix aarch64-linux-android target CI
parents 582c5cf0 e228df91
No related branches found
No related tags found
Loading
......@@ -3,21 +3,21 @@
set -ex
NDK=android-ndk-r21d
wget --tries=20 https://dl.google.com/android/repository/${NDK}-linux-x86_64.zip
wget --tries=20 -q https://dl.google.com/android/repository/${NDK}-linux-x86_64.zip
unzip -q ${NDK}-linux-x86_64.zip
case "$1" in
arm)
arch=arm
api=24
api=28
;;
armv7)
arch=arm
api=24
api=28
;;
aarch64)
arch=arm64
api=24
api=28
;;
i686)
arch=x86
......
......@@ -9,10 +9,10 @@ set -ex
# located in https://github.com/appunite/docker by just wrapping it in a script
# which apparently magically accepts the licenses.
SDK=4333796
mkdir sdk
wget --tries=20 https://dl.google.com/android/repository/sdk-tools-linux-${SDK}.zip
unzip -q -d sdk sdk-tools-linux-${SDK}.zip
SDK=6609375
mkdir -p sdk/cmdline-tools
wget -q --tries=20 https://dl.google.com/android/repository/commandlinetools-linux-${SDK}_latest.zip
unzip -q -d sdk/cmdline-tools commandlinetools-linux-${SDK}_latest.zip
case "$1" in
arm | armv7)
......@@ -51,14 +51,14 @@ echo '#Fri Nov 03 10:11:27 CET 2017 count=0' >> /root/.android/repositories.cfg
#
# | grep -v = || true removes the progress bar output from the sdkmanager
# which produces an insane amount of output.
yes | ./sdk/tools/bin/sdkmanager --licenses --no_https | grep -v = || true
yes | ./sdk/tools/bin/sdkmanager --no_https \
yes | ./sdk/cmdline-tools/tools/bin/sdkmanager --licenses --no_https | grep -v = || true
yes | ./sdk/cmdline-tools/tools/bin/sdkmanager --no_https \
"emulator" \
"platform-tools" \
"platforms;android-${api}" \
"${image}" | grep -v = || true
echo "no" |
./sdk/tools/bin/avdmanager create avd \
./sdk/cmdline-tools/tools/bin/avdmanager create avd \
--name "${1}" \
--package "${image}" | grep -v = || true
......@@ -14,7 +14,7 @@ main() {
apt-get install --no-install-recommends e2tools
pushd "${td}"
wget --tries=5 "${URL}/${name}"
wget -q --tries=5 "${URL}/${name}"
unzip -q "${name}"
local system
......
......@@ -19,16 +19,17 @@ WORKDIR /android/
COPY android* /android/
ENV ANDROID_ARCH=aarch64
ENV PATH=$PATH:/android/ndk-$ANDROID_ARCH/bin:/android/sdk/tools:/android/sdk/platform-tools
ENV PATH=$PATH:/android/ndk-$ANDROID_ARCH/bin:/android/sdk/cmdline-tools/tools:/android/sdk/platform-tools
RUN sh /android/android-install-ndk.sh $ANDROID_ARCH
RUN sh /android/android-install-sdk.sh $ANDROID_ARCH
RUN mv /root/.android /tmp
RUN chmod 777 -R /tmp/.android
RUN chmod 755 /android/sdk/tools/* /android/sdk/emulator/qemu/linux-x86_64/*
RUN chmod 755 /android/sdk/cmdline-tools/tools/* /android/sdk/emulator/qemu/linux-x86_64/*
RUN ls -a /android/sdk/platform-tools
ENV PATH=$PATH:/rust/bin \
CARGO_TARGET_AARCH64_LINUX_ANDROID_LINKER=aarch64-linux-android-gcc \
CARGO_TARGET_AARCH64_LINUX_ANDROID_LINKER=aarch64-linux-android28-clang \
CARGO_TARGET_AARCH64_LINUX_ANDROID_RUNNER=/tmp/runtest \
HOME=/tmp
......
......@@ -19,13 +19,14 @@ WORKDIR /android/
COPY android* /android/
ENV ANDROID_ARCH=arm
ENV PATH=$PATH:/android/ndk-$ANDROID_ARCH/bin:/android/sdk/tools:/android/sdk/platform-tools
ENV PATH=$PATH:/android/ndk-$ANDROID_ARCH/bin:/android/sdk/cmdline-tools/tools:/android/sdk/platform-tools
RUN sh /android/android-install-ndk.sh $ANDROID_ARCH
RUN sh /android/android-install-sdk.sh $ANDROID_ARCH
RUN mv /root/.android /tmp
RUN chmod 777 -R /tmp/.android
RUN chmod 755 /android/sdk/tools/* /android/sdk/emulator/qemu/linux-x86_64/*
RUN chmod 755 /android/sdk/cmdline-tools/tools/* /android/sdk/emulator/qemu/linux-x86_64/*
RUN ls -a /android/sdk/platform-tools
ENV PATH=$PATH:/rust/bin \
CARGO_TARGET_ARM_LINUX_ANDROIDEABI_LINKER=arm-linux-androideabi-gcc \
......
......@@ -20,13 +20,13 @@ WORKDIR /android/
COPY android* /android/
ENV ANDROID_ARCH=i686
ENV PATH=$PATH:/android/ndk-$ANDROID_ARCH/bin:/android/sdk/tools:/android/sdk/platform-tools
ENV PATH=$PATH:/android/ndk-$ANDROID_ARCH/bin:/android/sdk/cmdline-tools/tools:/android/sdk/cmdline-tools/platform-tools
RUN sh /android/android-install-ndk.sh $ANDROID_ARCH
RUN sh /android/android-install-sdk.sh $ANDROID_ARCH
RUN mv /root/.android /tmp
RUN chmod 777 -R /tmp/.android
RUN chmod 755 /android/sdk/tools/* /android/sdk/emulator/qemu/linux-x86_64/*
RUN chmod 755 /android/sdk/cmdline-tools/tools/* /android/sdk/emulator/qemu/linux-x86_64/*
ENV PATH=$PATH:/rust/bin \
CARGO_TARGET_I686_LINUX_ANDROID_LINKER=i686-linux-android-gcc \
......
......@@ -9,7 +9,7 @@ path = ".."
default-features = false
[build-dependencies]
cc = "1.0"
cc = "=1.0.52"
# FIXME: Use fork ctest until the maintainer gets back.
ctest2 = "0.3"
......
......@@ -1370,7 +1370,6 @@ fn test_android(target: &str) {
t => panic!("unsupported target: {}", t),
};
let x86 = target.contains("i686") || target.contains("x86_64");
let aarch64 = target.contains("aarch64");
let mut cfg = ctest_cfg();
cfg.define("_GNU_SOURCE", None);
......@@ -1592,31 +1591,6 @@ fn test_android(target: &str) {
// test the XSI version below.
"strerror_r" => true,
// FIXME: Somehow we cannot find these fns on aarch64.
// https://github.com/rust-lang/libc/issues/1765
"lockf"
| "preadv64"
| "pwritev64"
| "openpty"
| "forkpty"
| "login_tty"
| "getifaddrs"
| "freeifaddrs"
| "sethostname"
| "getgrgid_r"
| "getgrnam_r"
| "sigtimedwait"
| "fmemopen"
| "open_memstream"
| "open_wmemstream"
| "clock_getcpuclockid"
| "process_vm_readv"
| "process_vm_writev"
if aarch64 =>
{
true
}
_ => false,
}
});
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment