[package]
name = "rustpython-host_env"
description = "Host OS API abstractions for RustPython"
version.workspace = true
authors.workspace = true
edition.workspace = true
rust-version.workspace = true
repository.workspace = true
license.workspace = true
[features]
ctypes = ["dep:libffi", "dep:libloading"]
native-certs = ["dep:rustls-native-certs"]
ssl = []
rustls = [
"ssl",
"dep:rustls",
"dep:rustls-pemfile",
"dep:rustls-webpki",
"dep:x509-parser",
"dep:der",
"dep:pkcs8",
"dep:sha2",
]
[dependencies]
rustpython-wtf8 = { workspace = true }
bitflags = { workspace = true }
bitflagset = { workspace = true }
der = { workspace = true, optional = true }
getrandom = { workspace = true }
libc = { workspace = true }
num-traits = { workspace = true }
parking_lot = { workspace = true }
paste = { workspace = true }
pkcs8 = { workspace = true, features = ["encryption", "pkcs5", "pem"], optional = true }
rustls = { workspace = true, default-features = false, features = ["std", "tls12"], optional = true }
rustls-pemfile = { workspace = true, optional = true }
rustls-webpki = { workspace = true, optional = true }
sha2 = { workspace = true, optional = true }
widestring = { workspace = true }
x509-parser = { workspace = true, optional = true }
[target.'cfg(unix)'.dependencies]
nix = { workspace = true }
[target.'cfg(any(unix, target_os = "macos", target_os = "redox", target_os = "wasi"))'.dependencies]
rustix = { workspace = true }
[target.'cfg(any(not(target_arch = "wasm32"), target_os = "wasi"))'.dependencies]
num_cpus = { workspace = true }
[target.'cfg(not(any(target_os = "ios", target_os = "android", target_os = "windows", target_arch = "wasm32", target_os = "redox")))'.dependencies]
mac_address = { workspace = true }
[target.'cfg(not(target_arch = "wasm32"))'.dependencies]
dns-lookup = { workspace = true }
gethostname = { workspace = true }
rustyline = { workspace = true }
rustls-native-certs = { workspace = true, optional = true }
socket2 = { workspace = true, features = ["all"] }
which = { workspace = true }
[target.'cfg(all(unix, not(target_os = "ios"), not(target_os = "redox")))'.dependencies]
termios = { workspace = true }
[target.'cfg(any(unix, windows))'.dependencies]
memmap2 = { workspace = true }
libloading = { workspace = true, optional = true }
[target.'cfg(all(any(target_os = "linux", target_os = "macos", target_os = "windows", target_os = "android"), not(any(target_env = "musl", target_env = "sgx"))))'.dependencies]
libffi = { workspace = true, features = ["system"], optional = true }
[target.'cfg(target_os = "macos")'.dependencies]
system-configuration = { workspace = true }
[target.'cfg(windows)'.dependencies]
memchr.workspace = true
junction = { workspace = true }
schannel = { workspace = true }
windows-sys = { workspace = true, features = [
"Win32_Devices_Bluetooth",
"Win32_Foundation",
"Win32_Globalization",
"Win32_Media_Audio",
"Win32_NetworkManagement_IpHelper",
"Win32_NetworkManagement_Ndis",
"Win32_Networking_WinSock",
"Win32_Security",
"Win32_Security_Authorization",
"Win32_Storage_FileSystem",
"Win32_System_Com",
"Win32_System_Console",
"Win32_System_Diagnostics_Debug",
"Win32_System_Environment",
"Win32_System_Ole",
"Win32_System_IO",
"Win32_System_Ioctl",
"Win32_System_JobObjects",
"Win32_System_Kernel",
"Win32_System_LibraryLoader",
"Win32_System_Memory",
"Win32_System_Pipes",
"Win32_System_Performance",
"Win32_System_Registry",
"Win32_System_Rpc",
"Win32_System_SystemInformation",
"Win32_System_SystemServices",
"Win32_System_Threading",
"Win32_System_Time",
"Win32_System_WindowsProgramming",
"Win32_UI_Shell",
"Win32_UI_WindowsAndMessaging",
] }
[target.'cfg(not(target_arch = "wasm32"))'.dev-dependencies]
rustls = { workspace = true, features = ["aws_lc_rs"] }
[build-dependencies]
cc = "1"
[lints]
workspace = true