mirror of
https://github.com/alexgo-io/stacks-subnets.git
synced 2026-01-12 16:53:24 +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() {
|
||||
wget -nc "https://github.com/blockstackpbc/osxcross/releases/download/v1/osxcross-e0a1718_xcode-v10.2.1.tar.xz"
|
||||
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
|
||||
rustup target add x86_64-apple-darwin
|
||||
|
||||
PATH="$(pwd)/osxcross/bin:$PATH" \
|
||||
LD_LIBRARY_PATH="$(pwd)/osxcross/lib:$LD_LIBRARY_PATH" \
|
||||
PATH="/tmp/osxcross/bin:$PATH" \
|
||||
LD_LIBRARY_PATH="/tmp/osxcross/lib:$LD_LIBRARY_PATH" \
|
||||
CC=o64-clang \
|
||||
CXX=o64-clang++ \
|
||||
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
|
||||
}
|
||||
|
||||
### 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"
|
||||
### Build and package for Linux-ARMv7 hardfloat
|
||||
build_linux_armv7 () {
|
||||
"$script_path/build-dist-linux-armv7.sh"
|
||||
dist_archive_linux_musl="$dist_dir/blockstack-core-linux-armv7.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"
|
||||
clarity_tgz="$dist_dir/clarity-cli-linux-armv7.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 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_mac_x64 () {
|
||||
"$script_path/build-dist-mac-x64.sh"
|
||||
@@ -83,7 +95,8 @@ 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 ;;
|
||||
linux_armv7) build_linux_armv7 ;;
|
||||
linux_aarch64) build_linux_aarch64 ;;
|
||||
win_x64) build_win_x64 ;;
|
||||
mac_x64) build_mac_x64 ;;
|
||||
*)
|
||||
@@ -95,7 +108,9 @@ case $DIST_TARGET_FILTER in
|
||||
(*)
|
||||
build_mac_x64
|
||||
build_linux_x64
|
||||
build_linux_arm
|
||||
build_linux_armv7
|
||||
## do not build aarch64 by default
|
||||
# build_linux_aarch64
|
||||
build_linux_musl_x64
|
||||
build_win_x64
|
||||
;;
|
||||
|
||||
Reference in New Issue
Block a user