xref: /rust-libc-0.2.174/Cargo.toml (revision ce31fdaf)
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