diff options
| author | Amanieu d'Antras <amanieu@gmail.com> | 2024-02-02 16:04:37 +0000 |
|---|---|---|
| committer | Amanieu d'Antras <amanieu@gmail.com> | 2024-03-02 18:11:25 +0000 |
| commit | 5674f0662faa14c71cd28281700f3db8f52280e6 (patch) | |
| tree | 47489acb6d81a74dad8746173245bda8f1869782 /src/ci/docker | |
| parent | 6db96de66c2c0ea3f4f2f348ed1a83c2c507687d (diff) | |
| download | rust-5674f0662faa14c71cd28281700f3db8f52280e6.tar.gz rust-5674f0662faa14c71cd28281700f3db8f52280e6.zip | |
Promote OpenHarmony targets to tier 2
MCP: rust-lang/compiler-team#719
Diffstat (limited to 'src/ci/docker')
8 files changed, 110 insertions, 0 deletions
diff --git a/src/ci/docker/host-x86_64/dist-ohos/Dockerfile b/src/ci/docker/host-x86_64/dist-ohos/Dockerfile new file mode 100644 index 00000000000..6dff3095b46 --- /dev/null +++ b/src/ci/docker/host-x86_64/dist-ohos/Dockerfile @@ -0,0 +1,57 @@ +FROM ubuntu:23.04 + +ARG DEBIAN_FRONTEND=noninteractive +RUN apt-get update && apt-get install -y --no-install-recommends \ + g++ \ + make \ + ninja-build \ + file \ + curl \ + ca-certificates \ + python3 \ + git \ + cmake \ + sudo \ + gdb \ + libssl-dev \ + pkg-config \ + xz-utils \ + unzip \ + && rm -rf /var/lib/apt/lists/* + +COPY scripts/ohos-sdk.sh /scripts/ +RUN sh /scripts/ohos-sdk.sh + +COPY scripts/ohos/aarch64-unknown-linux-ohos-clang.sh /usr/local/bin/ +COPY scripts/ohos/aarch64-unknown-linux-ohos-clang++.sh /usr/local/bin/ +COPY scripts/ohos/armv7-unknown-linux-ohos-clang.sh /usr/local/bin/ +COPY scripts/ohos/armv7-unknown-linux-ohos-clang++.sh /usr/local/bin/ +COPY scripts/ohos/x86_64-unknown-linux-ohos-clang.sh /usr/local/bin/ +COPY scripts/ohos/x86_64-unknown-linux-ohos-clang++.sh /usr/local/bin/ + +# env +ENV TARGETS=aarch64-unknown-linux-ohos +ENV TARGETS=$TARGETS,armv7-unknown-linux-ohos +ENV TARGETS=$TARGETS,x86_64-unknown-linux-ohos + +ENV \ + CC_aarch64_unknown_linux_ohos=/usr/local/bin/aarch64-unknown-linux-ohos-clang.sh \ + AR_aarch64_unknown_linux_ohos=/opt/ohos-sdk/native/llvm/bin/llvm-ar \ + CXX_aarch64_unknown_linux_ohos=/usr/local/bin/aarch64-unknown-linux-ohos-clang++.sh +ENV \ + CC_armv7_unknown_linux_ohos=/usr/local/bin/armv7-unknown-linux-ohos-clang.sh \ + AR_armv7_unknown_linux_ohos=/opt/ohos-sdk/native/llvm/bin/llvm-ar \ + CXX_armv7_unknown_linux_ohos=/usr/local/bin/armv7-unknown-linux-ohos-clang++.sh +ENV \ + CC_x86_64_unknown_linux_ohos=/usr/local/bin/x86_64-unknown-linux-ohos-clang.sh \ + AR_x86_64_unknown_linux_ohos=/opt/ohos-sdk/native/llvm/bin/llvm-ar \ + CXX_x86_64_unknown_linux_ohos=/usr/local/bin/x86_64-unknown-linux-ohos-clang++.sh + +ENV RUST_CONFIGURE_ARGS \ + --enable-profiler \ + --disable-docs + +ENV SCRIPT python3 ../x.py dist --host='' --target $TARGETS + +COPY scripts/sccache.sh /scripts/ +RUN sh /scripts/sccache.sh diff --git a/src/ci/docker/scripts/ohos-sdk.sh b/src/ci/docker/scripts/ohos-sdk.sh new file mode 100755 index 00000000000..321be2b8697 --- /dev/null +++ b/src/ci/docker/scripts/ohos-sdk.sh @@ -0,0 +1,9 @@ +#!/bin/sh +set -ex + +URL=https://repo.huaweicloud.com/openharmony/os/4.0-Release/ohos-sdk-windows_linux-public.tar.gz + +curl $URL | tar xz -C /tmp ohos-sdk/linux/native-linux-x64-4.0.10.13-Release.zip +mkdir /opt/ohos-sdk +cd /opt/ohos-sdk +unzip -qq /tmp/ohos-sdk/linux/native-linux-x64-4.0.10.13-Release.zip diff --git a/src/ci/docker/scripts/ohos/aarch64-unknown-linux-ohos-clang++.sh b/src/ci/docker/scripts/ohos/aarch64-unknown-linux-ohos-clang++.sh new file mode 100755 index 00000000000..5dfb4c72ffe --- /dev/null +++ b/src/ci/docker/scripts/ohos/aarch64-unknown-linux-ohos-clang++.sh @@ -0,0 +1,6 @@ +#!/bin/sh +exec /opt/ohos-sdk/native/llvm/bin/clang++ \ + -target aarch64-linux-ohos \ + --sysroot=/opt/ohos-sdk/native/sysroot \ + -D__MUSL__ \ + "$@" diff --git a/src/ci/docker/scripts/ohos/aarch64-unknown-linux-ohos-clang.sh b/src/ci/docker/scripts/ohos/aarch64-unknown-linux-ohos-clang.sh new file mode 100755 index 00000000000..972e564fffb --- /dev/null +++ b/src/ci/docker/scripts/ohos/aarch64-unknown-linux-ohos-clang.sh @@ -0,0 +1,6 @@ +#!/bin/sh +exec /opt/ohos-sdk/native/llvm/bin/clang \ + -target aarch64-linux-ohos \ + --sysroot=/opt/ohos-sdk/native/sysroot \ + -D__MUSL__ \ + "$@" diff --git a/src/ci/docker/scripts/ohos/armv7-unknown-linux-ohos-clang++.sh b/src/ci/docker/scripts/ohos/armv7-unknown-linux-ohos-clang++.sh new file mode 100755 index 00000000000..d8f99b3d0cd --- /dev/null +++ b/src/ci/docker/scripts/ohos/armv7-unknown-linux-ohos-clang++.sh @@ -0,0 +1,10 @@ +#!/bin/sh +exec /opt/ohos-sdk/native/llvm/bin/clang++ \ + -target arm-linux-ohos \ + --sysroot=/opt/ohos-sdk/native/sysroot \ + -D__MUSL__ \ + -march=armv7-a \ + -mfloat-abi=softfp \ + -mtune=generic-armv7-a \ + -mthumb \ + "$@" diff --git a/src/ci/docker/scripts/ohos/armv7-unknown-linux-ohos-clang.sh b/src/ci/docker/scripts/ohos/armv7-unknown-linux-ohos-clang.sh new file mode 100755 index 00000000000..fe92ec41b78 --- /dev/null +++ b/src/ci/docker/scripts/ohos/armv7-unknown-linux-ohos-clang.sh @@ -0,0 +1,10 @@ +#!/bin/sh +exec /opt/ohos-sdk/native/llvm/bin/clang \ + -target arm-linux-ohos \ + --sysroot=/opt/ohos-sdk/native/sysroot \ + -D__MUSL__ \ + -march=armv7-a \ + -mfloat-abi=softfp \ + -mtune=generic-armv7-a \ + -mthumb \ + "$@" diff --git a/src/ci/docker/scripts/ohos/x86_64-unknown-linux-ohos-clang++.sh b/src/ci/docker/scripts/ohos/x86_64-unknown-linux-ohos-clang++.sh new file mode 100755 index 00000000000..a45df15b1bf --- /dev/null +++ b/src/ci/docker/scripts/ohos/x86_64-unknown-linux-ohos-clang++.sh @@ -0,0 +1,6 @@ +#!/bin/sh +exec /opt/ohos-sdk/native/llvm/bin/clang++ \ + -target x86_64-linux-ohos \ + --sysroot=/opt/ohos-sdk/native/sysroot \ + -D__MUSL__ \ + "$@" diff --git a/src/ci/docker/scripts/ohos/x86_64-unknown-linux-ohos-clang.sh b/src/ci/docker/scripts/ohos/x86_64-unknown-linux-ohos-clang.sh new file mode 100755 index 00000000000..3bf4c5777f1 --- /dev/null +++ b/src/ci/docker/scripts/ohos/x86_64-unknown-linux-ohos-clang.sh @@ -0,0 +1,6 @@ +#!/bin/sh +exec /opt/ohos-sdk/native/llvm/bin/clang \ + -target x86_64-linux-ohos \ + --sysroot=/opt/ohos-sdk/native/sysroot \ + -D__MUSL__ \ + "$@" |
