3 ms·
build systems using llvm as the backend are getting there, but zig is making their own compiler too.
by himata4113 3mo ago
build systems using llvm as the backend are getting there, but zig is making their own compiler too.
- forrestthewoods 3mo agocompilers and build systems are and should be different. A good polyglot build system should support llvm and zig and python and literally any toolchain under the sun.
- himata4113 3mo agothe problem is that you need a compiler capable of compiling said zig, python, rust. LLVM does that, you can compile something as untyped as javascript(with a lot of hacks) or as strict as rust.
- forrestthewoods 3mo ago> the problem is that you need a compiler capable of compiling said zig, python, rust no! No you do not!! It’s perfectly totally fine to have multiple different compilers. Literally not a problem at all. That’s my point! Compilers and build systems are separate. It is perfectly fine for one build system to invoke multiple different compilers.
- himata4113 3mo agocargo pretty much does that, but then you have to have to bundle all those compilers which becomes a fuckfest.
- forrestthewoods 3mo agoEhh. Cargo has build.rs but calling that a polyglot build system is like calling bash scripts a polyglot build system. Buck and Bazel have the right architecture. Just need a version written fresh without all the baggage.