tari-rust/build.sh

85 lines
1.9 KiB
Bash
Raw Permalink Normal View History

2025-06-25 12:34:00 +00:00
#!/bin/bash
# GBT项目构建脚本
# 支持Linux和macOS
set -e
echo "🚀 开始构建GBT项目..."
# 检查Rust环境
if ! command -v cargo &> /dev/null; then
echo "❌ 错误: 未找到cargo请先安装Rust"
2025-06-27 10:22:48 +00:00
echo "访问 https://rustup.rs/ 安装Rust"
2025-06-25 12:34:00 +00:00
exit 1
fi
# 检查Rust版本
RUST_VERSION=$(rustc --version | cut -d' ' -f2)
echo "📦 Rust版本: $RUST_VERSION"
2025-06-27 10:22:48 +00:00
# 检查依赖
echo ""
echo "检查依赖项..."
# 检查ZMQ
if ! pkg-config --exists libzmq3; then
echo "警告: 未找到ZMQ开发库"
echo "Ubuntu/Debian: sudo apt-get install libzmq3-dev"
echo "CentOS/RHEL: sudo yum install zeromq-devel"
echo "macOS: brew install zeromq"
echo ""
echo "继续构建但可能遇到ZMQ相关错误..."
fi
# 检查OpenSSL
if ! pkg-config --exists openssl; then
echo "警告: 未找到OpenSSL开发库"
echo "Ubuntu/Debian: sudo apt-get install libssl-dev"
echo "CentOS/RHEL: sudo yum install openssl-devel"
echo "macOS: brew install openssl"
echo ""
echo "继续构建但可能遇到TLS相关错误..."
fi
echo "✓ 依赖检查完成"
2025-06-25 12:34:00 +00:00
# 清理之前的构建
echo "🧹 清理之前的构建..."
cargo clean
# 更新依赖
echo "📥 更新依赖..."
cargo update
# 检查代码
echo "🔍 检查代码..."
cargo check
# 运行测试
echo "🧪 运行测试..."
cargo test
# 构建发布版本
echo "🔨 构建发布版本..."
cargo build --release
# 检查构建结果
if [ -f "target/release/gbt" ]; then
echo "✅ 构建成功!"
echo "📁 可执行文件位置: target/release/gbt"
# 显示文件信息
echo "📊 文件信息:"
ls -lh target/release/gbt
# 显示版本信息
echo " 版本信息:"
./target/release/gbt --version 2>/dev/null || echo "无法获取版本信息"
else
echo "❌ 构建失败!"
exit 1
fi
echo "🎉 GBT项目构建完成!"