promote ohos targets to tier to with host tools

This commit is contained in:
LuuuXXX 2025-02-12 10:24:57 +08:00
parent fd17deacce
commit 6324b39873
10 changed files with 54 additions and 16 deletions

View file

@ -2178,6 +2178,20 @@ dependencies = [
"smallvec",
]
[[package]]
name = "measureme-mirror"
version = "12.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fe110855993552cfa51a5018e8cdf2acf7f948c46136322017a9a8484ffc5ea8"
dependencies = [
"log",
"memmap2",
"parking_lot",
"perf-event-open-sys",
"rustc-hash 1.1.0",
"smallvec",
]
[[package]]
name = "memchr"
version = "2.7.4"
@ -3365,7 +3379,7 @@ dependencies = [
"gimli 0.30.0",
"itertools",
"libc",
"measureme",
"measureme-mirror",
"object 0.36.7",
"rustc-demangle",
"rustc_abi",
@ -3483,7 +3497,7 @@ dependencies = [
"indexmap",
"jobserver",
"libc",
"measureme",
"measureme-mirror",
"memmap2",
"parking_lot",
"portable-atomic",
@ -4249,8 +4263,7 @@ dependencies = [
name = "rustc_query_impl"
version = "0.0.0"
dependencies = [
"measureme",
"rustc_attr_data_structures",
"measureme-mirror",
"rustc_data_structures",
"rustc_errors",
"rustc_hashes",

View file

@ -14,7 +14,8 @@ bitflags = "2.4.1"
gimli = "0.30"
itertools = "0.12"
libc = "0.2"
measureme = "11"
# FIXME: waiting for the new version of measureme. (https://github.com/rust-lang/measureme/pull/240)
measureme = { package = "measureme-mirror", version = "12.0.1" }
object = { version = "0.36.3", default-features = false, features = ["std", "read"] }
rustc-demangle = "0.1.21"
rustc_abi = { path = "../rustc_abi" }

View file

@ -12,7 +12,8 @@ elsa = "1.11.0"
ena = "0.14.3"
indexmap = "2.4.0"
jobserver_crate = { version = "0.1.28", package = "jobserver" }
measureme = "11"
# FIXME: waiting for the new version of measureme. (https://github.com/rust-lang/measureme/pull/240)
measureme = { package = "measureme-mirror", version = "12.0.1" }
rustc-hash = "2.0.0"
rustc-rayon = { version = "0.5.1", features = ["indexmap"] }
rustc-stable-hash = { version = "0.1.0", features = ["nightly"] }

View file

@ -241,7 +241,7 @@ fn main() {
println!("cargo:rustc-link-lib=kstat");
}
if (target.starts_with("arm") && !target.contains("freebsd"))
if (target.starts_with("arm") && !target.contains("freebsd")) && !target.contains("ohos")
|| target.starts_with("mips-")
|| target.starts_with("mipsel-")
|| target.starts_with("powerpc-")
@ -371,6 +371,7 @@ fn main() {
|| target.contains("freebsd")
|| target.contains("windows-gnullvm")
|| target.contains("aix")
|| target.contains("ohos")
{
"c++"
} else if target.contains("netbsd") && llvm_static_stdcpp.is_some() {

View file

@ -5,8 +5,8 @@ edition = "2024"
[dependencies]
# tidy-alphabetical-start
measureme = "11"
rustc_attr_data_structures = { path = "../rustc_attr_data_structures" }
# FIXME: waiting for the new version of measureme. (https://github.com/rust-lang/measureme/pull/240)
measureme = { package = "measureme-mirror", version = "12.0.1" }
rustc_data_structures = { path = "../rustc_data_structures" }
rustc_errors = { path = "../rustc_errors" }
rustc_hashes = { path = "../rustc_hashes" }

View file

@ -471,6 +471,10 @@ impl Step for Llvm {
cfg.define("LLVM_BUILD_32_BITS", "ON");
}
if target.starts_with("x86_64") && target.contains("ohos") {
cfg.define("LLVM_TOOL_LLVM_RTDYLD_BUILD", "OFF");
}
let mut enabled_llvm_projects = Vec::new();
if helpers::forcing_clang_based_tests() {

View file

@ -22,6 +22,9 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
COPY scripts/ohos-sdk.sh /scripts/
RUN sh /scripts/ohos-sdk.sh
COPY scripts/ohos-openssl.sh /scripts/
RUN sh /scripts/ohos-openssl.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/
@ -30,6 +33,14 @@ 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 AARCH64_UNKNOWN_LINUX_OHOS_OPENSSL_DIR=/opt/ohos-openssl/prelude/arm64-v8a
ENV ARMV7_UNKNOWN_LINUX_OHOS_OPENSSL_DIR=/opt/ohos-openssl/prelude/armeabi-v7a
ENV X86_64_UNKNOWN_LINUX_OHOS_OPENSSL_DIR=/opt/ohos-openssl/prelude/x86_64
ENV AARCH64_UNKNOWN_LINUX_OHOS_OPENSSL_NO_VENDOR=1
ENV ARMV7_UNKNOWN_LINUX_OHOS_OPENSSL_NO_VENDOR=1
ENV X86_64_UNKNOWN_LINUX_OHOS_OPENSSL_NO_VENDOR=1
ENV TARGETS=aarch64-unknown-linux-ohos
ENV TARGETS=$TARGETS,armv7-unknown-linux-ohos
ENV TARGETS=$TARGETS,x86_64-unknown-linux-ohos
@ -51,7 +62,7 @@ ENV RUST_CONFIGURE_ARGS \
--enable-profiler \
--disable-docs
ENV SCRIPT python3 ../x.py dist --host='' --target $TARGETS
ENV SCRIPT python3 ../x.py dist --host=$TARGETS --target $TARGETS
COPY scripts/sccache.sh /scripts/
RUN sh /scripts/sccache.sh

View file

@ -0,0 +1,7 @@
#!/bin/sh
set -ex
URL=https://github.com/ohos-rs/ohos-openssl/archive/refs/tags/0.1.0.tar.gz
mkdir -p /opt/ohos-openssl
curl -fL $URL | tar xz -C /opt/ohos-openssl --strip-components=1

View file

@ -1,9 +1,9 @@
#!/bin/sh
set -ex
URL=https://repo.huaweicloud.com/openharmony/os/4.0-Release/ohos-sdk-windows_linux-public.tar.gz
URL=https://repo.huaweicloud.com/openharmony/os/5.0.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
curl $URL | tar xz -C /tmp linux/native-linux-x64-5.0.0.71-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
unzip -qq /tmp/linux/native-linux-x64-5.0.0.71-Release.zip

View file

@ -89,9 +89,11 @@ target | notes
-------|-------
`aarch64-pc-windows-msvc` | ARM64 Windows MSVC
`aarch64-unknown-linux-musl` | ARM64 Linux with musl 1.2.3
[`aarch64-unknown-linux-ohos`](platform-support/openharmony.md) | ✓ | ARM64 OpenHarmony
`arm-unknown-linux-gnueabi` | Armv6 Linux (kernel 3.2, glibc 2.17)
`arm-unknown-linux-gnueabihf` | Armv6 Linux, hardfloat (kernel 3.2, glibc 2.17)
`armv7-unknown-linux-gnueabihf` | Armv7-A Linux, hardfloat (kernel 3.2, glibc 2.17)
[`armv7-unknown-linux-ohos`](platform-support/openharmony.md) | ✓ | Armv7-A OpenHarmony
[`loongarch64-unknown-linux-gnu`](platform-support/loongarch-linux.md) | LoongArch64 Linux, LP64D ABI (kernel 5.19, glibc 2.36)
[`loongarch64-unknown-linux-musl`](platform-support/loongarch-linux.md) | LoongArch64 Linux, LP64D ABI (kernel 5.19, musl 1.2.5)
`powerpc-unknown-linux-gnu` | PowerPC Linux (kernel 3.2, glibc 2.17)
@ -104,6 +106,7 @@ target | notes
[`x86_64-unknown-freebsd`](platform-support/freebsd.md) | 64-bit x86 FreeBSD
[`x86_64-unknown-illumos`](platform-support/illumos.md) | illumos
`x86_64-unknown-linux-musl` | 64-bit Linux with musl 1.2.3
[`x86_64-unknown-linux-ohos`](platform-support/openharmony.md) | ✓ | x86_64 OpenHarmony
[`x86_64-unknown-netbsd`](platform-support/netbsd.md) | NetBSD/amd64
## Tier 2 without Host Tools
@ -142,7 +145,6 @@ target | std | notes
[`aarch64-linux-android`](platform-support/android.md) | ✓ | ARM64 Android
[`aarch64-pc-windows-gnullvm`](platform-support/pc-windows-gnullvm.md) | ✓ | ARM64 MinGW (Windows 10+), LLVM ABI
[`aarch64-unknown-fuchsia`](platform-support/fuchsia.md) | ✓ | ARM64 Fuchsia
[`aarch64-unknown-linux-ohos`](platform-support/openharmony.md) | ✓ | ARM64 OpenHarmony
`aarch64-unknown-none` | * | Bare ARM64, hardfloat
`aarch64-unknown-none-softfloat` | * | Bare ARM64, softfloat
[`aarch64-unknown-uefi`](platform-support/unknown-uefi.md) | ? | ARM64 UEFI
@ -158,7 +160,6 @@ target | std | notes
`armv7-unknown-linux-gnueabi` | ✓ | Armv7-A Linux (kernel 4.15, glibc 2.27)
`armv7-unknown-linux-musleabi` | ✓ | Armv7-A Linux with musl 1.2.3
`armv7-unknown-linux-musleabihf` | ✓ | Armv7-A Linux with musl 1.2.3, hardfloat
[`armv7-unknown-linux-ohos`](platform-support/openharmony.md) | ✓ | Armv7-A OpenHarmony
[`armv7a-none-eabi`](platform-support/arm-none-eabi.md) | * | Bare Armv7-A
[`armv7r-none-eabi`](platform-support/armv7r-none-eabi.md) | * | Bare Armv7-R
[`armv7r-none-eabihf`](platform-support/armv7r-none-eabi.md) | * | Bare Armv7-R, hardfloat
@ -205,7 +206,6 @@ target | std | notes
[`x86_64-pc-windows-gnullvm`](platform-support/pc-windows-gnullvm.md) | ✓ | 64-bit x86 MinGW (Windows 10+), LLVM ABI
[`x86_64-unknown-fuchsia`](platform-support/fuchsia.md) | ✓ | 64-bit x86 Fuchsia
`x86_64-unknown-linux-gnux32` | ✓ | 64-bit Linux (x32 ABI) (kernel 4.15, glibc 2.27)
[`x86_64-unknown-linux-ohos`](platform-support/openharmony.md) | ✓ | x86_64 OpenHarmony
[`x86_64-unknown-none`](platform-support/x86_64-unknown-none.md) | * | Freestanding/bare-metal x86_64, softfloat
[`x86_64-unknown-redox`](platform-support/redox.md) | ✓ | Redox OS
[`x86_64-unknown-uefi`](platform-support/unknown-uefi.md) | ? | 64-bit UEFI