| // Copyright 2012-2015 The Rust Project Developers. See the COPYRIGHT |
| // file at the top-level directory of this distribution and at |
| // http://rust-lang.org/COPYRIGHT. |
| // |
| // Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or |
| // http://www.apache.org/licenses/LICENSE-2.0> or the MIT license |
| // <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your |
| // option. This file may not be copied, modified, or distributed |
| // except according to those terms. |
| |
| //! OS-specific functionality. |
| |
| #![stable(feature = "os", since = "1.0.0")] |
| #![allow(missing_docs, bad_style, missing_debug_implementations)] |
| |
| cfg_if! { |
| if #[cfg(dox)] { |
| |
| // When documenting libstd we want to show unix/windows/linux modules as |
| // these are the "main modules" that are used across platforms. This |
| // should help show platform-specific functionality in a hopefully |
| // cross-platform way in the documentation |
| |
| #[stable(feature = "rust1", since = "1.0.0")] |
| pub use sys::unix_ext as unix; |
| |
| #[stable(feature = "rust1", since = "1.0.0")] |
| pub use sys::windows_ext as windows; |
| |
| #[doc(cfg(target_os = "linux"))] |
| pub mod linux; |
| |
| } else { |
| |
| // If we're not documenting libstd then we just expose everything as we |
| // otherwise would. |
| |
| #[cfg(target_os = "android")] pub mod android; |
| #[cfg(target_os = "bitrig")] pub mod bitrig; |
| #[cfg(target_os = "dragonfly")] pub mod dragonfly; |
| #[cfg(target_os = "freebsd")] pub mod freebsd; |
| #[cfg(target_os = "haiku")] pub mod haiku; |
| #[cfg(target_os = "ios")] pub mod ios; |
| #[cfg(target_os = "macos")] pub mod macos; |
| #[cfg(target_os = "netbsd")] pub mod netbsd; |
| #[cfg(target_os = "openbsd")] pub mod openbsd; |
| #[cfg(target_os = "solaris")] pub mod solaris; |
| #[cfg(target_os = "emscripten")] pub mod emscripten; |
| #[cfg(target_os = "fuchsia")] pub mod fuchsia; |
| |
| #[cfg(any(target_os = "redox", unix))] |
| #[stable(feature = "rust1", since = "1.0.0")] |
| pub use sys::ext as unix; |
| |
| #[cfg(windows)] |
| #[stable(feature = "rust1", since = "1.0.0")] |
| pub use sys::ext as windows; |
| |
| #[cfg(any(target_os = "linux", target_os = "l4re"))] |
| pub mod linux; |
| |
| } |
| } |
| |
| pub mod raw; |