bgscan-builder cross-compiles bgscan from a single Go binary. It builds
for multiple OS/architecture targets then stages the Slipstream client shared
library (.so / .dylib / .dll from
slipstream-rust) alongside each
build.
Installing a release is handled by the separate bgscan-installer tool.
- Release pipeline — cross-compiles for multiple OS/architecture targets
and downloads and verifies the Slipstream shared library per platform,
saved under a stable filename (
libslipstream-client.so/.dylib/.dll). - Android cross-compilation — resolves the NDK's native LLVM toolchain and couples it through CGO.
- Go 1.27 or newer.
- Android NDK — required only when
releasetargets includeandroid.
git clone https://github.com/MohsenBg/bgscan-builder.git
cd bgscan-builder
go build -o bgscan-builder ./cmd/builderSubcommands: setup-dev, release.
Prepares a local development workspace for the current platform, copying
*.default templates into ips and downloading the Slipstream shared
library.
bgscan-builder setup-dev -project-dir /path/to/bgscan
bgscan-builder setup-dev -project-dir /path/to/bgscan -slipstream-version v0.1.2Cross-compiles bgscan for one or more OS/architecture targets and stages the Slipstream shared library:
bgscan-builder release -os linux -arch amd64
bgscan-builder release -os android -arch arm64 -ndk-dir /opt/android-ndk
bgscan-builder release -os all -arch all -dest ./out
bgscan-builder release -os linux -arch amd64 -slipstream-version v0.1.2Supported values for -os: linux, macos, windows, android, all.
Supported values for -arch: amd64, arm64, arm32, amd32, all.
| Flag | Applies to | Description |
|---|---|---|
-verbose |
all subcommands | Enable debug logging |
-version |
release |
Version embedded into the built binary |
-dest |
release |
Release output directory (default ./dist) |
-slipstream-version |
all subcommands | Slipstream library tag (e.g. v0.1.2) or latest (default latest) |
Run bgscan-builder <subcommand> -h for the full flag list.