kassane/zcc-d
D library for build scripts to compile C/C++ code using zig toolchain
A D library for building C/C++ code using Zig as a cross-compilation toolchain, inspired by cc-rs and cargo-zigbuild.
dub add zcc
library
// Compile C/C++ code
auto b = new Builder();
// Use `zig cc` or `zig c++`
b.file("source.cpp") // Auto-detects C++ mode
.setTargetTriple("aarch64-linux-gnu")
.setCpu("generic")
.addArg("-Wall")
.execute();
// Build library
auto lb = new Builder();
// use `zig build-lib -lc` or `zig build-lib -lc++`
lb.files(["source.cpp", "resource.cc"]) // Auto-detects C++ mode
.setTargetTriple("riscv64-linux-gnu")
.setCpu("baseline")
.addArg("-Wall")
.buildLibrary("libname");
See more in samples.
executable
dub run zcc:cc -- <clang-flags> <source-files>
Contributions are welcome! Please open an issue or submit a pull request.