Add multi-target cross-compilation support

This commit is contained in:
Chris Wanstrath 2026-04-02 19:26:03 -07:00
parent 88bfd0fa5f
commit ae2afc0ffd

View File

@ -4,14 +4,26 @@ set -eu
NAME="shout" NAME="shout"
BECAUSE="$HOME/dev/projects/because.sh" BECAUSE="$HOME/dev/projects/because.sh"
# Build release TARGETS="
cargo build --release aarch64-apple-darwin
x86_64-unknown-linux-gnu
aarch64-unknown-linux-gnu
"
# Compress for TARGET in $TARGETS; do
gzip -c target/release/"$NAME" > target/release/"$NAME"-aarch64-apple-darwin.gz echo "Building $TARGET..."
case "$TARGET" in
*-apple-*)
cargo build --release --target "$TARGET"
;;
*)
cross build --release --target "$TARGET"
;;
esac
# Upload binary gzip -c "target/$TARGET/release/$NAME" > "target/release/$NAME-$TARGET.gz"
"$BECAUSE/scripts/upload" put "$NAME/bin/$NAME-aarch64-apple-darwin.gz" target/release/"$NAME"-aarch64-apple-darwin.gz "$BECAUSE/scripts/upload" put "$NAME/bin/$NAME-$TARGET.gz" "target/release/$NAME-$TARGET.gz"
done
# Upload install script + landing page # Upload install script + landing page
"$BECAUSE/scripts/upload" publish "$NAME" "$BECAUSE/scripts/upload" publish "$NAME"