Add multi-target cross-compilation support
This commit is contained in:
parent
88bfd0fa5f
commit
ae2afc0ffd
|
|
@ -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"
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user