Skip to content

Commit 8b1af4c

Browse files
committed
Auto merge of rust-lang#120585 - Amanieu:ohos-tier2, r=Kobzol
Promote OpenHarmony targets to tier 2 MCP: rust-lang/compiler-team#719
2 parents 89b7830 + 5674f06 commit 8b1af4c

File tree

13 files changed

+124
-4
lines changed

13 files changed

+124
-4
lines changed

.github/workflows/ci.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -235,6 +235,9 @@ jobs:
235235
- name: dist-loongarch64-linux
236236
os: ubuntu-20.04-8core-32gb
237237
env: {}
238+
- name: dist-ohos
239+
os: ubuntu-20.04-8core-32gb
240+
env: {}
238241
- name: dist-powerpc-linux
239242
os: ubuntu-20.04-8core-32gb
240243
env: {}
Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
FROM ubuntu:23.04
2+
3+
ARG DEBIAN_FRONTEND=noninteractive
4+
RUN apt-get update && apt-get install -y --no-install-recommends \
5+
g++ \
6+
make \
7+
ninja-build \
8+
file \
9+
curl \
10+
ca-certificates \
11+
python3 \
12+
git \
13+
cmake \
14+
sudo \
15+
gdb \
16+
libssl-dev \
17+
pkg-config \
18+
xz-utils \
19+
unzip \
20+
&& rm -rf /var/lib/apt/lists/*
21+
22+
COPY scripts/ohos-sdk.sh /scripts/
23+
RUN sh /scripts/ohos-sdk.sh
24+
25+
COPY scripts/ohos/aarch64-unknown-linux-ohos-clang.sh /usr/local/bin/
26+
COPY scripts/ohos/aarch64-unknown-linux-ohos-clang++.sh /usr/local/bin/
27+
COPY scripts/ohos/armv7-unknown-linux-ohos-clang.sh /usr/local/bin/
28+
COPY scripts/ohos/armv7-unknown-linux-ohos-clang++.sh /usr/local/bin/
29+
COPY scripts/ohos/x86_64-unknown-linux-ohos-clang.sh /usr/local/bin/
30+
COPY scripts/ohos/x86_64-unknown-linux-ohos-clang++.sh /usr/local/bin/
31+
32+
# env
33+
ENV TARGETS=aarch64-unknown-linux-ohos
34+
ENV TARGETS=$TARGETS,armv7-unknown-linux-ohos
35+
ENV TARGETS=$TARGETS,x86_64-unknown-linux-ohos
36+
37+
ENV \
38+
CC_aarch64_unknown_linux_ohos=/usr/local/bin/aarch64-unknown-linux-ohos-clang.sh \
39+
AR_aarch64_unknown_linux_ohos=/opt/ohos-sdk/native/llvm/bin/llvm-ar \
40+
CXX_aarch64_unknown_linux_ohos=/usr/local/bin/aarch64-unknown-linux-ohos-clang++.sh
41+
ENV \
42+
CC_armv7_unknown_linux_ohos=/usr/local/bin/armv7-unknown-linux-ohos-clang.sh \
43+
AR_armv7_unknown_linux_ohos=/opt/ohos-sdk/native/llvm/bin/llvm-ar \
44+
CXX_armv7_unknown_linux_ohos=/usr/local/bin/armv7-unknown-linux-ohos-clang++.sh
45+
ENV \
46+
CC_x86_64_unknown_linux_ohos=/usr/local/bin/x86_64-unknown-linux-ohos-clang.sh \
47+
AR_x86_64_unknown_linux_ohos=/opt/ohos-sdk/native/llvm/bin/llvm-ar \
48+
CXX_x86_64_unknown_linux_ohos=/usr/local/bin/x86_64-unknown-linux-ohos-clang++.sh
49+
50+
ENV RUST_CONFIGURE_ARGS \
51+
--enable-profiler \
52+
--disable-docs
53+
54+
ENV SCRIPT python3 ../x.py dist --host='' --target $TARGETS
55+
56+
COPY scripts/sccache.sh /scripts/
57+
RUN sh /scripts/sccache.sh

src/ci/docker/scripts/ohos-sdk.sh

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
#!/bin/sh
2+
set -ex
3+
4+
URL=https://repo.huaweicloud.com/openharmony/os/4.0-Release/ohos-sdk-windows_linux-public.tar.gz
5+
6+
curl $URL | tar xz -C /tmp ohos-sdk/linux/native-linux-x64-4.0.10.13-Release.zip
7+
mkdir /opt/ohos-sdk
8+
cd /opt/ohos-sdk
9+
unzip -qq /tmp/ohos-sdk/linux/native-linux-x64-4.0.10.13-Release.zip
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
#!/bin/sh
2+
exec /opt/ohos-sdk/native/llvm/bin/clang++ \
3+
-target aarch64-linux-ohos \
4+
--sysroot=/opt/ohos-sdk/native/sysroot \
5+
-D__MUSL__ \
6+
"$@"
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
#!/bin/sh
2+
exec /opt/ohos-sdk/native/llvm/bin/clang \
3+
-target aarch64-linux-ohos \
4+
--sysroot=/opt/ohos-sdk/native/sysroot \
5+
-D__MUSL__ \
6+
"$@"
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
#!/bin/sh
2+
exec /opt/ohos-sdk/native/llvm/bin/clang++ \
3+
-target arm-linux-ohos \
4+
--sysroot=/opt/ohos-sdk/native/sysroot \
5+
-D__MUSL__ \
6+
-march=armv7-a \
7+
-mfloat-abi=softfp \
8+
-mtune=generic-armv7-a \
9+
-mthumb \
10+
"$@"
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
#!/bin/sh
2+
exec /opt/ohos-sdk/native/llvm/bin/clang \
3+
-target arm-linux-ohos \
4+
--sysroot=/opt/ohos-sdk/native/sysroot \
5+
-D__MUSL__ \
6+
-march=armv7-a \
7+
-mfloat-abi=softfp \
8+
-mtune=generic-armv7-a \
9+
-mthumb \
10+
"$@"
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
#!/bin/sh
2+
exec /opt/ohos-sdk/native/llvm/bin/clang++ \
3+
-target x86_64-linux-ohos \
4+
--sysroot=/opt/ohos-sdk/native/sysroot \
5+
-D__MUSL__ \
6+
"$@"
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
#!/bin/sh
2+
exec /opt/ohos-sdk/native/llvm/bin/clang \
3+
-target x86_64-linux-ohos \
4+
--sysroot=/opt/ohos-sdk/native/sysroot \
5+
-D__MUSL__ \
6+
"$@"

src/ci/github-actions/ci.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -413,6 +413,9 @@ jobs:
413413
- name: dist-loongarch64-linux
414414
<<: *job-linux-8c
415415

416+
- name: dist-ohos
417+
<<: *job-linux-8c
418+
416419
- name: dist-powerpc-linux
417420
<<: *job-linux-8c
418421

0 commit comments

Comments
 (0)