diff --git a/build-scripts/build-dist-linux-arm.sh b/build-scripts/build-dist-linux-arm.sh new file mode 100755 index 000000000..89a718347 --- /dev/null +++ b/build-scripts/build-dist-linux-arm.sh @@ -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 \ No newline at end of file diff --git a/build-scripts/docker-run.sh b/build-scripts/docker-run.sh index 41a086035..4286698be 100755 --- a/build-scripts/docker-run.sh +++ b/build-scripts/docker-run.sh @@ -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 \ diff --git a/build-scripts/start-builds.sh b/build-scripts/start-builds.sh old mode 100644 new mode 100755 index a1df1c796..1bafab7cd --- a/build-scripts/start-builds.sh +++ b/build-scripts/start-builds.sh @@ -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 ;;