Skip to content

Commit d9d8d8b

Browse files
committed
Promote OpenHarmony targets to tier 2
MCP: rust-lang/compiler-team#719
1 parent 11f32b7 commit d9d8d8b

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
@@ -224,6 +224,9 @@ jobs:
224224
- name: dist-loongarch64-linux
225225
os: ubuntu-20.04-8core-32gb
226226
env: {}
227+
- name: dist-ohos
228+
os: ubuntu-20.04-8core-32gb
229+
env: {}
227230
- name: dist-powerpc-linux
228231
os: ubuntu-20.04-8core-32gb
229232
env: {}
Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
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 ohos-sdk-windows_linux-public.tar.gz /tmp
23+
COPY scripts/ohos-sdk.sh /scripts/
24+
RUN sh /scripts/ohos-sdk.sh
25+
26+
COPY scripts/ohos/aarch64-unknown-linux-ohos-clang.sh /usr/local/bin/
27+
COPY scripts/ohos/aarch64-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/armv7-unknown-linux-ohos-clang++.sh /usr/local/bin/
30+
COPY scripts/ohos/x86_64-unknown-linux-ohos-clang.sh /usr/local/bin/
31+
COPY scripts/ohos/x86_64-unknown-linux-ohos-clang++.sh /usr/local/bin/
32+
33+
# env
34+
ENV TARGETS=aarch64-unknown-linux-ohos
35+
ENV TARGETS=$TARGETS,armv7-unknown-linux-ohos
36+
ENV TARGETS=$TARGETS,x86_64-unknown-linux-ohos
37+
38+
ENV \
39+
CC_aarch64_unknown_linux_ohos=/usr/local/bin/aarch64-unknown-linux-ohos-clang.sh \
40+
AR_aarch64_unknown_linux_ohos=/opt/ohos-sdk/native/llvm/bin/llvm-ar \
41+
CXX_aarch64_unknown_linux_ohos=/usr/local/bin/aarch64-unknown-linux-ohos-clang++.sh
42+
ENV \
43+
CC_armv7_unknown_linux_ohos=/usr/local/bin/armv7-unknown-linux-ohos-clang.sh \
44+
AR_armv7_unknown_linux_ohos=/opt/ohos-sdk/native/llvm/bin/llvm-ar \
45+
CXX_armv7_unknown_linux_ohos=/usr/local/bin/armv7-unknown-linux-ohos-clang++.sh
46+
ENV \
47+
CC_x86_64_unknown_linux_ohos=/usr/local/bin/x86_64-unknown-linux-ohos-clang.sh \
48+
AR_x86_64_unknown_linux_ohos=/opt/ohos-sdk/native/llvm/bin/llvm-ar \
49+
CXX_x86_64_unknown_linux_ohos=/usr/local/bin/x86_64-unknown-linux-ohos-clang++.sh
50+
51+
ENV RUST_CONFIGURE_ARGS \
52+
--enable-profiler \
53+
--disable-docs
54+
55+
ENV SCRIPT python3 ../x.py dist --host='' --target $TARGETS
56+
57+
COPY scripts/sccache.sh /scripts/
58+
RUN sh /scripts/sccache.sh

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

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
#!/bin/sh
2+
set -ex
3+
4+
curl https://repo.huaweicloud.com/openharmony/os/4.0-Release/ohos-sdk-windows_linux-public.tar.gz | \
5+
tar xz -C /tmp ohos-sdk/linux/native-linux-x64-4.0.10.13-Release.zip
6+
mkdir /opt/ohos-sdk
7+
cd /opt/ohos-sdk
8+
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
@@ -392,6 +392,9 @@ jobs:
392392
- name: dist-loongarch64-linux
393393
<<: *job-linux-8c
394394

395+
- name: dist-ohos
396+
<<: *job-linux-8c
397+
395398
- name: dist-powerpc-linux
396399
<<: *job-linux-8c
397400

0 commit comments

Comments
 (0)