3 ms·
They're not using the Zig language. They're using Zig's fantastic packaging of clang with many versions of glibc for easy cross-compilation. Cross-compilation
by pornel 3y ago
They're not using the Zig language. They're using Zig's fantastic packaging of clang with many versions of glibc for easy cross-compilation.
Cross-compilation is the weakest point of Cargo. It depends on a C linker, but can't be bothered to configure a compatible linker. The default linker is for the host OS only, and completely helpless about dependencies, so the out-of the-box experience in Cargo is a wall of errors and disappointment.
Zig build helpfully does all the configuration legwork, and bundles all the required binaries.
- consoomer 3y agoSo let me get this straight... They went through a phase of, "Let's rewrite it in Rust (from Go)!" but it got complicated, because reasons. One of their reasons is Cargo's cross compilation is bad so they decide to use Zig's toolchain to compensate for Cargo's inferior tool chain. Seems like they should have just stuck with Go.