Add windows-targets crate to std's sysroot
This commit is contained in:
parent
c7b0d4e81f
commit
acb024110f
@ -339,6 +339,7 @@ dependencies = [
|
|||||||
"std_detect",
|
"std_detect",
|
||||||
"unwind",
|
"unwind",
|
||||||
"wasi",
|
"wasi",
|
||||||
|
"windows-targets 0.0.0",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@ -421,9 +422,13 @@ version = "0.52.0"
|
|||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d"
|
checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"windows-targets",
|
"windows-targets 0.52.5",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "windows-targets"
|
||||||
|
version = "0.0.0"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "windows-targets"
|
name = "windows-targets"
|
||||||
version = "0.52.5"
|
version = "0.52.5"
|
||||||
|
@ -57,6 +57,9 @@ object = { version = "0.36.0", default-features = false, optional = true, featur
|
|||||||
'archive',
|
'archive',
|
||||||
] }
|
] }
|
||||||
|
|
||||||
|
[target.'cfg(windows)'.dependencies.windows-targets]
|
||||||
|
path = "../windows_targets"
|
||||||
|
|
||||||
[dev-dependencies]
|
[dev-dependencies]
|
||||||
rand = { version = "0.8.5", default-features = false, features = ["alloc"] }
|
rand = { version = "0.8.5", default-features = false, features = ["alloc"] }
|
||||||
rand_xorshift = "0.3.0"
|
rand_xorshift = "0.3.0"
|
||||||
@ -116,7 +119,7 @@ std_detect_env_override = ["std_detect/std_detect_env_override"]
|
|||||||
|
|
||||||
# Enable using raw-dylib for Windows imports.
|
# Enable using raw-dylib for Windows imports.
|
||||||
# This will eventually be the default.
|
# This will eventually be the default.
|
||||||
windows_raw_dylib = []
|
windows_raw_dylib = ["windows-targets/windows_raw_dylib"]
|
||||||
|
|
||||||
[package.metadata.fortanix-sgx]
|
[package.metadata.fortanix-sgx]
|
||||||
# Maximum possible number of threads when testing
|
# Maximum possible number of threads when testing
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
use crate::ffi::c_void;
|
use crate::ffi::c_void;
|
||||||
use crate::ptr;
|
use crate::ptr;
|
||||||
use crate::sync::atomic::{AtomicPtr, Ordering};
|
use crate::sync::atomic::{AtomicPtr, Ordering};
|
||||||
use crate::sys::c::{self, windows_targets};
|
use crate::sys::c;
|
||||||
use crate::sys::common::alloc::{realloc_fallback, MIN_ALIGN};
|
use crate::sys::common::alloc::{realloc_fallback, MIN_ALIGN};
|
||||||
|
|
||||||
#[cfg(test)]
|
#[cfg(test)]
|
||||||
|
@ -8,8 +8,6 @@
|
|||||||
use core::ffi::{c_uint, c_ulong, c_ushort, c_void, CStr};
|
use core::ffi::{c_uint, c_ulong, c_ushort, c_void, CStr};
|
||||||
use core::{mem, ptr};
|
use core::{mem, ptr};
|
||||||
|
|
||||||
pub(super) mod windows_targets;
|
|
||||||
|
|
||||||
mod windows_sys;
|
mod windows_sys;
|
||||||
pub use windows_sys::*;
|
pub use windows_sys::*;
|
||||||
|
|
||||||
|
@ -3317,4 +3317,3 @@ pub struct WSADATA {
|
|||||||
#[cfg(target_arch = "arm")]
|
#[cfg(target_arch = "arm")]
|
||||||
pub enum CONTEXT {}
|
pub enum CONTEXT {}
|
||||||
// ignore-tidy-filelength
|
// ignore-tidy-filelength
|
||||||
use super::windows_targets;
|
|
||||||
|
10
library/windows_targets/Cargo.toml
Normal file
10
library/windows_targets/Cargo.toml
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
[package]
|
||||||
|
name = "windows-targets"
|
||||||
|
description = "A drop-in replacement for the real windows-targets crate for use in std only."
|
||||||
|
version = "0.0.0"
|
||||||
|
edition = "2021"
|
||||||
|
|
||||||
|
[features]
|
||||||
|
# Enable using raw-dylib for Windows imports.
|
||||||
|
# This will eventually be the default.
|
||||||
|
windows_raw_dylib = []
|
@ -2,6 +2,10 @@
|
|||||||
//!
|
//!
|
||||||
//! This is a simple wrapper around an `extern` block with a `#[link]` attribute.
|
//! This is a simple wrapper around an `extern` block with a `#[link]` attribute.
|
||||||
//! It's very roughly equivalent to the windows-targets crate.
|
//! It's very roughly equivalent to the windows-targets crate.
|
||||||
|
#![no_std]
|
||||||
|
#![no_core]
|
||||||
|
#![feature(decl_macro)]
|
||||||
|
#![feature(no_core)]
|
||||||
|
|
||||||
#[cfg(feature = "windows_raw_dylib")]
|
#[cfg(feature = "windows_raw_dylib")]
|
||||||
pub macro link {
|
pub macro link {
|
@ -35,7 +35,6 @@ fn main() -> Result<(), Box<dyn Error>> {
|
|||||||
let mut f = std::fs::File::options().append(true).open("windows_sys.rs")?;
|
let mut f = std::fs::File::options().append(true).open("windows_sys.rs")?;
|
||||||
f.write_all(ARM32_SHIM.as_bytes())?;
|
f.write_all(ARM32_SHIM.as_bytes())?;
|
||||||
writeln!(&mut f, "// ignore-tidy-filelength")?;
|
writeln!(&mut f, "// ignore-tidy-filelength")?;
|
||||||
writeln!(&mut f, "use super::windows_targets;")?;
|
|
||||||
|
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
|
@ -36,6 +36,7 @@
|
|||||||
|
|
||||||
// Paths that may contain platform-specific code.
|
// Paths that may contain platform-specific code.
|
||||||
const EXCEPTION_PATHS: &[&str] = &[
|
const EXCEPTION_PATHS: &[&str] = &[
|
||||||
|
"library/windows_targets",
|
||||||
"library/panic_abort",
|
"library/panic_abort",
|
||||||
"library/panic_unwind",
|
"library/panic_unwind",
|
||||||
"library/unwind",
|
"library/unwind",
|
||||||
|
Loading…
Reference in New Issue
Block a user