From 4bc2d0d0fd05fd2e29cb1d0d339392a7b1351bdd Mon Sep 17 00:00:00 2001 From: Zeeshan Lakhani Date: Fri, 12 Jul 2024 13:42:26 -0400 Subject: [PATCH] Support illumos target (#22) --- .github/workflows/ci.yml | 7 +++++++ README.md | 13 +++++++++++++ main.sh | 6 +++--- tools/ci/test.sh | 2 +- 4 files changed, 24 insertions(+), 4 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 513fccc..de93c06 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -163,6 +163,12 @@ jobs: - target: x86_64-unknown-netbsd - target: x86_64-unknown-netbsd@9 + # Illumos + # rustup target list | grep -e '-illumos' + # rustc --print target-list | grep -e '-illumos' + # - target: aarch64-unknown-illumos # tier3 (not yet supported) + - target: x86_64-unknown-illumos + # WASI # rustup target list | grep -e '-wasi' # rustc --print target-list | grep -e '-wasi' @@ -287,6 +293,7 @@ jobs: - aarch64-linux-android - x86_64-unknown-freebsd - x86_64-unknown-netbsd + - x86_64-unknown-illumos - wasm32-wasip1 - x86_64-pc-windows-gnu - x86_64-pc-windows-gnullvm diff --git a/README.md b/README.md index ae2fea0..a648ff5 100644 --- a/README.md +++ b/README.md @@ -18,6 +18,7 @@ GitHub Action for setup toolchains for cross compilation and cross testing for R - [Android](#android) - [FreeBSD](#freebsd) - [NetBSD](#netbsd) + - [illumos](#illumos) - [WASI](#wasi) - [Windows (MinGW)](#windows-mingw) - [Windows (LLVM MinGW)](#windows-llvm-mingw) @@ -376,6 +377,18 @@ You can select/pin the OS version by using `@` syntax in `target` option. For ex Only specifying a major version is supported. +### illumos + +| libc | GCC | clang | C++ | test | +| ---- | --- | ----- | --- | ---- | +| solaris 2.10 | 8.5.0 | host | ✓ (libstdc++) | | + +**Supported targets:** + +| target | host | note | +| ------ | ---- | ---- | +| `x86_64-unknown-illumos` | x86_64 Linux (any libc) | | + ### WASI | libc | Clang | C++ | test | diff --git a/main.sh b/main.sh index efd23ae..c123700 100755 --- a/main.sh +++ b/main.sh @@ -498,7 +498,7 @@ EOF install_rust_cross_toolchain install_llvm ;; - *-netbsd*) + *-netbsd* | *-illumos*) install_rust_cross_toolchain ;; *-wasi*) @@ -654,8 +654,8 @@ EOF *) bail "unrecognized runner '${runner}'" ;; esac ;; - *-freebsd* | *-netbsd*) - # Runners for BSDs are not supported yet. + *-freebsd* | *-netbsd* | *-illumos*) + # Runners for BSDs and illumos are not supported yet. # We are currently testing the uploaded artifacts manually with Cirrus CI and local VM. # https://cirrus-ci.org/guide/FreeBSD case "${runner}" in diff --git a/tools/ci/test.sh b/tools/ci/test.sh index 446ea29..c3b4493 100755 --- a/tools/ci/test.sh +++ b/tools/ci/test.sh @@ -29,7 +29,7 @@ esac skip_run() { case "${target}" in # x86_64h-apple-darwin is also x86_64 but build-only due to the CPU of GitHub-provided macOS runners is older than haswell. - *-freebsd* | *-netbsd* | x86_64h-apple-darwin | aarch64*-windows-msvc) return 0 ;; + *-freebsd* | *-netbsd* | *-illumos* | x86_64h-apple-darwin | aarch64*-windows-msvc) return 0 ;; aarch64*-darwin* | arm64*-darwin*) case "$(uname -m)" in aarch64 | arm64) ;;