@@ -5,10 +5,13 @@ set -euo pipefail
55# Defaults
66SKIP_RISCV=${SKIP_RISCV-0}
77SKIP_OPENOCD=${SKIP_OPENOCD-0}
8+ SKIP_PICOTOOL=${SKIP_PICOTOOL-0}
89
910# Install prerequisites
1011arch -x86_64 /usr/local/bin/brew install jq libtool libusb automake hidapi jimtcl --quiet
11- arch -arm64 /opt/homebrew/bin/brew install jq libtool libusb automake hidapi jimtcl --quiet
12+ if [[ $( uname -m) == ' arm64' ]]; then
13+ arch -arm64 /opt/homebrew/bin/brew install jq libtool libusb automake hidapi jimtcl --quiet
14+ fi
1215# RISC-V prerequisites
1316echo " Listing local"
1417ls /usr/local/bin
@@ -17,7 +20,9 @@ rm /usr/local/bin/idle3* || true
1720rm /usr/local/bin/pip* || true
1821rm /usr/local/bin/py* || true
1922arch -x86_64 /usr/local/bin/brew install python3 gawk gnu-sed make gmp mpfr libmpc isl zlib expat texinfo flock libslirp --quiet
20- arch -arm64 /opt/homebrew/bin/brew install python3 gawk gnu-sed make gmp mpfr libmpc isl zlib expat texinfo flock libslirp --quiet
23+ if [[ $( uname -m) == ' arm64' ]]; then
24+ arch -arm64 /opt/homebrew/bin/brew install python3 gawk gnu-sed make gmp mpfr libmpc isl zlib expat texinfo flock libslirp --quiet
25+ fi
2126
2227repos=$( cat config/repositories.json | jq -c ' .repositories.[]' )
2328export version=$( cat ./version.txt)
@@ -51,83 +56,89 @@ done < <(echo "$repos")
5156
5257
5358cd $builddir
54- if [[ " $SKIP_OPENOCD " != 1 ]] && [[ $( uname -m ) == ' arm64 ' ]] ; then
59+ if [[ " $SKIP_OPENOCD " != 1 ]]; then
5560 if ! ../packages/macos/openocd/build-openocd.sh; then
5661 echo " ::error title=openocd-fail-macos::OpenOCD Build Failed on macOS"
5762 SKIP_OPENOCD=1
5863 fi
64+ echo " OpenOCD Build Complete"
5965fi
6066if [[ " $SKIP_RISCV " != 1 ]]; then
6167 # Takes ages to build
6268 ../packages/macos/riscv/build-riscv-gcc.sh
69+ echo " RISC-V Build Complete"
70+ fi
71+ if [[ " $SKIP_PICOTOOL " != 1 ]]; then
72+ arch -x86_64 ../packages/macos/picotool/build-picotool.sh
73+ if [[ $( uname -m) == ' arm64' ]]; then
74+ arch -arm64 ../packages/macos/picotool/build-picotool.sh
75+ fi
76+ echo " Picotool Build Complete"
77+
78+ ../packages/macos/make-universal.sh " pico-sdk-tools" " pioasm" " pioasm"
79+ echo " Pioasm Universal Merge Complete"
80+ ../packages/macos/make-universal.sh " picotool-install" " picotool" " picotool"
81+ echo " Picotool Universal Merge Complete"
6382fi
64- arch -x86_64 ../packages/macos/picotool/build-picotool.sh
65- arch -arm64 ../packages/macos/picotool/build-picotool.sh
66- ../packages/macos/picotool/merge-picotool.sh
6783cd ..
6884
6985topd=$PWD
70- if [ ${version: 0: 1} -ge 2 ]; then
71- # Package pico-sdk-tools separately as well
7286
73- filename=" pico-sdk-tools-${version} -${suffix} .zip"
87+ if [[ " $SKIP_PICOTOOL " != 1 ]]; then
88+ echo " Packaging picotool"
89+ if [ ${version: 0: 1} -ge 2 ]; then
90+ # Package pico-sdk-tools separately as well
7491
75- echo " Saving pico-sdk-tools package to $filename "
76- pushd " $builddir /pico-sdk-tools/"
77- tar -a -cf " $topd /bin/$filename " * .keep
78- popd
79- fi
92+ filename=" pico-sdk-tools-${version} -${suffix} .zip"
8093
81- # Package picotool separately as well
82- version=$( " ./$builddir /picotool-install/picotool/picotool" version -s)
83- echo " Picotool version $version "
94+ echo " Saving pico-sdk-tools package to $filename "
95+ pushd " $builddir /pico-sdk-tools/"
96+ tar -a -cf " $topd /bin/$filename " * .keep
97+ popd
98+ fi
8499
85- filename=" picotool-${version} -${suffix} .zip"
100+ # Package picotool separately as well
101+ version=$( " ./$builddir /picotool-install/picotool/picotool" version -s)
102+ echo " Picotool version $version "
86103
87- echo " Saving picotool package to $filename "
88- pushd " $builddir /picotool-install/"
89- tar -a -cf " $topd /bin/$filename " * .keep
90- popd
104+ filename=" picotool-${version} -${suffix} .zip"
91105
92- if [[ " $SKIP_OPENOCD " != 1 ]] && [[ $( uname -m) == ' arm64' ]]; then
106+ echo " Saving picotool package to $filename "
107+ pushd " $builddir /picotool-install/"
108+ tar -a -cf " $topd /bin/$filename " * .keep
109+ popd
110+ fi
111+
112+ if [[ " $SKIP_OPENOCD " != 1 ]]; then
113+ echo " Packaging OpenOCD"
93114 # Package OpenOCD separately as well
94115
95- version=($( " ./$builddir /openocd-install/usr/local/bin/openocd" --version 2>&1 ) )
116+ version=($( " ./$builddir /openocd-install- $( uname -m ) /usr/local/bin/openocd" --version 2>&1 ) )
96117 version=${version[0]}
97118 version=${version[3]}
98119 version=$( echo $version | cut -d " -" -f 1)
99120
100121 echo " OpenOCD version $version "
101122
102- filename=" openocd-${version} -arm64 -${suffix} .zip"
123+ filename=" openocd-${version} -$( uname -m ) -${suffix} .zip"
103124
104125 echo " Saving OpenOCD package to $filename "
105- pushd " $builddir /openocd-install/usr/local/bin"
126+ pushd " $builddir /openocd-install- $( uname -m ) /usr/local/bin"
106127 tar -a -cf " $topd /bin/$filename " * -C " ../share/openocd" " scripts"
107128 popd
108129fi
109130
110131if [[ " $SKIP_RISCV " != 1 ]]; then
132+ echo " Packaging RISC-V Toolchain"
111133 # Package riscv toolchain separately as well
112- version=$( " ./$builddir /riscv-install/bin/riscv32-unknown-elf-gcc" -dumpversion)
134+ version=$( " ./$builddir /riscv-install- $( uname -m ) /bin/riscv32-unknown-elf-gcc" -dumpversion)
113135 version=$( echo $version | cut -d " ." -f 1)
114136 echo " Risc-V Toolchain version $version "
115137
116- filename=" riscv-toolchain-${version} -arm64-${suffix} .zip"
117-
118- echo " Saving RISC-V Toolchain package to $filename "
119- pushd " $builddir /riscv-install/"
120- tar -a -cf " $topd /bin/$filename " *
121- popd
122-
123- # Package x64-mac riscv toolchain separately as well
124- version=" 14"
125- echo " RISC-V Toolchain version $version "
126-
127- filename=" riscv-toolchain-${version} -x64-mac.zip"
138+ filename=" riscv-toolchain-${version} -$( uname -m) -${suffix} .zip"
128139
129140 echo " Saving RISC-V Toolchain package to $filename "
130- pushd " $builddir /riscv-install-x64-mac /"
141+ pushd " $builddir /riscv-install-$( uname -m ) /"
131142 tar -a -cf " $topd /bin/$filename " *
132143 popd
133144fi
0 commit comments