From 8f68a9da1ada02bee69d8c4aa55ce03c717d7886 Mon Sep 17 00:00:00 2001 From: dimgigov Date: Wed, 10 Jun 2026 20:26:31 +0300 Subject: [PATCH] docs: document --target cross-compilation flag - Add cross-compilation to README.md features and quick start - Add cross-compilation section to docs/BuildAndTest.md --- README.md | 4 ++++ docs/BuildAndTest.md | 18 ++++++++++++++++++ 2 files changed, 22 insertions(+) diff --git a/README.md b/README.md index 6c4559d..c07affd 100644 --- a/README.md +++ b/README.md @@ -24,6 +24,9 @@ cd hello # Build and run bux run + +# Cross-compile for ARM Linux (requires clang) +bux build --target aarch64-linux-gnu ``` --- @@ -201,6 +204,7 @@ func Main() -> int { | **CTFE** | `const func` — compile-time function execution | | **Trait Bounds** | `func Max(a: T, b: T) -> T` | | **Package Manager** | `bux add`, `bux install`, `bux.lock`, path + git deps | +| **Cross-Compilation** | `--target ` via clang (e.g. `aarch64-linux-gnu`) | | **Tooling** | `bux new`, `bux build`, `bux run`, `bux test`, `bux check` | --- diff --git a/docs/BuildAndTest.md b/docs/BuildAndTest.md index e4f4fbb..a27decc 100644 --- a/docs/BuildAndTest.md +++ b/docs/BuildAndTest.md @@ -107,6 +107,24 @@ Output = "Bin" Build output goes to `build/` by default. +### Cross-Compilation + +Use `--target ` to cross-compile for a different platform. Bux generates C code and uses `clang` with the `-target` flag for cross-compilation. + +```bash +# Cross-compile for ARM Linux +./buxc build --target aarch64-linux-gnu + +# Cross-compile for x86_64 Linux (explicit) +./buxc build --target x86_64-linux-gnu + +# Cross-compile and run project build +./buxc project --target x86_64-linux-gnu +./buxc run --target aarch64-linux-gnu +``` + +> **Note:** `clang` must be installed for cross-compilation. Without `--target`, Bux uses the system `cc` compiler. + --- ## Running Tests