Skip to content

Commit 63a716b

Browse files
committed
Attempt Windows toolchain build
1 parent d897938 commit 63a716b

File tree

3 files changed

+41
-1
lines changed

3 files changed

+41
-1
lines changed

.github/workflows/build.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ jobs:
2727
bin/picotool-*-x64-win.zip
2828
bin/pico-sdk-tools-*-x64-win.zip
2929
bin/openocd-*-x64-win.zip
30+
bin/riscv-toolchain-*-x64-win.zip
3031
- name: Add Release Asset
3132
uses: softprops/action-gh-release@v2
3233
if: startsWith(github.ref, 'refs/tags/')
@@ -35,6 +36,7 @@ jobs:
3536
bin/picotool-*-x64-win.zip
3637
bin/pico-sdk-tools-*-x64-win.zip
3738
bin/openocd-*-x64-win.zip
39+
bin/riscv-toolchain-*-x64-win.zip
3840
3941
build_macos:
4042
name: Build MacOS

build.ps1

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -235,8 +235,16 @@ if (-not $SkipDownload) {
235235
msys 'pacman --noconfirm -Suu'
236236

237237
msys "pacman -S --noconfirm --needed autoconf automake git libtool make pactoys pkg-config wget"
238+
# Risc-V requirements
239+
# base-devel minus texinfo
240+
msys "pacman -S --noconfirm --needed base binutils bison diffstat diffutils dos2unix file flex gawk gettext grep make patch sed tar"
241+
msys "pacman -S --noconfirm --needed curl python3 gmp gperf patchutils expat"
238242
# pacboy adds MINGW_PACKAGE_PREFIX to package names suffixed with :p
239-
msys "pacboy -S --noconfirm --needed cmake:p ninja:p toolchain:p libusb:p hidapi:p"
243+
msys "pacboy -S --noconfirm --needed cmake:p ninja:p toolchain:p libusb:p hidapi:p libslirp:p mpc:p bc:p zlib:p mpfr:p"
244+
}
245+
246+
if (-not (Test-Path ".\build\riscv-install\mingw$bitness")) {
247+
msys "cd build && ../packages/windows/riscv/build-riscv-gcc.sh $bitness $mingw_arch"
240248
}
241249

242250
if (-not (Test-Path ".\build\openocd-install\mingw$bitness")) {
@@ -297,3 +305,14 @@ $filename = 'openocd-{0}-{1}.zip' -f
297305

298306
Write-Host "Saving OpenOCD package to $filename"
299307
exec { tar -a -cf "bin\$filename" -C "build\openocd-install\mingw$bitness\bin" * -C "..\share\openocd" "scripts" }
308+
309+
# Package Risc-V separately as well
310+
311+
$version = "14"
312+
313+
$filename = 'riscv-toolchain-{0}-{1}.zip' -f
314+
$version,
315+
$suffix
316+
317+
Write-Host "Saving Risc-V toolchain package to $filename"
318+
exec { tar -a -cf "bin\$filename" -C "build\riscv-install" * }
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
#!/bin/bash
2+
3+
set -euo pipefail
4+
5+
BITNESS=$1
6+
ARCH=$2
7+
8+
INSTALLDIR="riscv-install"
9+
rm -rf $INSTALLDIR
10+
mkdir -p $INSTALLDIR
11+
12+
BUILDDIR=$(pwd)
13+
14+
cd riscv-gnu-toolchain
15+
./configure --prefix=$BUILDDIR/$INSTALLDIR --with-arch=rv32ima_zicsr_zifencei_zba_zbb_zbs_zbkb_zca_zcb --with-abi=ilp32 --with-multilib-generator="rv32ima_zicsr_zifencei_zba_zbb_zbs_zbkb_zca_zcb-ilp32--;rv32imac_zicsr_zifencei_zba_zbb_zbs_zbkb-ilp32--" --with-gcc-src=$BUILDDIR/gcc
16+
make -j$(nproc) gcc
17+
make -j$(nproc) gdb
18+
make -j$(nproc) newlib
19+
make -j$(nproc)

0 commit comments

Comments
 (0)