pico-sdk: Import picotool as a dependency
We were previously not handling picotool at all, and pico-sdk would download picotool itself, at build time. This means that the source archive, if created, would not contain picotool. While not strictly required, for complete corresponding source, since it's a toolchain and not the actual pico-serprog firmware, it is my policy that releases must include full corresponding source code, when it is feasible to do so. I must say, I intensely dislike cmake, with such burning passion; I am thoroughly displeased by how hacky this is, but it works and now nothing is in my way for a Libreboot 20241206 rev8 release! Signed-off-by: Leah Rowe <leah@libreboot.org>master
parent
adf1a2e1a4
commit
62d655b8dd
|
@ -7,3 +7,4 @@ serx="$sersrc/build/pico_serprog.uf2"
|
|||
picosdk="src/pico-sdk"
|
||||
serdir="$picosdk/src/boards/include/boards"
|
||||
premake="mkserprog pico"
|
||||
picotool="$PWD/src/picotool/xbmkbin"
|
||||
|
|
|
@ -3,4 +3,4 @@
|
|||
rev="e75e3a20e63269a5e3189bc2e49a6a81d45a636a"
|
||||
url="https://codeberg.org/libreboot/pico-serprog"
|
||||
bkup_url="https://git.disroot.org/libreboot/pico-serprog"
|
||||
depend="pico-sdk"
|
||||
depend="pico-sdk picotool"
|
||||
|
|
|
@ -1 +0,0 @@
|
|||
config/git/rp2040-serprog
|
|
@ -0,0 +1,5 @@
|
|||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
rev="df21059f7ca6f1babc7f1f3b92122cacffc85951"
|
||||
url="https://github.com/raspberrypi/picotool"
|
||||
bkup_url="https://codeberg.org/libreboot/picotool"
|
|
@ -7,6 +7,9 @@
|
|||
|
||||
mkserprog()
|
||||
{
|
||||
[ $# -lt 1 ] && $err "mkserprog: no arguments provided"
|
||||
[ "$1" = "pico" ] && mkpicotool
|
||||
|
||||
[ "$_f" = "-d" ] && return 0 # dry run
|
||||
basename -as .h "$serdir/"*.h > "$TMPDIR/ser" || $err "!mk $1 $TMPDIR"
|
||||
|
||||
|
@ -20,6 +23,7 @@ mkserprog()
|
|||
ln -srf "$sersrc/build_$pt/" "$sersrc/build") \
|
||||
&& x_ cmake -DPICO_BOARD="$sertarget" \
|
||||
-DPICO_SDK_PATH="$picosdk" -B "$sersrc/build" "$sersrc" \
|
||||
-Dpicotool_DIR="$picotool/picotool" \
|
||||
&& x_ cmake --build "$sersrc/build"
|
||||
[ "$1" = "stm32" ] && x_ make -C "$sersrc" \
|
||||
libopencm3-just-make BOARD=$sertarget && x_ make -C \
|
||||
|
@ -30,6 +34,18 @@ mkserprog()
|
|||
[ "$XBMK_RELEASE" = "y" ] && mkrom_tarball "bin/serprog_$1"; return 0
|
||||
}
|
||||
|
||||
mkpicotool()
|
||||
{
|
||||
rm -Rf "$picotool" || $err "Can't remove picotool builddir"
|
||||
(
|
||||
x_ cd src/picotool
|
||||
cmake -DCMAKE_INSTALL_PREFIX=xbmkbin -DPICOTOOL_FLAT_INSTALL=1 \
|
||||
-DPICO_SDK_PATH=../pico-sdk || \
|
||||
$err "Can't prep picotool"
|
||||
make install || $err "Can't build picotool"; :
|
||||
) || $err "Can't build picotool"; :
|
||||
}
|
||||
|
||||
copyps1bios()
|
||||
{
|
||||
x_ rm -Rf bin/playstation
|
||||
|
|
Loading…
Reference in New Issue