1[package] 2name = "libc" 3version = "0.2.174" 4keywords = ["libc", "ffi", "bindings", "operating", "system"] 5categories = ["external-ffi-bindings", "no-std", "os"] 6exclude = ["/ci/*", "/.github/*", "/.cirrus.yml", "/triagebot.toml"] 7description = "Raw FFI bindings to platform libraries like libc." 8authors = ["The Rust Project Developers"] 9edition = "2021" 10license = "MIT OR Apache-2.0" 11repository = "https://github.com/rust-lang/libc" 12rust-version = "1.63" 13 14[package.metadata.docs.rs] 15features = ["extra_traits"] 16default-target = "x86_64-unknown-linux-gnu" 17targets = [ 18 "aarch64-apple-darwin", 19 "aarch64-apple-ios", 20 "aarch64-linux-android", 21 "aarch64-pc-windows-msvc", 22 "aarch64-unknown-freebsd", 23 "aarch64-unknown-fuchsia", 24 "aarch64-unknown-hermit", 25 "aarch64-unknown-linux-gnu", 26 "aarch64-unknown-linux-musl", 27 "aarch64-unknown-netbsd", 28 "aarch64-unknown-openbsd", 29 "aarch64-wrs-vxworks", 30 "arm-linux-androideabi", 31 "arm-unknown-linux-gnueabi", 32 "arm-unknown-linux-gnueabihf", 33 "arm-unknown-linux-musleabi", 34 "arm-unknown-linux-musleabihf", 35 "armebv7r-none-eabi", 36 "armebv7r-none-eabihf", 37 "armv5te-unknown-linux-gnueabi", 38 "armv5te-unknown-linux-musleabi", 39 "armv7-linux-androideabi", 40 "armv7-unknown-linux-gnueabihf", 41 "armv7-unknown-linux-musleabihf", 42 "armv7-wrs-vxworks-eabihf", 43 "armv7r-none-eabi", 44 "armv7r-none-eabihf", 45 # FIXME(hexagon): excluded due to duplicate symbol errors 46 # "hexagon-unknown-linux-musl", 47 "i586-unknown-linux-gnu", 48 "i586-unknown-linux-musl", 49 "i686-linux-android", 50 "i686-pc-windows-gnu", 51 "i686-pc-windows-msvc", 52 "i686-pc-windows-msvc", 53 "i686-unknown-freebsd", 54 "i686-unknown-haiku", 55 "i686-unknown-linux-gnu", 56 "i686-unknown-linux-musl", 57 "i686-unknown-netbsd", 58 "i686-unknown-openbsd", 59 "i686-wrs-vxworks", 60 "mips-unknown-linux-gnu", 61 "mips-unknown-linux-musl", 62 "mips64-unknown-linux-gnuabi64", 63 "mips64-unknown-linux-muslabi64", 64 "mips64el-unknown-linux-gnuabi64", 65 "mips64el-unknown-linux-muslabi64", 66 "mipsel-sony-psp", 67 "mipsel-unknown-linux-gnu", 68 "mipsel-unknown-linux-musl", 69 "nvptx64-nvidia-cuda", 70 "powerpc-unknown-linux-gnu", 71 "powerpc-unknown-linux-gnuspe", 72 "powerpc-unknown-netbsd", 73 "powerpc-wrs-vxworks", 74 "powerpc-wrs-vxworks-spe", 75 "powerpc64-ibm-aix", 76 "powerpc64-unknown-freebsd", 77 "powerpc64-unknown-linux-gnu", 78 "powerpc64-wrs-vxworks", 79 "powerpc64le-unknown-linux-gnu", 80 "riscv32gc-unknown-linux-gnu", 81 "riscv32i-unknown-none-elf", 82 "riscv32imac-unknown-none-elf", 83 "riscv32imc-unknown-none-elf", 84 "riscv32-wrs-vxworks", 85 "riscv64gc-unknown-freebsd", 86 "riscv64gc-unknown-hermit", 87 "riscv64gc-unknown-linux-gnu", 88 "riscv64gc-unknown-linux-musl", 89 "riscv64gc-unknown-none-elf", 90 "riscv64imac-unknown-none-elf", 91 "riscv64-wrs-vxworks", 92 "s390x-unknown-linux-gnu", 93 "s390x-unknown-linux-musl", 94 "sparc-unknown-linux-gnu", 95 "sparc64-unknown-linux-gnu", 96 "sparc64-unknown-netbsd", 97 "sparcv9-sun-solaris", 98 "thumbv6m-none-eabi", 99 "thumbv7em-none-eabi", 100 "thumbv7em-none-eabihf", 101 "thumbv7m-none-eabi", 102 "thumbv7neon-linux-androideabi", 103 "thumbv7neon-unknown-linux-gnueabihf", 104 "wasm32-unknown-emscripten", 105 "wasm32-unknown-unknown", 106 "x86_64-apple-darwin", 107 "x86_64-apple-ios", 108 "x86_64-fortanix-unknown-sgx", 109 "x86_64-linux-android", 110 "x86_64-pc-solaris", 111 "x86_64-pc-windows-gnu", 112 "x86_64-pc-windows-msvc", 113 "x86_64-unknown-dragonfly", 114 "x86_64-unknown-freebsd", 115 "x86_64-unknown-fuchsia", 116 "x86_64-unknown-haiku", 117 "x86_64-unknown-hermit", 118 "x86_64-unknown-illumos", 119 "x86_64-unknown-l4re-uclibc", 120 "x86_64-unknown-linux-gnu", 121 "x86_64-unknown-linux-gnux32", 122 "x86_64-unknown-linux-musl", 123 "x86_64-unknown-netbsd", 124 "x86_64-unknown-openbsd", 125 "x86_64-unknown-redox", 126 "x86_64-wrs-vxworks" 127] 128cargo-args = ["-Zbuild-std=core"] 129 130[dependencies] 131rustc-std-workspace-core = { version = "1.0.0", optional = true } 132 133[features] 134default = ["std"] 135std = [] 136rustc-dep-of-std = ['align', 'rustc-std-workspace-core'] 137extra_traits = [] 138 139# `const-extern-function` is deprecated and no longer does anything 140const-extern-fn = [] 141 142# `align` is deprecated and no longer does anything 143align = [] 144 145# use_std is deprecated, use `std` instead 146use_std = ['std'] 147 148[workspace] 149members = [ 150 "ctest", 151 "ctest-next", 152 "libc-test", 153] 154 155# FIXME(msrv): These should be renamed as `[workspace.lints.*]` once MSRV is above 1.64 156# This way all crates can use it with `[lints] workspace=true` section 157 158[lints.rust] 159# FIXME(cleanup): make ident usage consistent in each file 160unused_qualifications = "allow" 161 162[lints.clippy] 163# Enable pedantic lints - use this manually once in a while, but don't enable by default 164# pedantic = { level = "warn", priority = -1 } 165 166# We are okay with the current state of these lints 167explicit_iter_loop = "warn" 168identity_op = "allow" # some expressions like `0 | x` are clearer for bit ops 169manual_assert = "warn" 170map_unwrap_or = "warn" 171missing_safety_doc = "allow" # safety? in libc? seriously? 172non_minimal_cfg = "allow" # for some reason cfg_if! sometimes trigger this 173ptr_as_ptr = "warn" 174unnecessary_semicolon = "warn" 175 176# FIXME(clippy): these should be fixed if possible 177expl_impl_clone_on_copy = "allow" 178uninlined_format_args = "allow" 179unnecessary_cast = "allow" # some casts like `as usize` are only needed for some targets 180used_underscore_binding = "allow" 181