-
Notifications
You must be signed in to change notification settings - Fork 215
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Only include dependencies when binary
feature is enabled
#68
Conversation
This change vastly improves compile times when only `lib.rs` is compiled. However, it is a breaking change.
This results in a much better error message when a build without that feature is attempted.
To try this change today:
Now building the bootloader library should no longer require compiling the bootloader dependencies:
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
Actually there is one more thing - do we need the build script when the binary feature is disabled? We are still pulling in |
Good point! I disabled the build script and the llvm-tools dependency too now |
I think it's fine to merge this now. We will need to release a new semver-breaking version anyway, so no breakage should occur unless you manually increase the bootloader version in your Cargo.toml. |
Published as version 0.7.0 |
This change vastly improves compile times when only
lib.rs
is compiled because no dependencies need to be compiled in this case. See rust-lang/cargo#1982 (comment) for more information about the approach.This is a breaking change since a build of the executable without the
binary
feature will result in an error.Depends on rust-osdev/bootimage#43, so we will need to increase the minimally supported bootimage version. To avoid public breakage, we should probably wait a bit after releasing the new bootimage version to give people time to upgrade.