|
1 | 1 | #!/bin/bash
|
2 | 2 | set -e
|
3 | 3 |
|
4 |
| -# Default to GNU if no toolchain specified |
5 |
| -TOOLCHAIN_TYPE=${1:-gnu} |
| 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" |
6 | 5 |
|
7 |
| -TOOLCHAIN_REPO=https://github.com/riscv-collab/riscv-gnu-toolchain |
8 |
| -TOOLCHAIN_VERSION=2025.07.03 |
9 |
| -TOOLCHAIN_OS=ubuntu-24.04 |
| 6 | +echo "[+] Downloading RISC-V GNU toolchain..." |
| 7 | +wget "$URL" |
| 8 | +tar -xf "$(basename "$URL")" |
10 | 9 |
|
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" |
| 10 | +echo "[+] Exporting toolchain path..." |
| 11 | +echo "$PWD/riscv/bin" >> "$GITHUB_PATH" |
0 commit comments