#!/bin/bash # Builds Rust native libraries for cross-platform # Run on Ubuntu self-hosted runner or macOS set -euo pipefail echo "=== Building Rust Native Libraries ===" # Check for Rust if ! command -v cargo &> /dev/null; then echo "Error: cargo not found. Please install Rust: https://rustup.rs/" exit 1 fi # Build native libraries cd native_rust echo "Building with cargo..." cargo build --release cd .. # Package libs for current platform mkdir -p bin/native if [[ "$OSTYPE" == "linux-gnu"* ]]; then cp native_rust/target/release/lib*.so bin/native/ 2>/dev/null || true echo "✓ Rust libraries built for Linux" elif [[ "$OSTYPE" == "darwin"* ]]; then cp native_rust/target/release/lib*.dylib bin/native/ 2>/dev/null || true echo "✓ Rust libraries built for macOS" else cp native_rust/target/release/lib*.dll bin/native/ 2>/dev/null || true echo "✓ Rust libraries built" fi echo "" echo "Libraries available in bin/native/" ls -la bin/native/ 2>/dev/null || echo "No libraries found"