Building from Source

Prerequisites

  • Rust 1.85+ (Edition 2024)
  • Git
# Install Rust
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

# Verify version
rustc --version  # Must be 1.85.0 or later

Clone and Build

git clone https://github.com/egkristi/RavenFabric.git
cd RavenFabric

# Debug build
cargo build

# Release build (optimized, LTO, stripped)
cargo build --release

Cross-Compilation

Linux Static Binary (musl)

rustup target add x86_64-unknown-linux-musl
cargo build --release --target x86_64-unknown-linux-musl

Linux ARM64

rustup target add aarch64-unknown-linux-musl
cargo build --release --target aarch64-unknown-linux-musl

Linux ARMv7 (Raspberry Pi)

rustup target add armv7-unknown-linux-musleabihf
cargo build --release --target armv7-unknown-linux-musleabihf

Feature Flags

FeatureDefaultDescription
fullYesAll features enabled
minimalNoNo TUN, no sysinfo, no QUIC
websocketYesWebSocket transport
quicNoQUIC transport
# Minimal build (smaller binary)
cargo build --release --no-default-features --features minimal

# With QUIC
cargo build --release --features quic

Verify Build

# Run all tests
cargo test

# Lint
cargo clippy

# Format check
cargo fmt --check