Add windows-targets crate to std's sysroot · patricklam/verify-rust-std@a3a6a98 (original) (raw)
7 files changed
lines changed
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -57,6 +57,9 @@ object = { version = "0.36.0", default-features = false, optional = true, featur | ||
| 57 | 57 | 'archive', |
| 58 | 58 | ] } |
| 59 | 59 | |
| 60 | +[target.'cfg(windows)'.dependencies.windows-targets] | |
| 61 | +path = "../windows_targets" | |
| 62 | + | |
| 60 | 63 | [dev-dependencies] |
| 61 | 64 | rand = { version = "0.8.5", default-features = false, features = ["alloc"] } |
| 62 | 65 | rand_xorshift = "0.3.0" |
| @@ -116,7 +119,7 @@ std_detect_env_override = ["std_detect/std_detect_env_override"] | ||
| 116 | 119 | |
| 117 | 120 | # Enable using raw-dylib for Windows imports. |
| 118 | 121 | # This will eventually be the default. |
| 119 | -windows_raw_dylib = [] | |
| 122 | +windows_raw_dylib = ["windows-targets/windows_raw_dylib"] | |
| 120 | 123 | |
| 121 | 124 | [package.metadata.fortanix-sgx] |
| 122 | 125 | # Maximum possible number of threads when testing |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -4,7 +4,7 @@ use crate::alloc::{GlobalAlloc, Layout, System}; | ||
| 4 | 4 | use crate::ffi::c_void; |
| 5 | 5 | use crate::ptr; |
| 6 | 6 | use crate::sync::atomic::{AtomicPtr, Ordering}; |
| 7 | -use crate::sys::c::{self, windows_targets}; | |
| 7 | +use crate::sys::c; | |
| 8 | 8 | use crate::sys::common::alloc::{realloc_fallback, MIN_ALIGN}; |
| 9 | 9 | |
| 10 | 10 | #[cfg(test)] |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -8,8 +8,6 @@ | ||
| 8 | 8 | use core::ffi::{c_uint, c_ulong, c_ushort, c_void, CStr}; |
| 9 | 9 | use core::{mem, ptr}; |
| 10 | 10 | |
| 11 | -pub(super) mod windows_targets; | |
| 12 | - | |
| 13 | 11 | mod windows_sys; |
| 14 | 12 | pub use windows_sys::*; |
| 15 | 13 |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -3317,4 +3317,3 @@ pub struct WSADATA { | ||
| 3317 | 3317 | #[cfg(target_arch = "arm")] |
| 3318 | 3318 | pub enum CONTEXT {} |
| 3319 | 3319 | // ignore-tidy-filelength |
| 3320 | -use super::windows_targets; |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,10 @@ | ||
| 1 | +[package] | |
| 2 | +name = "windows-targets" | |
| 3 | +description = "A drop-in replacement for the real windows-targets crate for use in std only." | |
| 4 | +version = "0.0.0" | |
| 5 | +edition = "2021" | |
| 6 | + | |
| 7 | +[features] | |
| 8 | +# Enable using raw-dylib for Windows imports. | |
| 9 | +# This will eventually be the default. | |
| 10 | +windows_raw_dylib = [] |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -2,6 +2,10 @@ | ||
| 2 | 2 | //! |
| 3 | 3 | //! This is a simple wrapper around an `extern` block with a `#[link]` attribute. |
| 4 | 4 | //! It's very roughly equivalent to the windows-targets crate. |
| 5 | +#![no_std] | |
| 6 | +#![no_core] | |
| 7 | +#![feature(decl_macro)] | |
| 8 | +#![feature(no_core)] | |
| 5 | 9 | |
| 6 | 10 | #[cfg(feature = "windows_raw_dylib")] |
| 7 | 11 | pub macro link { |