Comment by metaltyphoon
2 days ago
What was the rationale to not use cargo? By the way, I really enjoy when you are a guest on the fallthrough podcast.
2 days ago
What was the rationale to not use cargo? By the way, I really enjoy when you are a guest on the fallthrough podcast.
Thanks!
So, one reason is "I just want to learn more about buck2."
But, for the first iteration of Rue, I maintained both. However, for a language project, there's one reason Cargo isn't sufficient now, and one reason why it may not later: the first one is https://github.com/rue-language/rue/blob/trunk/crates/rue-co... : I need to make sure that, no matter what configuration I build the compiler in, I build a staticlib for the runtime. With Cargo, I couldn't figure out how to do this. In test mode, it would still try to build it as a dylib.
Later, well, the reason that rustc has to layer a build system on top of Cargo: bootstrapping. I'm not sure if Rue will ever be bootstrapped, but rustc uses x.py for this. Buck does it a lot nicer, IMHO https://github.com/dtolnay/buck2-rustc-bootstrap