Skip to content
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

Bump version to 1.0.80 #834

Merged
merged 1 commit into from
Aug 2, 2023
Merged

Bump version to 1.0.80 #834

merged 1 commit into from
Aug 2, 2023

Conversation

thomcc
Copy link
Member

@thomcc thomcc commented Jul 23, 2023

There have been a lot of changes, so I think it's worth getting a release out

@dot-asm
Copy link
Contributor

dot-asm commented Jul 23, 2023

I've spotted few inaccuracies in project's README. Consider #835 prior the version bump:-)

@complexspaces
Copy link

Hey there, sorry to jump in,

Would you please reconsider the changes that introduced windows_sys to cc before making this release? In general the windows ecosystem is extremely fractured at the moment, and most of the ecosystem is using 2-3 different versions of the crate at once (slower adopters + MSRV, hasn't been maintained in a bit, and extremely early adopters of new versions).

For downstream users who have a larger number of third-party dependencies, managing all of the various windows ecosystem versions can be complicated. My fear is that this change will only make the situation worse by adding the dependency to one of the most commonly used crates for Rust, and bloating lockfiles further. Additionally, the current main introduces a fairly sizable compile-time regression. On my AMD 7950x, this increases compile times by ~3x. The average compile time on the last release (1.0.79) takes 1.5s while main is now taking ~4.0-4.5 seconds.

Finally, even though I didn't explicitly test it, I expect this to hamper times more since it will require two compilations of windows-sys even if they have the same version because cc is used as a build dependency, and those don't share sub-dependencies with regular ones.

@thomcc
Copy link
Member Author

thomcc commented Jul 25, 2023

Yeah, I guess that's fair. I guess we could use the windows-sys bindings generator. Given how much effort the old version went through to keep the dependency profile light (for this reason), it's probably worth keeping that in mind...

I won't have time to work on this for a week or two, but I guess I'd take a patch in the mean time.

@NobodyXu
Copy link
Collaborator

I looked into windows-sys CI and it seems that they use riddle for generation with args for sys.

@thomcc
Copy link
Member Author

thomcc commented Jul 25, 2023

I meant the windows_bindgen crate. We use it already for the stdlib's binding generation: https://github.com/rust-lang/rust/blob/master/src/tools/generate-windows-sys/src/main.rs

@NobodyXu
Copy link
Collaborator

Thanks, I would have a look at it.

@ChrisDenton
Copy link
Contributor

Riddle is the new tool that will replace windows_bindgen for this purpose. Migrating from windows_bindgen ro riddle should hopefully not be difficult.

@thomcc
Copy link
Member Author

thomcc commented Jul 26, 2023

Addressed by #837.

@NobodyXu
Copy link
Collaborator

@complexspaces I've "vendored" windows-sys in #837, could you test the compile-time again please and check if there's still a regression?

@complexspaces
Copy link

@NobodyXu I gave the main branch with your changes a try and the compilation times seem to be back roughly where they were for 1.0.79. Thank you for doing that so quickly.

Copy link
Collaborator

@NobodyXu NobodyXu left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we have an actual release with #840 merged?

@thomcc
Copy link
Member Author

thomcc commented Aug 1, 2023

Yeah. I think I can actually do the release, I just need someone to approve this PR and #840 (due to the branch protection I can't merge without it).

@thomcc
Copy link
Member Author

thomcc commented Aug 1, 2023

Thanks! I'll cut the release after work today.

@thomcc thomcc merged commit 7adebb9 into rust-lang:main Aug 2, 2023
16 checks passed
@thomcc thomcc deleted the bump-1.0.80 branch August 2, 2023 00:06
@thomcc
Copy link
Member Author

thomcc commented Aug 2, 2023

https://github.com/rust-lang/cc-rs/releases/tag/1.0.80

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

6 participants