diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-17 12:02:58 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-17 12:02:58 +0000 |
commit | 698f8c2f01ea549d77d7dc3338a12e04c11057b9 (patch) | |
tree | 173a775858bd501c378080a10dca74132f05bc50 /src/ci/docker/host-x86_64/disabled/dist-i686-android | |
parent | Initial commit. (diff) | |
download | rustc-698f8c2f01ea549d77d7dc3338a12e04c11057b9.tar.xz rustc-698f8c2f01ea549d77d7dc3338a12e04c11057b9.zip |
Adding upstream version 1.64.0+dfsg1.upstream/1.64.0+dfsg1
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'src/ci/docker/host-x86_64/disabled/dist-i686-android')
-rw-r--r-- | src/ci/docker/host-x86_64/disabled/dist-i686-android/Dockerfile | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/src/ci/docker/host-x86_64/disabled/dist-i686-android/Dockerfile b/src/ci/docker/host-x86_64/disabled/dist-i686-android/Dockerfile new file mode 100644 index 000000000..4dfbc7256 --- /dev/null +++ b/src/ci/docker/host-x86_64/disabled/dist-i686-android/Dockerfile @@ -0,0 +1,43 @@ +FROM ubuntu:16.04 + +COPY scripts/android-base-apt-get.sh /scripts/ +RUN sh /scripts/android-base-apt-get.sh + +COPY scripts/android-ndk.sh /scripts/ +RUN . /scripts/android-ndk.sh && \ + download_ndk android-ndk-r15c-linux-x86_64.zip && \ + make_standalone_toolchain x86 14 && \ + make_standalone_toolchain x86 21 && \ + remove_ndk + +RUN chmod 777 /android/ndk && \ + ln -s /android/ndk/x86-21 /android/ndk/x86 + +ENV PATH=$PATH:/android/ndk/x86-14/bin + +ENV DEP_Z_ROOT=/android/ndk/x86-14/sysroot/usr/ + +ENV HOSTS=i686-linux-android + +ENV RUST_CONFIGURE_ARGS \ + --i686-linux-android-ndk=/android/ndk/x86 \ + --disable-rpath \ + --enable-extended \ + --enable-cargo-openssl-static + +# We support api level 14, but api level 21 is required to build llvm. To +# overcome this problem we use a ndk with api level 21 to build llvm and then +# switch to a ndk with api level 14 to complete the build. When the linker is +# invoked there are missing symbols (like sigsetempty, not available with api +# level 14), the default linker behavior is to generate an error, to allow the +# build to finish we use --warn-unresolved-symbols. Note that the missing +# symbols does not affect std, only the compiler (llvm) and cargo (openssl). +ENV SCRIPT \ + python3 ../x.py --stage 2 build src/llvm --host $HOSTS --target $HOSTS && \ + (export RUSTFLAGS="\"-C link-arg=-Wl,--warn-unresolved-symbols\""; \ + rm /android/ndk/x86 && \ + ln -s /android/ndk/x86-14 /android/ndk/x86 && \ + python3 ../x.py dist --host $HOSTS --target $HOSTS) + +COPY scripts/sccache.sh /scripts/ +RUN sh /scripts/sccache.sh |