Skip to content

About

A Go-based cross-compilation toolchain that automates bgscan dependency orchestration and multi-platform workspace staging.

Resources

Stars

4 stars

Watchers

0 watching

Forks

Latest commit

 

History

56 Commits

Folders and files

Repository files navigation

bgscan-builder

Go Version License

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.

Features

  • 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.

Requirements

  • Go 1.27 or newer.
  • Android NDK — required only when release targets include android.

Build

git clone https://github.com/MohsenBg/bgscan-builder.git
cd bgscan-builder
go build -o bgscan-builder ./cmd/builder

Usage

Subcommands: setup-dev, release.

setup-dev

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.2

release

Cross-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.2

Supported values for -os: linux, macos, windows, android, all. Supported values for -arch: amd64, arm64, arm32, amd32, all.

Supporting flags

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.

About

A Go-based cross-compilation toolchain that automates bgscan dependency orchestration and multi-platform workspace staging.

Resources

Stars

4 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages