Merge branch 'master' into strcase-various

This commit is contained in:
Tom Parker-Shemilt 2018-11-23 22:35:16 +00:00
commit 75071fe11f
7 changed files with 35 additions and 26 deletions

View File

@ -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"]

View File

@ -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)

View File

@ -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,

View File

@ -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;

View File

@ -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;

View File

@ -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.

View File

@ -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 {}