Skip to content

Commit 3839694

Browse files
committed
Temporarily use updated setup-toolchain.sh with LLVM support.
Refactor toolchain URL
1 parent bdf027c commit 3839694

File tree

2 files changed

+58
-10
lines changed

2 files changed

+58
-10
lines changed

.ci/setup-toolchain.sh

Lines changed: 56 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,61 @@
11
#!/bin/bash
22
set -e
33

4-
URL="https://github.com/riscv-collab/riscv-gnu-toolchain/releases/download/2025.06.13/riscv32-elf-ubuntu-22.04-gcc-nightly-2025.06.13-nightly.tar.xz"
4+
# Default to GNU if no toolchain specified
5+
TOOLCHAIN_TYPE=${1:-gnu}
56

6-
echo "[+] Downloading RISC-V GNU toolchain..."
7-
wget "$URL"
8-
tar -xf "$(basename "$URL")"
7+
TOOLCHAIN_REPO=https://github.com/riscv-collab/riscv-gnu-toolchain
8+
TOOLCHAIN_VERSION=2025.07.03
9+
TOOLCHAIN_OS=ubuntu-24.04
910

10-
echo "[+] Exporting toolchain path..."
11-
echo "$PWD/riscv/bin" >> "$GITHUB_PATH"
11+
setup_gnu_toolchain() {
12+
echo "[+] Setting up GNU RISC-V toolchain..."
13+
14+
local URL="${TOOLCHAIN_REPO}/releases/download/${TOOLCHAIN_VERSION}/riscv32-elf-${TOOLCHAIN_OS}-gcc-nightly-${TOOLCHAIN_VERSION}-nightly.tar.xz"
15+
16+
echo "[+] Downloading RISC-V GNU toolchain..."
17+
wget -q "$URL"
18+
tar -xf "$(basename "$URL")"
19+
20+
echo "[+] Exporting GNU toolchain path..."
21+
echo "$PWD/riscv/bin" >> "$GITHUB_PATH"
22+
23+
# Set cross-compile prefix for GNU
24+
echo "CROSS_COMPILE=riscv32-unknown-elf-" >> "$GITHUB_ENV"
25+
echo "TOOLCHAIN_TYPE=gnu" >> "$GITHUB_ENV"
26+
}
27+
28+
setup_llvm_toolchain() {
29+
echo "[+] Setting up LLVM RISC-V toolchain..."
30+
31+
# upstream URL for LLVM toolchain
32+
local URL="${TOOLCHAIN_REPO}/releases/download/${TOOLCHAIN_VERSION}/riscv32-elf-${TOOLCHAIN_OS}-llvm-nightly-${TOOLCHAIN_VERSION}-nightly.tar.xz"
33+
34+
echo "[+] Downloading RISC-V LLVM toolchain..."
35+
wget -q "$URL"
36+
tar -xf "$(basename "$URL")"
37+
38+
echo "[+] Exporting LLVM toolchain path..."
39+
echo "$PWD/riscv/bin" >> "$GITHUB_PATH"
40+
41+
# Set cross-compile prefix for LLVM
42+
echo "CROSS_COMPILE=riscv32-unknown-elf-" >> "$GITHUB_ENV"
43+
echo "TOOLCHAIN_TYPE=llvm" >> "$GITHUB_ENV"
44+
echo "AR=llvm-ar" >> "$GITHUB_ENV"
45+
}
46+
47+
case "$TOOLCHAIN_TYPE" in
48+
"gnu")
49+
setup_gnu_toolchain
50+
;;
51+
"llvm")
52+
setup_llvm_toolchain
53+
;;
54+
*)
55+
echo "Error: Unknown toolchain type '$TOOLCHAIN_TYPE'"
56+
echo "Usage: $0 [gnu|llvm]"
57+
exit 1
58+
;;
59+
esac
60+
61+
echo "[+] Toolchain setup complete: $TOOLCHAIN_TYPE"

.github/workflows/ci.yml

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,7 @@ name: Linmo CI
22

33
on:
44
push:
5-
branches: [main, ci]
65
pull_request:
7-
branches: [main, ci]
86

97
jobs:
108
basic-tests:
@@ -20,8 +18,8 @@ jobs:
2018
sudo apt-get update
2119
sudo apt-get install -y build-essential qemu-system-riscv32 wget
2220
23-
- name: Setup RISC-V Toolchain
24-
run: .ci/setup-toolchain.sh
21+
- name: Setup GNU RISC-V Toolchain
22+
run: .ci/setup-toolchain.sh gnu
2523

2624
- name: Verify toolchain installation
2725
run: |

0 commit comments

Comments
 (0)