To build Flow Control, ensure you have zig 0.16 installed. The build process produces a single, statically linked binary that includes all necessary tree-sitter parsers and queries, requiring no additional runtime files.
Standard Build
Build with optimizations enabled:
zig build -Doptimize=ReleaseSafe
Generic CPU Support
If you encounter illegal instruction errors on your target machine, add -Dcpu=baseline to the build command to ensure compatibility with older or more generic CPUs:
zig build -Doptimize=ReleaseSafe -Dcpu=baseline
Cross-Compilation
You can cross-compile from any host to various targets using the -Dtarget flag. Note that cross-compiled binaries use generic CPU support by default.
Examples:
- Windows (x86_64):
zig build -Doptimize=ReleaseSafe -Dtarget=x86_64-windows --prefix zig-out/x86_64-windows - macOS:
zig build -Doptimize=ReleaseSafe -Dtarget=x86_64-macos-none --prefix zig-out/x86_64-macos - Linux (aarch64 musl):
zig build -Doptimize=ReleaseSafe -Dtarget=aarch64-linux-musl --prefix zig-out/x86_64-linux
The resulting binary will be located in zig-out/bin/flow.