123set -eu4[ "$(v version)" = 'V 0.5.2 b9a2d87' ] || { echo 'Koh requires V 0.5.2 b9a2d87' >&2; exit 1; }5target=${KOH_TARGET:-macos-aarch64}6mkdir -p build/releases7case "$target" in8 macos-aarch64|macos-x86_64)9 [ "$(uname -s)" = Darwin ] || { echo 'macOS releases require the Apple SDK on macOS' >&2; exit 1; }10 case "$target" in macos-aarch64) arch=arm64; cpu=arm64 ;; *) arch=x64; cpu=x86_64 ;; esac11 v -prod -d use_bundled_libgc -arch "$arch" -cflags "-arch $cpu -mmacosx-version-min=11.0" -o "build/releases/koh-$target" src/koh.v12 codesign -f -s - "build/releases/koh-$target"13 ;;14 linux-aarch64|linux-x86_64)15 command -v zig >/dev/null 2>&1 || { echo 'Linux cross builds require Zig on PATH' >&2; exit 1; }16 case "$target" in linux-aarch64) arch=arm64; triple=aarch64-linux-musl ;; *) arch=x64; triple=x86_64-linux-musl ;; esac17 compiler="$PWD/build/cc-$target"18 printf '#!/bin/sh\nexec zig cc -target %s "$@"\n' "$triple" > "$compiler"19 chmod 755 "$compiler"20 v -prod -d use_bundled_libgc -os linux -arch "$arch" -musl -cc "$compiler" -o "build/releases/koh-$target" src/koh.v21 zig objcopy --strip-all "build/releases/koh-$target" "build/releases/koh-$target.stripped"22 chmod 755 "build/releases/koh-$target.stripped"23 mv -f "build/releases/koh-$target.stripped" "build/releases/koh-$target"24 ;;25 *) echo "unsupported release target: $target" >&2; exit 1 ;;26esac