diff --git a/scripts/build/build-rust.sh b/scripts/build/build-rust.sh new file mode 100755 index 0000000..db21466 --- /dev/null +++ b/scripts/build/build-rust.sh @@ -0,0 +1,36 @@ +#!/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"