Skip to main content

Cross-Compilation

Short Names

DCR supports short platform names:

Short NameFull Triple
linuxx86_64-unknown-linux-gnu
macosx86_64-apple-darwin
windowsx86_64-pc-windows-msvc
dcr build --target windows

Full Triples

dcr build --target aarch64-unknown-linux-gnu
dcr build --target x86_64-pc-windows-gnu # mingw
dcr build --target armv7-unknown-linux-gnueabihf

clang --target

When using clang, DCR injects --target=<triple> into CFLAGS.

[build]
compiler = "clang"
target = "aarch64-unknown-linux-gnu"
# Auto: cflags += ["--target=aarch64-unknown-linux-gnu"]

Bare-Metal

For targets containing none, -elf, eabi, or baremetal, DCR default flags are disabled (no system include paths, no -l libc).

dcr build --target aarch64-none-elf

Target Directory

On Linux with explicit target:

target/<triple>/<profile>/

On macOS/Windows or without target:

target/<profile>/