feat: add arm target to build script

This commit is contained in:
Matthew Little
2020-04-02 20:41:58 +02:00
parent cd13956da2
commit a0516f6b2f
3 changed files with 32 additions and 4 deletions

View File

@@ -0,0 +1,14 @@
#!/bin/bash
### This is intended to run within the rust-stretch docker image (or a debian-like system with required dependencies).
cd "$(dirname "$(dirname "$0")")"
apt-get update
apt-get install -qq gcc-arm-linux-gnueabihf
rustup target add armv7-unknown-linux-gnueabihf
CC_armv7_unknown_linux_gnueabihf=arm-linux-gnueabihf-gcc \
CARGO_TARGET_ARMV7_UNKNOWN_LINUX_GNUEABIHF_LINKER=arm-linux-gnueabihf-gcc \
cargo build --target armv7-unknown-linux-gnueabihf --release --features "aarch64" --no-default-features

View File

@@ -4,7 +4,7 @@ script_path="$(dirname "$0")"
src_dir="$(dirname "$script_path")"
cd "$src_dir"
rust_image="rust:1.39.0-stretch"
rust_image="rust:1.42.0-stretch"
docker run \
--volume `pwd`:/build \

20
build-scripts/start-builds.sh Normal file → Executable file
View File

@@ -16,7 +16,7 @@ build_linux_x64 () {
"$script_path/build-dist-linux-x64.sh"
dist_archive_linux="$dist_dir/blockstack-core-linux-x64.tar.bz2"
rm -f "$dist_archive_linux"
tar cfvj "$dist_archive_linux" -C "$src_dir/target/x86_64-unknown-linux-gnu/release" blockstack-core clarity-cli
tar cfvj "$dist_archive_linux" -C "$src_dir/target/x86_64-unknown-linux-gnu/release" blockstack-core blockstack-cli clarity-cli
clarity_tgz="$dist_dir/clarity-cli-linux-x64.tar.gz"
rm -f "$clarity_tgz"
@@ -29,20 +29,31 @@ build_linux_musl_x64 () {
"$script_path/build-dist-linux-musl-x64.sh"
dist_archive_linux_musl="$dist_dir/blockstack-core-linux-musl-x64.tar.bz2"
rm -f "$dist_archive_linux_musl"
tar cfvj "$dist_archive_linux_musl" -C "$src_dir/target/x86_64-unknown-linux-musl/release" blockstack-core clarity-cli
tar cfvj "$dist_archive_linux_musl" -C "$src_dir/target/x86_64-unknown-linux-musl/release" blockstack-core blockstack-cli clarity-cli
clarity_tgz="$dist_dir/clarity-cli-linux-musl-x64.tar.gz"
rm -f "$clarity_tgz"
tar czvf "$clarity_tgz" -C "$src_dir/target/x86_64-unknown-linux-musl/release" clarity-cli
}
### Build and package for Linux-ARMv6 hardfloat
build_linux_arm () {
"$script_path/build-dist-linux-arm.sh"
dist_archive_linux_musl="$dist_dir/blockstack-core-linux-arm.tar.bz2"
rm -f "$dist_archive_linux_musl"
tar cfvj "$dist_archive_linux_musl" -C "$src_dir/target/armv7-unknown-linux-gnueabihf/release" blockstack-core blockstack-cli clarity-cli
clarity_tgz="$dist_dir/clarity-cli-linux-arm.tar.gz"
rm -f "$clarity_tgz"
tar czvf "$clarity_tgz" -C "$src_dir/target/armv7-unknown-linux-gnueabihf/release" clarity-cli
}
### Build and package for MacOS-x64
build_mac_x64 () {
"$script_path/build-dist-mac-x64.sh"
dist_archive_mac="$dist_dir/blockstack-core-mac-x64.tar.bz2"
rm -f "$dist_archive_mac"
tar cfvj "$dist_archive_mac" -C "$src_dir/target/x86_64-apple-darwin/release" blockstack-core clarity-cli
tar cfvj "$dist_archive_mac" -C "$src_dir/target/x86_64-apple-darwin/release" blockstack-core blockstack-cli clarity-cli
clarity_tgz="$dist_dir/clarity-cli-mac-x64.tar.gz"
rm -f "$clarity_tgz"
@@ -58,6 +69,7 @@ build_win_x64 () {
apt-get update && apt-get install -y zip
zip -j "$dist_archive_win" \
"$src_dir/target/x86_64-pc-windows-gnu/release/blockstack-core.exe" \
"$src_dir/target/x86_64-pc-windows-gnu/release/blockstack-cli.exe" \
"$src_dir/target/x86_64-pc-windows-gnu/release/clarity-cli.exe"
clarity_tgz="$dist_dir/clarity-cli-win-x64.tar.gz"
@@ -71,6 +83,7 @@ case $DIST_TARGET_FILTER in
case $DIST_TARGET_FILTER in
linux_x64) build_linux_x64 ;;
linux_musl_x64) build_linux_musl_x64 ;;
linux_arm) build_linux_arm ;;
win_x64) build_win_x64 ;;
mac_x64) build_mac_x64 ;;
*)
@@ -82,6 +95,7 @@ case $DIST_TARGET_FILTER in
(*)
build_mac_x64
build_linux_x64
build_linux_arm
build_linux_musl_x64
build_win_x64
;;