diff --git a/ci/android-install-ndk.sh b/ci/android-install-ndk.sh index e37a5542c38a4306b6618662aa451c33aff8ff93..463565125972fb65d6c7583a336bbf4edf58a2e6 100644 --- a/ci/android-install-ndk.sh +++ b/ci/android-install-ndk.sh @@ -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 diff --git a/ci/android-install-sdk.sh b/ci/android-install-sdk.sh index 8858de16d75831d8f10aa5767e2acbe5939319cd..6f6aeb28e82b087e1e5e0eed0efc70f53e0db8a4 100644 --- a/ci/android-install-sdk.sh +++ b/ci/android-install-sdk.sh @@ -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 diff --git a/ci/android-sysimage.sh b/ci/android-sysimage.sh index d6eb32ed68a49ca44a8d42efc2ed0c7685d478c1..b49712035cf338c7158404388fe4d3e60e1ebaf6 100644 --- a/ci/android-sysimage.sh +++ b/ci/android-sysimage.sh @@ -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 diff --git a/ci/docker/aarch64-linux-android/Dockerfile b/ci/docker/aarch64-linux-android/Dockerfile index 71a1e6bdece4896755681bb5be50a49dfd5f3dab..d5396a32e18c6e0e502b7c36f4fe7a9c95f4808c 100644 --- a/ci/docker/aarch64-linux-android/Dockerfile +++ b/ci/docker/aarch64-linux-android/Dockerfile @@ -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 diff --git a/ci/docker/arm-linux-androideabi/Dockerfile b/ci/docker/arm-linux-androideabi/Dockerfile index 3b200402c52d9cf37dff6dbe3f77e6703cbee5d6..25f76d2c8ac13cd3a6304bc80eff53bb45e711bb 100644 --- a/ci/docker/arm-linux-androideabi/Dockerfile +++ b/ci/docker/arm-linux-androideabi/Dockerfile @@ -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 \ diff --git a/ci/docker/i686-linux-android/Dockerfile b/ci/docker/i686-linux-android/Dockerfile index 9c050ef9553e4a9d5900cf2f22e09ff65835ed54..c9145921044c9c78a36077f7b85ab339ddbf62c6 100644 --- a/ci/docker/i686-linux-android/Dockerfile +++ b/ci/docker/i686-linux-android/Dockerfile @@ -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 \ diff --git a/libc-test/Cargo.toml b/libc-test/Cargo.toml index 00e0b5407ca4293db113d3058dacbcdea6695912..ae5bfe39330a73729c5dbb80059cf1dd8cfa0c1e 100644 --- a/libc-test/Cargo.toml +++ b/libc-test/Cargo.toml @@ -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" diff --git a/libc-test/build.rs b/libc-test/build.rs index efc9840a5e816a0eb66de1df1cfc44d4a259ad6d..b9120809b8ae324b867e5917862c33e55294100d 100755 --- a/libc-test/build.rs +++ b/libc-test/build.rs @@ -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, } });