IssueRaiser

make the main zig executable no longer depend on LLVM, LLD, and Clang libraries

This issue is to fully eliminate LLVM, Clang, and LLD *libraries* from the Zig project. The remaining ties to these projects are as follows: * [ ] #8726 * [ ] LLVM * [x] #13265 * [x] C backend - 1742/1792 tests passing (97%) * [x] #22257 * [ ] wasm backend - 1611/1765 tests passing (91%) * [x] #21172 * [x] #17807 * [x] #21238 * [ ] https://github.com/ziglang/zig/issues/25492 * [ ] Clang * [x] C++ source files in zig's repository are built by clang when bootstrapping * [x] #15657 * [ ] #20875 * [x] #17752 * [x] #17753 * [x] #20630 * [x] #9828 Note that while the LLVM backend already outputs `.bc` files (#13265), the Zig compiler will lack the capability to compile .bc files into object files. Clang will need to be installed separately to handle this use case. In exchange, Zig gains these benefits: * All our bugs are belong to us. * The compiler becomes trivial to build from source and to bootstrap with only a C compiler on the host system. * We stop dealing with annoying problems introduced by Linux distributions and package managers such as Homebrew related to LLVM, Clang, and LLD. There have been and continue to be [many](https://github.com/ziglang/zig/issues?q=is%3Aissue+homebrew+). * The Zig compiler binary goes from about 150 MiB to 5 MiB. * Compilation speed is increased by orders of magnitude. * We can implement our own optimization passes that push the state of the art of computing forward. * We can attract rese

Posted by andrewrk on Jun 29, 2023, 10:41 PM

Tags

Related issues

Raise real-world problems, find people facing the same issue, and discuss solutions.2,500 issues0 comments

github (Sysadmin)

make the main zig executable no longer depend on LLVM, LLD, and Clang libraries

andrewrkJun 29, 2023, 10:41 PM

This issue is to fully eliminate LLVM, Clang, and LLD *libraries* from the Zig project. The remaining ties to these projects are as follows: * [ ] #8726 * [ ] LLVM * [x] #13265 * [x] C backend - 1742/1792 tests passing (97%) * [x] #22257 * [ ] wasm backend - 1611/1765 tests passing (91%) * [x] #21172 * [x] #17807 * [x] #21238 * [ ] https://github.com/ziglang/zig/issues/25492 * [ ] Clang * [x] C++ source files in zig's repository are built by clang when bootstrapping * [x] #15657 * [ ] #20875 * [x] #17752 * [x] #17753 * [x] #20630 * [x] #9828 Note that while the LLVM backend already outputs `.bc` files (#13265), the Zig compiler will lack the capability to compile .bc files into object files. Clang will need to be installed separately to handle this use case. In exchange, Zig gains these benefits: * All our bugs are belong to us. * The compiler becomes trivial to build from source and to bootstrap with only a C compiler on the host system. * We stop dealing with annoying problems introduced by Linux distributions and package managers such as Homebrew related to LLVM, Clang, and LLD. There have been and continue to be [many](https://github.com/ziglang/zig/issues?q=is%3Aissue+homebrew+). * The Zig compiler binary goes from about 150 MiB to 5 MiB. * Compilation speed is increased by orders of magnitude. * We can implement our own optimization passes that push the state of the art of computing forward. * We can attract rese

Comments (0)

No comments yet. Start the discussion.

Comment on this issue