Good evening rustlers! Today I’d like to turn our attention to the topic of rust-lang/rust’s build system. We have historically been using makefiles for everything, but recently there have been efforts to rewrite it into a Rust/Cargo based world, dubbed rustbuild. This new build system is nearing completion and I’d like to see if we can push it the last mile to outright delete the makefiles! If you’re curious, you can find lots of motivation for this change on the original PR.
I believe that rustbuild is feature-complete enough to get in front of rustc developers today and I also think we’re ready to start moving over all official builds to it. To that end, I would propose the following schedule:
- Rust 1.15, starts 2016-11-10, releases 2017-02-02 - makefiles are deprecated
- Rust 1.16, starts 2016-12-22, releases 2017-03-16 - makefiles are deprecated
- Rust 1.17, starts 2017-02-02, released 2017-04-27 - makefiles are removed
In other words, the current nightly, 1.15, and the next, 1.16, we’ll message out deprecation of the makefiles. During this time we’ll switch infrastructure away from the makefiles (except for one bot to keep testing them), flesh out any final bugs in rustbuild, and give users ample time to switch. Once the 1.16 beta release is cut (2016-01-02), the master branch would become 1.17 and we’d delete the makefiles for good. This should give stable users around 6 months to ensure that rustbuild works for them.
So with that in mind, I’m curious for other’s opinions! Do you think this is an
acceptable time frame for this transition? Do you think that rustbuild has
critical bugs that still need fixing? As a reminder all bugs against rustbuild
can be filed against rust-lang/rust
and you can cc me (@alexcrichton) to tag it with