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

windows: always use RtlGenRandom on pre-1.78 Rust versions #610

Merged
merged 7 commits into from
Mar 3, 2025

Conversation

newpavlov
Copy link
Member

@newpavlov newpavlov commented Feb 26, 2025

This PR adds detection of Rust compiler version in the build script while compiling the crate for Windows targets.

If the version is smaller than 1.78, then we switch to the windows7 backend for all Windows targets. This is necessary because on those older versions we can not disambiguate between win7 and win10 based on target triplet.

Close #608

@newpavlov newpavlov requested a review from josephlr February 26, 2025 13:44
@newpavlov newpavlov merged commit cf1f37e into master Mar 3, 2025
58 checks passed
@newpavlov newpavlov deleted the win_legacy branch March 3, 2025 11:26
@newpavlov newpavlov mentioned this pull request Mar 7, 2025
newpavlov added a commit that referenced this pull request Mar 17, 2025

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
### Added
- `efi_rng` opt-in backend [#570]
- `linux_raw` opt-in backend [#572]
- `.cargo/config.toml` example in the crate-level docs [#591]
- `getrandom_test_linux_without_fallback` configuration flag to test
that file fallback
  is not triggered in the `linux_android_with_fallback` backend [#605]
- Built-in support for `*-linux-none` targets [#618]
- Cygwin support [#626]

### Changed
- Update `wasi` dependency to v0.14 [#594]
- Add `#[inline]` attribute to the inner functions [#596]
- Update WASI and Emscripten links in the crate-level docs [#597]
- Do not use `dlsym` on MUSL targets in the
`linux_android_with_fallback` backend [#602]
- Remove `linux_android.rs` and use `getrandom.rs` instead [#603]
- Always use `RtlGenRandom` on Windows targets when compiling with
pre-1.78 Rust [#610]
- Internal representation of the `Error` type [#614]
- Remove `windows-targets` dependency and use [`raw-dylib`] directly
[#627]

### Removed
- `Error::INTERNAL_START` and `Error::CUSTOM_START` associated constants
[#614]

[#570]: #570
[#572]: #572
[#591]: #591
[#594]: #594
[#596]: #596
[#597]: #597
[#602]: #602
[#603]: #603
[#605]: #605
[#610]: #610
[#614]: #614
[#618]: #618
[#626]: #626
[#627]: #627
[`raw-dylib`]:
https://doc.rust-lang.org/reference/items/external-blocks.html?highlight=link#dylib-versus-raw-dylib
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.

Windows 7 support on Rust 1.77 and lower
1 participant