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
Misc. changes to import library generation tooling #2016
Conversation
If you do this, you need to rerun |
440d3f1
to
3fb985d
Compare
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.
Looks great, some minor changes requested.
What is the purpose of post processing the libs and is that really necessary? |
Assuming you use the same MSVC version, it makes the libs reproducible. |
…ort libraries And at the same time, allow to use MinGW tools on any OS.
Thanks, I would love reproducible builds but as the link Tim provided mentions, those aren't random timestamps but can and are often used for more than just uniquely stamping builds. I know the MSVC team are interested in this problem and will hopefully get this fixed before long. How about we just drop the post-processing until we've got more information? @oldnewthing |
What's random is what's in the actual SDK. What's in the import libs provided by windows-rs right now is an actual timestamp of when the tool_msvc tool is run. What's in the import libs generated by raw-dylibs by rust is an zeroed timestamp. Also, these "timestamps" appear nowhere in the binaries linked against those import libraries. I think you're overthinking this. The timestamps that matter more as per @oldnewthing's blog post are those on .dlls and .exes, not import libs. |
Well, that's not at all surprising. 🤣 I have no further objections. Thanks for your patience. |
We need to zoom out a bit and not assume these timestamps "random" and/or unnecessary. We don't have the data to support those assertions just yet. It's more likely these are internal implementation details (read: hacks) and are actually useful/used in some niche scenario. I think this latest commit is a great best effort alignment of our generated libs to the official SDK libs, down to the @glandium Appreciate your patience and compromise. |
Can this be merged? |
It looks like the gnullvm targets are still there. Should they be removed now? |
I'd rather get to that in a followup PR, especially since the modalities haven't been worked out yet. |
Thank you. |
I opened #2018 for discussion. |
Great, thanks for the continued contributions! |
This covers the first 3 points in #1964 (comment) and the first commit mentioned in the 4th point, that reduces differences from updating the msvc import libraries variants.