xref: /rust-libc-0.2.174/Cargo.toml (revision f1e459f1)
1[package]
2name = "libc"
3version = "0.2.172"
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."
8publish = false # On the main branch, we don't want to publish anything
9authors = ["The Rust Project Developers"]
10edition = "2021"
11license = "MIT OR Apache-2.0"
12repository = "https://github.com/rust-lang/libc"
13rust-version = "1.63"
14
15[package.metadata.docs.rs]
16features = ["extra_traits"]
17default-target = "x86_64-unknown-linux-gnu"
18targets = [
19    "aarch64-apple-darwin",
20    "aarch64-apple-ios",
21    "aarch64-linux-android",
22    "aarch64-pc-windows-msvc",
23    "aarch64-unknown-freebsd",
24    "aarch64-unknown-fuchsia",
25    "aarch64-unknown-hermit",
26    "aarch64-unknown-linux-gnu",
27    "aarch64-unknown-linux-musl",
28    "aarch64-unknown-netbsd",
29    "aarch64-unknown-openbsd",
30    "aarch64-wrs-vxworks",
31    "arm-linux-androideabi",
32    "arm-unknown-linux-gnueabi",
33    "arm-unknown-linux-gnueabihf",
34    "arm-unknown-linux-musleabi",
35    "arm-unknown-linux-musleabihf",
36    "armebv7r-none-eabi",
37    "armebv7r-none-eabihf",
38    "armv5te-unknown-linux-gnueabi",
39    "armv5te-unknown-linux-musleabi",
40    "armv7-linux-androideabi",
41    "armv7-unknown-linux-gnueabihf",
42    "armv7-unknown-linux-musleabihf",
43    "armv7-wrs-vxworks-eabihf",
44    "armv7r-none-eabi",
45    "armv7r-none-eabihf",
46    # FIXME(hexagon): excluded due to duplicate symbol errors
47    # "hexagon-unknown-linux-musl",
48    "i586-unknown-linux-gnu",
49    "i586-unknown-linux-musl",
50    "i686-linux-android",
51    "i686-pc-windows-gnu",
52    "i686-pc-windows-msvc",
53    "i686-pc-windows-msvc",
54    "i686-unknown-freebsd",
55    "i686-unknown-haiku",
56    "i686-unknown-linux-gnu",
57    "i686-unknown-linux-musl",
58    "i686-unknown-netbsd",
59    "i686-unknown-openbsd",
60    "i686-wrs-vxworks",
61    "mips-unknown-linux-gnu",
62    "mips-unknown-linux-musl",
63    "mips64-unknown-linux-gnuabi64",
64    "mips64-unknown-linux-muslabi64",
65    "mips64el-unknown-linux-gnuabi64",
66    "mips64el-unknown-linux-muslabi64",
67    "mipsel-sony-psp",
68    "mipsel-unknown-linux-gnu",
69    "mipsel-unknown-linux-musl",
70    "nvptx64-nvidia-cuda",
71    "powerpc-unknown-linux-gnu",
72    "powerpc-unknown-linux-gnuspe",
73    "powerpc-unknown-netbsd",
74    "powerpc-wrs-vxworks",
75    "powerpc-wrs-vxworks-spe",
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    "libc-test",
152]
153
154# FIXME(msrv): These should be renamed as `[workspace.lints.*]` once MSRV is above 1.64
155#       This way all crates can use it with `[lints] workspace=true` section
156
157[lints.rust]
158# FIXME(cleanup): make ident usage consistent in each file
159unused_qualifications = "allow"
160
161[lints.clippy]
162# Enable pedantic lints - use this manually once in a while, but don't enable by default
163# pedantic = { level = "warn", priority = -1 }
164
165# We are okay with the current state of these lints
166explicit_iter_loop = "warn"
167identity_op = "allow"  # some expressions like `0 | x` are clearer for bit ops
168manual_assert = "warn"
169map_unwrap_or = "warn"
170missing_safety_doc = "allow"  # safety? in libc? seriously?
171non_minimal_cfg = "allow"  # for some reason cfg_if! sometimes trigger this
172ptr_as_ptr = "warn"
173unnecessary_semicolon = "warn"
174
175# FIXME(clippy): these should be fixed if possible
176expl_impl_clone_on_copy = "allow"
177uninlined_format_args = "allow"
178unnecessary_cast = "allow"  # some casts like `as usize` are only needed for some targets
179used_underscore_binding = "allow"
180