mirror of
https://github.com/alexgo-io/stacks-subnets.git
synced 2026-04-30 20:52:16 +08:00
fix: specify arm arch version in dist file, add build script support for arm64
This commit is contained in:
16
build-scripts/build-dist-linux-aarch64.sh
Executable file
16
build-scripts/build-dist-linux-aarch64.sh
Executable file
@@ -0,0 +1,16 @@
|
|||||||
|
#!/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 update && apt-get install -y --no-install-recommends \
|
||||||
|
gcc-aarch64-linux-gnu \
|
||||||
|
libc6-dev-arm64-cross
|
||||||
|
|
||||||
|
rustup target add aarch64-unknown-linux-gnu
|
||||||
|
|
||||||
|
CC_aarch64_unknown_linux_gnu=aarch64-linux-gnu-gcc \
|
||||||
|
CARGO_TARGET_AARCH64_UNKNOWN_LINUX_GNU_LINKER=aarch64-linux-gnu-gcc \
|
||||||
|
cargo build --target aarch64-unknown-linux-gnu --release --features "aarch64" --no-default-features
|
||||||
@@ -24,14 +24,14 @@ build_sdk () {
|
|||||||
fetch_extract_sdk() {
|
fetch_extract_sdk() {
|
||||||
wget -nc "https://github.com/blockstackpbc/osxcross/releases/download/v1/osxcross-e0a1718_xcode-v10.2.1.tar.xz"
|
wget -nc "https://github.com/blockstackpbc/osxcross/releases/download/v1/osxcross-e0a1718_xcode-v10.2.1.tar.xz"
|
||||||
echo "Extracting osxcross package..."
|
echo "Extracting osxcross package..."
|
||||||
tar --checkpoint=1000 -xf "osxcross-e0a1718_xcode-v10.2.1.tar.xz"
|
tar --checkpoint=25000 -xf "osxcross-e0a1718_xcode-v10.2.1.tar.xz" -C /tmp
|
||||||
}
|
}
|
||||||
|
|
||||||
fetch_extract_sdk
|
fetch_extract_sdk
|
||||||
rustup target add x86_64-apple-darwin
|
rustup target add x86_64-apple-darwin
|
||||||
|
|
||||||
PATH="$(pwd)/osxcross/bin:$PATH" \
|
PATH="/tmp/osxcross/bin:$PATH" \
|
||||||
LD_LIBRARY_PATH="$(pwd)/osxcross/lib:$LD_LIBRARY_PATH" \
|
LD_LIBRARY_PATH="/tmp/osxcross/lib:$LD_LIBRARY_PATH" \
|
||||||
CC=o64-clang \
|
CC=o64-clang \
|
||||||
CXX=o64-clang++ \
|
CXX=o64-clang++ \
|
||||||
LIBZ_SYS_STATIC=1 \
|
LIBZ_SYS_STATIC=1 \
|
||||||
|
|||||||
@@ -36,18 +36,30 @@ build_linux_musl_x64 () {
|
|||||||
tar czvf "$clarity_tgz" -C "$src_dir/target/x86_64-unknown-linux-musl/release" clarity-cli
|
tar czvf "$clarity_tgz" -C "$src_dir/target/x86_64-unknown-linux-musl/release" clarity-cli
|
||||||
}
|
}
|
||||||
|
|
||||||
### Build and package for Linux-ARMv6 hardfloat
|
### Build and package for Linux-ARMv7 hardfloat
|
||||||
build_linux_arm () {
|
build_linux_armv7 () {
|
||||||
"$script_path/build-dist-linux-arm.sh"
|
"$script_path/build-dist-linux-armv7.sh"
|
||||||
dist_archive_linux_musl="$dist_dir/blockstack-core-linux-arm.tar.bz2"
|
dist_archive_linux_musl="$dist_dir/blockstack-core-linux-armv7.tar.bz2"
|
||||||
rm -f "$dist_archive_linux_musl"
|
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
|
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"
|
clarity_tgz="$dist_dir/clarity-cli-linux-armv7.tar.gz"
|
||||||
rm -f "$clarity_tgz"
|
rm -f "$clarity_tgz"
|
||||||
tar czvf "$clarity_tgz" -C "$src_dir/target/armv7-unknown-linux-gnueabihf/release" clarity-cli
|
tar czvf "$clarity_tgz" -C "$src_dir/target/armv7-unknown-linux-gnueabihf/release" clarity-cli
|
||||||
}
|
}
|
||||||
|
|
||||||
|
### Build and package for Linux-aarch64 hardfloat
|
||||||
|
build_linux_aarch64 () {
|
||||||
|
"$script_path/build-dist-linux-aarch64.sh"
|
||||||
|
dist_archive_linux_musl="$dist_dir/blockstack-core-linux-aarch64.tar.bz2"
|
||||||
|
rm -f "$dist_archive_linux_musl"
|
||||||
|
tar cfvj "$dist_archive_linux_musl" -C "$src_dir/target/aarch64-unknown-linux-gnu/release" blockstack-core blockstack-cli clarity-cli
|
||||||
|
|
||||||
|
clarity_tgz="$dist_dir/clarity-cli-linux-aarch64.tar.gz"
|
||||||
|
rm -f "$clarity_tgz"
|
||||||
|
tar czvf "$clarity_tgz" -C "$src_dir/target/aarch64-unknown-linux-gnu/release" clarity-cli
|
||||||
|
}
|
||||||
|
|
||||||
### Build and package for MacOS-x64
|
### Build and package for MacOS-x64
|
||||||
build_mac_x64 () {
|
build_mac_x64 () {
|
||||||
"$script_path/build-dist-mac-x64.sh"
|
"$script_path/build-dist-mac-x64.sh"
|
||||||
@@ -83,7 +95,8 @@ case $DIST_TARGET_FILTER in
|
|||||||
case $DIST_TARGET_FILTER in
|
case $DIST_TARGET_FILTER in
|
||||||
linux_x64) build_linux_x64 ;;
|
linux_x64) build_linux_x64 ;;
|
||||||
linux_musl_x64) build_linux_musl_x64 ;;
|
linux_musl_x64) build_linux_musl_x64 ;;
|
||||||
linux_arm) build_linux_arm ;;
|
linux_armv7) build_linux_armv7 ;;
|
||||||
|
linux_aarch64) build_linux_aarch64 ;;
|
||||||
win_x64) build_win_x64 ;;
|
win_x64) build_win_x64 ;;
|
||||||
mac_x64) build_mac_x64 ;;
|
mac_x64) build_mac_x64 ;;
|
||||||
*)
|
*)
|
||||||
@@ -95,7 +108,9 @@ case $DIST_TARGET_FILTER in
|
|||||||
(*)
|
(*)
|
||||||
build_mac_x64
|
build_mac_x64
|
||||||
build_linux_x64
|
build_linux_x64
|
||||||
build_linux_arm
|
build_linux_armv7
|
||||||
|
## do not build aarch64 by default
|
||||||
|
# build_linux_aarch64
|
||||||
build_linux_musl_x64
|
build_linux_musl_x64
|
||||||
build_win_x64
|
build_win_x64
|
||||||
;;
|
;;
|
||||||
|
|||||||
Reference in New Issue
Block a user