From 08813259a8c069b1c03a2ca721679abb43948806 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20Sch=C3=B6nauer?= <37108907+DottoDev@users.noreply.github.com> Date: Fri, 21 Oct 2022 18:41:09 +0000 Subject: [PATCH] Added build scripts for multiple platforms (#47) --- .gitignore | 1 + build-all.sh | 43 +++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 44 insertions(+) create mode 100755 build-all.sh diff --git a/.gitignore b/.gitignore index 70e3cae7..f4fc7ed8 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ /target +/build **/*.rs.bk diff --git a/build-all.sh b/build-all.sh new file mode 100755 index 00000000..f0c23538 --- /dev/null +++ b/build-all.sh @@ -0,0 +1,43 @@ +#!/usr/bin/env sh +build_function() { + rustup update + cargo install cross + + + cross build --release --target x86_64-unknown-linux-gnu + cross build --release --target x86_64-unknown-linux-musl + cross build --release --target x86_64-unknown-freebsd + cross build --release --target aarch64-unknown-linux-gnu + cross build --release --target aarch64-unknown-linux-musl + cross build --release --target x86_64-pc-windows-gnu +} + +package_function() { + tar -czvf build/topgrade-${ans}-x86_64-linux-gnu.tar.gz target/x86_64-unknown-linux-gnu/release/topgrade-rs + tar -czvf build/topgrade-${ans}-x86_64-linux-musl.tar.gz target/x86_64-unknown-linux-musl/release/topgrade-rs + tar -czvf build/topgrade-${ans}-x86_64-freebsd.tar.gz target/x86_64-unknown-freebsd/release/topgrade-rs + tar -czvf build/topgrade-${ans}-aarch64-linux-gnu.tar.gz target/aarch64-unknown-linux-gnu/release/topgrade-rs + tar -czvf build/topgrade-${ans}-aarch64-linux-musl.tar.gz target/aarch64-unknown-linux-musl/release/topgrade-rs + tar -czvf build/topgrade-${ans}-x86_64-windows.tar.gz target/x86_64-pc-windows-gnu/release/topgrade-rs.exe + +} + +while true; do + +echo "You should always have a look on scripts you download from the internet." +read -p "Do you still want to proceed? (y/n) " yn + +echo -n "Input version number: " +read ans +mkdir build + +case $yn in + y ) build_function + package_function + break;; + n ) echo exiting...; + exit;; + * ) echo invalid response;; +esac + +done