summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Parker-Shemilt <palfrey@tevp.net>2018-11-23 22:35:16 +0000
committerTom Parker-Shemilt <palfrey@tevp.net>2018-11-23 22:35:16 +0000
commit75071fe11f9b44130d273fb4d91e001ea04f2551 (patch)
tree71b8d1e36d6ff5c4d4b532c2d84a19a47ce4761d
parentcd6b95db83dd46fad581730c021bf5666a0d9e7b (diff)
parent530f31f6c17624f20f3897ae930eaea34a574296 (diff)
downloadrust-libc-75071fe11f9b44130d273fb4d91e001ea04f2551.tar.gz
Merge branch 'master' into strcase-various
-rw-r--r--Cargo.toml16
-rw-r--r--README.md2
-rw-r--r--libc-test/build.rs2
-rw-r--r--src/lib.rs27
-rw-r--r--src/unix/bsd/apple/mod.rs5
-rw-r--r--src/unix/mod.rs7
-rw-r--r--src/windows/mod.rs2
7 files changed, 35 insertions, 26 deletions
diff --git a/Cargo.toml b/Cargo.toml
index 719470d383..a89376c41d 100644
--- a/Cargo.toml
+++ b/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"]
diff --git a/README.md b/README.md
index 1aba647484..6cf2d15971 100644
--- a/README.md
+++ b/README.md
@@ -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)
diff --git a/libc-test/build.rs b/libc-test/build.rs
index 9afb6240e0..66cef4a2d2 100644
--- a/libc-test/build.rs
+++ b/libc-test/build.rs
@@ -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,
diff --git a/src/lib.rs b/src/lib.rs
index 54f67895a6..03e78041ab 100644
--- a/src/lib.rs
+++ b/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;
diff --git a/src/unix/bsd/apple/mod.rs b/src/unix/bsd/apple/mod.rs
index ee8108de92..2dc3245a96 100644
--- a/src/unix/bsd/apple/mod.rs
+++ b/src/unix/bsd/apple/mod.rs
@@ -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;
diff --git a/src/unix/mod.rs b/src/unix/mod.rs
index cfbb1e7fa8..ff9e1954bb 100644
--- a/src/unix/mod.rs
+++ b/src/unix/mod.rs
@@ -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.
diff --git a/src/windows/mod.rs b/src/windows/mod.rs
index 79ef49109b..f46eb362d8 100644
--- a/src/windows/mod.rs
+++ b/src/windows/mod.rs
@@ -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 {}