2 Building from Source
ospab edited this page 2026-05-17 17:19:45 +03:00

Building from Source

Russian / Русский

Prerequisites

  • Rust (stable toolchain)
  • Git

For GUI (additional)

  • Node.js 20+
  • Tauri CLI: cargo install tauri-cli --version "^2"

For Cross-Compilation

  • cross: cargo install cross

Build CLI

git clone https://github.com/ospab/ostp.git
cd ostp
cargo build --release --bin ostp

Output: target/release/ostp (or ostp.exe on Windows)

Build GUI

cd ostp-gui
cargo tauri build

Output: ostp-gui/src-tauri/target/release/ostp-gui.exe

Build for Specific Targets

# Linux ARM64
cargo build --release --target aarch64-unknown-linux-musl --bin ostp

# Windows ARM64
cargo build --release --target aarch64-pc-windows-msvc --bin ostp

# Android (via cross)
cross build --release --target aarch64-linux-android --bin ostp

# Router (MIPS)
cross build --release --target mipsel-unknown-linux-musl --bin ostp

Build JNI Library (Android)

cross build --release --target aarch64-linux-android -p ostp-jni

Output: target/aarch64-linux-android/release/libostp_jni.so

Supported Targets

Target Architecture OS
x86_64-pc-windows-msvc x64 Windows
aarch64-pc-windows-msvc ARM64 Windows
x86_64-unknown-linux-musl x64 Linux
aarch64-unknown-linux-musl ARM64 Linux
armv7-unknown-linux-musleabihf ARMv7 Linux
x86_64-apple-darwin x64 macOS
aarch64-apple-darwin ARM64 macOS (M1+)
mipsel-unknown-linux-musl MIPS LE Linux (Routers)
riscv64gc-unknown-linux-gnu RISC-V 64 Linux
aarch64-linux-android ARM64 Android
x86_64-unknown-freebsd x64 FreeBSD

Running Tests

cargo test -p ostp-core

← GUI Client | FAQ →