Merge branch 'master' into strcase-various
This commit is contained in:
commit
75071fe11f
16
Cargo.toml
16
Cargo.toml
@ -1,28 +1,32 @@
|
||||
[package]
|
||||
|
||||
name = "libc"
|
||||
version = "0.2.43"
|
||||
version = "0.2.44"
|
||||
authors = ["The Rust Project Developers"]
|
||||
license = "MIT OR Apache-2.0"
|
||||
readme = "README.md"
|
||||
repository = "https://github.com/rust-lang/libc"
|
||||
homepage = "https://github.com/rust-lang/libc"
|
||||
documentation = "http://doc.rust-lang.org/libc"
|
||||
description = """
|
||||
A library for types and bindings to native C functions often found in libc or
|
||||
other common platform libraries.
|
||||
"""
|
||||
keywords = ["libc", "ffi", "bindings", "operating", "system" ]
|
||||
categories = ["external-ffi-bindings", "no-std", "os"]
|
||||
build = "build.rs"
|
||||
exclude = ["/ci/*", "/.travis.yml", "/appveyor.yml"]
|
||||
description = """
|
||||
Raw FFI bindings to platform libraries like libc.
|
||||
"""
|
||||
|
||||
[badges]
|
||||
travis-ci = { repository = "rust-lang/libc" }
|
||||
appveyor = { repository = "rust-lang/libc", project_name = "rust-lang-libs/libc" }
|
||||
|
||||
[dependencies]
|
||||
rustc-std-workspace-core = { version = "1.0.0", optional = true }
|
||||
|
||||
[features]
|
||||
default = ["use_std"]
|
||||
use_std = []
|
||||
align = []
|
||||
rustc-dep-of-std = ['align', 'rustc-std-workspace-core']
|
||||
|
||||
[workspace]
|
||||
members = ["libc-test"]
|
||||
|
@ -1,7 +1,7 @@
|
||||
libc
|
||||
====
|
||||
|
||||
Rust wrapper over the system's `libc`.
|
||||
Raw FFI bindings to platform libraries like `libc`.
|
||||
|
||||
[![Build Status](https://travis-ci.org/rust-lang/libc.svg?branch=master)](https://travis-ci.org/rust-lang/libc)
|
||||
[![Build status](https://ci.appveyor.com/api/projects/status/github/rust-lang/libc?svg=true)](https://ci.appveyor.com/project/rust-lang-libs/libc)
|
||||
|
@ -449,7 +449,7 @@ fn main() {
|
||||
// which is absent in glibc, has to be defined.
|
||||
"__timeval" if linux => true,
|
||||
|
||||
// Fixed on stdbuild with repr(packed(4))
|
||||
// Fixed on feature=align with repr(packed(4))
|
||||
// Once repr_packed stabilizes we can fix this unconditionally
|
||||
// and remove this check.
|
||||
"kevent" | "shmid_ds" if apple && x86_64 => true,
|
||||
|
27
src/lib.rs
27
src/lib.rs
@ -150,22 +150,25 @@
|
||||
)
|
||||
)]
|
||||
// Attributes needed when building as part of the standard library
|
||||
#![cfg_attr(feature = "stdbuild", feature(staged_api, cfg_target_vendor))]
|
||||
#![cfg_attr(feature = "stdbuild", feature(link_cfg, repr_packed))]
|
||||
#![cfg_attr(feature = "stdbuild", allow(warnings))]
|
||||
#![cfg_attr(
|
||||
feature = "stdbuild",
|
||||
unstable(
|
||||
feature = "libc",
|
||||
reason = "use `libc` from crates.io",
|
||||
issue = "27783"
|
||||
)
|
||||
)]
|
||||
#![cfg_attr(not(feature = "use_std"), no_std)]
|
||||
#![cfg_attr(feature = "rustc-dep-of-std", feature(cfg_target_vendor))]
|
||||
#![cfg_attr(feature = "rustc-dep-of-std", feature(link_cfg, repr_packed))]
|
||||
#![cfg_attr(feature = "rustc-dep-of-std", feature(no_core))]
|
||||
#![cfg_attr(feature = "rustc-dep-of-std", no_core)]
|
||||
#![cfg_attr(feature = "rustc-dep-of-std", allow(warnings))]
|
||||
#![cfg_attr(not(any(feature = "use_std", feature = "rustc-dep-of-std")), no_std)]
|
||||
|
||||
#[cfg(all(not(cross_platform_docs), feature = "use_std"))]
|
||||
extern crate std as core;
|
||||
|
||||
#[cfg(feature = "rustc-dep-of-std")]
|
||||
extern crate rustc_std_workspace_core as core;
|
||||
#[cfg(feature = "rustc-dep-of-std")]
|
||||
#[allow(unused_imports)]
|
||||
use core::iter;
|
||||
#[cfg(feature = "rustc-dep-of-std")]
|
||||
#[allow(unused_imports)]
|
||||
use core::option;
|
||||
|
||||
#[macro_use]
|
||||
mod macros;
|
||||
|
||||
|
@ -245,7 +245,7 @@ s! {
|
||||
pub f_reserved: [::uint32_t; 8],
|
||||
}
|
||||
|
||||
#[cfg_attr(feature = "stdbuild", repr(packed(4)))]
|
||||
#[cfg_attr(feature = "rustc-dep-of-std", repr(packed(4)))]
|
||||
pub struct kevent {
|
||||
pub ident: ::uintptr_t,
|
||||
pub filter: ::int16_t,
|
||||
@ -535,7 +535,7 @@ s! {
|
||||
pub _key: ::key_t,
|
||||
}
|
||||
|
||||
#[cfg_attr(feature = "stdbuild", repr(packed(4)))]
|
||||
#[cfg_attr(feature = "rustc-dep-of-std", repr(packed(4)))]
|
||||
pub struct shmid_ds {
|
||||
pub shm_perm: ipc_perm,
|
||||
pub shm_segsz: ::size_t,
|
||||
@ -772,6 +772,7 @@ pub const MAP_SHARED: ::c_int = 0x0001;
|
||||
pub const MAP_PRIVATE: ::c_int = 0x0002;
|
||||
pub const MAP_FIXED: ::c_int = 0x0010;
|
||||
pub const MAP_ANON: ::c_int = 0x1000;
|
||||
pub const MAP_ANONYMOUS: ::c_int = MAP_ANON;
|
||||
|
||||
pub const VM_FLAGS_FIXED: ::c_int = 0x0000;
|
||||
pub const VM_FLAGS_ANYWHERE: ::c_int = 0x0001;
|
||||
|
@ -318,17 +318,18 @@ cfg_if! {
|
||||
// cargo build, don't pull in anything extra as the libstd dep
|
||||
// already pulls in all libs.
|
||||
} else if #[cfg(target_env = "musl")] {
|
||||
#[cfg_attr(feature = "stdbuild",
|
||||
#[cfg_attr(feature = "rustc-dep-of-std",
|
||||
link(name = "c", kind = "static",
|
||||
cfg(target_feature = "crt-static")))]
|
||||
#[cfg_attr(feature = "stdbuild",
|
||||
#[cfg_attr(feature = "rustc-dep-of-std",
|
||||
link(name = "c", cfg(not(target_feature = "crt-static"))))]
|
||||
extern {}
|
||||
} else if #[cfg(target_os = "emscripten")] {
|
||||
#[link(name = "c")]
|
||||
extern {}
|
||||
} else if #[cfg(all(target_os = "netbsd",
|
||||
feature = "stdbuild", target_vendor = "rumprun"))] {
|
||||
feature = "rustc-dep-of-std",
|
||||
target_vendor = "rumprun"))] {
|
||||
// Since we don't use -nodefaultlibs on Rumprun, libc is always pulled
|
||||
// in automatically by the linker. We avoid passing it explicitly, as it
|
||||
// causes some versions of binutils to crash with an assertion failure.
|
||||
|
@ -178,7 +178,7 @@ pub const EILSEQ: ::c_int = 42;
|
||||
pub const STRUNCATE: ::c_int = 80;
|
||||
|
||||
// inline comment below appeases style checker
|
||||
#[cfg(all(target_env = "msvc", feature = "stdbuild"))] // " if "
|
||||
#[cfg(all(target_env = "msvc", feature = "rustc-dep-of-std"))] // " if "
|
||||
#[link(name = "msvcrt", cfg(not(target_feature = "crt-static")))]
|
||||
#[link(name = "libcmt", cfg(target_feature = "crt-static"))]
|
||||
extern {}
|
||||
|
Loading…
Reference in New Issue
Block a user