1cargo-features = ["public-dependency"] 2 3[package] 4name = "std" 5version = "0.0.0" 6license = "MIT OR Apache-2.0" 7repository = "https://github.com/rust-lang/rust.git" 8description = "The Rust Standard Library" 9edition = "2021" 10 11[lib] 12crate-type = ["dylib", "rlib"] 13 14[dependencies] 15alloc = { path = "../alloc", public = true } 16cfg-if = { version = "1.0", features = ['rustc-dep-of-std'] } 17panic_unwind = { path = "../panic_unwind", optional = true } 18panic_abort = { path = "../panic_abort" } 19core = { path = "../core", public = true } 20compiler_builtins = { version = "0.1.105", features = ["weak-intrinsics"] } 21profiler_builtins = { path = "../profiler_builtins", optional = true } 22unwind = { path = "../unwind" } 23hashbrown = { version = "0.14", default-features = false, features = ['rustc-dep-of-std'] } 24std_detect = { path = "../stdarch/crates/std_detect", default-features = false, features = ['rustc-dep-of-std'] } 25 26# Dependencies of the `backtrace` crate 27rustc-demangle = { version = "0.1.24", features = ['rustc-dep-of-std'] } 28 29[target.'cfg(not(all(windows, target_env = "msvc", not(target_vendor = "uwp"))))'.dependencies] 30miniz_oxide = { version = "0.7.0", optional = true, default-features = false } 31addr2line = { version = "0.22.0", optional = true, default-features = false } 32 33[target.'cfg(not(all(windows, target_env = "msvc")))'.dependencies] 34libc = { version = "0.2.153", default-features = false, features = ['rustc-dep-of-std'], public = true } 35 36[target.'cfg(all(not(target_os = "aix"), not(all(windows, target_env = "msvc", not(target_vendor = "uwp")))))'.dependencies] 37object = { version = "0.36.0", default-features = false, optional = true, features = ['read_core', 'elf', 'macho', 'pe', 'unaligned', 'archive'] } 38 39[target.'cfg(target_os = "aix")'.dependencies] 40object = { version = "0.36.0", default-features = false, optional = true, features = ['read_core', 'xcoff', 'unaligned', 'archive'] } 41 42[dev-dependencies] 43rand = { version = "0.8.5", default-features = false, features = ["alloc"] } 44rand_xorshift = "0.3.0" 45 46[target.'cfg(any(all(target_family = "wasm", target_os = "unknown"), target_os = "xous", all(target_vendor = "fortanix", target_env = "sgx")))'.dependencies] 47dlmalloc = { version = "0.2.4", features = ['rustc-dep-of-std'] } 48 49[target.x86_64-fortanix-unknown-sgx.dependencies] 50fortanix-sgx-abi = { version = "0.5.0", features = ['rustc-dep-of-std'], public = true } 51 52[target.'cfg(target_os = "hermit")'.dependencies] 53hermit-abi = { version = "0.4.0", features = ['rustc-dep-of-std'], public = true } 54 55[target.'cfg(target_os = "wasi")'.dependencies] 56wasi = { version = "0.11.0", features = ['rustc-dep-of-std'], default-features = false } 57 58[target.'cfg(target_os = "uefi")'.dependencies] 59r-efi = { version = "4.5.0", features = ['rustc-dep-of-std'] } 60r-efi-alloc = { version = "1.0.0", features = ['rustc-dep-of-std'] } 61 62[features] 63default = ["compiler-builtins-weak-intrinsics"] 64backtrace = [ 65 'addr2line/rustc-dep-of-std', 66 'object/rustc-dep-of-std', 67 'miniz_oxide/rustc-dep-of-std', 68] 69 70panic-unwind = ["panic_unwind"] 71profiler = ["profiler_builtins"] 72compiler-builtins-c = ["alloc/compiler-builtins-c"] 73compiler-builtins-mem = ["alloc/compiler-builtins-mem"] 74compiler-builtins-no-asm = ["alloc/compiler-builtins-no-asm"] 75compiler-builtins-mangled-names = ["alloc/compiler-builtins-mangled-names"] 76compiler-builtins-weak-intrinsics = ["alloc/compiler-builtins-weak-intrinsics"] 77llvm-libunwind = ["unwind/llvm-libunwind"] 78system-llvm-libunwind = ["unwind/system-llvm-libunwind"] 79 80# Make panics and failed asserts immediately abort without formatting any message 81panic_immediate_abort = ["core/panic_immediate_abort", "alloc/panic_immediate_abort"] 82# Choose algorithms that are optimized for binary size instead of runtime performance 83optimize_for_size = ["core/optimize_for_size", "alloc/optimize_for_size"] 84 85# Enable std_detect default features for stdarch/crates/std_detect: 86# https://github.com/rust-lang/stdarch/blob/master/crates/std_detect/Cargo.toml 87std_detect_file_io = ["std_detect/std_detect_file_io"] 88std_detect_dlsym_getauxval = ["std_detect/std_detect_dlsym_getauxval"] 89std_detect_env_override = ["std_detect/std_detect_env_override"] 90 91# Enable using raw-dylib for Windows imports. 92# This will eventually be the default. 93windows_raw_dylib = [] 94 95[package.metadata.fortanix-sgx] 96# Maximum possible number of threads when testing 97threads = 125 98# Maximum heap size 99heap_size = 0x8000000 100 101[[bench]] 102name = "stdbenches" 103path = "benches/lib.rs" 104test = true 105 106[lints.rust.unexpected_cfgs] 107level = "warn" 108check-cfg = [ 109 'cfg(bootstrap)', 110 'cfg(target_arch, values("xtensa"))', 111 # std use #[path] imports to portable-simd `std_float` crate 112 # and to the `backtrace` crate which messes-up with Cargo list 113 # of declared features, we therefor expect any feature cfg 114 'cfg(feature, values(any()))', 115] 116