mirror of
https://github.com/tw93/Mole.git
synced 2026-02-04 12:41:46 +00:00
36 lines
1020 B
Bash
Executable File
36 lines
1020 B
Bash
Executable File
#!/bin/bash
|
|
# Build Universal Binary for analyze-go
|
|
# Supports both Apple Silicon and Intel Macs
|
|
|
|
set -euo pipefail
|
|
|
|
cd "$(dirname "$0")/.."
|
|
|
|
echo "Building analyze-go for multiple architectures..."
|
|
|
|
# Build for arm64 (Apple Silicon)
|
|
echo " → Building for arm64..."
|
|
GOARCH=arm64 go build -ldflags="-s -w" -o bin/analyze-go-arm64 cmd/analyze/main.go
|
|
|
|
# Build for amd64 (Intel)
|
|
echo " → Building for amd64..."
|
|
GOARCH=amd64 go build -ldflags="-s -w" -o bin/analyze-go-amd64 cmd/analyze/main.go
|
|
|
|
# Create Universal Binary
|
|
echo " → Creating Universal Binary..."
|
|
lipo -create bin/analyze-go-arm64 bin/analyze-go-amd64 -output bin/analyze-go
|
|
|
|
# Clean up temporary files
|
|
rm bin/analyze-go-arm64 bin/analyze-go-amd64
|
|
|
|
# Verify
|
|
echo ""
|
|
echo "✓ Build complete!"
|
|
echo ""
|
|
file bin/analyze-go
|
|
size_bytes=$(stat -f%z bin/analyze-go 2> /dev/null || echo 0)
|
|
size_mb=$((size_bytes / 1024 / 1024))
|
|
printf "Size: %d MB (%d bytes)\n" "$size_mb" "$size_bytes"
|
|
echo ""
|
|
echo "Binary supports: arm64 (Apple Silicon) + x86_64 (Intel)"
|